Jason Paulos
8b4a811fd6
test: fix several flaky tests in pkg-manager ( #10644 )
...
* test: fix flaky tests & add retries for failed tests during CI testing
* fix: import jest in setupFilesAfterEnv & reduce retries to 2
* test: remove global retries
2026-02-20 23:35:45 +01:00
Ryo Matsukawa
fa5a5c6c76
fix: dynamically calculate column widths in interactive update table ( #10585 )
...
* fix: dynamically calculate column widths in interactive update table
* test: implement copilot suggestions
* style: change order of functions
close #10316
2026-02-13 07:13:29 +01:00
Alessio Attilio
312226cbf0
fix: skip local file: protocol dependencies during pnpm fetch ( #10514 )
...
This fixes an issue where pnpm fetch would fail in Docker builds when
local directory dependencies (file: protocol) were not available.
The fix adds an ignoreLocalPackages option that is passed from the fetch
command to skip local dependencies during graph building, since pnpm
fetch only downloads packages from the registry and doesn't need local
packages that won't be available in Docker builds.
close #10460
2026-02-06 17:28:39 +01:00
Zoltan Kochan
57e99b6996
chore: update pnpm-lock.yaml ( #10558 )
...
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-06 03:28:39 +01:00
Johan Quan Vo
7b1c189f2e
feat!: remove deprecated patch options ( #10505 )
...
* refactor: remove allowNonAppliedPatches
* refactor: remove ignorePatchFailures
* refactor: remove `strict` field in groupPatchedDependencies
* test: update test failure in package patching
* test: fix
* docs: update changesets
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2026-01-27 17:08:45 +01:00
Zoltan Kochan
3c40892b90
feat!: remove old way of declaring node.js in dependencies ( #10507 )
2026-01-25 16:07:30 +01:00
Lindsay Glenn
cee1f58d3a
fix(manifest-utils): normalize peer specs for protocol deps ( #10442 )
...
close #10417
2026-01-17 14:44:51 +01:00
Zoltan Kochan
e3b35b6f37
style: update eslint to v9 ( #10474 )
2026-01-17 12:01:23 +01:00
Brandon Cheng
2b14c742eb
feat: preserve comments when updating pnpm-workspace.yaml ( #10402 )
...
* chore: create empty new `@pnpm/yaml.document-sync` package
* feat: implement @pnpm/yaml.document-sync
* feat: preserve comments when updating `pnpm-workspace.yaml`
* fix: add missing rootProjectManifestDir field to fix test
This was causing a test to fail due to the rootProjectManifestDir being
an empty string.
The main branch doesn't have this problem because `write-yaml-file`
internally does a `path.dirname(...)` call that ends up resolving the
empty string to `.`.
● logger warns about peer dependencies when linking
ENOENT: no such file or directory, mkdir ''
25 | singleQuote: true, // Prefer single quotes over double quotes
26 | })
> 27 | await fs.promises.mkdir(dir, { recursive: true })
| ^
28 | await writeFileAtomic(path.join(dir, fileName), manifestStr)
29 | }
30 |
at writeManifestFile (../../workspace/manifest-writer/src/index.ts:27:3)
at updateWorkspaceManifest (../../workspace/manifest-writer/src/index.ts:83:3)
at writeSettings (../../config/config-writer/src/index.ts:38:3)
at addLinkToManifest (src/link.ts:182:3)
at src/link.ts:161:7
at async Promise.all (index 0)
at Module.handler (src/link.ts:159:3)
at Object.<anonymous> (test/link.ts:300:3)%
* Update workspace/manifest-writer/src/index.ts
2026-01-06 01:11:17 +01:00
月正海角
a297ebc9f6
feat: improve error message for versions not meeting minimumReleaseAge ( #10350 )
...
close #10307
2025-12-22 17:28:52 +01:00
btea
4015eeb8e9
chore: replace write-pkg with write-package ( #10351 )
2025-12-22 16:21:30 +01:00
Khải
90bd3c31f8
feat(config)!: project-specific packageConfigs ( #10304 )
...
* feat(config)!: project level `config.yaml`
* test: fix
* refactor: shorten some names
* docs(changeset): change wording
* feat: move project settings to pnpm-workspace.yaml
* test: remove unneeded fixture
* docs(changeset): correct
* refactor: replace validation with creation
* docs: consistent terminology
* perf: validate once
* test: projectConfig
* refactor: explicitly use `undefined`
* refactor: reuse `ProjectConfigRecord`
* chore(deps): remove unused dependency
* style: remove extra pipe character
* refactor: rename to `projectConfigs`
* feat: flatten `projectConfig` with `match`
* refactor: correct error class names
* docs(changeset): update
* test: fix
* feat: rename to `packageConfigs`
Rename `projectConfigs` to `packageConfigs` in the workspace manifest.
The term "project config" is still used internally, because, internally,
"project" refers to workspace packages whilst "package" refers to 3rd party
packages and dependencies.
* docs(changeset): clarify `project-N`
2025-12-21 12:01:18 +01:00
klassiker
c5fbddee05
fix(git-fetcher): ensure the specified commit is used after checkout ( #10310 )
...
* fix(git-fetcher): ensure the specified commit is used after checkout
* fix(git-resolver): always resolve to a full commit
* chore: add changeset heavy-dragons-start
* test: fix related test case
* test: fix some other test that gets stuck
* Update heavy-dragons-start.md with PR reference
Add reference to pull request #10310 for clarity.
2025-12-17 03:26:18 +01:00
Zoltan Kochan
f307b9a130
Merge remote-tracking branch 'origin/main' into v11
2025-09-24 10:51:53 +02:00
btea
baf8bf6304
feat: improve error message when no mature enough matching package is found ( #9974 )
...
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2025-09-19 19:51:57 +02:00
Zoltan Kochan
6f861bccaa
Merge remote-tracking branch 'origin/main' into v11
2025-09-12 22:35:14 +02:00
Zoltan Kochan
38e2599ecd
feat: set minimumReleaseAge to delay new versions of dependencies from being installed ( #9957 )
...
close #9921
2025-09-11 17:25:11 +02:00
Zoltan Kochan
1089a96589
fix: update dependencies ( #9899 )
2025-08-28 15:33:19 +02:00
Zoltan Kochan
cf9f14aa9e
fix: update tempy
2025-08-28 14:00:51 +02:00
Zoltan Kochan
3df6702bcb
fix: update load-json-file, write-json-file, write-pkg
2025-08-28 11:37:38 +02:00
Zoltan Kochan
491a84fb26
feat: use ESM instead of commonjs ( #9870 )
2025-08-25 10:02:00 +02:00
Zoltan Kochan
27cbc09206
style: fix jest-related linting issues ( #9894 )
2025-08-22 21:56:49 +02:00
Zoltan Kochan
facd7656e8
refactor: always use extensions in relative imports ( #9878 )
2025-08-19 15:25:11 +02:00
Zoltan Kochan
c89c93d59b
test: use @jest/globals ( #9877 )
2025-08-19 00:16:25 +02:00
Zoltan Kochan
14c78e81d4
test: use jest.mocked ( #9874 )
2025-08-18 15:22:37 +02:00
Zoltan Kochan
1a07b8fc7c
feat: install Node.js runtime as a dependency ( #9755 )
2025-07-19 15:11:40 +02:00
Khải
6f7ac0f48b
feat: customize supportedArchitectures using CLI ( #9745 )
...
close #7510
2025-07-16 00:56:00 +02:00
Zoltan Kochan
cf630a8e84
feat: allow to set multiple pnpmfiles ( #9702 )
2025-07-08 14:54:07 +02:00
Zoltan Kochan
b217bbb4a7
feat: add a new setting for telling pnpm if the env is CI ( #9616 )
...
This is an addition to https://github.com/pnpm/pnpm/pull/8190 . The global virtual store isn't a good choice for CI. So, we disable it even if the setting sets `enableGlobalVirtualStore` to `true`.
2025-06-08 15:00:22 +02:00
Khải
c8341cca57
feat: pnpm add option to add new entries to catalogs ( #9484 )
...
close #9425
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2025-05-14 18:32:05 +02:00
Zoltan Kochan
9362b5fb15
fix: updateConfig in pnpm-workspace.yaml should not be ignored ( #9501 )
...
* fix: updateConfig in pnpm-workspace.yaml should not be ignored
close #9500
* fix: reading executionEnv from pnpm-workspace.yaml
2025-05-08 12:24:43 +02:00
Khải
9c3dd03710
feat: add support for the jsr: protocol ( #9358 )
...
close #8941
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2025-04-20 11:51:51 +02:00
Zoltan Kochan
5b73df1eb1
refactor: resolvers should calculate the specifiers that are saved into package.json ( #9426 )
...
* refactor: resolvers should return specifier templates
* refactor: updating workspace protocol specs in package.json
* refactor: move workspace selector calculation logic to npm-resolver
* refactor: move workspace selector calculation logic to npm-resolver
* refactor: calculating range in npm-resolver
* refactor: rename normalizedPref and specifierTemplate to specifier
* refactor: specifiers creation
* refactor: npm-resolver
* refactor: remove which-version-is-pinned package
* refactor: which version is pinned
* docs: add changesets
* refactor: implement suggestions
* refactor: revert regex usage
2025-04-18 17:48:03 +02:00
Zoltan Kochan
80338543fb
fix: pnpm link should update overrides in pnpm-workspace.yaml ( #9365 )
2025-04-03 01:12:31 +02:00
Zoltan Kochan
1413c25435
feat: config update hook ( #9325 )
2025-03-31 08:08:32 +02:00
Zoltan Kochan
d965748ff4
feat: setting config settings via pnpm-workspace.yaml ( #9211 )
...
Related discussion: https://github.com/orgs/pnpm/discussions/9037
2025-03-04 15:09:13 +01:00
btea
adb236f1a1
refactor: improve regexp ( #9203 )
2025-03-02 13:17:09 +01:00
R.P. Pedraza
76973d8c81
feat(link): normalize generated link paths in package.json ( #9163 )
2025-02-26 02:56:59 +01:00
R.P. Pedraza
529696182f
fix: reference root manifest directory instead of the dependent dir ( #9132 )
...
* fix: reference root manifest directory instead of the dependent dir
This fixes https://github.com/pnpm/pnpm/issues/9066 .
* refactor: link test
* docs: add changeset
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2025-02-25 02:15:38 +01:00
Zoltan Kochan
8fcc221394
feat: reading settings from pnpm-workspace.yaml ( #9121 )
...
Related discussion: https://github.com/orgs/pnpm/discussions/9037
close #9033
2025-02-22 02:10:43 +01:00
Zoltan Kochan
cc3bbc950d
fix: don't load side-effects cache for packages that are not allowed to be built ( #8901 )
...
* fix: don't read ignored deps from side effects cache
* test: fix
* test: fix
2025-01-05 03:17:54 +01:00
Zoltan Kochan
9591a18d96
feat: configurational dependencies ( #8915 )
...
* feat: configuration dependencies
* feat: remove configuration dependencies
* feat: update configuration dependencies
* feat: configuration dependencies fast check on repeat install
* revert: comment
* refactor: install configurational deps
* refactor: install config deps
* refactor: install config deps
* test: config deps
* test: config deps
* docs: add changeset
* test: loading a pnpmfile from config deps
* fix: reading hooks after installing config deps
* test: fix
* test: fix
* test: fix
* test: fix
* test: loading patch from config dep
* fix: do not allow config deps w/o integrity checksum
2025-01-04 11:29:22 +01:00
Fotis Papadogeorgopoulos
f685565f92
fix(remove): ensure that link-workspace-packages=false is respected in single project runs in a workspace ( #8881 )
2024-12-19 01:39:21 +01:00
Zoltan Kochan
a76da0c53c
feat!: remove conversion of lockfile v6 to v9 ( #8866 )
2024-12-15 14:39:19 +01:00
Zoltan Kochan
d47c4266db
perf: faster repeat install ( #8838 )
2024-12-08 23:42:33 +01:00
Zoltan Kochan
6b27c811e7
fix!: do not allow to install pnpm globally via pnpm add ( #8728 )
2024-11-03 20:47:45 +01:00
Zoltan Kochan
32613a05af
Merge remote-tracking branch 'origin/main' into v10
2024-10-28 04:01:43 +01:00
Zoltan Kochan
c4f5231761
feat!: bump store version to v10 ( #8709 )
2024-10-28 03:54:58 +01:00
chlorine
6014522ddb
fix: print ERR_PNPM_NO_GLOBAL_BIN_DIR error when global bin directory is not found ( #8710 )
2024-10-28 03:08:16 +01:00
Zoltan Kochan
477e0c1f74
feat!: the link command should add overrides ( #8653 )
2024-10-24 16:59:55 +02:00