chore: update all dependencies to latest versions#225
Conversation
Update all dependencies to their latest versions and fix breaking changes: - TypeScript 5.9.3: remove deprecated suppressImplicitAnyIndexErrors - execa 9: use named exports and new API in safe-execa and tests - tempy 3: use temporaryDirectory named export - load-yaml-file 1, load-json-file 7, write-json-file 7, make-dir 5: use named exports - Remove unused make-dir dependency from write-ini-file Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The workspace override was pinning @types/node to 14.14.6, which lacks node: protocol type declarations needed by execa v9. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR updates dependencies across the pnpm workspace (including major bumps like TypeScript 5 and execa 9) and adjusts code/tests/config to accommodate breaking API and compiler changes.
Changes:
- Bump dependencies/devDependencies across many packages (standard, execa, tempy, ini, strip-bom, etc.)
- Update imports/usages for breaking API changes (e.g., execa/load-yaml-file/tempy/write-json-file/load-json-file/make-dir)
- Remove deprecated
suppressImplicitAnyIndexErrorsfrom multipletsconfig.jsonfiles
Reviewed changes
Copilot reviewed 43 out of 46 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| write-yaml-file/package.json | Bump js-yaml/write-file-atomic/standard versions. |
| write-json5-file/package.json | Bump sort-keys/write-file-atomic/standard/tempfile versions. |
| write-ini-file/package.json | Bump ini/write-file-atomic/standard/tempfile; remove unused make-dir dep. |
| which-pm/package.json | Bump load-yaml-file and standard. |
| which-pm/index.js | Update load-yaml-file import for v1 API. |
| which-pm-runs/test/index.js | Update execa import for v9 API. |
| which-pm-runs/test/fixtures/pnpm/pnpm-lock.yaml | Update fixture lockfile version for newer pnpm. |
| which-pm-runs/package.json | Bump @pnpm/exe/cnpm/execa/npm versions used in integration tests. |
| safe-promise-defer/tsconfig.json | Remove deprecated TS option. |
| safe-promise-defer/package.json | Bump TypeScript to v5. |
| safe-execa/tsconfig.json | Remove deprecated TS option. |
| safe-execa/src/index.ts | Update execa API usage/types for v9 and adjust implementation accordingly. |
| safe-execa/package.json | Bump execa and @types/node. |
| run-groups/tsconfig.json | Remove deprecated TS option. |
| run-groups/package.json | Bump p-limit/@types/node/delay/typescript. |
| root-link-target/package.json | Bump standard. |
| rimraf/package.json | Bump standard/tempy. |
| rimraf/tests/index.js | Update tempy usage for v3 API. |
| resolve-link-target/package.json | Bump standard/symlink-dir. |
| render-help/tsconfig.json | Remove deprecated TS option. |
| render-help/package.json | Bump @types/node/typescript. |
| rename-overwrite/test.js | Update write-json-file/load-json-file/tempy imports and sync API usage. |
| rename-overwrite/package.json | Bump load-json-file/symlink-dir/tempy/write-json-file/fs-extra. |
| read-yaml-file/package.json | Bump js-yaml/strip-bom/standard. |
| read-json5-file/package.json | Bump strip-bom/standard. |
| read-ini-file/package.json | Bump ini/strip-bom/standard. |
| promise-share/package.json | Bump p-reflect and remove empty devDependencies block. |
| preferred-pm/test/index.js | Update tempy usage for v3 API. |
| preferred-pm/package.json | Bump find-yarn-workspace-root2/standard/tempy. |
| pnpm-workspace.yaml | Override workspace @types/node to v25. |
| path-temp/package.json | Bump unique-string/standard. |
| path-absolute/package.json | Bump standard. |
| package.json | Bump root TypeScript and changesets CLI. |
| p-map-values/tsconfig.json | Remove deprecated TS option. |
| p-map-values/src/index.ts | Adjust indexing typing to satisfy TS 5. |
| p-map-values/package.json | Bump TypeScript to v5. |
| make-empty-dir/test.js | Update tempy usage for v3 API. |
| make-empty-dir/package.json | Bump tempy. |
| is-inner-link/test.js | Update make-dir usage for v5 API. |
| is-inner-link/package.json | Bump make-dir/rimraf/standard/symlink-dir. |
| dir-is-case-sensitive/tsconfig.json | Remove deprecated TS option. |
| dir-is-case-sensitive/package.json | Bump @types/node/typescript. |
| can-write-to-dir/package.json | Bump standard. |
| can-link/package.json | Bump standard. |
| .gitignore | Ignore .claude directory. |
Files not reviewed (1)
- which-pm-runs/test/fixtures/pnpm/pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| import { execa, execaSync } from 'execa' | ||
| import type { Options, SyncOptions, ResultPromise, SyncResult } from 'execa' | ||
| import PATH from 'path-name' | ||
|
|
||
| export type { execa } | ||
| export type { Options, SyncOptions, ResultPromise, SyncResult } |
There was a problem hiding this comment.
This changes the library's exported type surface from export type { execa } to exporting several execa-specific types. If consumers were using import type { execa } from 'safe-execa', this is a breaking change; consider re-exporting the execa function type under the old name (or bumping the package major version) to preserve compatibility.
- Constrain pMapValues K generic to string (matches Object.entries behavior) - Remove unused writeJsonFile/loadJsonFile imports in rename-overwrite test - Properly handle URL cwd in safe-execa via fileURLToPath - Normalize args to mutable array instead of type-casting in safe-execa Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
suppressImplicitAnyIndexErrorsfrom all tsconfig.json filesmake-dirdependency from write-ini-fileTest plan
pnpm -r run prepublishOnly)pnpm -r test)🤖 Generated with Claude Code