@aws/nx-plugin 0.90.0 → 0.91.0

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.
Files changed (42) hide show
  1. package/generators.json +8 -0
  2. package/package.json +1 -1
  3. package/src/connection/generator.d.ts +2 -2
  4. package/src/connection/generator.js +19 -16
  5. package/src/connection/generator.js.map +1 -1
  6. package/src/mcp-server/generator-info.d.ts +8 -4
  7. package/src/mcp-server/generator-info.js +63 -15
  8. package/src/mcp-server/generator-info.js.map +1 -1
  9. package/src/preset/__snapshots__/generator.spec.ts.snap +1 -3
  10. package/src/ts/nx-generator/generator.d.ts +1 -1
  11. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +3 -1
  12. package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +1 -1
  13. package/src/ts/strands-agent/react-connection/__snapshots__/generator.spec.ts.snap +376 -0
  14. package/src/ts/strands-agent/react-connection/files/src/components/__agentNameClassName__AgentClientProvider.tsx.template +117 -0
  15. package/src/ts/strands-agent/react-connection/files/src/hooks/use__agentNameClassName__Agent.tsx.template +18 -0
  16. package/src/ts/strands-agent/react-connection/generator.d.ts +10 -0
  17. package/src/ts/strands-agent/react-connection/generator.js +129 -0
  18. package/src/ts/strands-agent/react-connection/generator.js.map +1 -0
  19. package/src/ts/strands-agent/react-connection/schema.d.ts +15 -0
  20. package/src/ts/strands-agent/react-connection/schema.json +26 -0
  21. package/src/ts/strands-agent/react-connection/serve-local.d.ts +17 -0
  22. package/src/ts/strands-agent/react-connection/serve-local.js +45 -0
  23. package/src/ts/strands-agent/react-connection/serve-local.js.map +1 -0
  24. package/src/utils/ast.d.ts +3 -23
  25. package/src/utils/ast.js +21 -152
  26. package/src/utils/ast.js.map +1 -1
  27. package/src/utils/commands.d.ts +33 -0
  28. package/src/utils/commands.js +55 -0
  29. package/src/utils/commands.js.map +1 -0
  30. package/src/utils/config/__snapshots__/utils.spec.ts.snap +88 -0
  31. package/src/utils/config/utils.d.ts +2 -1
  32. package/src/utils/config/utils.js +47 -29
  33. package/src/utils/config/utils.js.map +1 -1
  34. package/src/utils/generators.d.ts +13 -0
  35. package/src/utils/generators.js +26 -0
  36. package/src/utils/generators.js.map +1 -0
  37. package/src/utils/nx.d.ts +4 -10
  38. package/src/utils/nx.js +5 -19
  39. package/src/utils/nx.js.map +1 -1
  40. package/src/utils/pkg-manager.d.ts +2 -22
  41. package/src/utils/pkg-manager.js +2 -7
  42. package/src/utils/pkg-manager.js.map +1 -1
@@ -1,15 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateAwsNxPluginConfig = exports.readAwsNxPluginConfig = exports.ensureAwsNxPluginConfig = exports.AWS_NX_PLUGIN_CONFIG_FILE_NAME = void 0;
4
- const tslib_1 = require("tslib");
5
4
  /**
6
5
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
6
  * SPDX-License-Identifier: Apache-2.0
8
7
  */
9
8
  const devkit_1 = require("@nx/devkit");
10
- const ts = tslib_1.__importStar(require("typescript"));
11
9
  const ast_1 = require("../ast");
12
- const typescript_1 = require("typescript");
13
10
  const format_1 = require("../format");
14
11
  const js_1 = require("../js");
15
12
  exports.AWS_NX_PLUGIN_CONFIG_FILE_NAME = 'aws-nx-plugin.config.mts';
@@ -36,36 +33,57 @@ const readAwsNxPluginConfig = async (tree) => {
36
33
  return await (0, js_1.importTypeScriptModule)(configTs);
37
34
  };
38
35
  exports.readAwsNxPluginConfig = readAwsNxPluginConfig;
36
+ const PLACEHOLDER = '"__PLACEHOLDER__"';
37
+ /**
38
+ * Use GritQL to set a top-level property in the export default object,
39
+ * then substitute the placeholder with the JSON-serialized value.
40
+ * Preserves all other properties (including JS expressions) untouched.
41
+ */
42
+ const setConfigProperty = async (tree, filePath, key, value) => {
43
+ const json = JSON.stringify(value);
44
+ // Check if the property already exists using a named metavariable
45
+ // to avoid ambiguity with anonymous $_ in nested where clauses
46
+ const existsInSatisfies = await (0, ast_1.matchGritQL)(tree, filePath, `\`${key}: $val\` where { $val <: within \`export default $_ satisfies $_\` }`);
47
+ const existsInPlain = !existsInSatisfies &&
48
+ (await (0, ast_1.matchGritQL)(tree, filePath, `\`${key}: $val\` where { $val <: within \`export default $_\` }`));
49
+ if (existsInSatisfies || existsInPlain) {
50
+ // Replace only this property's value, scoped to the export default
51
+ const within = existsInSatisfies
52
+ ? `within \`export default $_ satisfies $_\``
53
+ : `within \`export default $_\``;
54
+ await (0, ast_1.applyGritQL)(tree, filePath, `\`${key}: $old\` => \`${key}: ${PLACEHOLDER}\` where { $old <: ${within} }`);
55
+ }
56
+ else {
57
+ // Add the new property using GritQL's += (accumulate) operator.
58
+ // For non-empty objects, += appends correctly without double commas.
59
+ // For empty objects, += fails so we fall back to a direct replacement.
60
+ let added = await (0, ast_1.applyGritQL)(tree, filePath, `\`export default { $props } satisfies $type\` where { $props += \`, ${key}: ${PLACEHOLDER}\` }`);
61
+ if (!added) {
62
+ added = await (0, ast_1.applyGritQL)(tree, filePath, `\`export default { } satisfies $type\` => \`export default { ${key}: ${PLACEHOLDER} } satisfies $type\``);
63
+ }
64
+ if (!added) {
65
+ added = await (0, ast_1.applyGritQL)(tree, filePath, `\`export default { $props }\` where { $props += \`, ${key}: ${PLACEHOLDER}\` }`);
66
+ }
67
+ if (!added) {
68
+ await (0, ast_1.applyGritQL)(tree, filePath, `\`export default { }\` => \`export default { ${key}: ${PLACEHOLDER} }\``);
69
+ }
70
+ }
71
+ // Substitute the placeholder with the actual JSON value
72
+ const content = tree.read(filePath).toString();
73
+ tree.write(filePath, content.replace(PLACEHOLDER, json));
74
+ };
39
75
  /**
40
76
  * Update the aws nx plugin config file.
41
- * Undefined top level keys in the config update will be untouched, otherwise config is replaced
77
+ * Only the specified top-level keys are replaced; all other properties
78
+ * (including those containing JS expressions) are left untouched in source.
42
79
  */
43
80
  const updateAwsNxPluginConfig = async (tree, configUpdate) => {
44
- // Replace the default export
45
- (0, ast_1.replace)(tree, exports.AWS_NX_PLUGIN_CONFIG_FILE_NAME, 'ExportAssignment ObjectLiteralExpression', (node) => {
46
- const existingObj = node;
47
- const existingProps = new Map();
48
- existingObj.properties.forEach((prop) => {
49
- if (ts.isPropertyAssignment(prop)) {
50
- existingProps.set(prop.name.getText(), prop);
51
- }
52
- });
53
- const properties = [];
54
- for (const [key, value] of Object.entries(configUpdate)) {
55
- properties.push(typescript_1.factory.createPropertyAssignment(key, (0, ast_1.jsonToAst)(value)));
56
- }
57
- existingObj.properties.forEach((prop) => {
58
- if (ts.isPropertyAssignment(prop)) {
59
- const name = prop.name.getText();
60
- if (configUpdate[name] === undefined) {
61
- properties.push(prop);
62
- }
63
- }
64
- });
65
- return typescript_1.factory.createObjectLiteralExpression(properties, true);
66
- });
67
- // Format the config nicely after an update
68
- await (0, format_1.formatFilesInSubtree)(tree, exports.AWS_NX_PLUGIN_CONFIG_FILE_NAME);
81
+ const filePath = exports.AWS_NX_PLUGIN_CONFIG_FILE_NAME;
82
+ for (const [key, value] of Object.entries(configUpdate)) {
83
+ await setConfigProperty(tree, filePath, key, value);
84
+ }
85
+ // Prettier formats the result into properly indented TypeScript
86
+ await (0, format_1.formatFilesInSubtree)(tree, filePath);
69
87
  };
70
88
  exports.updateAwsNxPluginConfig = updateAwsNxPluginConfig;
71
89
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/config/utils.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAAoE;AAEpE,uDAAiC;AACjC,gCAA4C;AAC5C,2CAAqC;AACrC,sCAAiD;AACjD,8BAA+C;AAElC,QAAA,8BAA8B,GAAG,0BAA0B,CAAC;AAEzE;;GAEG;AACI,MAAM,uBAAuB,GAAG,KAAK,EAC1C,IAAU,EACkB,EAAE;IAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,sCAA8B,CAAC,EAAE,CAAC;QACjD,0DAA0D;QAC1D,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,oEAAoE;IACpE,OAAO,MAAM,IAAA,6BAAqB,EAAC,IAAI,CAAE,CAAC;AAC5C,CAAC,CAAC;AATW,QAAA,uBAAuB,2BASlC;AAEF;;GAEG;AACI,MAAM,qBAAqB,GAAG,KAAK,EACxC,IAAU,EAC8B,EAAE;IAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,sCAA8B,CAAC,EAAE,CAAC;QACjD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,sCAA8B,EAAE,OAAO,CAAC,CAAC;IACpE,OAAO,MAAM,IAAA,2BAAsB,EAAC,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAC;AARW,QAAA,qBAAqB,yBAQhC;AAEF;;;GAGG;AACI,MAAM,uBAAuB,GAAG,KAAK,EAC1C,IAAU,EACV,YAAwC,EACzB,EAAE;IACjB,6BAA6B;IAC7B,IAAA,aAAO,EACL,IAAI,EACJ,sCAA8B,EAC9B,0CAA0C,EAC1C,CAAC,IAAI,EAAE,EAAE;QACP,MAAM,WAAW,GAAG,IAAkC,CAAC;QAEvD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAiC,CAAC;QAC/D,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,IAAI,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAA4B,EAAE,CAAC;QAE/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACxD,UAAU,CAAC,IAAI,CACb,oBAAO,CAAC,wBAAwB,CAC9B,GAAG,EACH,IAAA,eAAS,EAAC,KAAK,CAAkB,CAClC,CACF,CAAC;QACJ,CAAC;QAED,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,IAAI,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBACrC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,oBAAO,CAAC,6BAA6B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC,CACF,CAAC;IAEF,2CAA2C;IAC3C,MAAM,IAAA,6BAAoB,EAAC,IAAI,EAAE,sCAA8B,CAAC,CAAC;AACnE,CAAC,CAAC;AA7CW,QAAA,uBAAuB,2BA6ClC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/config/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export interface GeneratorInfo {
2
+ readonly id: string;
3
+ readonly metric: string;
4
+ readonly resolvedFactoryPath: string;
5
+ readonly resolvedSchemaPath: string;
6
+ readonly hidden?: boolean;
7
+ readonly description: string;
8
+ readonly guidePages?: string[];
9
+ }
10
+ /**
11
+ * Build the list of generator info, resolving schema/factory paths relative to the given base directory.
12
+ */
13
+ export declare const buildGeneratorInfoList: (baseDir: string) => GeneratorInfo[];
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildGeneratorInfoList = void 0;
4
+ const tslib_1 = require("tslib");
5
+ /**
6
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
+ * SPDX-License-Identifier: Apache-2.0
8
+ */
9
+ const generators_json_1 = tslib_1.__importDefault(require("../../generators.json"));
10
+ const path = tslib_1.__importStar(require("path"));
11
+ /**
12
+ * Build the list of generator info, resolving schema/factory paths relative to the given base directory.
13
+ */
14
+ const buildGeneratorInfoList = (baseDir) => Object.entries(generators_json_1.default.generators).map(([id, info]) => ({
15
+ id,
16
+ metric: info.metric,
17
+ resolvedFactoryPath: path.resolve(baseDir, info.factory),
18
+ resolvedSchemaPath: path.resolve(baseDir, info.schema),
19
+ description: info.description,
20
+ ...('hidden' in info && info.hidden ? { hidden: info.hidden } : {}),
21
+ ...('guidePages' in info && info.guidePages
22
+ ? { guidePages: info.guidePages }
23
+ : {}),
24
+ }));
25
+ exports.buildGeneratorInfoList = buildGeneratorInfoList;
26
+ //# sourceMappingURL=generators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generators.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/generators.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,oFAAmD;AACnD,mDAA6B;AAY7B;;GAEG;AACI,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAmB,EAAE,CACzE,MAAM,CAAC,OAAO,CAAE,yBAAsC,CAAC,UAAU,CAAC,CAAC,GAAG,CACpE,CAAC,CAAC,EAAE,EAAE,IAAI,CAAgB,EAAE,EAAE,CAAC,CAAC;IAC9B,EAAE;IACF,MAAM,EAAE,IAAI,CAAC,MAAM;IACnB,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;IACxD,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;IACtD,WAAW,EAAE,IAAI,CAAC,WAAW;IAC7B,GAAG,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,GAAG,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU;QACzC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;QACjC,CAAC,CAAC,EAAE,CAAC;CACR,CAAC,CACH,CAAC;AAbS,QAAA,sBAAsB,0BAa/B"}
package/src/utils/nx.d.ts CHANGED
@@ -3,20 +3,14 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { ProjectConfiguration, Tree } from '@nx/devkit';
6
- export interface NxGeneratorInfo {
7
- readonly id: string;
8
- readonly metric: string;
9
- readonly resolvedFactoryPath: string;
10
- readonly resolvedSchemaPath: string;
11
- readonly hidden?: boolean;
12
- readonly description: string;
13
- readonly guidePages?: string[];
14
- }
6
+ import { type GeneratorInfo } from './generators';
7
+ export type NxGeneratorInfo = GeneratorInfo;
8
+ export { buildGeneratorInfoList } from './generators';
15
9
  /**
16
10
  * List Nx Plugin for AWS generators
17
11
  * @param includeHidden include hidden generators (default false)
18
12
  */
19
- export declare const listGenerators: (includeHidden?: boolean) => NxGeneratorInfo[];
13
+ export declare const listGenerators: (includeHidden?: boolean) => GeneratorInfo[];
20
14
  /**
21
15
  * Return generator information. Call this from a generator method with __filename
22
16
  */
package/src/utils/nx.js CHANGED
@@ -1,34 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addDependencyToTargetIfNotPresent = exports.addComponentGeneratorMetadata = exports.addGeneratorMetadata = exports.readProjectConfigurationUnqualified = exports.getPackageVersion = exports.getGeneratorInfo = exports.listGenerators = void 0;
3
+ exports.addDependencyToTargetIfNotPresent = exports.addComponentGeneratorMetadata = exports.addGeneratorMetadata = exports.readProjectConfigurationUnqualified = exports.getPackageVersion = exports.getGeneratorInfo = exports.listGenerators = exports.buildGeneratorInfoList = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  /**
6
6
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
7
  * SPDX-License-Identifier: Apache-2.0
8
8
  */
9
9
  const devkit_1 = require("@nx/devkit");
10
- const generators_json_1 = tslib_1.__importDefault(require("../../generators.json"));
11
10
  const package_json_1 = tslib_1.__importDefault(require("../../package.json"));
12
11
  const path = tslib_1.__importStar(require("path"));
13
12
  const npm_scope_1 = require("./npm-scope");
14
13
  const names_1 = require("./names");
15
- const GENERATORS = Object.entries(generators_json_1.default.generators).map(([id, info]) => ({
16
- id,
17
- metric: info.metric,
18
- resolvedFactoryPath: path.resolve(__dirname, '..', '..', info.factory),
19
- resolvedSchemaPath: path.resolve(__dirname, '..', '..', info.schema),
20
- description: info.description,
21
- ...('hidden' in info && info.hidden
22
- ? {
23
- hidden: info.hidden,
24
- }
25
- : {}),
26
- ...('guidePages' in info && info.guidePages
27
- ? {
28
- guidePages: info.guidePages,
29
- }
30
- : {}),
31
- }));
14
+ const generators_1 = require("./generators");
15
+ var generators_2 = require("./generators");
16
+ Object.defineProperty(exports, "buildGeneratorInfoList", { enumerable: true, get: function () { return generators_2.buildGeneratorInfoList; } });
17
+ const GENERATORS = (0, generators_1.buildGeneratorInfoList)(path.resolve(__dirname, '..', '..'));
32
18
  /**
33
19
  * List Nx Plugin for AWS generators
34
20
  * @param includeHidden include hidden generators (default false)
@@ -1 +1 @@
1
- {"version":3,"file":"nx.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/nx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nx.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/nx.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,5 @@
1
- /**
2
- * Package manager command helpers for use in generated project files.
3
- *
4
- * These follow the same conventions as the documentation site components:
5
- * - `exec`: prefix for running local binaries (e.g. `npx nx`, `pnpm nx`, `bunx nx`)
6
- * - `run`: prefix for running package.json scripts (e.g. `npm run build`, `pnpm build`)
7
- *
8
- * We maintain our own mappings rather than using Nx's `getPackageManagerCommand()`
9
- * because:
10
- * - pnpm `exec` returns `pnpm exec` but convention is `pnpm`
11
- * - bun `exec` returns `bun` but convention is `bunx`
12
- * - bun `run()` appends `-- undefined` when called without args
13
- *
14
- * @see docs/src/components/package-manager-exec-command.astro
15
- * @see docs/src/components/package-manager-short-command.astro
16
- */
17
- export interface PackageManagerDisplayCommands {
18
- /** Prefix for running local binaries: npx, pnpm, yarn, bunx */
19
- exec: string;
20
- /** Prefix for running package.json scripts: `npm run`, pnpm, yarn, bun */
21
- run: string;
22
- }
1
+ import { type PackageManagerDisplayCommands } from './commands';
2
+ export type { PackageManagerDisplayCommands };
23
3
  /**
24
4
  * Returns display-friendly command prefixes for the detected package manager.
25
5
  */
@@ -6,15 +6,10 @@ exports.getPackageManagerDisplayCommands = void 0;
6
6
  * SPDX-License-Identifier: Apache-2.0
7
7
  */
8
8
  const devkit_1 = require("@nx/devkit");
9
- const COMMANDS = {
10
- npm: { exec: 'npx', run: 'npm run' },
11
- pnpm: { exec: 'pnpm', run: 'pnpm' },
12
- yarn: { exec: 'yarn', run: 'yarn' },
13
- bun: { exec: 'bunx', run: 'bun' },
14
- };
9
+ const commands_1 = require("./commands");
15
10
  /**
16
11
  * Returns display-friendly command prefixes for the detected package manager.
17
12
  */
18
- const getPackageManagerDisplayCommands = (pm = (0, devkit_1.detectPackageManager)()) => COMMANDS[pm] ?? COMMANDS['npm'];
13
+ const getPackageManagerDisplayCommands = (pm = (0, devkit_1.detectPackageManager)()) => commands_1.PACKAGE_MANAGER_COMMANDS[pm] ?? commands_1.PACKAGE_MANAGER_COMMANDS['npm'];
19
14
  exports.getPackageManagerDisplayCommands = getPackageManagerDisplayCommands;
20
15
  //# sourceMappingURL=pkg-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pkg-manager.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/pkg-manager.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAAkD;AAyBlD,MAAM,QAAQ,GAAkD;IAC9D,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE;IACpC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;IACnC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;IACnC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE;CAClC,CAAC;AAEF;;GAEG;AACI,MAAM,gCAAgC,GAAG,CAC9C,EAAE,GAAG,IAAA,6BAAoB,GAAE,EACI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;AAFvD,QAAA,gCAAgC,oCAEuB"}
1
+ {"version":3,"file":"pkg-manager.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/pkg-manager.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAAkD;AAClD,yCAGoB;AAIpB;;GAEG;AACI,MAAM,gCAAgC,GAAG,CAC9C,EAAE,GAAG,IAAA,6BAAoB,GAAE,EACI,EAAE,CACjC,mCAAwB,CAAC,EAAE,CAAC,IAAI,mCAAwB,CAAC,KAAK,CAAC,CAAC;AAHrD,QAAA,gCAAgC,oCAGqB"}