@pnpm/plugin-commands-config 1000.3.2 → 1000.3.4

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,8 @@
1
+ import { GLOBAL_CONFIG_YAML_FILENAME, WORKSPACE_MANIFEST_FILENAME } from '@pnpm/constants';
2
+ import { type ConfigCommandOptions } from './ConfigCommandOptions.js';
3
+ export type ConfigFileName = 'rc' | '.npmrc' | typeof GLOBAL_CONFIG_YAML_FILENAME | typeof WORKSPACE_MANIFEST_FILENAME;
4
+ export interface ConfigFilePathInfo {
5
+ configDir: string;
6
+ configFileName: ConfigFileName;
7
+ }
8
+ export declare function getConfigFileInfo(key: string, opts: Pick<ConfigCommandOptions, 'global' | 'configDir' | 'dir'>): ConfigFilePathInfo;
@@ -0,0 +1,20 @@
1
+ import kebabCase from 'lodash.kebabcase';
2
+ import { isIniConfigKey } from '@pnpm/config';
3
+ import { GLOBAL_CONFIG_YAML_FILENAME, WORKSPACE_MANIFEST_FILENAME } from '@pnpm/constants';
4
+ export function getConfigFileInfo(key, opts) {
5
+ key = kebabCase(key);
6
+ const configDir = opts.global ? opts.configDir : opts.dir;
7
+ if (isIniConfigKey(key)) {
8
+ // NOTE: The following code no longer does what the merged PR at <https://github.com/pnpm/pnpm/pull/10073> wants to do,
9
+ // but considering the settings are now clearly divided into 2 separate categories, it should no longer be relevant.
10
+ // TODO: Auth, network, and proxy settings should belong only to INI files.
11
+ // Add more settings to `isIniConfigKey` to make it complete.
12
+ const configFileName = opts.global ? 'rc' : '.npmrc';
13
+ return { configDir, configFileName };
14
+ }
15
+ else {
16
+ const configFileName = opts.global ? GLOBAL_CONFIG_YAML_FILENAME : WORKSPACE_MANIFEST_FILENAME;
17
+ return { configDir, configFileName };
18
+ }
19
+ }
20
+ //# sourceMappingURL=getConfigFileInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getConfigFileInfo.js","sourceRoot":"","sources":["../src/getConfigFileInfo.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAc1F,MAAM,UAAU,iBAAiB,CAAE,GAAW,EAAE,IAAgE;IAC9G,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;IAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;IAEzD,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,uHAAuH;QACvH,0HAA0H;QAC1H,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;QACpD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAAA;IACtC,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,2BAA2B,CAAA;QAC9F,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAAA;IACtC,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ export interface ProcessConfigOptions {
2
+ json?: boolean;
3
+ }
4
+ export declare function processConfig(rawConfig: Record<string, unknown>): Record<string, unknown>;
@@ -0,0 +1,16 @@
1
+ import camelcase from 'camelcase';
2
+ import { sortDirectKeys } from '@pnpm/object.key-sorting';
3
+ import { censorProtectedSettings } from './protectedSettings.js';
4
+ const shouldChangeCase = (key) => key[0] !== '@' && !key.startsWith('//');
5
+ function camelCaseConfig(rawConfig) {
6
+ const result = {};
7
+ for (const key in rawConfig) {
8
+ const targetKey = shouldChangeCase(key) ? camelcase(key) : key;
9
+ result[targetKey] = rawConfig[key];
10
+ }
11
+ return result;
12
+ }
13
+ export function processConfig(rawConfig) {
14
+ return camelCaseConfig(censorProtectedSettings(sortDirectKeys(rawConfig)));
15
+ }
16
+ //# sourceMappingURL=processConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processConfig.js","sourceRoot":"","sources":["../src/processConfig.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAEhE,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AAE1F,SAAS,eAAe,CAAE,SAAkC;IAC1D,MAAM,MAAM,GAA4B,EAAE,CAAA;IAC1C,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QAC9D,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAMD,MAAM,UAAU,aAAa,CAAE,SAAkC;IAC/D,OAAO,eAAe,CAAC,uBAAuB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAC5E,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Protected settings are settings which `npm config get` refuses to print. */
2
+ export declare const isSettingProtected: (key: string) => boolean;
3
+ /** Hide all protected settings by setting them to `(protected)`. */
4
+ export declare function censorProtectedSettings(config: Record<string, unknown>): Record<string, unknown>;
@@ -0,0 +1,21 @@
1
+ const PROTECTED_SUFFICES = [
2
+ '_auth',
3
+ '_authToken',
4
+ 'username',
5
+ '_password',
6
+ ];
7
+ /** Protected settings are settings which `npm config get` refuses to print. */
8
+ export const isSettingProtected = (key) => key.startsWith('//')
9
+ ? PROTECTED_SUFFICES.some(suffix => key.endsWith(`:${suffix}`))
10
+ : PROTECTED_SUFFICES.includes(key);
11
+ /** Hide all protected settings by setting them to `(protected)`. */
12
+ export function censorProtectedSettings(config) {
13
+ config = { ...config };
14
+ for (const key in config) {
15
+ if (isSettingProtected(key)) {
16
+ config[key] = '(protected)';
17
+ }
18
+ }
19
+ return config;
20
+ }
21
+ //# sourceMappingURL=protectedSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protectedSettings.js","sourceRoot":"","sources":["../src/protectedSettings.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG;IACzB,OAAO;IACP,YAAY;IACZ,UAAU;IACV,WAAW;CACZ,CAAA;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAW,EAAE,CACzD,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;IAClB,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAEtC,oEAAoE;AACpE,MAAM,UAAU,uBAAuB,CAAE,MAA+B;IACtE,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;IACtB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAA;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pnpm/plugin-commands-config",
3
- "version": "1000.3.2",
3
+ "version": "1000.3.4",
4
4
  "description": "Commands for reading and writing settings to/from config files",
5
5
  "keywords": [
6
6
  "pnpm",
@@ -31,13 +31,13 @@
31
31
  "read-ini-file": "4.0.0",
32
32
  "render-help": "^1.0.3",
33
33
  "write-ini-file": "4.0.1",
34
- "@pnpm/cli-utils": "1001.2.11",
35
- "@pnpm/config": "1004.6.1",
34
+ "@pnpm/cli-utils": "1001.2.13",
36
35
  "@pnpm/error": "1000.0.5",
37
36
  "@pnpm/object.key-sorting": "1000.0.1",
38
- "@pnpm/object.property-path": "1000.0.1",
39
37
  "@pnpm/run-npm": "1000.0.0",
40
- "@pnpm/workspace.manifest-writer": "1001.0.6"
38
+ "@pnpm/object.property-path": "1000.0.1",
39
+ "@pnpm/workspace.manifest-writer": "1001.0.6",
40
+ "@pnpm/config": "1004.7.0"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "@pnpm/logger": ">=1001.0.0 <1002.0.0"
@@ -48,7 +48,7 @@
48
48
  "@types/lodash.kebabcase": "4.1.9",
49
49
  "read-yaml-file": "^2.1.0",
50
50
  "@pnpm/logger": "1001.0.1",
51
- "@pnpm/plugin-commands-config": "1000.3.2",
51
+ "@pnpm/plugin-commands-config": "1000.3.4",
52
52
  "@pnpm/prepare": "1000.0.7"
53
53
  },
54
54
  "engines": {