@pnpm/plugin-commands-env 2.2.0 → 2.3.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/lib/env.js CHANGED
@@ -10,7 +10,10 @@ const cli_utils_1 = require("@pnpm/cli-utils");
10
10
  const error_1 = __importDefault(require("@pnpm/error"));
11
11
  const fetch_1 = require("@pnpm/fetch");
12
12
  const node_resolver_1 = require("@pnpm/node.resolver");
13
+ const logger_1 = require("@pnpm/logger");
14
+ const remove_bins_1 = require("@pnpm/remove-bins");
13
15
  const cmd_shim_1 = __importDefault(require("@zkochan/cmd-shim"));
16
+ const rimraf_1 = __importDefault(require("@zkochan/rimraf"));
14
17
  const render_help_1 = __importDefault(require("render-help"));
15
18
  const node_1 = require("./node");
16
19
  const getNodeMirror_1 = __importDefault(require("./getNodeMirror"));
@@ -28,13 +31,27 @@ exports.cliOptionsTypes = cliOptionsTypes;
28
31
  exports.commandNames = ['env'];
29
32
  function help() {
30
33
  return (0, render_help_1.default)({
31
- description: 'Install and use the specified version of Node.js. The npm CLI bundled with the given Node.js version gets installed as well.',
34
+ description: 'Manage Node.js versions.',
32
35
  descriptionLists: [
36
+ {
37
+ title: 'Commands',
38
+ list: [
39
+ {
40
+ description: 'Installs the specified version of Node.JS. The npm CLI bundled with the given Node.js version gets installed as well.',
41
+ name: 'use',
42
+ },
43
+ {
44
+ description: 'Removes the specified version of Node.JS.',
45
+ name: 'remove',
46
+ shortAlias: 'rm',
47
+ },
48
+ ],
49
+ },
33
50
  {
34
51
  title: 'Options',
35
52
  list: [
36
53
  {
37
- description: 'Installs Node.js globally',
54
+ description: 'Manages Node.js versions globally',
38
55
  name: '--global',
39
56
  shortAlias: '-g',
40
57
  },
@@ -43,12 +60,17 @@ function help() {
43
60
  ],
44
61
  url: (0, cli_utils_1.docsUrl)('env'),
45
62
  usages: [
46
- 'pnpm env use --global <version>',
63
+ 'pnpm env [command] [options] <version>',
47
64
  'pnpm env use --global 16',
48
65
  'pnpm env use --global lts',
49
66
  'pnpm env use --global argon',
50
67
  'pnpm env use --global latest',
51
68
  'pnpm env use --global rc/16',
69
+ 'pnpm env remove --global 16',
70
+ 'pnpm env remove --global lts',
71
+ 'pnpm env remove --global argon',
72
+ 'pnpm env remove --global latest',
73
+ 'pnpm env remove --global rc/16',
52
74
  ],
53
75
  });
54
76
  }
@@ -102,6 +124,53 @@ async function handler(opts, params) {
102
124
  }
103
125
  return `Node.js ${nodeVersion} is activated
104
126
  ${dest} -> ${src}`;
127
+ }
128
+ case 'remove':
129
+ case 'rm':
130
+ case 'uninstall':
131
+ case 'un': {
132
+ if (!opts.global) {
133
+ throw new error_1.default('NOT_IMPLEMENTED_YET', '"pnpm env use <version>" can only be used with the "--global" option currently');
134
+ }
135
+ const fetch = (0, fetch_1.createFetchFromRegistry)(opts);
136
+ const { releaseChannel, versionSpecifier } = (0, parseNodeEditionSpecifier_1.parseNodeEditionSpecifier)(params[1]);
137
+ const nodeMirrorBaseUrl = (0, getNodeMirror_1.default)(opts.rawConfig, releaseChannel);
138
+ const nodeVersion = await (0, node_resolver_1.resolveNodeVersion)(fetch, versionSpecifier, nodeMirrorBaseUrl);
139
+ const nodeDir = (0, node_1.getNodeVersionsBaseDir)(opts.pnpmHomeDir);
140
+ if (!nodeVersion) {
141
+ throw new error_1.default('COULD_NOT_RESOLVE_NODEJS', `Couldn't find Node.js version matching ${params[1]}`);
142
+ }
143
+ const versionDir = path_1.default.resolve(nodeDir, nodeVersion);
144
+ if (!(0, fs_1.existsSync)(versionDir)) {
145
+ throw new error_1.default('ENV_NO_NODE_DIRECTORY', `Couldn't find Node.js directory in ${versionDir}`);
146
+ }
147
+ const nodePath = path_1.default.resolve(opts.pnpmHomeDir, process.platform === 'win32' ? 'node.exe' : 'node');
148
+ let nodeLink;
149
+ try {
150
+ nodeLink = await fs_1.promises.readlink(nodePath);
151
+ }
152
+ catch (err) {
153
+ nodeLink = undefined;
154
+ }
155
+ if (nodeLink?.includes(versionDir)) {
156
+ (0, logger_1.globalInfo)(`Node.JS version ${nodeVersion} was detected as the default one, removing ...`);
157
+ const npmPath = path_1.default.resolve(opts.pnpmHomeDir, 'npm');
158
+ const npxPath = path_1.default.resolve(opts.pnpmHomeDir, 'npx');
159
+ try {
160
+ await Promise.all([
161
+ (0, remove_bins_1.removeBin)(nodePath),
162
+ (0, remove_bins_1.removeBin)(npmPath),
163
+ (0, remove_bins_1.removeBin)(npxPath),
164
+ ]);
165
+ }
166
+ catch (err) { // eslint-disable-line
167
+ if (err.code !== 'ENOENT')
168
+ throw err;
169
+ }
170
+ }
171
+ await (0, rimraf_1.default)(versionDir);
172
+ return `Node.js ${nodeVersion} is removed
173
+ ${versionDir}`;
105
174
  }
106
175
  default: {
107
176
  throw new error_1.default('ENV_UNKNOWN_SUBCOMMAND', 'This subcommand is not known');
package/lib/env.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
package/lib/node.d.ts CHANGED
@@ -2,6 +2,7 @@ import { Config } from '@pnpm/config';
2
2
  import { FetchFromRegistry } from '@pnpm/fetch';
3
3
  export declare type NvmNodeCommandOptions = Pick<Config, 'bin' | 'global' | 'fetchRetries' | 'fetchRetryFactor' | 'fetchRetryMaxtimeout' | 'fetchRetryMintimeout' | 'fetchTimeout' | 'userAgent' | 'ca' | 'cert' | 'httpProxy' | 'httpsProxy' | 'key' | 'localAddress' | 'noProxy' | 'rawConfig' | 'strictSsl' | 'storeDir' | 'useNodeVersion' | 'pnpmHomeDir'> & Partial<Pick<Config, 'configDir'>>;
4
4
  export declare function getNodeBinDir(opts: NvmNodeCommandOptions): Promise<string>;
5
+ export declare function getNodeVersionsBaseDir(pnpmHomeDir: string): string;
5
6
  export declare function getNodeDir(fetch: FetchFromRegistry, opts: NvmNodeCommandOptions & {
6
7
  useNodeVersion: string;
7
8
  nodeMirrorBaseUrl: string;
package/lib/node.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getNodeDir = exports.getNodeBinDir = void 0;
6
+ exports.getNodeDir = exports.getNodeVersionsBaseDir = exports.getNodeBinDir = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const fetch_1 = require("@pnpm/fetch");
@@ -41,6 +41,7 @@ exports.getNodeBinDir = getNodeBinDir;
41
41
  function getNodeVersionsBaseDir(pnpmHomeDir) {
42
42
  return path_1.default.join(pnpmHomeDir, 'nodejs');
43
43
  }
44
+ exports.getNodeVersionsBaseDir = getNodeVersionsBaseDir;
44
45
  async function getNodeDir(fetch, opts) {
45
46
  const nodesDir = getNodeVersionsBaseDir(opts.pnpmHomeDir);
46
47
  await fs_1.default.promises.mkdir(nodesDir, { recursive: true });
package/lib/node.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAmB;AACnB,gDAAuB;AAEvB,uCAAwE;AACxE,yCAAyC;AACzC,qDAA8C;AAC9C,kEAAwC;AACxC,oEAAyC;AACzC,sEAA2C;AAC3C,oEAA2C;AAC3C,2EAAuE;AAyBhE,KAAK,UAAU,aAAa,CAAE,IAA2B;IAC9D,MAAM,KAAK,GAAG,IAAA,+BAAuB,EAAC,IAAI,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACzD,IAAI,iBAAiB,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAA;IAClG,IAAI,iBAAiB,IAAI,IAAI,EAAE;QAC7B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,iCAAiC,CAAC,CAAA;QAC/D,iBAAiB,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAU,CAAA,CAAC,WAAW,CAAC,CAAC,GAAG,CAAA,CAAC,sBAAsB;QAC1F,IAAI,iBAAiB,IAAI,IAAI,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;SAC5D;QACD,MAAM,IAAA,yBAAa,EAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE;YACxD,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAA;KACH;IACD,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,IAAA,qDAAyB,EAAC,iBAAiB,CAAC,CAAA;IACzF,MAAM,iBAAiB,GAAG,IAAA,uBAAa,EAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IACvE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE;QACtC,GAAG,IAAI;QACP,cAAc,EAAE,gBAAgB;QAChC,iBAAiB;KAClB,CAAC,CAAA;IACF,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AAC3E,CAAC;AAtBD,sCAsBC;AAED,SAAgB,sBAAsB,CAAE,WAAmB;IACzD,OAAO,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AACzC,CAAC;AAFD,wDAEC;AAEM,KAAK,UAAU,UAAU,CAAE,KAAwB,EAAE,IAAmF;IAC7I,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACzD,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACtD,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IAC3D,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAS,EAAC;YAC/B,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;YACtB,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC5C,IAAA,mBAAU,EAAC,oBAAoB,IAAI,CAAC,cAAc,MAAM,CAAC,CAAA;QACzD,MAAM,IAAA,wBAAS,EAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE;YACtD,GAAG,IAAI;YACP,OAAO;YACP,KAAK,EAAE;gBACL,UAAU,EAAE,IAAI,CAAC,oBAAoB;gBACrC,UAAU,EAAE,IAAI,CAAC,oBAAoB;gBACrC,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC1B,MAAM,EAAE,IAAI,CAAC,gBAAgB;aAC9B;SACF,CAAC,CAAA;KACH;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAxBD,gCAwBC;AAED,KAAK,UAAU,wBAAwB,CAAE,QAAgB;IACvD,IAAI;QACF,OAAO,MAAM,IAAA,wBAAY,EAAuB,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAA;KACtF;IAAC,OAAO,GAAQ,EAAE,EAAE,sBAAsB;QACzC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;YACzB,OAAO,EAAE,CAAA;SACV;QACD,MAAM,GAAG,CAAA;KACV;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pnpm/plugin-commands-env",
3
- "version": "2.2.0",
3
+ "version": "2.3.1",
4
4
  "description": "pnpm commands for managing Node.js",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -23,22 +23,24 @@
23
23
  },
24
24
  "homepage": "https://github.com/pnpm/pnpm/blob/main/packages/plugin-commands-env#readme",
25
25
  "dependencies": {
26
- "@pnpm/cli-utils": "0.7.30",
27
- "@pnpm/config": "15.9.4",
26
+ "@pnpm/cli-utils": "0.7.33",
27
+ "@pnpm/config": "15.10.2",
28
28
  "@pnpm/error": "3.0.1",
29
29
  "@pnpm/fetch": "5.0.7",
30
30
  "@pnpm/logger": "^4.0.0",
31
31
  "@pnpm/node.fetcher": "1.0.11",
32
32
  "@pnpm/node.resolver": "1.0.11",
33
+ "@pnpm/remove-bins": "3.0.9",
33
34
  "@pnpm/store-path": "6.0.0",
34
35
  "@zkochan/cmd-shim": "^5.3.1",
36
+ "@zkochan/rimraf": "^2.1.2",
35
37
  "load-json-file": "^6.2.0",
36
38
  "render-help": "^1.0.2",
37
39
  "write-json-file": "^4.3.0"
38
40
  },
39
41
  "funding": "https://opencollective.com/pnpm",
40
42
  "devDependencies": {
41
- "@pnpm/plugin-commands-env": "2.2.0",
43
+ "@pnpm/plugin-commands-env": "2.3.1",
42
44
  "@pnpm/prepare": "0.0.52",
43
45
  "@types/adm-zip": "^0.4.34",
44
46
  "adm-zip": "^0.5.9",