@pnpm/plugin-commands-setup 2.0.5 → 2.0.6

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.
@@ -0,0 +1,17 @@
1
+ import PnpmError from '@pnpm/error';
2
+ export declare class BadEnvVariableError extends PnpmError {
3
+ constructor({ envName, wantedValue, currentValue }: {
4
+ envName: string;
5
+ wantedValue: string;
6
+ currentValue: string;
7
+ });
8
+ }
9
+ export declare class BadShellSectionError extends PnpmError {
10
+ current: string;
11
+ wanted: string;
12
+ constructor({ wanted, current, configFile }: {
13
+ wanted: string;
14
+ current: string;
15
+ configFile: string;
16
+ });
17
+ }
package/lib/errors.js ADDED
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BadShellSectionError = exports.BadEnvVariableError = void 0;
7
+ const error_1 = __importDefault(require("@pnpm/error"));
8
+ class BadEnvVariableError extends error_1.default {
9
+ constructor({ envName, wantedValue, currentValue }) {
10
+ super('BAD_ENV_FOUND', `Currently '${envName}' is set to '${wantedValue}'`, {
11
+ hint: `If you want to override the existing ${envName} env variable, use the --force option`,
12
+ });
13
+ }
14
+ }
15
+ exports.BadEnvVariableError = BadEnvVariableError;
16
+ class BadShellSectionError extends error_1.default {
17
+ constructor({ wanted, current, configFile }) {
18
+ super('BAD_SHELL_SECTION', `The config file at "${configFile} already contains a pnpm section but with other configuration`, {
19
+ hint: 'If you want to override the existing configuration section, use the --force option',
20
+ });
21
+ this.current = current;
22
+ this.wanted = wanted;
23
+ }
24
+ }
25
+ exports.BadShellSectionError = BadShellSectionError;
26
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAmC;AAEnC,MAAa,mBAAoB,SAAQ,eAAS;IAChD,YAAa,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkE;QACjH,KAAK,CAAC,eAAe,EAAE,cAAc,OAAO,gBAAgB,WAAW,GAAG,EAAE;YAC1E,IAAI,EAAE,wCAAwC,OAAO,uCAAuC;SAC7F,CAAC,CAAA;IACJ,CAAC;CACF;AAND,kDAMC;AAED,MAAa,oBAAqB,SAAQ,eAAS;IAGjD,YAAa,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAA2D;QACnG,KAAK,CAAC,mBAAmB,EAAE,uBAAuB,UAAU,+DAA+D,EAAE;YAC3H,IAAI,EAAE,oFAAoF;SAC3F,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;CACF;AAVD,oDAUC"}
package/lib/setup.js CHANGED
@@ -11,7 +11,7 @@ const cli_utils_1 = require("@pnpm/cli-utils");
11
11
  const logger_1 = __importDefault(require("@pnpm/logger"));
12
12
  const render_help_1 = __importDefault(require("render-help"));
13
13
  const setupOnWindows_1 = require("./setupOnWindows");
14
- const BadHomeDirError_1 = require("./BadHomeDirError");
14
+ const errors_1 = require("./errors");
15
15
  const rcOptionsTypes = () => ({});
16
16
  exports.rcOptionsTypes = rcOptionsTypes;
17
17
  const cliOptionsTypes = () => ({
@@ -61,11 +61,11 @@ function copyCli(currentLocation, targetDir) {
61
61
  fs_1.default.copyFileSync(currentLocation, newExecPath);
62
62
  }
63
63
  async function handler(opts) {
64
- const currentShell = detectCurrentShell();
65
64
  const execPath = getExecPath();
66
65
  if (execPath.match(/\.[cm]?js$/) == null) {
67
66
  copyCli(execPath, opts.pnpmHomeDir);
68
67
  }
68
+ const currentShell = detectCurrentShell();
69
69
  const updateOutput = await updateShell(currentShell, opts.pnpmHomeDir, { force: opts.force ?? false });
70
70
  return `${updateOutput}
71
71
 
@@ -83,16 +83,12 @@ function detectCurrentShell() {
83
83
  }
84
84
  async function updateShell(currentShell, pnpmHomeDir, opts) {
85
85
  switch (currentShell) {
86
- case 'bash': {
87
- const configFile = path_1.default.join(os_1.default.homedir(), '.bashrc');
88
- return setupShell(configFile, pnpmHomeDir, opts);
89
- }
86
+ case 'bash':
90
87
  case 'zsh': {
91
- const configFile = path_1.default.join(os_1.default.homedir(), '.zshrc');
92
- return setupShell(configFile, pnpmHomeDir, opts);
88
+ return reportShellChange(await setupShell(currentShell, pnpmHomeDir, opts));
93
89
  }
94
90
  case 'fish': {
95
- return setupFishShell(pnpmHomeDir, opts);
91
+ return reportShellChange(await setupFishShell(pnpmHomeDir, opts));
96
92
  }
97
93
  }
98
94
  if (process.platform === 'win32') {
@@ -100,58 +96,56 @@ async function updateShell(currentShell, pnpmHomeDir, opts) {
100
96
  }
101
97
  return 'Could not infer shell type.';
102
98
  }
103
- async function setupShell(configFile, pnpmHomeDir, opts) {
99
+ function reportShellChange({ action, configFile }) {
100
+ switch (action) {
101
+ case 'created': return `Created ${configFile}`;
102
+ case 'added': return `Appended new lines to ${configFile}`;
103
+ case 'updated': return `Replaced configuration in ${configFile}`;
104
+ case 'skipped': return `Configuration already up-to-date in ${configFile}`;
105
+ }
106
+ }
107
+ async function setupShell(shell, pnpmHomeDir, opts) {
108
+ const configFile = path_1.default.join(os_1.default.homedir(), `.${shell}rc`);
104
109
  const content = `# pnpm
105
110
  export PNPM_HOME="${pnpmHomeDir}"
106
111
  export PATH="$PNPM_HOME:$PATH"
107
- # pnpm end
108
- `;
109
- if (!fs_1.default.existsSync(configFile)) {
110
- await fs_1.default.promises.writeFile(configFile, content, 'utf8');
111
- return `Created ${configFile}`;
112
- }
113
- const configContent = await fs_1.default.promises.readFile(configFile, 'utf8');
114
- if (!configContent.includes('PNPM_HOME')) {
115
- await fs_1.default.promises.appendFile(configFile, `\n${content}`, 'utf8');
116
- return `Updated ${configFile}`;
117
- }
118
- const match = configContent.match(/export PNPM_HOME="(.*)"/);
119
- if (match && match[1] !== pnpmHomeDir) {
120
- if (!opts.force) {
121
- throw new BadHomeDirError_1.BadHomeDirError({ currentDir: match[1], wantedDir: pnpmHomeDir });
122
- }
123
- const newConfigContent = replaceSection(configContent, content);
124
- await fs_1.default.promises.writeFile(configFile, newConfigContent, 'utf8');
125
- return `Updated ${configFile}`;
126
- }
127
- return `PNPM_HOME is already in ${configFile}`;
112
+ # pnpm end`;
113
+ return {
114
+ action: await updateShellConfig(configFile, content, opts),
115
+ configFile,
116
+ };
128
117
  }
129
118
  async function setupFishShell(pnpmHomeDir, opts) {
130
119
  const configFile = path_1.default.join(os_1.default.homedir(), '.config/fish/config.fish');
131
120
  const content = `# pnpm
132
121
  set -gx PNPM_HOME "${pnpmHomeDir}"
133
122
  set -gx PATH "$PNPM_HOME" $PATH
134
- # pnpm end
135
- `;
123
+ # pnpm end`;
124
+ return {
125
+ action: await updateShellConfig(configFile, content, opts),
126
+ configFile,
127
+ };
128
+ }
129
+ async function updateShellConfig(configFile, newContent, opts) {
136
130
  if (!fs_1.default.existsSync(configFile)) {
137
- await fs_1.default.promises.writeFile(configFile, content, 'utf8');
138
- return `Created ${configFile}`;
131
+ await fs_1.default.promises.writeFile(configFile, newContent, 'utf8');
132
+ return 'created';
139
133
  }
140
134
  const configContent = await fs_1.default.promises.readFile(configFile, 'utf8');
141
- if (!configContent.includes('PNPM_HOME')) {
142
- await fs_1.default.promises.appendFile(configFile, `\n${content}`, 'utf8');
143
- return `Updated ${configFile}`;
135
+ const match = configContent.match(/# pnpm[\s\S]*# pnpm end/);
136
+ if (!match) {
137
+ await fs_1.default.promises.appendFile(configFile, `\n${newContent}`, 'utf8');
138
+ return 'added';
144
139
  }
145
- const match = configContent.match(/set -gx PNPM_HOME "(.*)"/);
146
- if (match && match[1] !== pnpmHomeDir) {
140
+ if (match[0] !== newContent) {
147
141
  if (!opts.force) {
148
- throw new BadHomeDirError_1.BadHomeDirError({ currentDir: match[1], wantedDir: pnpmHomeDir });
142
+ throw new errors_1.BadShellSectionError({ current: match[1], wanted: newContent, configFile });
149
143
  }
150
- const newConfigContent = replaceSection(configContent, content);
144
+ const newConfigContent = replaceSection(configContent, newContent);
151
145
  await fs_1.default.promises.writeFile(configFile, newConfigContent, 'utf8');
152
- return `Updated ${configFile}`;
146
+ return 'updated';
153
147
  }
154
- return `PNPM_HOME is already in ${configFile}`;
148
+ return 'skipped';
155
149
  }
156
150
  function replaceSection(originalContent, newSection) {
157
151
  return originalContent.replace(/# pnpm[\s\S]*# pnpm end/g, newSection);
package/lib/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
@@ -4,28 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.setupWindowsEnvironmentPath = void 0;
7
+ const error_1 = __importDefault(require("@pnpm/error"));
7
8
  const path_1 = require("path");
8
9
  const execa_1 = __importDefault(require("execa"));
9
- const BadHomeDirError_1 = require("./BadHomeDirError");
10
+ const errors_1 = require("./errors");
10
11
  const REG_KEY = 'HKEY_CURRENT_USER\\Environment';
11
- function findEnvValuesInRegistry(regEntries, envVarName) {
12
- const regexp = new RegExp(`^ {4}(?<name>${envVarName}) {4}(?<type>\\w+) {4}(?<data>.*)$`, 'gim');
13
- return Array.from(regEntries.matchAll(regexp));
14
- }
15
- function setEnvVarInRegistry(envVarName, envVarValue) {
16
- // `windowsHide` in `execa` is true by default, which will cause `chcp` to have no effect.
17
- return (0, execa_1.default)('reg', ['add', REG_KEY, '/v', envVarName, '/t', 'REG_EXPAND_SZ', '/d', envVarValue, '/f'], { windowsHide: false });
18
- }
19
- function pathIncludesDir(pathValue, dir) {
20
- const dirPath = path_1.win32.parse(path_1.win32.normalize(dir));
21
- return pathValue
22
- .split(path_1.win32.delimiter)
23
- .map(p => path_1.win32.normalize(p))
24
- .map(p => path_1.win32.parse(p))
25
- .map(p => `${p.dir}${path_1.win32.sep}${p.base}`.toUpperCase())
26
- .filter(p => p !== '')
27
- .includes(`${dirPath.dir}${path_1.win32.sep}${dirPath.base}`.toUpperCase());
28
- }
29
12
  async function setupWindowsEnvironmentPath(pnpmHomeDir, opts) {
30
13
  // Use `chcp` to make `reg` use utf8 encoding for output.
31
14
  // Otherwise, the non-ascii characters in the environment variables will become garbled characters.
@@ -45,57 +28,67 @@ async function setupWindowsEnvironmentPath(pnpmHomeDir, opts) {
45
28
  }
46
29
  exports.setupWindowsEnvironmentPath = setupWindowsEnvironmentPath;
47
30
  async function _setupWindowsEnvironmentPath(pnpmHomeDir, opts) {
48
- const queryResult = await (0, execa_1.default)('reg', ['query', REG_KEY], { windowsHide: false });
49
- if (queryResult.failed) {
50
- return 'Win32 registry environment values could not be retrieved';
51
- }
52
- const queryOutput = queryResult.stdout;
53
- const pathValueMatch = findEnvValuesInRegistry(queryOutput, 'PATH');
54
- const homeValueMatch = findEnvValuesInRegistry(queryOutput, 'PNPM_HOME');
55
- let commitNeeded = false;
56
31
  const logger = [];
57
- if (homeValueMatch.length === 1 && !opts.force) {
58
- const currentHomeDir = homeValueMatch[0].groups.data;
59
- if (currentHomeDir !== pnpmHomeDir) {
60
- throw new BadHomeDirError_1.BadHomeDirError({ currentDir: currentHomeDir, wantedDir: pnpmHomeDir });
61
- }
32
+ logger.push(logEnvUpdate(await updateEnvVariable('PNPM_HOME', pnpmHomeDir, opts), 'PNPM_HOME'));
33
+ logger.push(logEnvUpdate(await prependToPath('%PNPM_HOME%'), 'Path'));
34
+ return logger.join('\n');
35
+ }
36
+ function logEnvUpdate(envUpdateResult, envName) {
37
+ switch (envUpdateResult) {
38
+ case 'skipped': return `${envName} was already up-to-date`;
39
+ case 'updated': return `${envName} was updated`;
62
40
  }
63
- else {
64
- logger.push(`Setting 'PNPM_HOME' to value '${pnpmHomeDir}'`);
65
- const addResult = await setEnvVarInRegistry('PNPM_HOME', pnpmHomeDir);
66
- if (addResult.failed) {
67
- logger.push(`\t${addResult.stderr}`);
68
- }
69
- else {
70
- commitNeeded = true;
71
- logger.push(`\t${addResult.stdout}`);
41
+ return '';
42
+ }
43
+ async function updateEnvVariable(name, value, opts) {
44
+ const currentValue = await getEnvValueFromRegistry(name);
45
+ if (currentValue && !opts.force) {
46
+ if (currentValue !== value) {
47
+ throw new errors_1.BadEnvVariableError({ envName: name, currentValue, wantedValue: value });
72
48
  }
49
+ return 'skipped';
73
50
  }
74
- const pathData = pathValueMatch[0]?.groups.data;
75
- if (pathData === undefined) {
76
- logger.push('Current PATH is not set. No changes to this environment variable are applied');
51
+ else {
52
+ await setEnvVarInRegistry(name, value);
53
+ return 'updated';
77
54
  }
78
- else if (pathData == null || pathData.trim() === '') {
79
- logger.push('Current PATH is empty. No changes to this environment variable are applied');
55
+ }
56
+ async function prependToPath(prependDir) {
57
+ const pathData = await getEnvValueFromRegistry('Path');
58
+ if (pathData === undefined || pathData == null || pathData.trim() === '') {
59
+ throw new error_1.default('NO_PATH', '"Path" environment variable is not found in the registry');
80
60
  }
81
- else if (pathIncludesDir(pathData, pnpmHomeDir) || pathData.split(path_1.win32.delimiter).includes('%PNPM_HOME%')) {
82
- logger.push('PATH already contains PNPM_HOME');
61
+ else if (pathData.split(path_1.win32.delimiter).includes(prependDir)) {
62
+ return 'skipped';
83
63
  }
84
64
  else {
85
- logger.push('Updating PATH');
86
- const newPathValue = `%PNPM_HOME%${path_1.win32.delimiter}${pathData}`;
87
- const addResult = await setEnvVarInRegistry(pathValueMatch[0].groups.name, newPathValue);
88
- if (addResult.failed) {
89
- logger.push(`\t${addResult.stderr}`);
90
- }
91
- else {
92
- commitNeeded = true;
93
- logger.push(`\t${addResult.stdout}`);
94
- }
65
+ const newPathValue = `${prependDir}${path_1.win32.delimiter}${pathData}`;
66
+ await setEnvVarInRegistry('Path', newPathValue);
67
+ return 'updated';
95
68
  }
96
- if (commitNeeded) {
97
- await (0, execa_1.default)('setx', ['PNPM_HOME', pnpmHomeDir]);
69
+ }
70
+ async function getEnvValueFromRegistry(envVarName) {
71
+ const queryResult = await (0, execa_1.default)('reg', ['query', REG_KEY, '/v', envVarName], { windowsHide: false });
72
+ if (queryResult.failed) {
73
+ throw new error_1.default('REG_READ', 'Win32 registry environment values could not be retrieved');
74
+ }
75
+ const regexp = new RegExp(`^ {4}(?<name>${envVarName}) {4}(?<type>\\w+) {4}(?<data>.*)$`, 'gim');
76
+ const match = Array.from(queryResult.stdout.matchAll(regexp))[0];
77
+ return match?.groups.data;
78
+ }
79
+ async function setEnvVarInRegistry(envVarName, envVarValue) {
80
+ // `windowsHide` in `execa` is true by default, which will cause `chcp` to have no effect.
81
+ const addResult = await (0, execa_1.default)('reg', ['add', REG_KEY, '/v', envVarName, '/t', 'REG_EXPAND_SZ', '/d', envVarValue, '/f'], { windowsHide: false });
82
+ if (addResult.failed) {
83
+ throw new error_1.default('FAILED_SET_ENV', `Failed to set "${envVarName}" to "${envVarValue}": ${addResult.stderr}`);
84
+ }
85
+ else {
86
+ // When setting environment variables through the registry, they will not be recognized immediately.
87
+ // There is a workaround though, to set at least one environment variable with `setx`.
88
+ // We have some redundancy here because we run it for each env var.
89
+ // It would be enough also to run it only for the last changed env var.
90
+ // Read more at: https://bit.ly/39OlQnF
91
+ await (0, execa_1.default)('setx', [envVarName, envVarValue]);
98
92
  }
99
- return logger.join('\n');
100
93
  }
101
94
  //# sourceMappingURL=setupOnWindows.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setupOnWindows.js","sourceRoot":"","sources":["../src/setupOnWindows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupOnWindows.js","sourceRoot":"","sources":["../src/setupOnWindows.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pnpm/plugin-commands-setup",
3
- "version": "2.0.5",
3
+ "version": "2.0.6",
4
4
  "description": "pnpm commands for setting up pnpm",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -23,7 +23,7 @@
23
23
  },
24
24
  "homepage": "https://github.com/pnpm/pnpm/blob/main/packages/plugin-commands-setup#readme",
25
25
  "dependencies": {
26
- "@pnpm/cli-utils": "0.7.5",
26
+ "@pnpm/cli-utils": "0.7.6",
27
27
  "@pnpm/error": "3.0.1",
28
28
  "execa": "npm:safe-execa@^0.1.1",
29
29
  "render-help": "^1.0.1"
@@ -34,7 +34,7 @@
34
34
  },
35
35
  "devDependencies": {
36
36
  "@pnpm/logger": "^4.0.0",
37
- "@pnpm/plugin-commands-setup": "2.0.5",
37
+ "@pnpm/plugin-commands-setup": "2.0.6",
38
38
  "@pnpm/prepare": "0.0.40"
39
39
  },
40
40
  "exports": {
@@ -1,7 +0,0 @@
1
- import PnpmError from '@pnpm/error';
2
- export declare class BadHomeDirError extends PnpmError {
3
- constructor({ wantedDir, currentDir }: {
4
- wantedDir: string;
5
- currentDir: string;
6
- });
7
- }
@@ -1,16 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.BadHomeDirError = void 0;
7
- const error_1 = __importDefault(require("@pnpm/error"));
8
- class BadHomeDirError extends error_1.default {
9
- constructor({ wantedDir, currentDir }) {
10
- super('DIFFERENT_HOME_DIR_IS_SET', `Currently 'PNPM_HOME' is set to '${currentDir}'`, {
11
- hint: 'If you want to override the existing PNPM_HOME env variable, use the --force option',
12
- });
13
- }
14
- }
15
- exports.BadHomeDirError = BadHomeDirError;
16
- //# sourceMappingURL=BadHomeDirError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BadHomeDirError.js","sourceRoot":"","sources":["../src/BadHomeDirError.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAmC;AAEnC,MAAa,eAAgB,SAAQ,eAAS;IAC5C,YAAa,EAAE,SAAS,EAAE,UAAU,EAA6C;QAC/E,KAAK,CAAC,2BAA2B,EAAE,oCAAoC,UAAU,GAAG,EAAE;YACpF,IAAI,EAAE,qFAAqF;SAC5F,CAAC,CAAA;IACJ,CAAC;CACF;AAND,0CAMC"}