@pnpm/plugin-commands-setup 1.1.39 → 1.1.42

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 = () => ({
@@ -62,11 +62,11 @@ function copyCli(currentLocation, targetDir) {
62
62
  }
63
63
  async function handler(opts) {
64
64
  var _a;
65
- const currentShell = detectCurrentShell();
66
65
  const execPath = getExecPath();
67
66
  if (execPath.match(/\.[cm]?js$/) == null) {
68
67
  copyCli(execPath, opts.pnpmHomeDir);
69
68
  }
69
+ const currentShell = detectCurrentShell();
70
70
  const updateOutput = await updateShell(currentShell, opts.pnpmHomeDir, { force: (_a = opts.force) !== null && _a !== void 0 ? _a : false });
71
71
  return `${updateOutput}
72
72
 
@@ -84,16 +84,12 @@ function detectCurrentShell() {
84
84
  }
85
85
  async function updateShell(currentShell, pnpmHomeDir, opts) {
86
86
  switch (currentShell) {
87
- case 'bash': {
88
- const configFile = path_1.default.join(os_1.default.homedir(), '.bashrc');
89
- return setupShell(configFile, pnpmHomeDir, opts);
90
- }
87
+ case 'bash':
91
88
  case 'zsh': {
92
- const configFile = path_1.default.join(os_1.default.homedir(), '.zshrc');
93
- return setupShell(configFile, pnpmHomeDir, opts);
89
+ return reportShellChange(await setupShell(currentShell, pnpmHomeDir, opts));
94
90
  }
95
91
  case 'fish': {
96
- return setupFishShell(pnpmHomeDir, opts);
92
+ return reportShellChange(await setupFishShell(pnpmHomeDir, opts));
97
93
  }
98
94
  }
99
95
  if (process.platform === 'win32') {
@@ -101,58 +97,56 @@ async function updateShell(currentShell, pnpmHomeDir, opts) {
101
97
  }
102
98
  return 'Could not infer shell type.';
103
99
  }
104
- async function setupShell(configFile, pnpmHomeDir, opts) {
100
+ function reportShellChange({ action, configFile }) {
101
+ switch (action) {
102
+ case 'created': return `Created ${configFile}`;
103
+ case 'added': return `Appended new lines to ${configFile}`;
104
+ case 'updated': return `Replaced configuration in ${configFile}`;
105
+ case 'skipped': return `Configuration already up-to-date in ${configFile}`;
106
+ }
107
+ }
108
+ async function setupShell(shell, pnpmHomeDir, opts) {
109
+ const configFile = path_1.default.join(os_1.default.homedir(), `.${shell}rc`);
105
110
  const content = `# pnpm
106
111
  export PNPM_HOME="${pnpmHomeDir}"
107
112
  export PATH="$PNPM_HOME:$PATH"
108
- # pnpm end
109
- `;
110
- if (!fs_1.default.existsSync(configFile)) {
111
- await fs_1.default.promises.writeFile(configFile, content, 'utf8');
112
- return `Created ${configFile}`;
113
- }
114
- const configContent = await fs_1.default.promises.readFile(configFile, 'utf8');
115
- if (!configContent.includes('PNPM_HOME')) {
116
- await fs_1.default.promises.appendFile(configFile, `\n${content}`, 'utf8');
117
- return `Updated ${configFile}`;
118
- }
119
- const match = configContent.match(/export PNPM_HOME="(.*)"/);
120
- if (match && match[1] !== pnpmHomeDir) {
121
- if (!opts.force) {
122
- throw new BadHomeDirError_1.BadHomeDirError({ currentDir: match[1], wantedDir: pnpmHomeDir });
123
- }
124
- const newConfigContent = replaceSection(configContent, content);
125
- await fs_1.default.promises.writeFile(configFile, newConfigContent, 'utf8');
126
- return `Updated ${configFile}`;
127
- }
128
- return `PNPM_HOME is already in ${configFile}`;
113
+ # pnpm end`;
114
+ return {
115
+ action: await updateShellConfig(configFile, content, opts),
116
+ configFile,
117
+ };
129
118
  }
130
119
  async function setupFishShell(pnpmHomeDir, opts) {
131
120
  const configFile = path_1.default.join(os_1.default.homedir(), '.config/fish/config.fish');
132
121
  const content = `# pnpm
133
122
  set -gx PNPM_HOME "${pnpmHomeDir}"
134
123
  set -gx PATH "$PNPM_HOME" $PATH
135
- # pnpm end
136
- `;
124
+ # pnpm end`;
125
+ return {
126
+ action: await updateShellConfig(configFile, content, opts),
127
+ configFile,
128
+ };
129
+ }
130
+ async function updateShellConfig(configFile, newContent, opts) {
137
131
  if (!fs_1.default.existsSync(configFile)) {
138
- await fs_1.default.promises.writeFile(configFile, content, 'utf8');
139
- return `Created ${configFile}`;
132
+ await fs_1.default.promises.writeFile(configFile, newContent, 'utf8');
133
+ return 'created';
140
134
  }
141
135
  const configContent = await fs_1.default.promises.readFile(configFile, 'utf8');
142
- if (!configContent.includes('PNPM_HOME')) {
143
- await fs_1.default.promises.appendFile(configFile, `\n${content}`, 'utf8');
144
- return `Updated ${configFile}`;
136
+ const match = configContent.match(/# pnpm[\s\S]*# pnpm end/);
137
+ if (!match) {
138
+ await fs_1.default.promises.appendFile(configFile, `\n${newContent}`, 'utf8');
139
+ return 'added';
145
140
  }
146
- const match = configContent.match(/set -gx PNPM_HOME "(.*)"/);
147
- if (match && match[1] !== pnpmHomeDir) {
141
+ if (match[0] !== newContent) {
148
142
  if (!opts.force) {
149
- throw new BadHomeDirError_1.BadHomeDirError({ currentDir: match[1], wantedDir: pnpmHomeDir });
143
+ throw new errors_1.BadShellSectionError({ current: match[1], wanted: newContent, configFile });
150
144
  }
151
- const newConfigContent = replaceSection(configContent, content);
145
+ const newConfigContent = replaceSection(configContent, newContent);
152
146
  await fs_1.default.promises.writeFile(configFile, newConfigContent, 'utf8');
153
- return `Updated ${configFile}`;
147
+ return 'updated';
154
148
  }
155
- return `PNPM_HOME is already in ${configFile}`;
149
+ return 'skipped';
156
150
  }
157
151
  function replaceSection(originalContent, newSection) {
158
152
  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":";;;;;;AAAA,4CAAmB;AACnB,4CAAmB;AACnB,gDAAuB;AACvB,+CAAyC;AACzC,0DAAiC;AACjC,8DAAoC;AACpC,qDAA8D;AAC9D,uDAAmD;AAE5C,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;AAA3B,QAAA,cAAc,kBAAa;AAEjC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,CAAC;IACpC,KAAK,EAAE,OAAO;CACf,CAAC,CAAA;AAFW,QAAA,eAAe,mBAE1B;AAEW,QAAA,UAAU,GAAG,EAAE,CAAA;AAEf,QAAA,YAAY,GAAG,CAAC,OAAO,CAAC,CAAA;AAErC,SAAgB,IAAI;IAClB,OAAO,IAAA,qBAAU,EAAC;QAChB,WAAW,EAAE,cAAc;QAC3B,gBAAgB,EAAE;YAChB;gBACE,KAAK,EAAE,SAAS;gBAEhB,IAAI,EAAE;oBACJ;wBACE,WAAW,EAAE,+DAA+D;wBAC5E,IAAI,EAAE,SAAS;wBACf,UAAU,EAAE,IAAI;qBACjB;iBACF;aACF;SACF;QACD,GAAG,EAAE,IAAA,mBAAO,EAAC,OAAO,CAAC;QACrB,MAAM,EAAE,CAAC,YAAY,CAAC;KACvB,CAAC,CAAA;AACJ,CAAC;AAnBD,oBAmBC;AAED,SAAS,WAAW;IAClB,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE;QAC1B,4FAA4F;QAC5F,8EAA8E;QAC9E,4CAA4C;QAC5C,OAAO,OAAO,CAAC,QAAQ,CAAA;KACxB;IACD,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;AACvE,CAAC;AAED,SAAS,OAAO,CAAE,eAAuB,EAAE,SAAiB;IAC1D,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAA;IACxE,IAAI,cAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,KAAK,EAAE;QAAE,OAAM;IAC9D,gBAAM,CAAC,IAAI,CAAC;QACV,OAAO,EAAE,yBAAyB,eAAe,OAAO,WAAW,EAAE;QACrE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE;KACtB,CAAC,CAAA;IACF,YAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5C,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,WAAW,CAAC,CAAA;AAC/C,CAAC;AAEM,KAAK,UAAU,OAAO,CAC3B,IAGC;;IAED,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAA;IACzC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE;QACxC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;KACpC;IACD,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,KAAK,EAAE,CAAC,CAAA;IACtG,OAAO,GAAG,YAAY;;yDAEiC,CAAA;AACzD,CAAC;AAfD,0BAeC;AAED,SAAS,kBAAkB;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO,KAAK,CAAA;IACzC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY;QAAE,OAAO,MAAM,CAAA;IAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY;QAAE,OAAO,MAAM,CAAA;IAC3C,OAAO,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AACxF,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,YAA2B,EAC3B,WAAmB,EACnB,IAAwB;IAExB,QAAQ,YAAY,EAAE;QACtB,KAAK,MAAM,CAAC,CAAC;YACX,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;YACrD,OAAO,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;SACjD;QACD,KAAK,KAAK,CAAC,CAAC;YACV,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAA;YACpD,OAAO,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;SACjD;QACD,KAAK,MAAM,CAAC,CAAC;YACX,OAAO,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;SACzC;KACA;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QAChC,OAAO,IAAA,4CAA2B,EAAC,WAAW,EAAE,IAAI,CAAC,CAAA;KACtD;IAED,OAAO,6BAA6B,CAAA;AACtC,CAAC;AAED,KAAK,UAAU,UAAU,CAAE,UAAkB,EAAE,WAAmB,EAAE,IAAwB;IAC1F,MAAM,OAAO,GAAG;oBACE,WAAW;;;CAG9B,CAAA;IACC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC9B,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QACxD,OAAO,WAAW,UAAU,EAAE,CAAA;KAC/B;IACD,MAAM,aAAa,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IACpE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACxC,MAAM,YAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,OAAO,EAAE,EAAE,MAAM,CAAC,CAAA;QAChE,OAAO,WAAW,UAAU,EAAE,CAAA;KAC/B;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5D,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;QACrC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,MAAM,IAAI,iCAAe,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAA;SAC5E;QACD,MAAM,gBAAgB,GAAG,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QAC/D,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAA;QACjE,OAAO,WAAW,UAAU,EAAE,CAAA;KAC/B;IACD,OAAO,2BAA2B,UAAU,EAAE,CAAA;AAChD,CAAC;AAED,KAAK,UAAU,cAAc,CAAE,WAAmB,EAAE,IAAwB;IAC1E,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,0BAA0B,CAAC,CAAA;IACtE,MAAM,OAAO,GAAG;qBACG,WAAW;;;CAG/B,CAAA;IACC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC9B,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QACxD,OAAO,WAAW,UAAU,EAAE,CAAA;KAC/B;IACD,MAAM,aAAa,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IACpE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACxC,MAAM,YAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,OAAO,EAAE,EAAE,MAAM,CAAC,CAAA;QAChE,OAAO,WAAW,UAAU,EAAE,CAAA;KAC/B;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC7D,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;QACrC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,MAAM,IAAI,iCAAe,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAA;SAC5E;QACD,MAAM,gBAAgB,GAAG,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QAC/D,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAA;QACjE,OAAO,WAAW,UAAU,EAAE,CAAA;KAC/B;IACD,OAAO,2BAA2B,UAAU,EAAE,CAAA;AAChD,CAAC;AAED,SAAS,cAAc,CAAE,eAAuB,EAAE,UAAkB;IAClE,OAAO,eAAe,CAAC,OAAO,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAA;AACxE,CAAC"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
@@ -4,29 +4,12 @@ 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
10
  const string_prototype_matchall_1 = __importDefault(require("string.prototype.matchall"));
10
- const BadHomeDirError_1 = require("./BadHomeDirError");
11
+ const errors_1 = require("./errors");
11
12
  const REG_KEY = 'HKEY_CURRENT_USER\\Environment';
12
- function findEnvValuesInRegistry(regEntries, envVarName) {
13
- const regexp = new RegExp(`^ {4}(?<name>${envVarName}) {4}(?<type>\\w+) {4}(?<data>.*)$`, 'gim');
14
- return Array.from((0, string_prototype_matchall_1.default)(regEntries, regexp));
15
- }
16
- function setEnvVarInRegistry(envVarName, envVarValue) {
17
- // `windowsHide` in `execa` is true by default, which will cause `chcp` to have no effect.
18
- return (0, execa_1.default)('reg', ['add', REG_KEY, '/v', envVarName, '/t', 'REG_EXPAND_SZ', '/d', envVarValue, '/f'], { windowsHide: false });
19
- }
20
- function pathIncludesDir(pathValue, dir) {
21
- const dirPath = path_1.win32.parse(path_1.win32.normalize(dir));
22
- return pathValue
23
- .split(path_1.win32.delimiter)
24
- .map(p => path_1.win32.normalize(p))
25
- .map(p => path_1.win32.parse(p))
26
- .map(p => `${p.dir}${path_1.win32.sep}${p.base}`.toUpperCase())
27
- .filter(p => p !== '')
28
- .includes(`${dirPath.dir}${path_1.win32.sep}${dirPath.base}`.toUpperCase());
29
- }
30
13
  async function setupWindowsEnvironmentPath(pnpmHomeDir, opts) {
31
14
  var _a;
32
15
  // Use `chcp` to make `reg` use utf8 encoding for output.
@@ -47,58 +30,79 @@ async function setupWindowsEnvironmentPath(pnpmHomeDir, opts) {
47
30
  }
48
31
  exports.setupWindowsEnvironmentPath = setupWindowsEnvironmentPath;
49
32
  async function _setupWindowsEnvironmentPath(pnpmHomeDir, opts) {
50
- var _a;
51
- const queryResult = await (0, execa_1.default)('reg', ['query', REG_KEY], { windowsHide: false });
52
- if (queryResult.failed) {
53
- return 'Win32 registry environment values could not be retrieved';
54
- }
55
- const queryOutput = queryResult.stdout;
56
- const pathValueMatch = findEnvValuesInRegistry(queryOutput, 'PATH');
57
- const homeValueMatch = findEnvValuesInRegistry(queryOutput, 'PNPM_HOME');
58
- let commitNeeded = false;
33
+ const registryOutput = await getRegistryOutput();
59
34
  const logger = [];
60
- if (homeValueMatch.length === 1 && !opts.force) {
61
- const currentHomeDir = homeValueMatch[0].groups.data;
62
- if (currentHomeDir !== pnpmHomeDir) {
63
- throw new BadHomeDirError_1.BadHomeDirError({ currentDir: currentHomeDir, wantedDir: pnpmHomeDir });
64
- }
35
+ logger.push(logEnvUpdate(await updateEnvVariable(registryOutput, 'PNPM_HOME', pnpmHomeDir, opts), 'PNPM_HOME'));
36
+ logger.push(logEnvUpdate(await prependToPath(registryOutput, '%PNPM_HOME%'), 'Path'));
37
+ return logger.join('\n');
38
+ }
39
+ function logEnvUpdate(envUpdateResult, envName) {
40
+ switch (envUpdateResult) {
41
+ case 'skipped': return `${envName} was already up-to-date`;
42
+ case 'updated': return `${envName} was updated`;
65
43
  }
66
- else {
67
- logger.push(`Setting 'PNPM_HOME' to value '${pnpmHomeDir}'`);
68
- const addResult = await setEnvVarInRegistry('PNPM_HOME', pnpmHomeDir);
69
- if (addResult.failed) {
70
- logger.push(`\t${addResult.stderr}`);
71
- }
72
- else {
73
- commitNeeded = true;
74
- logger.push(`\t${addResult.stdout}`);
44
+ return '';
45
+ }
46
+ async function updateEnvVariable(registryOutput, name, value, opts) {
47
+ const currentValue = await getEnvValueFromRegistry(registryOutput, name);
48
+ if (currentValue && !opts.force) {
49
+ if (currentValue !== value) {
50
+ throw new errors_1.BadEnvVariableError({ envName: name, currentValue, wantedValue: value });
75
51
  }
52
+ return 'skipped';
76
53
  }
77
- const pathData = (_a = pathValueMatch[0]) === null || _a === void 0 ? void 0 : _a.groups.data;
78
- if (pathData === undefined) {
79
- logger.push('Current PATH is not set. No changes to this environment variable are applied');
54
+ else {
55
+ await setEnvVarInRegistry(name, value);
56
+ return 'updated';
80
57
  }
81
- else if (pathData == null || pathData.trim() === '') {
82
- logger.push('Current PATH is empty. No changes to this environment variable are applied');
58
+ }
59
+ async function prependToPath(registryOutput, prependDir) {
60
+ const pathData = await getEnvValueFromRegistry(registryOutput, 'Path');
61
+ if (pathData === undefined || pathData == null || pathData.trim() === '') {
62
+ throw new error_1.default('NO_PATH', '"Path" environment variable is not found in the registry');
83
63
  }
84
- else if (pathIncludesDir(pathData, pnpmHomeDir)) {
85
- logger.push('PATH already contains PNPM_HOME');
64
+ else if (pathData.split(path_1.win32.delimiter).includes(prependDir)) {
65
+ return 'skipped';
86
66
  }
87
67
  else {
88
- logger.push('Updating PATH');
89
- const newPathValue = `${pnpmHomeDir}${path_1.win32.delimiter}${pathData}`;
90
- const addResult = await setEnvVarInRegistry(pathValueMatch[0].groups.name, newPathValue);
91
- if (addResult.failed) {
92
- logger.push(`\t${addResult.stderr}`);
93
- }
94
- else {
95
- commitNeeded = true;
96
- logger.push(`\t${addResult.stdout}`);
97
- }
68
+ const newPathValue = `${prependDir}${path_1.win32.delimiter}${pathData}`;
69
+ await setEnvVarInRegistry('Path', newPathValue);
70
+ return 'updated';
98
71
  }
99
- if (commitNeeded) {
100
- await (0, execa_1.default)('setx', ['PNPM_HOME', pnpmHomeDir]);
72
+ }
73
+ // `windowsHide` in `execa` is true by default, which will cause `chcp` to have no effect.
74
+ const EXEC_OPTS = { windowsHide: false };
75
+ /**
76
+ * We read all the registry values and then pick the keys that we need.
77
+ * This is done because if we would try to pick a key that is not in the registry, the command would fail.
78
+ * And it is hard to identify the real cause of the command failure.
79
+ */
80
+ async function getRegistryOutput() {
81
+ try {
82
+ const queryResult = await (0, execa_1.default)('reg', ['query', REG_KEY], EXEC_OPTS);
83
+ return queryResult.stdout;
101
84
  }
102
- return logger.join('\n');
85
+ catch (err) { // eslint-disable-line
86
+ throw new error_1.default('REG_READ', 'win32 registry environment values could not be retrieved');
87
+ }
88
+ }
89
+ async function getEnvValueFromRegistry(registryOutput, envVarName) {
90
+ const regexp = new RegExp(`^ {4}(?<name>${envVarName}) {4}(?<type>\\w+) {4}(?<data>.*)$`, 'gim');
91
+ const match = Array.from((0, string_prototype_matchall_1.default)(registryOutput, regexp))[0];
92
+ return match === null || match === void 0 ? void 0 : match.groups.data;
93
+ }
94
+ async function setEnvVarInRegistry(envVarName, envVarValue) {
95
+ try {
96
+ await (0, execa_1.default)('reg', ['add', REG_KEY, '/v', envVarName, '/t', 'REG_EXPAND_SZ', '/d', envVarValue, '/f'], EXEC_OPTS);
97
+ }
98
+ catch (err) { // eslint-disable-line
99
+ throw new error_1.default('FAILED_SET_ENV', `Failed to set "${envVarName}" to "${envVarValue}": ${err.stderr}`);
100
+ }
101
+ // When setting environment variables through the registry, they will not be recognized immediately.
102
+ // There is a workaround though, to set at least one environment variable with `setx`.
103
+ // We have some redundancy here because we run it for each env var.
104
+ // It would be enough also to run it only for the last changed env var.
105
+ // Read more at: https://bit.ly/39OlQnF
106
+ await (0, execa_1.default)('setx', [envVarName, envVarValue], EXEC_OPTS);
103
107
  }
104
108
  //# 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": "1.1.39",
3
+ "version": "1.1.42",
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.6.53",
26
+ "@pnpm/cli-utils": "0.6.55",
27
27
  "@pnpm/error": "2.1.0",
28
28
  "execa": "npm:safe-execa@^0.1.1",
29
29
  "render-help": "^1.0.1",
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "devDependencies": {
37
37
  "@pnpm/logger": "^4.0.0",
38
- "@pnpm/plugin-commands-setup": "1.1.39",
38
+ "@pnpm/plugin-commands-setup": "1.1.42",
39
39
  "@pnpm/prepare": "0.0.37",
40
40
  "@types/string.prototype.matchall": "^4.0.1"
41
41
  },
@@ -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"}