Zoltan Kochan
05158d2cde
fix: comparison of hoistPattern values ( #10713 )
2026-02-27 23:51:58 +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
3cfffaad10
perf: save node_modules/.modules.yaml in JSON format ( #10406 )
2026-02-06 15:59:22 +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
8a8a51c394
perf: don't calculate package file paths in the store twice ( #10428 )
2026-01-12 15:58:25 +01:00
Zoltan Kochan
8b4bdf9a83
refactor: replace onlyBuiltDependencies and ignoredBuiltDependencies with allowBuilds ( #10401 )
2026-01-02 23:21:17 +01:00
Zoltan Kochan
cb367b9515
feat!: deprecate old settings that were replaced by allowBuilds ( #10382 )
2026-01-02 12:22:42 +01:00
Zoltan Kochan
394d88cf5e
feat: enable injected local packages to work with global virtual store ( #10366 )
...
* feat: enable injected local packages to work with global virtual store
by leveraging `pkgLocationsByDepPath` for `file:` dependencies.
* fix: populate `pkgLocationsByDepPath` directly for directory dependencies in the graph builder
* refactor: store directory dependencies as a Map instead of an object
* refactor: improve file: dependency target directory resolution
by prioritizing `directoryDepsByDepPath` and providing a lockfile fallback.
* refactor: remove `pkgLocationsByDepPath` from hoisted dependency graph generation parameters
* test: fix
* test: fix
* refactor: simplify directory lookup for injected workspace packages
by directly using the dependency graph
* refactor: move extendProjectsWithTargetDirs to headless module and update imports
* refactor: make `directoryDepsByDepPath` required
in `LockfileToDepGraphOptions` and remove its nullish coalescing in headless
* refactor: directory dependency tracking
by renaming `directoryDepsByDepPath` to `injectionTargetsByDepPath`
and extracting related logic, and remove an unused export.
* docs: add changesets
* fix: implemented CR suggestions
2025-12-27 12:21:19 +01:00
btea
ac4c9f4b96
fix: install absolute path pkg failed ( #9888 )
2025-12-22 14:57:45 +01:00
Oren
ba065f6a8b
fix(git-fetcher): block git dependencies from running prepare scripts unless allowed ( #10288 )
...
* fix(git-fetcher): block git dependencies from running prepare scripts unless allowed
* Update exec/prepare-package/src/index.ts
Co-authored-by: Zoltan Kochan <z@kochan.io >
* Also implement in gitHostedTarballFetcher
* refactor: move allowBuild function creation to the store manager
* refactor: pass allowBuild function to fetch function directly
* refactor: revert not needed changes and update changesets
* test: fix
* fix: implemented CR suggestions
* test: fix
* test: fix
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2025-12-09 18:25:07 +01:00
Zoltan Kochan
05fb1aee5f
fix: reporting ignored dependency builds ( #10276 )
2025-12-06 16:32:19 +01:00
Zoltan Kochan
4362c06005
fix: dependencies that were added to onlyBuiltDependencies should be built on install ( #10256 )
2025-12-02 15:31:52 +01:00
Zoltan Kochan
5f73b0f2b6
perf: always link runtimes from the global virtual store directory ( #10233 )
2025-12-01 14:27:18 +01:00
Zoltan Kochan
dab9abef5c
Merge remote-tracking branch 'origin/main' into v11
2025-10-24 14:19:07 +02:00
Zoltan Kochan
dee39ecb8a
feat: support allowing the build of specific versions of dependencies ( #10104 )
...
close #10076
2025-10-21 12:38:16 +02:00
Zoltan Kochan
1089a96589
fix: update dependencies ( #9899 )
2025-08-28 15:33:19 +02:00
Zoltan Kochan
491a84fb26
feat: use ESM instead of commonjs ( #9870 )
2025-08-25 10:02:00 +02:00
Zoltan Kochan
facd7656e8
refactor: always use extensions in relative imports ( #9878 )
2025-08-19 15:25:11 +02:00
Zoltan Kochan
86b33e91ea
feat: support installing Bun runtime ( #9815 )
...
* feat: support installing Bun runtime
* feat: support installing Bun runtime
* fix: cache libc resolution
* refactor: shasum file fetching
* docs: add changesets
* feat: installing the right artifact
* test: supported architectures
* test: fix on Windows
2025-07-31 13:46:13 +02:00
Brandon Cheng
9908269a12
fix: re-link local tarball when contents change (without rename) during filtered install ( #9805 )
...
* test: ensure current lockfile updates when tarball integrity changes
* fix: update store when local tarball contents change without rename
2025-07-30 11:31:24 +02:00
Zoltan Kochan
1a07b8fc7c
feat: install Node.js runtime as a dependency ( #9755 )
2025-07-19 15:11:40 +02:00
Zoltan Kochan
b982a0d6dc
fix: hoisting with global virtual store ( #9648 )
2025-06-22 22:03:29 +02:00
Zoltan Kochan
b3898dbb1e
fix: take into account the integrities of packages in when calculating the dependency graph hash ( #9605 )
...
* fix: take into account the integrities of packages in when calculating the dependency graph hash
* test: fix
* test: fix
* test: fix
* test: fix
* fix: include the package's integirty in the hash as well
* docs: add comment
* perf: hashing deps graph
* fix: deps graph hash
* refactor: calc graph hash
* test: fix
* refactor: calc graph hash
* refactor: rename uniquePkgId to fullPkgId
* docs: add changeset
2025-06-08 01:05:10 +02:00
Zoltan Kochan
b0ead519b3
feat: global virtual store ( #8190 )
...
close #1001
2025-06-03 18:18:58 +02:00
Khải
5f7be645e4
feat(patching): version ranges and strict patches ( #9236 )
...
* feat: replace a config
This is a test commit to see if CI fails
* feat: `strictPatches`
* docs: future instruction
* feat: `strictPatches` → `allowPatchFailure`
* docs(changeset): correction
* test: getOptionsFromRootManifest
* fix: allowFailure
* feat: groupPatchedDependencies
* fix: update code after merge
* fix: star spec
* feat: error on invalid ranges
* fix: eslint
* docs: change task
* feat(patching): version ranges
* fix: `verifyPatches`
* refactor: move types to `@pnpm/patching.types`
* docs(changeset): add missing package
* refactor: move `verifyPatches` to `@pnpm/patching.config`
* test: fix
* feat: change error message of unused patches
* refactor: exact options into an interface
* test(patching): version range
* test(patching): allowPatchFailure
* docs: change wording
* docs: change wording
* test(patching): version range error
* test(patching): legacy behavior
* test: don't use star
* test(patching): strict versionless
* test: strictPatches
* chore(deps): `@pnpm/logger` must be peer
* docs: fix grammar
* refactor: rename `blank` to `all`
* refactor: use string
* refactor: use array for `PatchGroup.range`
* refactor: stop re-exporting `allPatchKeys`
* feat: re-export `PatchGroupRangeItem`
* refactor: move error creation into a class
* docs: replace "versionless" with "name-only"
* docs: coherent wordings
* test: exact version overrides range conflict
* test: tweak
* docs: consistent wordings
* docs: correct wordings
* refactor: rename `allowPatchFailure` to `ignorePatchFailures`
* feat: replace `strictPatches` with `ignorePatchFailures`
* docs: legacy behavior
* feat: introduce `allowUnusedPatches`
* docs(changeset): update
* docs: remove outdated comment
* docs: backward-compatibility
2025-03-13 12:13:06 +01:00
Zoltan Kochan
a5b36b7355
fix: don't remove ignored builds list on repeat install ( #9083 )
...
close #9045
2025-02-12 01:30: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
btea
2b49ee77c7
fix: install dependencies execute preprepare and postprepare scripts ( #8989 )
...
* fix: install dependencies execute preprepare script
* chore: remove unnecessary code
* fix: postprepare should run
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2025-01-26 20:31:00 +01:00
btea
7a9473b237
fea: pnpm.ignoredBuiltDependencies for muting warnings about ignored dependency builds ( #8958 )
...
close #8935
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2025-01-12 02:17:44 +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
4771813309
feat: store ignored dependencies list in modules state file ( #8903 )
2024-12-24 03:01:35 +01:00
Zoltan Kochan
a76da0c53c
feat!: remove conversion of lockfile v6 to v9 ( #8866 )
2024-12-15 14:39:19 +01:00
Jordan
7cd0d20bb2
fix: headless install crash when modules dir disabled and patches listed ( #8727 )
...
close #8726
2024-11-04 02:14:00 +01:00
Khải
ad1fd64b64
fix(deploy): node-linker=hoisted produces empty node_modules ( #8525 )
...
close https://github.com/pnpm/pnpm/issues/6682
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2024-09-20 03:27:05 +02:00
Khải
24ad47cfb8
refactor: replace array.reduce ( #8537 )
2024-09-18 04:41:35 +02:00
Khải
f071d00815
refactor: replace forEach with for-loops ( #8535 )
...
* refactor: replace `forEach` with `for`-loops
Changes:
* Most `Object.keys(o).forEach` are replaced by `for in`.
* Most `Array.filter(c).forEach` are replaced by `for of` + `if continue`.
* `return` in `forEach` callbacks are replaced by `continue`.
There may be minor improvement to memory footprint as this change would
reduce the creations of temporary arrays and temporary functions.
* fix: return -> continue
* refactor: remove the commented out code
2024-09-18 03:58:25 +02:00
btea
681fba52e4
refactor: remove unused parameter ( #8505 )
2024-09-07 14:07:11 +02:00
Khải
cb006df38c
feat(patching): apply patch to all versions ( #8337 )
...
Related issue: #5686
2024-08-01 15:05:15 +02:00
Zoltan Kochan
c5ef9b0643
refactor: rename filter-utils to lockfile.utils
2024-07-28 01:35:40 +02:00
Zoltan Kochan
8055a30be1
refactor: rename filter-lockfile to lockfile.filtering
2024-07-28 01:24:55 +02:00
Zoltan Kochan
e9908b3185
refactor: rename lockfile-file to lockfile.fs
2024-07-28 01:15:20 +02:00
Zoltan Kochan
0406d4ad3d
refactor: use a branded type for project root dir paths ( #8272 )
2024-07-04 13:13:34 +02:00
Zoltan Kochan
3dd30b1909
refactor: create branded type for project ID ( #8164 )
2024-06-04 18:30:59 +02:00
Zoltan Kochan
c649954e41
refactor: create a separate type for DepPath ( #8094 )
2024-05-20 16:11:46 +02:00
Zoltan Kochan
9719a42d0e
feat: configurable max length of directories inside node_modules/.pnpm ( #7994 )
...
close #7355
2024-04-28 11:07:29 +02:00
Zoltan Kochan
b7d2ed47be
fix: ignore the engines.pnpm field of dependencies ( #7968 )
...
close #7965
2024-04-19 02:49:01 +02:00
Zoltan Kochan
c9db742824
fix: update typescript to v5.4 ( #7905 )
2024-04-12 14:03:45 +02:00
Khải
471f0b3420
refactor(pkg-manager): return type annotations for small modules in the pkg-manager directory ( #7875 )
...
* refactor(pkg-manager): return type annotations
* refactor(get-context): return type annotation
* refactor(headless): return type annotations
2024-04-09 12:00:41 +02:00
Chris Kim
0fa26f4936
fix: correctly detect the active Node js version during headless installation ( #7801 )
...
close #5266
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2024-03-17 17:46:40 +01:00
Zoltan Kochan
0e6b757cf5
feat!: remove requiresBuild from the lockfile ( #7710 )
...
close #7707
2024-02-27 11:50:43 +01:00