@pnpm/tools.plugin-commands-self-updater 1000.1.55 → 1000.1.57

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.
@@ -8,16 +8,34 @@ const fs_1 = __importDefault(require("fs"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const cli_meta_1 = require("@pnpm/cli-meta");
10
10
  const exec_pnpm_cli_runner_1 = require("@pnpm/exec.pnpm-cli-runner");
11
+ const logger_1 = require("@pnpm/logger");
11
12
  const tools_path_1 = require("@pnpm/tools.path");
12
13
  const rimraf_1 = require("@zkochan/rimraf");
13
14
  const path_temp_1 = require("path-temp");
15
+ const semver_1 = __importDefault(require("semver"));
14
16
  const symlink_dir_1 = __importDefault(require("symlink-dir"));
15
17
  async function installPnpmToTools(pnpmVersion, opts) {
16
18
  const currentPkgName = (0, cli_meta_1.getCurrentPackageName)();
19
+ // pnpm v11 dropped the darwin-x64 artifact from @pnpm/exe because Node.js
20
+ // SEA injection produces a binary that segfaults at startup on Intel Macs
21
+ // (pnpm/pnpm#11423, upstream nodejs/node#62893). Self-updating a v10
22
+ // @pnpm/exe install to v11+ on Intel Mac would leave the user with no
23
+ // working binary. Transparently swap to the JS-only `pnpm` package, which
24
+ // runs against the user's system Node.js — typically already present
25
+ // because v10 @pnpm/exe users tend to manage Node via `pnpm env use`.
26
+ const targetPkgName = (currentPkgName === '@pnpm/exe' &&
27
+ process.platform === 'darwin' &&
28
+ process.arch === 'x64' &&
29
+ semver_1.default.major(pnpmVersion) >= 11)
30
+ ? 'pnpm'
31
+ : currentPkgName;
32
+ if (targetPkgName !== currentPkgName) {
33
+ (0, logger_1.globalWarn)(`Switching from @pnpm/exe to the "pnpm" npm package because @pnpm/exe v${pnpmVersion} no longer ships a binary for Intel macOS (darwin-x64). The new "pnpm" install requires Node.js to be available on PATH. See https://github.com/pnpm/pnpm/issues/11423.`);
34
+ }
17
35
  const dir = (0, tools_path_1.getToolDirPath)({
18
36
  pnpmHomeDir: opts.pnpmHomeDir,
19
37
  tool: {
20
- name: currentPkgName,
38
+ name: targetPkgName,
21
39
  version: pnpmVersion,
22
40
  },
23
41
  });
@@ -41,7 +59,7 @@ async function installPnpmToTools(pnpmVersion, opts) {
41
59
  // Instead, we link the platform-specific binary in-process after install.
42
60
  (0, exec_pnpm_cli_runner_1.runPnpmCli)([
43
61
  'add',
44
- `${currentPkgName}@${pnpmVersion}`,
62
+ `${targetPkgName}@${pnpmVersion}`,
45
63
  '--loglevel=error',
46
64
  '--ignore-scripts',
47
65
  '--config.strict-dep-builds=false',
@@ -70,7 +88,7 @@ async function installPnpmToTools(pnpmVersion, opts) {
70
88
  pnpm_config_pm_on_fail: 'ignore',
71
89
  },
72
90
  });
73
- if (currentPkgName === '@pnpm/exe') {
91
+ if (targetPkgName === '@pnpm/exe') {
74
92
  linkExePlatformBinary(stage);
75
93
  }
76
94
  // We need the operation of installing pnpm to be atomic.
@@ -1 +1 @@
1
- {"version":3,"file":"installPnpmToTools.js","sourceRoot":"","sources":["../src/installPnpmToTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installPnpmToTools.js","sourceRoot":"","sources":["../src/installPnpmToTools.ts"],"names":[],"mappings":"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"}
package/lib/selfUpdate.js CHANGED
@@ -19,6 +19,7 @@ const read_project_manifest_1 = require("@pnpm/read-project-manifest");
19
19
  const link_bins_1 = require("@pnpm/link-bins");
20
20
  const pick_1 = __importDefault(require("ramda/src/pick"));
21
21
  const render_help_1 = __importDefault(require("render-help"));
22
+ const semver_1 = __importDefault(require("semver"));
22
23
  const installPnpmToTools_js_1 = require("./installPnpmToTools.js");
23
24
  function rcOptionsTypes() {
24
25
  return (0, pick_1.default)([], config_1.types);
@@ -29,6 +30,13 @@ function cliOptionsTypes() {
29
30
  };
30
31
  }
31
32
  exports.commandNames = ['self-update'];
33
+ // Migration guidance printed once when `pnpm self-update` crosses a major
34
+ // boundary. Add an entry here for each future major that ships breaking
35
+ // changes users need to act on.
36
+ const MAJOR_UPGRADE_HINTS = {
37
+ 11: 'pnpm v11 removed or renamed several v10 settings. ' +
38
+ 'See https://pnpm.io/11.x/migration for migration instructions.',
39
+ };
32
40
  function help() {
33
41
  return (0, render_help_1.default)({
34
42
  description: 'Updates pnpm to the latest version (or the one specified)',
@@ -48,6 +56,12 @@ async function handler(opts, params) {
48
56
  }
49
57
  const { resolve } = (0, client_1.createResolver)({ ...opts, authConfig: opts.rawConfig });
50
58
  const pkgName = 'pnpm';
59
+ // `pnpm self-update` (no args) defaults to the `latest` dist-tag, but we
60
+ // refuse to downgrade in that case — `latest` on the registry can lag the
61
+ // installed version when a new major has shipped without being tagged.
62
+ // `pnpm self-update latest` (explicit) bypasses the guard so users can
63
+ // still force a downgrade when they want one.
64
+ const isImplicitLatest = params.length === 0;
51
65
  const bareSpecifier = params[0] ?? 'latest';
52
66
  const resolution = await resolve({ alias: pkgName, bareSpecifier }, {
53
67
  lockfileDir: opts.lockfileDir ?? opts.dir,
@@ -57,8 +71,37 @@ async function handler(opts, params) {
57
71
  if (!resolution?.manifest) {
58
72
  throw new error_1.PnpmError('CANNOT_RESOLVE_PNPM', `Cannot find "${bareSpecifier}" version of pnpm`);
59
73
  }
74
+ // Determine the "previous" pnpm version being upgraded FROM. If the
75
+ // project pins pnpm via `packageManager`, the pin is the source of
76
+ // truth — the running pnpm binary may already be at a newer major
77
+ // (e.g. a globally-installed v11 operating on a project still pinned
78
+ // to v10). Otherwise fall back to the running binary. Skip the hint
79
+ // entirely on a no-op (target === previous).
80
+ const targetVersion = resolution.manifest.version;
81
+ let previousVersion;
82
+ if (opts.wantedPackageManager?.name === cli_meta_1.packageManager.name && opts.managePackageManagerVersions) {
83
+ if (opts.wantedPackageManager.version !== targetVersion) {
84
+ previousVersion = opts.wantedPackageManager.version;
85
+ }
86
+ }
87
+ else if (cli_meta_1.packageManager.version !== targetVersion) {
88
+ previousVersion = cli_meta_1.packageManager.version;
89
+ }
90
+ const previousMajor = previousVersion != null
91
+ ? semver_1.default.coerce(previousVersion)?.major
92
+ : undefined;
93
+ const targetMajor = semver_1.default.major(targetVersion);
94
+ if (previousMajor != null && targetMajor > previousMajor) {
95
+ const hint = MAJOR_UPGRADE_HINTS[targetMajor];
96
+ if (hint)
97
+ (0, logger_1.globalWarn)(hint);
98
+ }
60
99
  if (opts.wantedPackageManager?.name === cli_meta_1.packageManager.name && opts.managePackageManagerVersions) {
61
100
  if (opts.wantedPackageManager?.version !== resolution.manifest.version) {
101
+ const pinnedVersion = opts.wantedPackageManager.version;
102
+ if (isImplicitLatest && pinnedVersion != null && semver_1.default.lt(resolution.manifest.version, pinnedVersion)) {
103
+ return `The current project is set to use pnpm v${pinnedVersion}, which is newer than the "latest" version on the registry (v${resolution.manifest.version}). No update performed. Run "pnpm self-update latest" to downgrade.`;
104
+ }
62
105
  const { manifest, writeProjectManifest } = await (0, read_project_manifest_1.readProjectManifest)(opts.rootProjectManifestDir);
63
106
  manifest.packageManager = `pnpm@${resolution.manifest.version}`;
64
107
  await writeProjectManifest(manifest);
@@ -71,6 +114,9 @@ async function handler(opts, params) {
71
114
  if (resolution.manifest.version === cli_meta_1.packageManager.version) {
72
115
  return `The currently active ${cli_meta_1.packageManager.name} v${cli_meta_1.packageManager.version} is already "${bareSpecifier}" and doesn't need an update`;
73
116
  }
117
+ if (isImplicitLatest && semver_1.default.lt(resolution.manifest.version, cli_meta_1.packageManager.version)) {
118
+ return `The currently active ${cli_meta_1.packageManager.name} v${cli_meta_1.packageManager.version} is newer than the "latest" version on the registry (v${resolution.manifest.version}). No update performed. Run "pnpm self-update latest" to downgrade.`;
119
+ }
74
120
  const { baseDir, alreadyExisted } = await (0, installPnpmToTools_js_1.installPnpmToTools)(resolution.manifest.version, opts);
75
121
  await (0, link_bins_1.linkBins)(path_1.default.join(baseDir, 'node_modules'), opts.pnpmHomeDir, {
76
122
  warn: logger_1.globalWarn,
@@ -1 +1 @@
1
- {"version":3,"file":"selfUpdate.js","sourceRoot":"","sources":["../src/selfUpdate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selfUpdate.js","sourceRoot":"","sources":["../src/selfUpdate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pnpm/tools.plugin-commands-self-updater",
3
- "version": "1000.1.55",
3
+ "version": "1000.1.57",
4
4
  "description": "A command for updating pnpm itself",
5
5
  "keywords": [
6
6
  "pnpm",
@@ -28,16 +28,17 @@
28
28
  "path-temp": "^2.1.1",
29
29
  "ramda": "npm:@pnpm/ramda@0.28.1",
30
30
  "render-help": "^1.0.3",
31
+ "semver": "^7.7.4",
31
32
  "symlink-dir": "^6.0.5",
32
33
  "@pnpm/cli-meta": "1000.0.16",
33
- "@pnpm/client": "1001.1.24",
34
+ "@pnpm/cli-utils": "1001.3.11",
35
+ "@pnpm/config": "1004.11.1",
34
36
  "@pnpm/error": "1000.1.0",
35
- "@pnpm/cli-utils": "1001.3.10",
36
- "@pnpm/config": "1004.11.0",
37
+ "@pnpm/client": "1001.1.25",
37
38
  "@pnpm/exec.pnpm-cli-runner": "1000.1.0",
38
- "@pnpm/link-bins": "1000.3.8",
39
+ "@pnpm/read-project-manifest": "1001.2.6",
39
40
  "@pnpm/tools.path": "1000.0.0",
40
- "@pnpm/read-project-manifest": "1001.2.6"
41
+ "@pnpm/link-bins": "1000.3.8"
41
42
  },
42
43
  "peerDependencies": {
43
44
  "@pnpm/logger": "^1001.0.1"
@@ -46,11 +47,12 @@
46
47
  "@jest/globals": "29.7.0",
47
48
  "@types/cross-spawn": "^6.0.6",
48
49
  "@types/ramda": "0.29.12",
50
+ "@types/semver": "7.5.3",
49
51
  "cross-spawn": "^7.0.6",
50
52
  "nock": "13.3.4",
51
53
  "@pnpm/env.path": "1000.0.0",
52
- "@pnpm/prepare": "1000.0.16",
53
- "@pnpm/tools.plugin-commands-self-updater": "1000.1.55"
54
+ "@pnpm/prepare": "1000.0.17",
55
+ "@pnpm/tools.plugin-commands-self-updater": "1000.1.57"
54
56
  },
55
57
  "engines": {
56
58
  "node": ">=18.12"