Skip to content

Set up pnpm workspace and synchronize package versions#2

Open
ErickDevv wants to merge 2 commits into
developfrom
cicd
Open

Set up pnpm workspace and synchronize package versions#2
ErickDevv wants to merge 2 commits into
developfrom
cicd

Conversation

@ErickDevv

Copy link
Copy Markdown
Owner

This pull request introduces a monorepo structure with improved tooling, unified scripts, and shared configuration for linting and testing across the api and web packages. The main changes include adopting Turborepo for task orchestration, adding a shared ESLint config package, synchronizing package versions, and updating CI workflows and scripts for consistency and efficiency.

Monorepo structure and tooling

  • Added a root package.json with scripts for building, testing, linting, and development using Turborepo, and set up Husky for Git hooks.
  • Introduced a turbo.json configuration to define task dependencies, caching, and outputs for builds, tests, linting, and development.
  • Added a pnpm-workspace.yaml to define workspace packages and build settings for the monorepo.

Shared ESLint configuration

  • Created a new @opengalley/eslint-config package with base and React-specific configurations, and updated both api and web to use these shared configs. [1] [2] [3] [4] [5]
  • Updated api/package.json and web/package.json to add lint scripts and depend on the shared ESLint config. [1] [2] [3] [4] [5]

Version synchronization

  • Added a sync-version.sh script and Husky pre-commit hook to automatically sync the root version to all package manifests (api, web, and eslint-config). [1] [2]

CI and testing improvements

  • Updated GitHub Actions workflows to use unified lint and test jobs with Turborepo, improving efficiency and consistency for both API and web. [1] [2] [3] [4]
  • Simplified the local test.sh script to run tests via Turborepo and updated the E2E test command to use filtering for the web package.

Other improvements

  • Updated TypeScript config in api for modern module resolution.

These changes collectively improve code quality, developer experience, and maintainability by standardizing tooling and configuration across the monorepo.- Created pnpm-workspace.yaml to define workspace packages.

  • Added sync-version.sh script to synchronize version across packages.
  • Updated test.sh to run unit tests and E2E tests using turbo.
  • Introduced turbo.json for task management with Turbo.
  • Added ESLint configuration for the web package.
  • Bumped version of opengalley-web to 0.2.0 and added lint script.

- Created pnpm-workspace.yaml to define workspace packages.
- Added sync-version.sh script to synchronize version across packages.
- Updated test.sh to run unit tests and E2E tests using turbo.
- Introduced turbo.json for task management with Turbo.
- Added ESLint configuration for the web package.
- Bumped version of opengalley-web to 0.2.0 and added lint script.
@ErickDevv ErickDevv self-assigned this Jun 7, 2026
@ErickDevv ErickDevv added the enhancement New feature or request label Jun 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant