chore(pnpm): move workspace devDependencies to used packages#16982
chore(pnpm): move workspace devDependencies to used packages#16982
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
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. |
There was a problem hiding this comment.
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/clifrom root workspace to all packages that use NAPI builds - Moved
publintto packages that perform package validation - Added
@arethetypeswrong/coreto 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.
2bb8248 to
475c49d
Compare
To ensure monorepo dependencies are only visible to where they are used.
475c49d to
331d0ad
Compare
#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.
…ject#16982) To ensure monorepo dependencies are only visible to where they are used.
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.

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