Skip to content

chore: add turborepo task configuration#129

Open
CorieW wants to merge 4 commits into
mainfrom
codex/add-turborepo-support
Open

chore: add turborepo task configuration#129
CorieW wants to merge 4 commits into
mainfrom
codex/add-turborepo-support

Conversation

@CorieW

@CorieW CorieW commented May 19, 2026

Copy link
Copy Markdown
Owner

Motivation

  • Provide a baseline Turborepo task orchestration for the workspace so top-level commands can run coordinated build, lint, typecheck, test, and persistent dev tasks across packages.

Description

  • Add a root turbo.json with task definitions for build, lint, typecheck, test, and a non-cached persistent dev task and appropriate outputs for caching.
  • Add Turbo helper scripts to package.json (turbo, turbo:build, turbo:lint, turbo:test, turbo:typecheck).
  • Add turbo to root devDependencies (^2.5.4) so the scripts can be run via local tooling.

Testing

  • Attempted to install turbo with pnpm add -Dw turbo@^2.5.4, which failed with ERR_PNPM_FETCH_403 due to registry authorization restrictions in this environment.
  • Attempted to validate the binary with pnpm turbo --version, which failed because turbo is not installed after the fetch failure.
  • The changes were committed to the repository using git commit (commit message: chore: add turborepo task configuration).

Codex Task

Copilot AI review requested due to automatic review settings May 19, 2026 16:01

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a baseline Turborepo configuration to orchestrate common workspace tasks (build, lint, typecheck, test, and persistent dev) and adds root-level helper scripts plus the turbo devDependency to run those tasks from the repo root.

Changes:

  • Added root turbo.json defining task graph dependencies, caching behavior, and declared build outputs.
  • Added turbo:* helper scripts to the root package.json for running task pipelines.
  • Added turbo (^2.5.4) to root devDependencies.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
turbo.json Adds Turborepo task definitions, caching flags, and output globs.
package.json Adds turbo scripts and the turbo devDependency for local execution.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread turbo.json
Comment on lines +6 to +7
"outputs": ["dist/**", "docs/.vitepress/dist/**"]
},
Comment thread package.json
Comment on lines 141 to +147
"tailwindcss": "^4.2.2",
"typescript": "^5.7.2",
"typescript-eslint": "^8.58.1",
"vite": "^7.1.7",
"vitepress": "^1.6.4",
"vitest": "^3.2.4"
"vitest": "^3.2.4",
"turbo": "^2.5.4"
Copilot AI review requested due to automatic review settings May 19, 2026 21:48

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (3)

.github/workflows/upload-coverage.yml:46

  • Running coverage via pnpm turbo:test -- -- --coverage will execute test in every workspace package. In this repo, package test scripts point at the shared config/vite.config.ts which already includes packages/** tests, so this can re-run the same test suite multiple times and makes the expected single ./coverage/lcov.info output less reliable. Prefer the existing single-run pnpm test:coverage, or filter Turbo to only the root package when generating coverage so the artifacts match the hard-coded ./coverage/* paths.
      - name: Run tests with coverage
        run: pnpm turbo:test -- -- --coverage

      - name: Upload coverage to Codecov
        uses: codecov/codecov-action@v5
        with:
          token: ${{ secrets.CODECOV_TOKEN }}
          files: ./coverage/lcov.info
          disable_search: true

.github/workflows/pr-coverage.yml:51

  • pnpm turbo:test -- -- --coverage will run test across all workspaces. Because the package-level test scripts use the shared config/vite.config.ts (which already includes packages/**), this can cause duplicate full-suite runs and may not reliably produce a single ./coverage/coverage-*.json at the paths expected by the vitest coverage report action. Consider using pnpm test:coverage here, or filter Turbo to only the root package when generating coverage artifacts.
      - name: Install dependencies
        run: pnpm install --frozen-lockfile

      - name: Run tests with coverage
        run: pnpm turbo:test -- -- --coverage

      - name: Report Coverage
        uses: davelosert/vitest-coverage-report-action@v2
        with:
          json-summary-path: './coverage/coverage-summary.json'
          json-final-path: './coverage/coverage-final.json'

.github/workflows/ci.yml:246

  • pnpm turbo:test -- -- --run will execute test in every workspace. The package test scripts reference the shared config/vite.config.ts, whose test.include already matches both src/** and packages/**, so Turbo will re-run the full workspace test suite multiple times. Consider running the single root pnpm test -- --run (or filtering Turbo to the root package) to avoid duplicated work and reduce flakiness risk.
      - name: Run tests
        run: pnpm turbo:test -- -- --run

Comment thread package.json
Comment on lines +146 to +147
"vitest": "^3.2.4",
"turbo": "^2.5.4"
Comment thread package.json
"turbo:build": "turbo run build",
"turbo:lint": "turbo run lint",
"turbo:test": "turbo run test",
"turbo:typecheck": "turbo run typecheck"
Comment thread turbo.json
"tasks": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**", "docs/.vitepress/dist/**"]
Comment thread .github/workflows/ci.yml

- name: Type check
run: pnpm typecheck
run: pnpm turbo:typecheck
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants