@pnpm/installing.deps-installer 1101.0.6 → 1101.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1174,6 +1174,7 @@ const _installInContext = async (projects, ctx, opts) => {
1174
1174
  packageManager: `${opts.packageManager.name}@${opts.packageManager.version}`,
1175
1175
  pendingBuilds: ctx.pendingBuilds,
1176
1176
  publicHoistPattern: ctx.publicHoistPattern,
1177
+ virtualStoreOnly: opts.virtualStoreOnly,
1177
1178
  prunedAt: opts.pruneVirtualStore || ctx.modulesFile == null
1178
1179
  ? new Date().toUTCString()
1179
1180
  : ctx.modulesFile.prunedAt,
@@ -1675,7 +1676,11 @@ async function installFromPnpmRegistry(manifest, rootDir, opts, allInstallProjec
1675
1676
  await fileDownloads;
1676
1677
  const resolution = fetchOpts.pkg.resolution;
1677
1678
  const integrity = resolution?.integrity;
1678
- if (integrity) {
1679
+ // Fall through to the regular store controller for git-hosted tarballs.
1680
+ // Their cached entry lives under gitHostedStoreIndexKey (preserves the
1681
+ // built/not-built dimension), not the integrity-keyed path the agent
1682
+ // uses for npm tarballs. See @pnpm/store.pkg-finder for the rationale.
1683
+ if (integrity && !resolution?.gitHosted) {
1679
1684
  const filesIndexFile = _storeIndexKey(integrity, fetchOpts.pkg.id);
1680
1685
  const result = await readPkgFromCafs({ storeDir: opts.storeDir, verifyStoreIntegrity: false }, filesIndexFile, { readManifest: true, expectedPkg: { name: fetchOpts.pkg.name, version: fetchOpts.pkg.version } });
1681
1686
  return {
@@ -18,7 +18,10 @@ export async function validateModules(modules, projects, opts) {
18
18
  throw new PnpmError('VIRTUAL_STORE_DIR_MAX_LENGTH_DIFF', 'This modules directory was created using a different virtual-store-dir-max-length value.' +
19
19
  ' Run "pnpm install" to recreate the modules directory.');
20
20
  }
21
- if (!equals(modules.publicHoistPattern ?? [], opts.publicHoistPattern ?? [])) {
21
+ // virtualStoreOnly installs (e.g. `pnpm fetch`) force empty hoist patterns
22
+ // into .modules.yaml; the follow-up install must complete linking, not purge.
23
+ if (!modules.virtualStoreOnly &&
24
+ !equals(modules.publicHoistPattern ?? [], opts.publicHoistPattern ?? [])) {
22
25
  if (opts.forceNewModules && (rootProject != null)) {
23
26
  await purgeModulesDirsOfImporter(opts, rootProject);
24
27
  return { purged: true };
@@ -27,7 +30,7 @@ export async function validateModules(modules, projects, opts) {
27
30
  ' Run "pnpm install" to recreate the modules directory.');
28
31
  }
29
32
  const importersToPurge = [];
30
- if (rootProject != null) {
33
+ if (!modules.virtualStoreOnly && rootProject != null) {
31
34
  try {
32
35
  if (!equals(opts.currentHoistPattern ?? [], opts.hoistPattern ?? [])) {
33
36
  throw new PnpmError('HOIST_PATTERN_DIFF', 'This modules directory was created using a different hoist-pattern value.' +
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pnpm/installing.deps-installer",
3
- "version": "1101.0.6",
3
+ "version": "1101.0.7",
4
4
  "description": "Fast, disk space efficient installation engine",
5
5
  "keywords": [
6
6
  "pnpm",
@@ -56,66 +56,66 @@
56
56
  "load-json-file": "^7.0.1",
57
57
  "normalize-path": "^3.0.0",
58
58
  "p-filter": "^4.1.0",
59
- "p-limit": "^7.1.0",
59
+ "p-limit": "^7.3.0",
60
60
  "path-absolute": "^2.0.0",
61
61
  "path-exists": "^5.0.0",
62
62
  "ramda": "npm:@pnpm/ramda@0.28.1",
63
63
  "run-groups": "^5.0.0",
64
- "semver": "^7.7.2",
65
- "@pnpm/agent.client": "1.0.1",
66
- "@pnpm/bins.linker": "1100.0.3",
67
- "@pnpm/building.after-install": "1101.0.6",
68
- "@pnpm/building.during-install": "1101.0.4",
64
+ "semver": "^7.7.4",
65
+ "@pnpm/agent.client": "1.0.2",
66
+ "@pnpm/bins.remover": "1100.0.2",
67
+ "@pnpm/building.after-install": "1101.0.7",
68
+ "@pnpm/building.during-install": "1101.0.5",
69
69
  "@pnpm/building.policy": "1100.0.3",
70
70
  "@pnpm/catalogs.protocol-parser": "1100.0.0",
71
71
  "@pnpm/catalogs.resolver": "1100.0.0",
72
+ "@pnpm/catalogs.types": "1100.0.0",
72
73
  "@pnpm/config.matcher": "1100.0.1",
74
+ "@pnpm/bins.linker": "1100.0.3",
73
75
  "@pnpm/config.normalize-registries": "1100.0.2",
74
76
  "@pnpm/config.parse-overrides": "1100.0.1",
75
- "@pnpm/catalogs.types": "1100.0.0",
77
+ "@pnpm/core-loggers": "1100.0.1",
78
+ "@pnpm/crypto.object-hasher": "1100.0.0",
76
79
  "@pnpm/constants": "1100.0.0",
77
80
  "@pnpm/crypto.hash": "1100.0.1",
78
- "@pnpm/crypto.object-hasher": "1100.0.0",
79
- "@pnpm/core-loggers": "1100.0.1",
80
- "@pnpm/deps.graph-hasher": "1100.1.2",
81
+ "@pnpm/deps.graph-sequencer": "1100.0.0",
82
+ "@pnpm/deps.graph-hasher": "1100.1.3",
81
83
  "@pnpm/deps.path": "1100.0.2",
82
84
  "@pnpm/error": "1100.0.0",
83
- "@pnpm/exec.lifecycle": "1100.0.5",
84
- "@pnpm/deps.graph-sequencer": "1100.0.0",
85
+ "@pnpm/exec.lifecycle": "1100.0.6",
85
86
  "@pnpm/fs.symlink-dependency": "1100.0.2",
86
87
  "@pnpm/hooks.read-package-hook": "1100.0.2",
87
- "@pnpm/hooks.types": "1100.0.4",
88
- "@pnpm/installing.context": "1100.0.5",
89
- "@pnpm/installing.deps-resolver": "1100.0.5",
90
- "@pnpm/installing.deps-restorer": "1101.0.5",
91
- "@pnpm/installing.linking.hoist": "1100.0.3",
92
- "@pnpm/installing.linking.modules-cleaner": "1100.0.5",
93
- "@pnpm/installing.modules-yaml": "1100.0.2",
88
+ "@pnpm/fs.read-modules-dir": "1100.0.1",
89
+ "@pnpm/hooks.types": "1100.0.5",
90
+ "@pnpm/installing.context": "1100.0.6",
91
+ "@pnpm/installing.deps-resolver": "1100.0.6",
94
92
  "@pnpm/installing.linking.direct-dep-linker": "1100.0.2",
95
- "@pnpm/installing.package-requester": "1101.0.2",
96
- "@pnpm/bins.remover": "1100.0.2",
97
- "@pnpm/lockfile.fs": "1100.0.4",
98
- "@pnpm/lockfile.preferred-versions": "1100.0.5",
99
- "@pnpm/lockfile.pruner": "1100.0.3",
100
- "@pnpm/lockfile.settings-checker": "1100.0.5",
101
- "@pnpm/lockfile.to-pnp": "1100.0.4",
102
- "@pnpm/lockfile.filtering": "1100.0.5",
103
- "@pnpm/lockfile.utils": "1100.0.4",
104
- "@pnpm/lockfile.walker": "1100.0.3",
105
- "@pnpm/lockfile.verification": "1100.0.5",
93
+ "@pnpm/installing.deps-restorer": "1101.0.6",
94
+ "@pnpm/installing.linking.hoist": "1100.0.3",
95
+ "@pnpm/installing.linking.modules-cleaner": "1100.0.6",
96
+ "@pnpm/installing.modules-yaml": "1100.0.3",
97
+ "@pnpm/installing.package-requester": "1101.0.3",
98
+ "@pnpm/lockfile.preferred-versions": "1100.0.6",
99
+ "@pnpm/lockfile.filtering": "1100.0.6",
100
+ "@pnpm/lockfile.fs": "1100.0.5",
101
+ "@pnpm/lockfile.pruner": "1100.0.4",
102
+ "@pnpm/lockfile.settings-checker": "1100.0.6",
103
+ "@pnpm/lockfile.to-pnp": "1100.0.5",
104
+ "@pnpm/lockfile.verification": "1100.0.6",
105
+ "@pnpm/lockfile.walker": "1100.0.4",
106
106
  "@pnpm/patching.config": "1100.0.2",
107
- "@pnpm/resolving.parse-wanted-dependency": "1100.0.1",
107
+ "@pnpm/lockfile.utils": "1100.0.5",
108
108
  "@pnpm/pkg-manifest.utils": "1100.1.1",
109
- "@pnpm/store.controller-types": "1100.0.4",
110
- "@pnpm/fs.read-modules-dir": "1100.0.1",
109
+ "@pnpm/resolving.parse-wanted-dependency": "1100.0.1",
110
+ "@pnpm/resolving.resolver-base": "1100.1.2",
111
+ "@pnpm/store.controller-types": "1100.0.5",
111
112
  "@pnpm/store.index": "1100.0.0",
112
113
  "@pnpm/types": "1101.0.0",
113
- "@pnpm/workspace.project-manifest-reader": "1100.0.3",
114
- "@pnpm/resolving.resolver-base": "1100.1.1"
114
+ "@pnpm/workspace.project-manifest-reader": "1100.0.3"
115
115
  },
116
116
  "peerDependencies": {
117
- "@pnpm/logger": ">=1001.0.0 <1002.0.0",
118
- "@pnpm/worker": "^1100.1.1"
117
+ "@pnpm/logger": "^1001.0.1",
118
+ "@pnpm/worker": "^1100.1.2"
119
119
  },
120
120
  "devDependencies": {
121
121
  "@jest/globals": "30.3.0",
@@ -126,7 +126,7 @@
126
126
  "@types/ramda": "0.31.1",
127
127
  "@types/semver": "7.7.1",
128
128
  "@yarnpkg/core": "4.5.0",
129
- "ci-info": "^4.3.0",
129
+ "ci-info": "^4.4.0",
130
130
  "deep-require-cwd": "1.0.0",
131
131
  "execa": "npm:safe-execa@0.3.0",
132
132
  "exists-link": "2.0.0",
@@ -138,21 +138,21 @@
138
138
  "symlink-dir": "^10.0.1",
139
139
  "write-json-file": "^7.0.0",
140
140
  "write-yaml-file": "^6.0.0",
141
- "@pnpm/assert-project": "1100.0.4",
142
- "@pnpm/assert-store": "1100.0.4",
143
- "@pnpm/lockfile.types": "1100.0.3",
141
+ "@pnpm/assert-project": "1100.0.5",
142
+ "@pnpm/assert-store": "1100.0.5",
143
+ "@pnpm/installing.deps-installer": "1101.0.7",
144
+ "@pnpm/lockfile.types": "1100.0.4",
144
145
  "@pnpm/logger": "1100.0.0",
145
146
  "@pnpm/network.git-utils": "1100.0.1",
146
147
  "@pnpm/pkg-manifest.reader": "1100.0.2",
147
- "@pnpm/installing.deps-installer": "1101.0.6",
148
- "@pnpm/prepare": "1100.0.4",
148
+ "@pnpm/prepare": "1100.0.5",
149
149
  "@pnpm/resolving.registry.types": "1100.0.2",
150
+ "@pnpm/store.cafs": "1100.1.2",
150
151
  "@pnpm/test-fixtures": "1100.0.0",
151
- "@pnpm/test-ipc-server": "1100.0.0",
152
- "@pnpm/store.cafs": "1100.1.1",
153
- "@pnpm/testing.mock-agent": "1100.0.2",
154
152
  "@pnpm/store.path": "1100.0.1",
155
- "@pnpm/testing.temp-store": "1100.0.10"
153
+ "@pnpm/testing.temp-store": "1100.0.11",
154
+ "@pnpm/test-ipc-server": "1100.0.0",
155
+ "@pnpm/testing.mock-agent": "1100.0.2"
156
156
  },
157
157
  "engines": {
158
158
  "node": ">=22.13"