Skip to content

chore(pnpm): move workspace devDependencies to used packages#16982

Merged
Boshen merged 1 commit intomainfrom
12-17-chore_pnpm_put_packages_in_the_right_place
Dec 17, 2025
Merged

chore(pnpm): move workspace devDependencies to used packages#16982
Boshen merged 1 commit intomainfrom
12-17-chore_pnpm_put_packages_in_the_right_place

Conversation

@Boshen
Copy link
Member

@Boshen Boshen commented Dec 17, 2025

To ensure monorepo dependencies are only visible to where they are used.

Copilot AI review requested due to automatic review settings December 17, 2025 05:15
@Boshen Boshen requested a review from camc314 as a code owner December 17, 2025 05:15
@github-actions github-actions bot added A-linter Area - Linter A-parser Area - Parser A-cli Area - CLI A-minifier Area - Minifier A-transformer Area - Transformer / Transpiler A-formatter Area - Formatter C-cleanup Category - technical debt or refactoring. Solution not expected to change behavior labels Dec 17, 2025
Copy link
Member Author

Boshen commented Dec 17, 2025


How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • 0-merge - adds this PR to the back of the merge queue
  • hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

Copy link
Contributor

Copilot AI left a comment

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 refactors the monorepo's dependency management by moving workspace-level devDependencies to the individual packages that actually use them. This aligns with the principle of making dependencies visible only where they are needed, reducing unnecessary dependency resolution in packages that don't require them.

Key Changes

  • Moved @napi-rs/cli from root workspace to all packages that use NAPI builds
  • Moved publint to packages that perform package validation
  • Added @arethetypeswrong/core to the catalog and distributed it to packages using type checking
  • Removed unused workspace-level dependencies (emnapi, eslint, typescript, vitest)

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
pnpm-workspace.yaml Added @arethetypeswrong/core to the catalog
pnpm-lock.yaml Updated lockfile with new dependency resolutions and added @InQuirer snapshots for @types/node@24.1.0
package.json Removed workspace-level devDependencies that are now defined per-package
apps/oxfmt/package.json Added @napi-rs/cli as devDependency
apps/oxfmt/tsdown.config.ts Added attw configuration for type checking
apps/oxlint/package.json Added @arethetypeswrong/core and @napi-rs/cli as devDependencies
napi/minify/package.json Added @napi-rs/cli and publint as devDependencies
napi/parser/package.json Added @napi-rs/cli and publint as devDependencies
napi/playground/package.json Added @napi-rs/cli and publint as devDependencies
napi/transform/package.json Added @napi-rs/cli and publint as devDependencies
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

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

@Boshen Boshen force-pushed the 12-17-chore_pnpm_put_packages_in_the_right_place branch 7 times, most recently from 2bb8248 to 475c49d Compare December 17, 2025 06:56
To ensure monorepo dependencies are only visible to where they are used.
@Boshen Boshen force-pushed the 12-17-chore_pnpm_put_packages_in_the_right_place branch from 475c49d to 331d0ad Compare December 17, 2025 07:02
@Boshen Boshen merged commit c8281dd into main Dec 17, 2025
19 of 20 checks passed
@Boshen Boshen deleted the 12-17-chore_pnpm_put_packages_in_the_right_place branch December 17, 2025 07:09
graphite-app bot pushed a commit that referenced this pull request Dec 17, 2025
#16982 moved the Oxlint JS plugin that we use for linting this repo into `plugins` directory.

Add a `tsconfig.json` file to this directly so TS understands it. Also rename the plugin file to `.ts` - it only had to be `.mts` previously because it was in root of the repo.
qinyuhang pushed a commit to qinyuhang/oxc that referenced this pull request Jan 22, 2026
…ject#16982)

To ensure monorepo dependencies are only visible to where they are used.
qinyuhang pushed a commit to qinyuhang/oxc that referenced this pull request Jan 22, 2026
oxc-project#16982 moved the Oxlint JS plugin that we use for linting this repo into `plugins` directory.

Add a `tsconfig.json` file to this directly so TS understands it. Also rename the plugin file to `.ts` - it only had to be `.mts` previously because it was in root of the repo.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-cli Area - CLI A-formatter Area - Formatter A-linter Area - Linter A-minifier Area - Minifier A-parser Area - Parser A-transformer Area - Transformer / Transpiler C-cleanup Category - technical debt or refactoring. Solution not expected to change behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants