Ryo Matsukawa
93d49548ca
feat: add support for trustPolicyExclude ( #10168 )
...
close #10164
2025-11-11 13:01:56 +01:00
Ryo Matsukawa
68ad0868b4
feat: add support for npm package trust evidence check via a new trustPolicy setting ( #10103 )
...
close #8889
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2025-11-09 23:32:56 +01:00
Trevor Burnham
17344ca27f
fix(update): prevent package.json updates when updating indirect dependencies ( #5118 ) ( #10155 )
...
close #5118
2025-11-06 15:14:36 +01:00
btea
93fdc73626
fix: correctly apply cleanupUnusedCatalogs when remove pkg ( #10005 )
...
close #9993
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2025-09-28 00:55:43 +02:00
btea
c182b2d588
fix: remove pkg apply cleanupUnusedCatalogs ( #9930 )
...
* fix: remove pkg apply cleanupUnusedCatalogs
* fix: lint
2025-09-07 00:03:56 +02:00
Zoltan Kochan
facd7656e8
refactor: always use extensions in relative imports ( #9878 )
2025-08-19 15:25:11 +02:00
btea
8747b4e7f6
feat: add cleanupUnusedCatalogs config ( #9793 )
2025-08-14 12:26:51 +02:00
btea
9dbada8315
refactor: combine addCatalogs to updateWorkspaceManifest ( #9850 )
2025-08-13 17:32:43 +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
b511eac107
fix: running an install after the fetch command should hoist all dependencies ( #9690 )
...
close #9689
2025-06-25 01:14:45 +02:00
Khải
1ccd634f56
refactor: stricter type for mutation ( #9680 )
2025-06-21 23:00:18 +02:00
Nikita Skovoroda
45580ad93d
fix: 15% smaller bundle size ( #8810 )
2025-06-13 22:04:48 +02:00
Khải
983efdc7f1
fix(deploy): overrides contain peer dependencies ( #9604 )
...
close #9595
2025-06-10 00:45:55 +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
Brandon Cheng
099ac93e08
refactor: use Catalogs config type instead of CatalogSnapshots for updatedCatalogs ( #9589 )
...
* refactor: use Catalogs config type instead of CatalogSnapshots
* refactor: create catalogMetadata instead of manually patching snapshots
2025-06-01 23:53:04 +02:00
martinkors
046af72a96
feat: add new catalogMode setting ( #9552 )
...
* feat: add new `catalogMode` setting
Add new `catalogMode` setting for automatically adding new dependencies to
the default catalog.
Closes pnpm#8876, Closes pnpm#8308
* fix: catalogs don't only store semver ranges and versions
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2025-05-20 16:47:05 +02:00
Brandon Cheng
e7d0f6cdcf
refactor: rename newCatalogs to updatedCatalogs ( #9561 )
2025-05-20 11:15:41 +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
modten
36d1448c48
feat: add workspace-concurrency cli option for pack and publish command ( #9493 )
...
* refactor: set the default `workspaceConcurrency` to `Math.min(os.availableParallelism(), 4)`
* feat(plugin-commands-publishing): add `workspace-concurrency` cli option for pack and publish
* feat(recursive): add support for `recursive pack`
* feat: get default workspaceConcurrency from config package
* test(config): mock cpus to support Node.js 18
2025-05-09 10:30:21 +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
btea
62029d1794
fix: add command --allow-build option should specify package ( #9489 )
...
* fix: add command --allow-build option should specify package
* chore: remove warn
* fix: validating the --allow-build flag
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2025-05-07 18:18:39 +02:00
Khải
3f70b673bf
refactor: add type to action ( #9490 )
...
* refactor: add type to `action`
* fix: eslint
2025-05-05 13:46:19 +02:00
Zoltan Kochan
8a9f3a4835
refactor: rename pref to bare specifier ( #9445 )
2025-04-20 22:58:08 +02:00
Zoltan Kochan
56bb69b004
feat: dangerouslyAllowAllBuilds allows to enable the build of all dependencies ( #9440 )
...
close #9102
2025-04-20 13:13:11 +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
btea
4d95e93040
fix: write allow-build value to pnpm-workspace.yaml ( #9404 )
2025-04-14 11:43:03 +02:00
Zoltan Kochan
750ae7d1d7
feat(cli): installing new configurational dependencies ( #9377 )
2025-04-07 13:38:18 +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
c1f09d48fa
fix: dlx with --allow-build flag ( #9281 )
...
close #9263
2025-03-14 02:27:58 +01:00
Brandon Cheng
b4efd0eca8
refactor: always load all projects into allProjectsGraph ( #9259 )
2025-03-11 02:59:23 +01:00
Brandon Cheng
cda1c43dad
refactor: prune lockfile importers when running pnpm deploy to prepare for allProjectsGraph refactor ( #9258 )
...
* feat: support `pruneLockfileImporters` as argument to install
* fix: remove unnecessary importers from filtered lockfile during deploy
2025-03-11 02:52:32 +01:00
btea
d9d7607cc1
fix: update choice list not show deprecated pkg ( #9214 )
...
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2025-03-06 02:34:23 +01: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
Brandon Cheng
e4eeafdb55
fix: catalog snapshots removed on filtered install with dedupe-peer-dependents=false ( #9175 )
...
* test: add catalog test for --filter and dedupe-peer-dependents=false
* fix: disable dedupe-injected-deps when deploying
* fix: catalog snapshots removed with dedupe-peer-dependents=false
2025-03-02 12:42:46 +01:00
Zoltan Kochan
6a59366248
fix: self-update should not read pnpm settings from current package.json ( #9196 )
...
close #9188
close #9183
2025-03-01 13:49:56 +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
btea
546ab377de
fix: --allow-build=<pkg> overlaps with ignoredBuiltDependencies ( #9105 )
...
* fix: `--allow-build=<pkg>` overlaps with `ignoredBuiltDependencies`
* feat: update
* fix: update
* test: update
* fix: add hint to the error message
* test: fix
* docs: update changeset
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2025-02-16 22:07:52 +01:00
Zoltan Kochan
91d46eecd4
feat: add --allow-build=<pkg> to add command ( #9086 )
2025-02-13 00:43:44 +01:00
Zoltan Kochan
f6006f2b4b
feat: add an option to fail on unapproved dependency builds ( #9071 )
2025-02-11 00:26:25 +01:00
Zoltan Kochan
b5ba5350bf
feat(dlx): add an option to dlx for providing a list of deps that are allowed to run install scripts ( #9026 )
2025-02-03 14:46:28 +01:00
Khải
f3ffaed009
feat(install): option to disable fast reinstall ( #8977 )
2025-01-26 11:53:16 +01:00
Zoltan Kochan
e050221384
fix: pnpm link should keep the indentations in the updated manifest
2025-01-07 02:48:02 +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
c7eefdd082
fix: pnpm update --filter --latest should only change relevant packages and projects, with dedupe-peer-dependents=true ( #8905 )
...
* test(update): add failing tests for update with dedupe-peer-dependents=true
Relates to https://github.com/pnpm/pnpm/issues/8877
* fix: update --filter --latest should work with dedupe-peer-dependents
Fixes https://github.com/pnpm/pnpm/issues/8877 , whereby
`update --filter --latest` with `dedupe-peer-dependents` would end up
updating all available dependencies for all projects.
* test(pnpm): more accurate dedupePeers filtered install case
* docs: add changeset for updateToLatest moving to projects/importers
* docs: add changesets for pnpm and plugin-commands-installation
* chore: fix tsc issue by removing unknown bound resolver property
This unknown property was accepted by tsc prior to adding updateToLatest
in toResovleImporter options, but now it was erroring out. This is
likely a tsc quirk about the shape of the object; regardless that
property is not defined, and should not be present.
* test: keep only pnpm/test/monorepo/dedupePeers.test.ts
There was duplicate coverage of the pnpm update --filter --latest
command between two tests, so this keeps only the one dedicated
to testing the dedupe-peer-dependents feature.
* chore: fix unused import error
2024-12-29 17:30:36 +01:00
Khải
f89128883f
feat(deploy): create dedicated lockfile ( #8828 )
...
* feat(deploy): create dedicated lockfile
Closes https://github.com/pnpm/pnpm/issues/8778
* chore: remove a leftover `console.log`
* fix: hoisted should also use dedicated lockfile
* feat: inherit more keys
* docs(changeset): more details
* refactor: remove a variable
* refactor: use `selectedProject.rootDir`
* fix: manifest files
* fix: update lockfile
* fix: accidentally skipped normal dependencies
* test: update
* fix: meta
* fix: remove links to nowhere
* docs: remove the false todo
* fix: transitive workspace dependencies
* fix: package snapshot names
* fix: dependencies that depend on deployed package
* perf: do not repeat computation
* fix: compile error
* refactor: base on allProjects
* fix: add missing `link:` prefix
* test: add some tests
* fix: revert stupid refactor
This reverts commit 000788127c .
* test: more assertions
* test: more assertions
* test: https://github.com/pnpm/pnpm/issues/8778
* test: exact paths
* refactor: use `toBe`
* refactor: divide section
* fix: eslint
* test: fix assertions
* fix: dependencies that depend on deploy package
* perf: cheap operation first
* test: remove `.only`
* test: add assertions
* test: remove unnecessary assertions
* test: remove unnecessary details
* fix: deployed package depends on itself
* docs: remove the other todo
* fix: self-referential dependencies
* test: fix
* test: more assertions
* feat: convert fallbacks to programmer errors
* fix: `file:` protocol
* refactor: more types
* refactor: remove unused variables
* refactor: fix regex
* feat: force-legacy-deploy
* feat: suggest reporting bug and using workaround
* feat: overrides, patchedDependencies, packageExtensions (wip)
* test: fix
* feat: handle `packageExtensions` in a smarter way
* fix: pnpmfile
* docs: change wording
* fix: `packageExtensions` with internal dependencies
* fix: directory resolution location
* refactor: use `rootProjectManifestDir`
* feat: set `overrides` to `undefined` instead
* refactor: remove `as ProjectRootDirRealPath`
* test: packageExtensions
* test: use regex string matchers
* refactor: move new tests to its own file
* fix: patchedDependencies
* fix: eslint
* test: patchedDependencies
* test: fix windows
* fix: pnpmfile checksum
* docs: change wording
* fix: peer dependencies
* docs: omission of peers
* docs: more detailed explanation
* fix: preserve unique peer dependencies suffix
* refactor: code rearrange
* refactor: shorten lines of code
* feat: add `dedupeInjectedDeps` to `InstallCommandOptions`
* test: peer dependencies suffix
* docs(changeset): config -> force-legacy-deploy
* docs(changeset): merge
* docs(changeset): add missing period
2024-12-27 17:17:12 +01:00