@pnpm/global.commands 1100.0.31 → 1100.0.33
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.
- package/CHANGELOG.md +596 -0
- package/lib/globalAdd.d.ts +3 -0
- package/lib/globalAdd.js +24 -5
- package/package.json +11 -11
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,596 @@
|
|
|
1
|
+
# @pnpm/global.commands
|
|
2
|
+
|
|
3
|
+
## 1100.0.33
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- @pnpm/installing.deps-installer@1102.2.2
|
|
8
|
+
- @pnpm/config.reader@1101.11.2
|
|
9
|
+
- @pnpm/store.connection-manager@1100.3.5
|
|
10
|
+
- @pnpm/deps.inspection.list@1100.0.23
|
|
11
|
+
|
|
12
|
+
## 1100.0.32
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- 25bd5c3: Fixed standalone installer downgrades from pnpm v12 to v11.
|
|
17
|
+
- Updated dependencies [9318a11]
|
|
18
|
+
- Updated dependencies [5a4daec]
|
|
19
|
+
- @pnpm/config.reader@1101.11.1
|
|
20
|
+
- @pnpm/installing.deps-installer@1102.2.1
|
|
21
|
+
- @pnpm/deps.inspection.list@1100.0.22
|
|
22
|
+
- @pnpm/store.connection-manager@1100.3.4
|
|
23
|
+
|
|
24
|
+
## 1100.0.31
|
|
25
|
+
|
|
26
|
+
### Patch Changes
|
|
27
|
+
|
|
28
|
+
- be6505a: Hardened global package management:
|
|
29
|
+
|
|
30
|
+
- On Windows, removing or updating a global package now also cleans up the `node.exe` flavor of a bin, so a stale `node.exe` no longer survives on `PATH` after uninstall, and a new global install no longer silently overwrites an existing `node.exe`.
|
|
31
|
+
- `pnpm add -g pnpm@<version>` (and `@pnpm/exe@<version>`) is now rejected like the bare `pnpm` form, pointing to `pnpm self-update`.
|
|
32
|
+
- Dependency aliases read from a global package's manifest are validated before being joined onto `node_modules` paths, preventing a tampered manifest from escaping the install directory.
|
|
33
|
+
- Each global install group is created in its own freshly-made directory (no longer reusing a colliding or pre-existing path).
|
|
34
|
+
- Removing or updating a global package no longer unlinks a bin that belongs to a different globally installed package.
|
|
35
|
+
|
|
36
|
+
- Updated dependencies [dcabb78]
|
|
37
|
+
- Updated dependencies [be6505a]
|
|
38
|
+
- Updated dependencies [3425e80]
|
|
39
|
+
- Updated dependencies [ce5d5a5]
|
|
40
|
+
- Updated dependencies [1dd12bd]
|
|
41
|
+
- Updated dependencies [806c3ec]
|
|
42
|
+
- Updated dependencies [c121235]
|
|
43
|
+
- @pnpm/installing.deps-installer@1102.2.0
|
|
44
|
+
- @pnpm/bins.remover@1100.0.12
|
|
45
|
+
- @pnpm/global.packages@1100.0.10
|
|
46
|
+
- @pnpm/config.reader@1101.11.0
|
|
47
|
+
- @pnpm/store.connection-manager@1100.3.3
|
|
48
|
+
- @pnpm/deps.inspection.list@1100.0.21
|
|
49
|
+
|
|
50
|
+
## 1100.0.30
|
|
51
|
+
|
|
52
|
+
### Patch Changes
|
|
53
|
+
|
|
54
|
+
- Updated dependencies [852d537]
|
|
55
|
+
- @pnpm/installing.deps-installer@1102.1.1
|
|
56
|
+
- @pnpm/error@1100.0.1
|
|
57
|
+
- @pnpm/store.connection-manager@1100.3.2
|
|
58
|
+
- @pnpm/bins.linker@1100.0.16
|
|
59
|
+
- @pnpm/cli.utils@1101.0.13
|
|
60
|
+
- @pnpm/config.reader@1101.10.1
|
|
61
|
+
- @pnpm/deps.inspection.list@1100.0.20
|
|
62
|
+
- @pnpm/pkg-manifest.reader@1100.0.9
|
|
63
|
+
- @pnpm/bins.remover@1100.0.11
|
|
64
|
+
- @pnpm/global.packages@1100.0.9
|
|
65
|
+
|
|
66
|
+
## 1100.0.29
|
|
67
|
+
|
|
68
|
+
### Patch Changes
|
|
69
|
+
|
|
70
|
+
- Updated dependencies [302a2f7]
|
|
71
|
+
- Updated dependencies [c112b61]
|
|
72
|
+
- Updated dependencies [3d1fd20]
|
|
73
|
+
- Updated dependencies [0474a9c]
|
|
74
|
+
- Updated dependencies [1c05876]
|
|
75
|
+
- Updated dependencies [3b54d79]
|
|
76
|
+
- @pnpm/config.reader@1101.10.0
|
|
77
|
+
- @pnpm/installing.deps-installer@1102.1.0
|
|
78
|
+
- @pnpm/bins.linker@1100.0.15
|
|
79
|
+
- @pnpm/store.connection-manager@1100.3.1
|
|
80
|
+
- @pnpm/deps.inspection.list@1100.0.19
|
|
81
|
+
|
|
82
|
+
## 1100.0.28
|
|
83
|
+
|
|
84
|
+
### Patch Changes
|
|
85
|
+
|
|
86
|
+
- a31faa7: Updated dependency ranges. Notably:
|
|
87
|
+
|
|
88
|
+
- `@pnpm/logger` peer dependency range moved to `^1100.0.0`.
|
|
89
|
+
- `msgpackr` 1.11.8 → 2.0.4 (store index files remain byte-compatible in both directions).
|
|
90
|
+
- `open` ^7.4.2 → ^11.0.0, `memoize` ^10 → ^11, `cli-truncate` ^5 → ^6, `pidtree` ^0.6 → ^1.
|
|
91
|
+
- `@yarnpkg/core` 4.5.0 → 4.8.0, `@rushstack/worker-pool` 0.7.7 → 0.7.18, `@cyclonedx/cyclonedx-library` 10.0.0 → 10.1.0, `@pnpm/config.nerf-dart` ^1 → ^2, `@pnpm/log.group` 3.0.2 → 4.0.1, `@pnpm/util.lex-comparator` ^3 → ^4.
|
|
92
|
+
|
|
93
|
+
- Updated dependencies [f648e9b]
|
|
94
|
+
- Updated dependencies [61810aa]
|
|
95
|
+
- Updated dependencies [74a2dc9]
|
|
96
|
+
- Updated dependencies [c16eb0a]
|
|
97
|
+
- Updated dependencies [681b593]
|
|
98
|
+
- Updated dependencies [a31faa7]
|
|
99
|
+
- Updated dependencies [cd8348c]
|
|
100
|
+
- @pnpm/installing.deps-installer@1102.0.0
|
|
101
|
+
- @pnpm/config.reader@1101.9.0
|
|
102
|
+
- @pnpm/store.connection-manager@1100.3.0
|
|
103
|
+
- @pnpm/bins.linker@1100.0.14
|
|
104
|
+
- @pnpm/types@1101.3.2
|
|
105
|
+
- @pnpm/bins.remover@1100.0.10
|
|
106
|
+
- @pnpm/cli.utils@1101.0.12
|
|
107
|
+
- @pnpm/core-loggers@1100.2.1
|
|
108
|
+
- @pnpm/deps.inspection.list@1100.0.18
|
|
109
|
+
- @pnpm/global.packages@1100.0.8
|
|
110
|
+
- @pnpm/bins.resolver@1100.0.8
|
|
111
|
+
- @pnpm/pkg-manifest.reader@1100.0.8
|
|
112
|
+
|
|
113
|
+
## 1100.0.27
|
|
114
|
+
|
|
115
|
+
### Patch Changes
|
|
116
|
+
|
|
117
|
+
- Updated dependencies [bc9ed78]
|
|
118
|
+
- Updated dependencies [f11b4fc]
|
|
119
|
+
- Updated dependencies [615c669]
|
|
120
|
+
- Updated dependencies [84bb4b1]
|
|
121
|
+
- @pnpm/config.reader@1101.8.0
|
|
122
|
+
- @pnpm/core-loggers@1100.2.0
|
|
123
|
+
- @pnpm/installing.deps-installer@1101.9.0
|
|
124
|
+
- @pnpm/store.connection-manager@1100.2.8
|
|
125
|
+
- @pnpm/bins.remover@1100.0.9
|
|
126
|
+
- @pnpm/cli.utils@1101.0.11
|
|
127
|
+
- @pnpm/bins.linker@1100.0.13
|
|
128
|
+
- @pnpm/deps.inspection.list@1100.0.17
|
|
129
|
+
|
|
130
|
+
## 1100.0.26
|
|
131
|
+
|
|
132
|
+
### Patch Changes
|
|
133
|
+
|
|
134
|
+
- Updated dependencies [822beb5]
|
|
135
|
+
- Updated dependencies [3537020]
|
|
136
|
+
- Updated dependencies [894ea6a]
|
|
137
|
+
- Updated dependencies [6b5d91a]
|
|
138
|
+
- Updated dependencies [027196b]
|
|
139
|
+
- Updated dependencies [089484a]
|
|
140
|
+
- Updated dependencies [1017c36]
|
|
141
|
+
- Updated dependencies [230df57]
|
|
142
|
+
- Updated dependencies [bf1b731]
|
|
143
|
+
- @pnpm/config.reader@1101.7.0
|
|
144
|
+
- @pnpm/installing.deps-installer@1101.8.0
|
|
145
|
+
- @pnpm/bins.resolver@1100.0.7
|
|
146
|
+
- @pnpm/types@1101.3.1
|
|
147
|
+
- @pnpm/store.connection-manager@1100.2.7
|
|
148
|
+
- @pnpm/bins.linker@1100.0.12
|
|
149
|
+
- @pnpm/bins.remover@1100.0.8
|
|
150
|
+
- @pnpm/global.packages@1100.0.7
|
|
151
|
+
- @pnpm/cli.utils@1101.0.10
|
|
152
|
+
- @pnpm/core-loggers@1100.1.4
|
|
153
|
+
- @pnpm/deps.inspection.list@1100.0.16
|
|
154
|
+
- @pnpm/pkg-manifest.reader@1100.0.7
|
|
155
|
+
|
|
156
|
+
## 1100.0.25
|
|
157
|
+
|
|
158
|
+
### Patch Changes
|
|
159
|
+
|
|
160
|
+
- Updated dependencies [e7e99f0]
|
|
161
|
+
- Updated dependencies [5192edf]
|
|
162
|
+
- Updated dependencies [a017bf3]
|
|
163
|
+
- Updated dependencies [f429f93]
|
|
164
|
+
- Updated dependencies [a017bf3]
|
|
165
|
+
- Updated dependencies [a358ee0]
|
|
166
|
+
- Updated dependencies [6d17b66]
|
|
167
|
+
- @pnpm/installing.deps-installer@1101.7.0
|
|
168
|
+
- @pnpm/config.reader@1101.6.0
|
|
169
|
+
- @pnpm/types@1101.3.0
|
|
170
|
+
- @pnpm/store.connection-manager@1100.2.6
|
|
171
|
+
- @pnpm/bins.linker@1100.0.11
|
|
172
|
+
- @pnpm/bins.remover@1100.0.7
|
|
173
|
+
- @pnpm/bins.resolver@1100.0.6
|
|
174
|
+
- @pnpm/cli.utils@1101.0.9
|
|
175
|
+
- @pnpm/core-loggers@1100.1.3
|
|
176
|
+
- @pnpm/deps.inspection.list@1100.0.15
|
|
177
|
+
- @pnpm/global.packages@1100.0.6
|
|
178
|
+
- @pnpm/pkg-manifest.reader@1100.0.6
|
|
179
|
+
|
|
180
|
+
## 1100.0.24
|
|
181
|
+
|
|
182
|
+
### Patch Changes
|
|
183
|
+
|
|
184
|
+
- @pnpm/installing.deps-installer@1101.6.1
|
|
185
|
+
|
|
186
|
+
## 1100.0.23
|
|
187
|
+
|
|
188
|
+
### Patch Changes
|
|
189
|
+
|
|
190
|
+
- Updated dependencies [a39a83d]
|
|
191
|
+
- Updated dependencies [2cadfb5]
|
|
192
|
+
- Updated dependencies [a33c4bf]
|
|
193
|
+
- @pnpm/config.reader@1101.5.0
|
|
194
|
+
- @pnpm/installing.deps-installer@1101.6.0
|
|
195
|
+
- @pnpm/store.connection-manager@1100.2.5
|
|
196
|
+
|
|
197
|
+
## 1100.0.22
|
|
198
|
+
|
|
199
|
+
### Patch Changes
|
|
200
|
+
|
|
201
|
+
- 440e155: Print the global update summary after all isolated global package groups are processed.
|
|
202
|
+
- Updated dependencies [a23956e]
|
|
203
|
+
- Updated dependencies [aa6149d]
|
|
204
|
+
- Updated dependencies [a456dc7]
|
|
205
|
+
- Updated dependencies [35d2355]
|
|
206
|
+
- @pnpm/config.reader@1101.4.1
|
|
207
|
+
- @pnpm/installing.deps-installer@1101.5.0
|
|
208
|
+
- @pnpm/deps.inspection.list@1100.0.14
|
|
209
|
+
- @pnpm/types@1101.2.0
|
|
210
|
+
- @pnpm/store.connection-manager@1100.2.4
|
|
211
|
+
- @pnpm/bins.linker@1100.0.10
|
|
212
|
+
- @pnpm/cli.utils@1101.0.8
|
|
213
|
+
- @pnpm/bins.remover@1100.0.6
|
|
214
|
+
- @pnpm/bins.resolver@1100.0.5
|
|
215
|
+
- @pnpm/core-loggers@1100.1.2
|
|
216
|
+
- @pnpm/global.packages@1100.0.5
|
|
217
|
+
- @pnpm/pkg-manifest.reader@1100.0.5
|
|
218
|
+
|
|
219
|
+
## 1100.0.21
|
|
220
|
+
|
|
221
|
+
### Patch Changes
|
|
222
|
+
|
|
223
|
+
- Updated dependencies [3b62f9d]
|
|
224
|
+
- Updated dependencies [212315d]
|
|
225
|
+
- @pnpm/config.reader@1101.4.0
|
|
226
|
+
- @pnpm/installing.deps-installer@1101.4.0
|
|
227
|
+
- @pnpm/bins.linker@1100.0.9
|
|
228
|
+
- @pnpm/cli.utils@1101.0.7
|
|
229
|
+
- @pnpm/deps.inspection.list@1100.0.13
|
|
230
|
+
- @pnpm/store.connection-manager@1100.2.3
|
|
231
|
+
|
|
232
|
+
## 1100.0.20
|
|
233
|
+
|
|
234
|
+
### Patch Changes
|
|
235
|
+
|
|
236
|
+
- @pnpm/store.connection-manager@1100.2.2
|
|
237
|
+
- @pnpm/installing.deps-installer@1101.3.1
|
|
238
|
+
|
|
239
|
+
## 1100.0.19
|
|
240
|
+
|
|
241
|
+
### Patch Changes
|
|
242
|
+
|
|
243
|
+
- a620557: Fix global add/update to handle minimumReleaseAge policy violations instead of surfacing an internal resolver guardrail error.
|
|
244
|
+
- Updated dependencies [3687b0e]
|
|
245
|
+
- Updated dependencies [ced20cb]
|
|
246
|
+
- Updated dependencies [d1b340f]
|
|
247
|
+
- Updated dependencies [b206a15]
|
|
248
|
+
- Updated dependencies [64afc92]
|
|
249
|
+
- @pnpm/config.reader@1101.3.3
|
|
250
|
+
- @pnpm/installing.deps-installer@1101.3.0
|
|
251
|
+
- @pnpm/types@1101.1.1
|
|
252
|
+
- @pnpm/store.connection-manager@1100.2.1
|
|
253
|
+
- @pnpm/deps.inspection.list@1100.0.12
|
|
254
|
+
- @pnpm/bins.linker@1100.0.8
|
|
255
|
+
- @pnpm/cli.utils@1101.0.6
|
|
256
|
+
- @pnpm/bins.remover@1100.0.5
|
|
257
|
+
- @pnpm/bins.resolver@1100.0.4
|
|
258
|
+
- @pnpm/core-loggers@1100.1.1
|
|
259
|
+
- @pnpm/global.packages@1100.0.4
|
|
260
|
+
- @pnpm/pkg-manifest.reader@1100.0.4
|
|
261
|
+
|
|
262
|
+
## 1100.0.18
|
|
263
|
+
|
|
264
|
+
### Patch Changes
|
|
265
|
+
|
|
266
|
+
- Updated dependencies [4195766]
|
|
267
|
+
- Updated dependencies [31538bf]
|
|
268
|
+
- Updated dependencies [020ac45]
|
|
269
|
+
- Updated dependencies [d3f8408]
|
|
270
|
+
- Updated dependencies [3ddde2b]
|
|
271
|
+
- Updated dependencies [4a79336]
|
|
272
|
+
- Updated dependencies [a62f959]
|
|
273
|
+
- Updated dependencies [ba2c884]
|
|
274
|
+
- Updated dependencies [2a9bd89]
|
|
275
|
+
- Updated dependencies [31538bf]
|
|
276
|
+
- Updated dependencies [8df408c]
|
|
277
|
+
- @pnpm/installing.deps-installer@1101.2.0
|
|
278
|
+
- @pnpm/store.connection-manager@1100.2.0
|
|
279
|
+
- @pnpm/config.reader@1101.3.2
|
|
280
|
+
- @pnpm/core-loggers@1100.1.0
|
|
281
|
+
- @pnpm/deps.inspection.list@1100.0.11
|
|
282
|
+
- @pnpm/bins.remover@1100.0.4
|
|
283
|
+
- @pnpm/cli.utils@1101.0.5
|
|
284
|
+
- @pnpm/bins.linker@1100.0.7
|
|
285
|
+
|
|
286
|
+
## 1100.0.17
|
|
287
|
+
|
|
288
|
+
### Patch Changes
|
|
289
|
+
|
|
290
|
+
- Updated dependencies [50b33c1]
|
|
291
|
+
- Updated dependencies [8c06d1a]
|
|
292
|
+
- @pnpm/installing.deps-installer@1101.1.2
|
|
293
|
+
- @pnpm/deps.inspection.list@1100.0.10
|
|
294
|
+
- @pnpm/bins.linker@1100.0.6
|
|
295
|
+
- @pnpm/cli.utils@1101.0.4
|
|
296
|
+
- @pnpm/config.reader@1101.3.1
|
|
297
|
+
- @pnpm/store.connection-manager@1100.1.2
|
|
298
|
+
|
|
299
|
+
## 1100.0.16
|
|
300
|
+
|
|
301
|
+
### Patch Changes
|
|
302
|
+
|
|
303
|
+
- Updated dependencies [b4f8f47]
|
|
304
|
+
- @pnpm/bins.linker@1100.0.5
|
|
305
|
+
- @pnpm/installing.deps-installer@1101.1.1
|
|
306
|
+
- @pnpm/store.connection-manager@1100.1.1
|
|
307
|
+
|
|
308
|
+
## 1100.0.15
|
|
309
|
+
|
|
310
|
+
### Patch Changes
|
|
311
|
+
|
|
312
|
+
- 4b25a3d: `pnpm add -g` now installs each space-separated package into its own isolated directory by default. To bundle multiple packages into the same isolated install (so that they share dependencies and are removed together), pass them as a comma-separated list. For example:
|
|
313
|
+
|
|
314
|
+
- `pnpm add -g foo bar` installs `foo` and `bar` as two independent globals — removing one does not affect the other.
|
|
315
|
+
- `pnpm add -g foo,bar qar` bundles `foo` and `bar` into a single isolated install while `qar` is installed on its own.
|
|
316
|
+
|
|
317
|
+
Related: [#11587](https://github.com/pnpm/pnpm/issues/11587).
|
|
318
|
+
|
|
319
|
+
- Updated dependencies [4b25a3d]
|
|
320
|
+
- Updated dependencies [b61e268]
|
|
321
|
+
- Updated dependencies [e1e29c1]
|
|
322
|
+
- @pnpm/installing.deps-installer@1101.1.0
|
|
323
|
+
- @pnpm/config.reader@1101.3.0
|
|
324
|
+
- @pnpm/store.connection-manager@1100.1.0
|
|
325
|
+
- @pnpm/types@1101.1.0
|
|
326
|
+
- @pnpm/bins.linker@1100.0.4
|
|
327
|
+
- @pnpm/bins.remover@1100.0.3
|
|
328
|
+
- @pnpm/bins.resolver@1100.0.3
|
|
329
|
+
- @pnpm/cli.utils@1101.0.3
|
|
330
|
+
- @pnpm/core-loggers@1100.0.2
|
|
331
|
+
- @pnpm/deps.inspection.list@1100.0.9
|
|
332
|
+
- @pnpm/global.packages@1100.0.3
|
|
333
|
+
- @pnpm/pkg-manifest.reader@1100.0.3
|
|
334
|
+
|
|
335
|
+
## 1100.0.14
|
|
336
|
+
|
|
337
|
+
### Patch Changes
|
|
338
|
+
|
|
339
|
+
- Updated dependencies [e9e876c]
|
|
340
|
+
- @pnpm/config.reader@1101.2.2
|
|
341
|
+
- @pnpm/installing.deps-installer@1101.0.9
|
|
342
|
+
- @pnpm/store.connection-manager@1100.0.13
|
|
343
|
+
- @pnpm/deps.inspection.list@1100.0.8
|
|
344
|
+
|
|
345
|
+
## 1100.0.13
|
|
346
|
+
|
|
347
|
+
### Patch Changes
|
|
348
|
+
|
|
349
|
+
- @pnpm/installing.deps-installer@1101.0.8
|
|
350
|
+
- @pnpm/deps.inspection.list@1100.0.7
|
|
351
|
+
- @pnpm/store.connection-manager@1100.0.12
|
|
352
|
+
|
|
353
|
+
## 1100.0.12
|
|
354
|
+
|
|
355
|
+
### Patch Changes
|
|
356
|
+
|
|
357
|
+
- Updated dependencies [12313f1]
|
|
358
|
+
- Updated dependencies [27425d7]
|
|
359
|
+
- Updated dependencies [707a879]
|
|
360
|
+
- @pnpm/installing.deps-installer@1101.0.7
|
|
361
|
+
- @pnpm/config.reader@1101.2.1
|
|
362
|
+
- @pnpm/deps.inspection.list@1100.0.6
|
|
363
|
+
- @pnpm/store.connection-manager@1100.0.11
|
|
364
|
+
|
|
365
|
+
## 1100.0.11
|
|
366
|
+
|
|
367
|
+
### Patch Changes
|
|
368
|
+
|
|
369
|
+
- Updated dependencies [8fdd9a9]
|
|
370
|
+
- Updated dependencies [5f34a8d]
|
|
371
|
+
- Updated dependencies [c969392]
|
|
372
|
+
- Updated dependencies [ab6c42d]
|
|
373
|
+
- Updated dependencies [817b1b4]
|
|
374
|
+
- Updated dependencies [c969392]
|
|
375
|
+
- Updated dependencies [2de318b]
|
|
376
|
+
- @pnpm/config.reader@1101.2.0
|
|
377
|
+
- @pnpm/installing.deps-installer@1101.0.6
|
|
378
|
+
- @pnpm/store.connection-manager@1100.0.10
|
|
379
|
+
|
|
380
|
+
## 1100.0.10
|
|
381
|
+
|
|
382
|
+
### Patch Changes
|
|
383
|
+
|
|
384
|
+
- 72629fc: Fix `pnpm -g ls --json` and `pnpm -g ls --parseable` so they emit valid JSON and parseable output respectively, matching pnpm 10 behavior. Since the isolated global packages refactor in pnpm 11, the global list command had a custom path that always printed plain text and ignored `--json`/`--parseable`, which broke tools like `npm-check-updates` that parse the JSON output [#11440](https://github.com/pnpm/pnpm/issues/11440).
|
|
385
|
+
|
|
386
|
+
`pnpm -g ls --depth=<n>` (with n > 0) now errors when more than one isolated global install would be involved, since each install has its own lockfile and merging their transitive trees would be incoherent. When the request can be narrowed to a single install group, the regular `list` flow is used and the full dependency tree is shown.
|
|
387
|
+
|
|
388
|
+
## 1100.0.9
|
|
389
|
+
|
|
390
|
+
### Patch Changes
|
|
391
|
+
|
|
392
|
+
- Updated dependencies [42a8f29]
|
|
393
|
+
- @pnpm/config.reader@1101.1.4
|
|
394
|
+
- @pnpm/store.connection-manager@1100.0.9
|
|
395
|
+
- @pnpm/installing.deps-installer@1101.0.5
|
|
396
|
+
|
|
397
|
+
## 1100.0.8
|
|
398
|
+
|
|
399
|
+
### Patch Changes
|
|
400
|
+
|
|
401
|
+
- Updated dependencies [184ce26]
|
|
402
|
+
- @pnpm/installing.deps-installer@1101.0.4
|
|
403
|
+
- @pnpm/store.connection-manager@1100.0.8
|
|
404
|
+
- @pnpm/pkg-manifest.reader@1100.0.2
|
|
405
|
+
- @pnpm/config.matcher@1100.0.1
|
|
406
|
+
- @pnpm/bins.resolver@1100.0.2
|
|
407
|
+
- @pnpm/config.reader@1101.1.3
|
|
408
|
+
- @pnpm/bins.remover@1100.0.2
|
|
409
|
+
- @pnpm/bins.linker@1100.0.3
|
|
410
|
+
- @pnpm/cli.command@1100.0.1
|
|
411
|
+
- @pnpm/cli.utils@1101.0.2
|
|
412
|
+
- @pnpm/global.packages@1100.0.2
|
|
413
|
+
|
|
414
|
+
## 1100.0.7
|
|
415
|
+
|
|
416
|
+
### Patch Changes
|
|
417
|
+
|
|
418
|
+
- 685a369: Fix `ENOENT` symlink failure when `pnpm add -g` triggers the approve-builds prompt. The global add flow used to forward an absolute `modulesDir` (`<installDir>/node_modules`) into the install run by `approve-builds`. The install layer treated `modulesDir` as a path relative to `lockfileDir` and joined it again, producing a doubled path on Windows because `path.join` does not collapse an embedded absolute path. The hoist step then tried to `mkdir` and symlink under `<installDir>\<installDir>\node_modules\.pnpm\node_modules\...` and failed with `ENOENT` [#11403](https://github.com/pnpm/pnpm/issues/11403).
|
|
419
|
+
- @pnpm/cli.utils@1101.0.1
|
|
420
|
+
- @pnpm/installing.deps-installer@1101.0.3
|
|
421
|
+
- @pnpm/store.connection-manager@1100.0.7
|
|
422
|
+
|
|
423
|
+
## 1100.0.6
|
|
424
|
+
|
|
425
|
+
### Patch Changes
|
|
426
|
+
|
|
427
|
+
- Updated dependencies [0fbcf74]
|
|
428
|
+
- @pnpm/config.reader@1101.1.2
|
|
429
|
+
- @pnpm/store.connection-manager@1100.0.6
|
|
430
|
+
- @pnpm/installing.deps-installer@1101.0.2
|
|
431
|
+
|
|
432
|
+
## 1100.0.5
|
|
433
|
+
|
|
434
|
+
### Patch Changes
|
|
435
|
+
|
|
436
|
+
- Updated dependencies [005eeb7]
|
|
437
|
+
- @pnpm/installing.deps-installer@1101.0.1
|
|
438
|
+
- @pnpm/store.connection-manager@1100.0.5
|
|
439
|
+
|
|
440
|
+
## 1100.0.4
|
|
441
|
+
|
|
442
|
+
### Patch Changes
|
|
443
|
+
|
|
444
|
+
- @pnpm/installing.deps-installer@1101.0.0
|
|
445
|
+
- @pnpm/store.connection-manager@1100.0.4
|
|
446
|
+
- @pnpm/config.reader@1101.1.1
|
|
447
|
+
|
|
448
|
+
## 1100.0.3
|
|
449
|
+
|
|
450
|
+
### Patch Changes
|
|
451
|
+
|
|
452
|
+
- Updated dependencies [7d25bc1]
|
|
453
|
+
- Updated dependencies [72c1e05]
|
|
454
|
+
- Updated dependencies [9e0833c]
|
|
455
|
+
- @pnpm/config.reader@1101.1.0
|
|
456
|
+
- @pnpm/installing.deps-installer@1100.0.3
|
|
457
|
+
- @pnpm/store.connection-manager@1100.0.3
|
|
458
|
+
|
|
459
|
+
## 1100.0.2
|
|
460
|
+
|
|
461
|
+
### Patch Changes
|
|
462
|
+
|
|
463
|
+
- Updated dependencies [cee550a]
|
|
464
|
+
- Updated dependencies [4ab3d9b]
|
|
465
|
+
- Updated dependencies [9af708a]
|
|
466
|
+
- Updated dependencies [ea2a7fb]
|
|
467
|
+
- Updated dependencies [ff7733c]
|
|
468
|
+
- @pnpm/cli.utils@1101.0.0
|
|
469
|
+
- @pnpm/config.reader@1101.0.0
|
|
470
|
+
- @pnpm/store.connection-manager@1100.0.2
|
|
471
|
+
- @pnpm/bins.linker@1100.0.2
|
|
472
|
+
- @pnpm/installing.deps-installer@1100.0.2
|
|
473
|
+
|
|
474
|
+
## 1100.0.1
|
|
475
|
+
|
|
476
|
+
### Patch Changes
|
|
477
|
+
|
|
478
|
+
- Updated dependencies [ff28085]
|
|
479
|
+
- @pnpm/types@1101.0.0
|
|
480
|
+
- @pnpm/bins.linker@1100.0.1
|
|
481
|
+
- @pnpm/bins.remover@1100.0.1
|
|
482
|
+
- @pnpm/bins.resolver@1100.0.1
|
|
483
|
+
- @pnpm/cli.utils@1100.0.1
|
|
484
|
+
- @pnpm/config.reader@1100.0.1
|
|
485
|
+
- @pnpm/global.packages@1100.0.1
|
|
486
|
+
- @pnpm/installing.deps-installer@1100.0.1
|
|
487
|
+
- @pnpm/pkg-manifest.reader@1100.0.1
|
|
488
|
+
- @pnpm/store.connection-manager@1100.0.1
|
|
489
|
+
|
|
490
|
+
## 1000.0.0
|
|
491
|
+
|
|
492
|
+
### Minor Changes
|
|
493
|
+
|
|
494
|
+
- fd511e4: Isolated global packages. Each globally installed package (or group of packages installed together) now gets its own isolated installation directory with its own `package.json`, `node_modules/`, and lockfile. This prevents global packages from interfering with each other through peer dependency conflicts, hoisting changes, or version resolution shifts.
|
|
495
|
+
|
|
496
|
+
Key changes:
|
|
497
|
+
|
|
498
|
+
- `pnpm add -g <pkg>` creates an isolated installation in `{pnpmHomeDir}/global/v11/{hash}/`
|
|
499
|
+
- `pnpm remove -g <pkg>` removes the entire installation group containing the package
|
|
500
|
+
- `pnpm update -g [pkg]` re-installs packages in new isolated directories
|
|
501
|
+
- `pnpm list -g` scans isolated directories to show all installed global packages
|
|
502
|
+
- `pnpm install -g` (no args) is no longer supported; use `pnpm add -g <pkg>` instead
|
|
503
|
+
|
|
504
|
+
### Patch Changes
|
|
505
|
+
|
|
506
|
+
- Updated dependencies [7730a7f]
|
|
507
|
+
- Updated dependencies [5f73b0f]
|
|
508
|
+
- Updated dependencies [449dacf]
|
|
509
|
+
- Updated dependencies [996284f]
|
|
510
|
+
- Updated dependencies [ae8b816]
|
|
511
|
+
- Updated dependencies [facdd71]
|
|
512
|
+
- Updated dependencies [9b0a460]
|
|
513
|
+
- Updated dependencies [3c72b6b]
|
|
514
|
+
- Updated dependencies [9f5c0e3]
|
|
515
|
+
- Updated dependencies [76718b3]
|
|
516
|
+
- Updated dependencies [a8f016c]
|
|
517
|
+
- Updated dependencies [cc1b8e3]
|
|
518
|
+
- Updated dependencies [90bd3c3]
|
|
519
|
+
- Updated dependencies [1cc61e8]
|
|
520
|
+
- Updated dependencies [606f53e]
|
|
521
|
+
- Updated dependencies [c7203b9]
|
|
522
|
+
- Updated dependencies [bb17724]
|
|
523
|
+
- Updated dependencies [05fb1ae]
|
|
524
|
+
- Updated dependencies [da2429d]
|
|
525
|
+
- Updated dependencies [1cc61e8]
|
|
526
|
+
- Updated dependencies [491a84f]
|
|
527
|
+
- Updated dependencies [9b801c8]
|
|
528
|
+
- Updated dependencies [13855ac]
|
|
529
|
+
- Updated dependencies [62f760e]
|
|
530
|
+
- Updated dependencies [f0ae1b9]
|
|
531
|
+
- Updated dependencies [9fc552d]
|
|
532
|
+
- Updated dependencies [394d88c]
|
|
533
|
+
- Updated dependencies [6e9cad3]
|
|
534
|
+
- Updated dependencies [672e58c]
|
|
535
|
+
- Updated dependencies [312226c]
|
|
536
|
+
- Updated dependencies [cb228c9]
|
|
537
|
+
- Updated dependencies [2fc9139]
|
|
538
|
+
- Updated dependencies [7fab2a2]
|
|
539
|
+
- Updated dependencies [cb367b9]
|
|
540
|
+
- Updated dependencies [543c7e4]
|
|
541
|
+
- Updated dependencies [075aa99]
|
|
542
|
+
- Updated dependencies [fd511e4]
|
|
543
|
+
- Updated dependencies [ae43ac7]
|
|
544
|
+
- Updated dependencies [d7b8be4]
|
|
545
|
+
- Updated dependencies [ccec8e7]
|
|
546
|
+
- Updated dependencies [ba065f6]
|
|
547
|
+
- Updated dependencies [4158906]
|
|
548
|
+
- Updated dependencies [ac944ef]
|
|
549
|
+
- Updated dependencies [7d2fd48]
|
|
550
|
+
- Updated dependencies [cc7c0d2]
|
|
551
|
+
- Updated dependencies [efb48dc]
|
|
552
|
+
- Updated dependencies [d5d4eed]
|
|
553
|
+
- Updated dependencies [095f659]
|
|
554
|
+
- Updated dependencies [96704a1]
|
|
555
|
+
- Updated dependencies [cb367b9]
|
|
556
|
+
- Updated dependencies [7b1c189]
|
|
557
|
+
- Updated dependencies [51b04c3]
|
|
558
|
+
- Updated dependencies [69ebe38]
|
|
559
|
+
- Updated dependencies [d01b81f]
|
|
560
|
+
- Updated dependencies [3ed41f4]
|
|
561
|
+
- Updated dependencies [8ffb1a7]
|
|
562
|
+
- Updated dependencies [05fb1ae]
|
|
563
|
+
- Updated dependencies [f40177f]
|
|
564
|
+
- Updated dependencies [05158d2]
|
|
565
|
+
- Updated dependencies [71de2b3]
|
|
566
|
+
- Updated dependencies [10bc391]
|
|
567
|
+
- Updated dependencies [38b8e35]
|
|
568
|
+
- Updated dependencies [831f574]
|
|
569
|
+
- Updated dependencies [2df8b71]
|
|
570
|
+
- Updated dependencies [ed1a7fe]
|
|
571
|
+
- Updated dependencies [15549a9]
|
|
572
|
+
- Updated dependencies [cc7c0d2]
|
|
573
|
+
- Updated dependencies [5bf7768]
|
|
574
|
+
- Updated dependencies [ae43ac7]
|
|
575
|
+
- Updated dependencies [a5fdbf9]
|
|
576
|
+
- Updated dependencies [9d3f00b]
|
|
577
|
+
- Updated dependencies [efb48dc]
|
|
578
|
+
- Updated dependencies [9587dac]
|
|
579
|
+
- Updated dependencies [09a999a]
|
|
580
|
+
- Updated dependencies [559f903]
|
|
581
|
+
- Updated dependencies [41dc031]
|
|
582
|
+
- Updated dependencies [3574905]
|
|
583
|
+
- Updated dependencies [4362c06]
|
|
584
|
+
- @pnpm/config.reader@1005.0.0
|
|
585
|
+
- @pnpm/installing.deps-installer@1013.0.0
|
|
586
|
+
- @pnpm/bins.resolver@1001.0.0
|
|
587
|
+
- @pnpm/bins.linker@1001.0.0
|
|
588
|
+
- @pnpm/types@1001.0.0
|
|
589
|
+
- @pnpm/cli.utils@1002.0.0
|
|
590
|
+
- @pnpm/pkg-manifest.reader@1001.0.0
|
|
591
|
+
- @pnpm/store.connection-manager@1003.0.0
|
|
592
|
+
- @pnpm/bins.remover@1001.0.0
|
|
593
|
+
- @pnpm/config.matcher@1001.0.0
|
|
594
|
+
- @pnpm/error@1001.0.0
|
|
595
|
+
- @pnpm/cli.command@1001.0.0
|
|
596
|
+
- @pnpm/global.packages@1000.0.0
|
package/lib/globalAdd.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CommandHandlerMap } from '@pnpm/cli.command';
|
|
2
|
+
import { type GlobalPackageInfo } from '@pnpm/global.packages';
|
|
2
3
|
import type { CreateStoreControllerOptions } from '@pnpm/store.connection-manager';
|
|
3
4
|
import { type ResolutionPolicyViolation } from './installGlobalPackages.js';
|
|
4
5
|
export type GlobalAddOptions = CreateStoreControllerOptions & {
|
|
@@ -17,3 +18,5 @@ export type GlobalAddOptions = CreateStoreControllerOptions & {
|
|
|
17
18
|
updateResolutionPolicyManifest?: (violations: readonly ResolutionPolicyViolation[], dir: string) => Promise<void>;
|
|
18
19
|
};
|
|
19
20
|
export declare function handleGlobalAdd(opts: GlobalAddOptions, params: string[], commands: CommandHandlerMap): Promise<void>;
|
|
21
|
+
export declare function getReplacementAliases(aliases: string[]): string[];
|
|
22
|
+
export declare function shouldReplaceExistingGlobalInstall(pkg: GlobalPackageInfo, aliases: string[], replacementAliases: string[]): boolean;
|
package/lib/globalAdd.js
CHANGED
|
@@ -88,6 +88,7 @@ async function installGroup(ctx, commands) {
|
|
|
88
88
|
// Read resolved aliases from the installed package.json
|
|
89
89
|
const pkgJson = readPackageJsonFromDirRawSync(installDir);
|
|
90
90
|
const aliases = Object.keys(pkgJson.dependencies ?? {});
|
|
91
|
+
const replacementAliases = getReplacementAliases(aliases);
|
|
91
92
|
// Check for bin name conflicts with other global packages
|
|
92
93
|
// (must happen before removeExistingGlobalInstalls so we don't lose existing packages on failure)
|
|
93
94
|
const pkgs = await readInstalledPackages(installDir);
|
|
@@ -97,7 +98,7 @@ async function installGroup(ctx, commands) {
|
|
|
97
98
|
globalDir,
|
|
98
99
|
globalBinDir,
|
|
99
100
|
newPkgs: pkgs,
|
|
100
|
-
shouldSkip: (pkg) =>
|
|
101
|
+
shouldSkip: (pkg) => shouldReplaceExistingGlobalInstall(pkg, aliases, replacementAliases),
|
|
101
102
|
});
|
|
102
103
|
}
|
|
103
104
|
catch (err) {
|
|
@@ -105,7 +106,7 @@ async function installGroup(ctx, commands) {
|
|
|
105
106
|
throw err;
|
|
106
107
|
}
|
|
107
108
|
// Remove any existing global installations of these aliases
|
|
108
|
-
await removeExistingGlobalInstalls(globalDir, globalBinDir, aliases);
|
|
109
|
+
await removeExistingGlobalInstalls({ globalDir, globalBinDir, aliases, replacementAliases });
|
|
109
110
|
// Compute cache key and create hash symlink pointing to install dir
|
|
110
111
|
const cacheHash = createGlobalCacheKey({
|
|
111
112
|
aliases,
|
|
@@ -117,6 +118,21 @@ async function installGroup(ctx, commands) {
|
|
|
117
118
|
await linkBinsOfPackages(pkgs, globalBinDir, { excludeBins: binsToSkip });
|
|
118
119
|
await opts.updateResolutionPolicyManifest?.(resolutionPolicyViolations, globalDir);
|
|
119
120
|
}
|
|
121
|
+
const PNPM_CLI_PACKAGE_ALIASES = ['pnpm', '@pnpm/exe'];
|
|
122
|
+
export function getReplacementAliases(aliases) {
|
|
123
|
+
if (!aliases.some((alias) => PNPM_CLI_PACKAGE_ALIASES.includes(alias)))
|
|
124
|
+
return aliases;
|
|
125
|
+
return [...new Set([...aliases, ...PNPM_CLI_PACKAGE_ALIASES])];
|
|
126
|
+
}
|
|
127
|
+
export function shouldReplaceExistingGlobalInstall(pkg, aliases, replacementAliases) {
|
|
128
|
+
if (aliases.some((alias) => alias in pkg.dependencies))
|
|
129
|
+
return true;
|
|
130
|
+
return isPnpmCliOnlyGroup(pkg) && replacementAliases.some((alias) => alias in pkg.dependencies);
|
|
131
|
+
}
|
|
132
|
+
function isPnpmCliOnlyGroup(pkg) {
|
|
133
|
+
const aliases = Object.keys(pkg.dependencies);
|
|
134
|
+
return aliases.length > 0 && aliases.every((alias) => PNPM_CLI_PACKAGE_ALIASES.includes(alias));
|
|
135
|
+
}
|
|
120
136
|
function splitCommaSeparated(param, baseDir) {
|
|
121
137
|
if (!param.includes(','))
|
|
122
138
|
return [param];
|
|
@@ -173,12 +189,15 @@ function resolveLocalParam(param, baseDir) {
|
|
|
173
189
|
}
|
|
174
190
|
return param;
|
|
175
191
|
}
|
|
176
|
-
async function removeExistingGlobalInstalls(
|
|
192
|
+
async function removeExistingGlobalInstalls(opts) {
|
|
193
|
+
const { globalDir, globalBinDir, aliases, replacementAliases } = opts;
|
|
177
194
|
// Collect unique groups to remove (dedup by hash)
|
|
178
195
|
const groupsToRemove = new Map();
|
|
179
|
-
for (const alias of
|
|
196
|
+
for (const alias of replacementAliases) {
|
|
180
197
|
const existing = findGlobalPackage(globalDir, alias);
|
|
181
|
-
if (existing &&
|
|
198
|
+
if (existing &&
|
|
199
|
+
shouldReplaceExistingGlobalInstall(existing, aliases, replacementAliases) &&
|
|
200
|
+
!groupsToRemove.has(existing.hash)) {
|
|
182
201
|
groupsToRemove.set(existing.hash, getInstalledBinNames(existing));
|
|
183
202
|
}
|
|
184
203
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pnpm/global.commands",
|
|
3
|
-
"version": "1100.0.
|
|
3
|
+
"version": "1100.0.33",
|
|
4
4
|
"description": "Global package command handlers for pnpm",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pnpm",
|
|
@@ -28,28 +28,28 @@
|
|
|
28
28
|
"!*.map"
|
|
29
29
|
],
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@pnpm/util.lex-comparator": "^4.0.1",
|
|
32
|
-
"is-subdir": "^2.0.0",
|
|
33
|
-
"symlink-dir": "^10.0.1",
|
|
34
|
-
"@pnpm/bins.remover": "1100.0.12",
|
|
35
31
|
"@pnpm/bins.linker": "1100.0.16",
|
|
32
|
+
"@pnpm/bins.remover": "1100.0.12",
|
|
36
33
|
"@pnpm/bins.resolver": "1100.0.8",
|
|
37
34
|
"@pnpm/cli.command": "1100.0.1",
|
|
38
35
|
"@pnpm/cli.utils": "1101.0.13",
|
|
39
36
|
"@pnpm/config.matcher": "1100.0.1",
|
|
40
|
-
"@pnpm/config.reader": "1101.11.
|
|
37
|
+
"@pnpm/config.reader": "1101.11.2",
|
|
41
38
|
"@pnpm/core-loggers": "1100.2.1",
|
|
39
|
+
"@pnpm/deps.inspection.list": "1100.0.23",
|
|
42
40
|
"@pnpm/error": "1100.0.1",
|
|
43
41
|
"@pnpm/global.packages": "1100.0.10",
|
|
44
|
-
"@pnpm/deps
|
|
45
|
-
"@pnpm/installing.deps-installer": "1102.2.0",
|
|
46
|
-
"@pnpm/store.connection-manager": "1100.3.3",
|
|
42
|
+
"@pnpm/installing.deps-installer": "1102.2.2",
|
|
47
43
|
"@pnpm/pkg-manifest.reader": "1100.0.9",
|
|
48
|
-
"@pnpm/
|
|
44
|
+
"@pnpm/store.connection-manager": "1100.3.5",
|
|
45
|
+
"@pnpm/types": "1101.3.2",
|
|
46
|
+
"@pnpm/util.lex-comparator": "^4.0.1",
|
|
47
|
+
"is-subdir": "^2.0.0",
|
|
48
|
+
"symlink-dir": "^10.0.1"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@jest/globals": "30.4.1",
|
|
52
|
-
"@pnpm/global.commands": "1100.0.
|
|
52
|
+
"@pnpm/global.commands": "1100.0.33"
|
|
53
53
|
},
|
|
54
54
|
"engines": {
|
|
55
55
|
"node": ">=22.13"
|