pnpm 10.2.0 → 10.2.1

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/README.md CHANGED
@@ -44,9 +44,6 @@ To quote the [Rush](https://rushjs.io/) team:
44
44
  <td align="center" valign="middle">
45
45
  <a href="https://sanity.io/?utm_source=pnpm&utm_medium=readme" target="_blank"><img src="https://pnpm.io/img/users/sanity.svg" width="180" alt="Bit"></a>
46
46
  </td>
47
- <td align="center" valign="middle">
48
- <a href="https://figma.com/?utm_source=pnpm&utm_medium=readme" target="_blank"><img src="https://pnpm.io/img/users/figma.svg" width="80" alt="Figma"></a>
49
- </td>
50
47
  </tr>
51
48
  </tbody>
52
49
  </table>
@@ -65,17 +62,6 @@ To quote the [Rush](https://rushjs.io/) team:
65
62
  </picture>
66
63
  </a>
67
64
  </td>
68
- <td align="center" valign="middle">
69
- <a href="https://prisma.io/?utm_source=pnpm&utm_medium=readme" target="_blank">
70
- <picture>
71
- <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/prisma.svg" />
72
- <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/prisma_light.svg" />
73
- <img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma" />
74
- </picture>
75
- </a>
76
- </td>
77
- </tr>
78
- <tr>
79
65
  <td align="center" valign="middle">
80
66
  <a href="https://uscreen.de/?utm_source=pnpm&utm_medium=readme" target="_blank">
81
67
  <picture>
@@ -85,6 +71,8 @@ To quote the [Rush](https://rushjs.io/) team:
85
71
  </picture>
86
72
  </a>
87
73
  </td>
74
+ </tr>
75
+ <tr>
88
76
  <td align="center" valign="middle">
89
77
  <a href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=readme" target="_blank">
90
78
  <picture>
@@ -94,8 +82,6 @@ To quote the [Rush](https://rushjs.io/) team:
94
82
  </picture>
95
83
  </a>
96
84
  </td>
97
- </tr>
98
- <tr>
99
85
  <td align="center" valign="middle">
100
86
  <a href="https://nx.dev/?utm_source=pnpm&utm_medium=readme" target="_blank">
101
87
  <picture>
@@ -105,6 +91,8 @@ To quote the [Rush](https://rushjs.io/) team:
105
91
  </picture>
106
92
  </a>
107
93
  </td>
94
+ </tr>
95
+ <tr>
108
96
  <td align="center" valign="middle">
109
97
  <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=readme" target="_blank">
110
98
  <picture>
@@ -114,13 +102,13 @@ To quote the [Rush](https://rushjs.io/) team:
114
102
  </picture>
115
103
  </a>
116
104
  </td>
117
- </tr>
118
- <tr>
119
105
  <td align="center" valign="middle">
120
106
  <a href="https://route4me.com/?utm_source=pnpm&utm_medium=readme" target="_blank">
121
107
  <img src="https://pnpm.io/img/users/route4me.svg" width="220" alt="Route4Me" />
122
108
  </a>
123
109
  </td>
110
+ </tr>
111
+ <tr>
124
112
  <td align="center" valign="middle">
125
113
  <a href="https://workleap.com/?utm_source=pnpm&utm_medium=readme" target="_blank">
126
114
  <picture>
@@ -131,13 +119,6 @@ To quote the [Rush](https://rushjs.io/) team:
131
119
  </a>
132
120
  </td>
133
121
  </tr>
134
- <tr>
135
- <td align="center" valign="middle">
136
- <a href="https://canva.com/?utm_source=pnpm&utm_medium=readme" target="_blank">
137
- <img src="https://pnpm.io/img/users/canva.svg" width="120" alt="Canva" />
138
- </a>
139
- </td>
140
- </tr>
141
122
  </tbody>
142
123
  </table>
143
124
 
@@ -138,7 +138,7 @@ hoistedLocations:
138
138
  - node_modules/rimraf
139
139
  safer-buffer@2.1.2:
140
140
  - node_modules/safer-buffer
141
- semver@7.7.0:
141
+ semver@7.7.1:
142
142
  - node_modules/semver
143
143
  shebang-command@2.0.0:
144
144
  - node_modules/shebang-command
@@ -196,9 +196,9 @@ included:
196
196
  injectedDeps: {}
197
197
  layoutVersion: 5
198
198
  nodeLinker: hoisted
199
- packageManager: pnpm@10.1.0
199
+ packageManager: pnpm@10.2.0
200
200
  pendingBuilds: []
201
- prunedAt: Mon, 03 Feb 2025 17:48:38 GMT
201
+ prunedAt: Thu, 06 Feb 2025 19:10:58 GMT
202
202
  publicHoistPattern: []
203
203
  registries:
204
204
  default: https://registry.npmjs.org/
@@ -300,8 +300,8 @@ packages:
300
300
  safer-buffer@2.1.2:
301
301
  resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
302
302
 
303
- semver@7.7.0:
304
- resolution: {integrity: sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ==}
303
+ semver@7.7.1:
304
+ resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
305
305
  engines: {node: '>=10'}
306
306
  hasBin: true
307
307
 
@@ -422,7 +422,7 @@ snapshots:
422
422
 
423
423
  '@npmcli/fs@4.0.0':
424
424
  dependencies:
425
- semver: 7.7.0
425
+ semver: 7.7.1
426
426
  optional: true
427
427
 
428
428
  '@pkgjs/parseargs@0.11.0':
@@ -680,7 +680,7 @@ snapshots:
680
680
  make-fetch-happen: 14.0.3
681
681
  nopt: 8.1.0
682
682
  proc-log: 5.0.0
683
- semver: 7.7.0
683
+ semver: 7.7.1
684
684
  tar: 7.4.3
685
685
  which: 5.0.0
686
686
  transitivePeerDependencies:
@@ -727,7 +727,7 @@ snapshots:
727
727
  safer-buffer@2.1.2:
728
728
  optional: true
729
729
 
730
- semver@7.7.0:
730
+ semver@7.7.1:
731
731
  optional: true
732
732
 
733
733
  shebang-command@2.0.0:
@@ -1,5 +1,5 @@
1
1
  {
2
- "lastValidatedTimestamp": 1738604918674,
2
+ "lastValidatedTimestamp": 1738869058279,
3
3
  "projects": {},
4
4
  "pnpmfileExists": false,
5
5
  "settings": {
@@ -1,6 +1,6 @@
1
1
  const debug = require('../internal/debug')
2
2
  const { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')
3
- const { safeRe: re, t } = require('../internal/re')
3
+ const { safeRe: re, safeSrc: src, t } = require('../internal/re')
4
4
 
5
5
  const parseOptions = require('../internal/parse-options')
6
6
  const { compareIdentifiers } = require('../internal/identifiers')
@@ -182,7 +182,8 @@ class SemVer {
182
182
  }
183
183
  // Avoid an invalid semver results
184
184
  if (identifier) {
185
- const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE])
185
+ const r = new RegExp(`^${this.options.loose ? src[t.PRERELEASELOOSE] : src[t.PRERELEASE]}$`)
186
+ const match = `-${identifier}`.match(r)
186
187
  if (!match || match[1] !== identifier) {
187
188
  throw new Error(`invalid identifier: ${identifier}`)
188
189
  }
@@ -10,6 +10,7 @@ exports = module.exports = {}
10
10
  const re = exports.re = []
11
11
  const safeRe = exports.safeRe = []
12
12
  const src = exports.src = []
13
+ const safeSrc = exports.safeSrc = []
13
14
  const t = exports.t = {}
14
15
  let R = 0
15
16
 
@@ -42,6 +43,7 @@ const createToken = (name, value, isGlobal) => {
42
43
  debug(name, index, value)
43
44
  t[name] = index
44
45
  src[index] = value
46
+ safeSrc[index] = safe
45
47
  re[index] = new RegExp(value, isGlobal ? 'g' : undefined)
46
48
  safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)
47
49
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "semver",
3
- "version": "7.7.0",
3
+ "version": "7.7.1",
4
4
  "description": "The semantic version parser used by npm.",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/dist/pnpm.cjs CHANGED
@@ -6007,7 +6007,7 @@ var require_lib4 = __commonJS({
6007
6007
  var load_json_file_1 = __importDefault2(require_load_json_file());
6008
6008
  var defaultManifest = {
6009
6009
  name: true ? "pnpm" : "pnpm",
6010
- version: true ? "10.2.0" : "0.0.0"
6010
+ version: true ? "10.2.1" : "0.0.0"
6011
6011
  };
6012
6012
  var pkgJson;
6013
6013
  if (require.main == null) {
@@ -123856,7 +123856,7 @@ var require_getAutomaticallyIgnoredBuilds = __commonJS({
123856
123856
  var path_1 = __importDefault2(require("path"));
123857
123857
  var modules_yaml_1 = require_lib111();
123858
123858
  async function getAutomaticallyIgnoredBuilds(opts) {
123859
- const modulesManifest = await (0, modules_yaml_1.readModulesManifest)(opts.modulesDir ?? path_1.default.join(opts.dir, "node_modules"));
123859
+ const modulesManifest = await (0, modules_yaml_1.readModulesManifest)(opts.modulesDir ?? path_1.default.join(opts.lockfileDir ?? opts.dir, "node_modules"));
123860
123860
  if (modulesManifest == null) {
123861
123861
  return null;
123862
123862
  }
@@ -187962,6 +187962,7 @@ var require_link3 = __commonJS({
187962
187962
  optional: opts.optional
187963
187963
  }),
187964
187964
  linkAllPkgs(opts.storeController, newPkgs, {
187965
+ allowBuild: opts.allowBuild,
187965
187966
  depGraph,
187966
187967
  depsStateCache: opts.depsStateCache,
187967
187968
  disableRelinkLocalDirDeps: opts.disableRelinkLocalDirDeps,
@@ -207463,9 +207464,6 @@ var require_deploy = __commonJS({
207463
207464
  if (!opts.workspaceDir) {
207464
207465
  throw new error_1.PnpmError("CANNOT_DEPLOY", "A deploy is only possible from inside a workspace");
207465
207466
  }
207466
- if (!opts.injectWorkspacePackages) {
207467
- throw new error_1.PnpmError("DEPLOY_NONINJECTED_WORKSPACE", "We only support deploy from workspaces that use the inject-workspace-packages=true setting");
207468
- }
207469
207467
  const selectedProjects = Object.values(opts.selectedProjectsGraph ?? {});
207470
207468
  if (selectedProjects.length === 0) {
207471
207469
  throw new error_1.PnpmError("NOTHING_TO_DEPLOY", "No project was selected for deployment");
@@ -207540,6 +207538,11 @@ var require_deploy = __commonJS({
207540
207538
  importPkg(dest, { filesMap: filesIndex, force: true, resolvedFrom: "local-dir" });
207541
207539
  }
207542
207540
  async function deployFromSharedLockfile(opts, selectedProject, deployDir) {
207541
+ if (!opts.injectWorkspacePackages) {
207542
+ throw new error_1.PnpmError("DEPLOY_NONINJECTED_WORKSPACE", 'By default, starting from pnpm v10, we only deploy from workspaces that have "inject-workspace-packages=true" set', {
207543
+ hint: 'If you want to deploy without using injected dependencies, run "pnpm deploy" with the "--legacy" flag or set "force-legacy-deploy" to true'
207544
+ });
207545
+ }
207543
207546
  const { allProjects, lockfileDir, rootProjectManifest, rootProjectManifestDir, workspaceDir } = opts;
207544
207547
  if (!allProjects)
207545
207548
  throw new Error("opts.allProjects is undefined.");
@@ -222473,16 +222476,19 @@ var require_switchCliVersion = __commonJS({
222473
222476
  const pm = config.wantedPackageManager;
222474
222477
  if (pm == null || pm.name !== "pnpm" || pm.version == null || pm.version === cli_meta_1.packageManager.version)
222475
222478
  return;
222476
- if (!semver_12.default.valid(pm.version)) {
222479
+ const pmVersion = semver_12.default.valid(pm.version);
222480
+ if (!pmVersion) {
222477
222481
  (0, logger_1.globalWarn)(`Cannot switch to pnpm@${pm.version}: "${pm.version}" is not a valid version`);
222478
222482
  return;
222479
222483
  }
222484
+ if (pmVersion === cli_meta_1.packageManager.version)
222485
+ return;
222480
222486
  const pkgName = (0, cli_meta_1.getCurrentPackageName)();
222481
222487
  const dir = (0, tools_path_1.getToolDirPath)({
222482
222488
  pnpmHomeDir: config.pnpmHomeDir,
222483
222489
  tool: {
222484
222490
  name: pkgName,
222485
- version: pm.version
222491
+ version: pmVersion
222486
222492
  }
222487
222493
  });
222488
222494
  if (!fs_1.default.existsSync(dir)) {
@@ -222493,12 +222499,12 @@ var require_switchCliVersion = __commonJS({
222493
222499
  dir,
222494
222500
  lockfileDir: dir,
222495
222501
  bin: path_1.default.join(dir, "bin")
222496
- }, [`${pkgName}@${pm.version}`]);
222502
+ }, [`${pkgName}@${pmVersion}`]);
222497
222503
  }
222498
222504
  const wantedPnpmBinDir = path_1.default.join(dir, "bin");
222499
222505
  const pnpmEnv = (0, env_path_1.prependDirsToPath)([wantedPnpmBinDir]);
222500
222506
  if (!pnpmEnv.updated) {
222501
- throw new VersionSwitchFail(pm.version, wantedPnpmBinDir);
222507
+ throw new VersionSwitchFail(pmVersion, wantedPnpmBinDir);
222502
222508
  }
222503
222509
  const pnpmBinPath = path_1.default.join(wantedPnpmBinDir, "pnpm");
222504
222510
  const { status, error } = cross_spawn_1.default.sync(pnpmBinPath, process.argv.slice(2), {
@@ -222509,7 +222515,7 @@ var require_switchCliVersion = __commonJS({
222509
222515
  }
222510
222516
  });
222511
222517
  if (error) {
222512
- throw new VersionSwitchFail(pm.version, wantedPnpmBinDir, error);
222518
+ throw new VersionSwitchFail(pmVersion, wantedPnpmBinDir, error);
222513
222519
  }
222514
222520
  process.exit(status ?? 0);
222515
222521
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pnpm",
3
3
  "description": "Fast, disk space efficient package manager",
4
- "version": "10.2.0",
4
+ "version": "10.2.1",
5
5
  "bin": {
6
6
  "pnpm": "bin/pnpm.cjs",
7
7
  "pnpx": "bin/pnpx.cjs"