Zoltan Kochan
cb17c44e55
fix(dlx): fix race conditions in parallel dlx calls sharing
...
Global Virtual Store (#10939 )
Content-verified skip in GVS mode, tolerate EPERM during
bin creation on Windows, handle EPERM in DLX cache symlink.
(cherry picked from commit 62f760ec3d )
2026-03-12 21:19:29 +01:00
Alessio Attilio
7adf26b017
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 20:21:04 +01:00
Zoltan Kochan
9821d2d0c8
perf: save node_modules/.modules.yaml in JSON format ( #10406 )
2026-02-06 20:12:18 +01:00
Zoltan Kochan
9a2393f67e
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:28:09 +01:00
btea
cb9f72c658
fix: install absolute path pkg failed ( #9888 )
2025-12-23 12:30:07 +01:00
Oren
40775391d5
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-10 00:51:43 +01:00
Zoltan Kochan
9b05bdd7e1
fix: reporting ignored dependency builds ( #10276 )
2025-12-06 16:43:42 +01:00
Zoltan Kochan
033a2561eb
fix: dependencies that were added to onlyBuiltDependencies should be built on install ( #10256 )
2025-12-02 15:36:29 +01: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
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
Zoltan Kochan
cdd83654dd
feat!: don't include registry URL in package ID ( #7476 )
2024-01-08 11:57:44 +01:00
Zoltan Kochan
ff10acadec
fix: avoid circular symlink with hoist-workspace-packages ( #7495 )
2024-01-06 13:20:58 +01:00
Nacho Aldama
c597f72ec3
feat: add hoist-workspace-packages option ( #7451 )
...
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2023-12-30 13:43:19 +00:00
Zoltan Kochan
e3b9832955
fix: reporting of added dependencies ( #7396 )
...
close #7384
2023-12-11 10:16:57 +01:00
Zoltan Kochan
6558d1865f
fix: dedupe commands of direct dependencies ( #7359 )
2023-12-05 16:39:52 +01:00
Zoltan Kochan
cfc017ee38
fix: don't copy optional dependencies from the store ( #7255 )
...
close #7046
2023-10-31 12:31:50 +02:00
Nacho Aldama
43ce9e4a6a
feat: add support to install different architectures ( #7214 )
...
close #5965
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2023-10-24 15:50:40 +03:00
Zoltan Kochan
d774a3196c
feat: onlyBuiltDependenciesFile ( #7167 )
...
close #7137
2023-10-08 01:50:47 +03:00