@aws/nx-plugin 0.88.1 → 0.90.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 (186) hide show
  1. package/LICENSE-THIRD-PARTY +688 -54
  2. package/bin/aws-nx-mcp.js +3 -4
  3. package/bin/aws-nx-mcp.js.map +1 -1
  4. package/package.json +2 -2
  5. package/sdk/utils/ast.d.ts +2 -1
  6. package/sdk/utils/ast.js +4 -2
  7. package/sdk/utils/ast.js.map +1 -1
  8. package/src/connection/generator.js +20 -26
  9. package/src/connection/generator.js.map +1 -1
  10. package/src/connection/serve-local.js +7 -9
  11. package/src/connection/serve-local.js.map +1 -1
  12. package/src/infra/app/generator.js +152 -143
  13. package/src/infra/app/generator.js.map +1 -1
  14. package/src/license/config.js +90 -79
  15. package/src/license/config.js.map +1 -1
  16. package/src/license/generator.js +20 -15
  17. package/src/license/generator.js.map +1 -1
  18. package/src/license/sync/generator.js +71 -77
  19. package/src/license/sync/generator.js.map +1 -1
  20. package/src/license/sync/project-file-sync.js +13 -6
  21. package/src/license/sync/project-file-sync.js.map +1 -1
  22. package/src/mcp-server/generator-info.js +28 -34
  23. package/src/mcp-server/generator-info.js.map +1 -1
  24. package/src/mcp-server/index.js +3 -4
  25. package/src/mcp-server/index.js.map +1 -1
  26. package/src/mcp-server/tools/general-guidance.js +8 -11
  27. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  28. package/src/mcp-server/tools/generator-guide.js +3 -4
  29. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  30. package/src/open-api/ts-client/generator.js +8 -8
  31. package/src/open-api/ts-client/generator.js.map +1 -1
  32. package/src/open-api/ts-hooks/generator.js +4 -4
  33. package/src/open-api/ts-hooks/generator.js.map +1 -1
  34. package/src/open-api/ts-metadata/generator.js +4 -4
  35. package/src/open-api/ts-metadata/generator.js.map +1 -1
  36. package/src/open-api/utils/codegen-data/languages.js +1 -2
  37. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  38. package/src/open-api/utils/codegen-data.js +90 -92
  39. package/src/open-api/utils/codegen-data.js.map +1 -1
  40. package/src/open-api/utils/normalise.js +34 -34
  41. package/src/open-api/utils/normalise.js.map +1 -1
  42. package/src/open-api/utils/parse.js +3 -3
  43. package/src/open-api/utils/parse.js.map +1 -1
  44. package/src/open-api/utils/refs.js +1 -1
  45. package/src/open-api/utils/refs.js.map +1 -1
  46. package/src/preset/__snapshots__/generator.spec.ts.snap +2 -1
  47. package/src/preset/generator.js +51 -24
  48. package/src/preset/generator.js.map +1 -1
  49. package/src/py/fast-api/generator.js +18 -13
  50. package/src/py/fast-api/generator.js.map +1 -1
  51. package/src/py/fast-api/react/generator.js +8 -10
  52. package/src/py/fast-api/react/generator.js.map +1 -1
  53. package/src/py/fast-api/react/open-api.js +15 -7
  54. package/src/py/fast-api/react/open-api.js.map +1 -1
  55. package/src/py/lambda-function/generator.js +18 -16
  56. package/src/py/lambda-function/generator.js.map +1 -1
  57. package/src/py/mcp-server/generator.js +36 -24
  58. package/src/py/mcp-server/generator.js.map +1 -1
  59. package/src/py/project/generator.js +36 -24
  60. package/src/py/project/generator.js.map +1 -1
  61. package/src/py/strands-agent/generator.js +21 -16
  62. package/src/py/strands-agent/generator.js.map +1 -1
  63. package/src/py/strands-agent/mcp-connection/generator.js +30 -32
  64. package/src/py/strands-agent/mcp-connection/generator.js.map +1 -1
  65. package/src/smithy/project/generator.js +6 -8
  66. package/src/smithy/project/generator.js.map +1 -1
  67. package/src/smithy/react-connection/generator.js +14 -17
  68. package/src/smithy/react-connection/generator.js.map +1 -1
  69. package/src/smithy/ts/api/generator.js +19 -13
  70. package/src/smithy/ts/api/generator.js.map +1 -1
  71. package/src/terraform/project/generator.js +191 -189
  72. package/src/terraform/project/generator.js.map +1 -1
  73. package/src/trpc/backend/generator.js +95 -83
  74. package/src/trpc/backend/generator.js.map +1 -1
  75. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +12 -9
  76. package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +1 -1
  77. package/src/trpc/react/files/src/hooks/use__apiNameClassName__.tsx.template +3 -3
  78. package/src/trpc/react/generator.js +75 -76
  79. package/src/trpc/react/generator.js.map +1 -1
  80. package/src/ts/lambda-function/generator.js +16 -13
  81. package/src/ts/lambda-function/generator.js.map +1 -1
  82. package/src/ts/lib/eslint.d.ts +1 -1
  83. package/src/ts/lib/eslint.js +42 -44
  84. package/src/ts/lib/eslint.js.map +1 -1
  85. package/src/ts/lib/generator.js +48 -26
  86. package/src/ts/lib/generator.js.map +1 -1
  87. package/src/ts/lib/grit/eslint-dependency-checks-warn.grit +1 -0
  88. package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +7 -0
  89. package/src/ts/lib/ts-project-utils.js +54 -31
  90. package/src/ts/lib/ts-project-utils.js.map +1 -1
  91. package/src/ts/lib/vitest.d.ts +1 -1
  92. package/src/ts/lib/vitest.js +17 -19
  93. package/src/ts/lib/vitest.js.map +1 -1
  94. package/src/ts/mcp-server/generator.js +23 -18
  95. package/src/ts/mcp-server/generator.js.map +1 -1
  96. package/src/ts/nx-generator/generator.js +40 -22
  97. package/src/ts/nx-generator/generator.js.map +1 -1
  98. package/src/ts/nx-plugin/generator.js +14 -11
  99. package/src/ts/nx-plugin/generator.js.map +1 -1
  100. package/src/ts/nx-plugin/utils.js +11 -10
  101. package/src/ts/nx-plugin/utils.js.map +1 -1
  102. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +33 -23
  103. package/src/ts/react-website/app/generator.js +257 -255
  104. package/src/ts/react-website/app/generator.js.map +1 -1
  105. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +5 -7
  106. package/src/ts/react-website/cognito-auth/generator.js +68 -92
  107. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  108. package/src/ts/react-website/cognito-auth/grit/app-layout-use-auth.grit +10 -0
  109. package/src/ts/react-website/cognito-auth/grit/cognito-auth-wrapper.grit +3 -0
  110. package/src/ts/react-website/cognito-auth/utils.js +14 -21
  111. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  112. package/src/ts/react-website/runtime-config/generator.js +35 -34
  113. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  114. package/src/ts/strands-agent/generator.js +19 -14
  115. package/src/ts/strands-agent/generator.js.map +1 -1
  116. package/src/ts/strands-agent/mcp-connection/generator.js +15 -17
  117. package/src/ts/strands-agent/mcp-connection/generator.js.map +1 -1
  118. package/src/ts/sync/generator.js +36 -14
  119. package/src/ts/sync/generator.js.map +1 -1
  120. package/src/utils/agent-connection/agent-connection.js +62 -68
  121. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  122. package/src/utils/agent-core-constructs/agent-core-constructs.js +14 -16
  123. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  124. package/src/utils/api-constructs/api-constructs.js +8 -10
  125. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  126. package/src/utils/api-constructs/open-api-metadata.js +1 -2
  127. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  128. package/src/utils/ast/website.js +66 -124
  129. package/src/utils/ast/website.js.map +1 -1
  130. package/src/utils/ast.d.ts +2 -2
  131. package/src/utils/ast.js +23 -26
  132. package/src/utils/ast.js.map +1 -1
  133. package/src/utils/bundle/bundle.d.ts +1 -1
  134. package/src/utils/bundle/bundle.js +37 -82
  135. package/src/utils/bundle/bundle.js.map +1 -1
  136. package/src/utils/config/utils.js +9 -9
  137. package/src/utils/config/utils.js.map +1 -1
  138. package/src/utils/connection/open-api/react.js +28 -23
  139. package/src/utils/connection/open-api/react.js.map +1 -1
  140. package/src/utils/format.js +50 -47
  141. package/src/utils/format.js.map +1 -1
  142. package/src/utils/fs.js +1 -0
  143. package/src/utils/fs.js.map +1 -1
  144. package/src/utils/function-constructs/function-constructs.js +16 -12
  145. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  146. package/src/utils/git.js +2 -3
  147. package/src/utils/git.js.map +1 -1
  148. package/src/utils/iac.js +4 -6
  149. package/src/utils/iac.js.map +1 -1
  150. package/src/utils/identity-constructs/identity-constructs.js +6 -7
  151. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  152. package/src/utils/js.js +7 -8
  153. package/src/utils/js.js.map +1 -1
  154. package/src/utils/metrics.js +12 -13
  155. package/src/utils/metrics.js.map +1 -1
  156. package/src/utils/mock-project-graph.js +3 -6
  157. package/src/utils/mock-project-graph.js.map +1 -1
  158. package/src/utils/names.js +8 -3
  159. package/src/utils/names.js.map +1 -1
  160. package/src/utils/npm-scope.js +1 -1
  161. package/src/utils/npm-scope.js.map +1 -1
  162. package/src/utils/nx.js +42 -19
  163. package/src/utils/nx.js.map +1 -1
  164. package/src/utils/nxlv-python.d.ts +124 -5
  165. package/src/utils/nxlv-python.js +5 -14
  166. package/src/utils/nxlv-python.js.map +1 -1
  167. package/src/utils/pkg-manager.js +1 -1
  168. package/src/utils/pkg-manager.js.map +1 -1
  169. package/src/utils/port.js +4 -6
  170. package/src/utils/port.js.map +1 -1
  171. package/src/utils/py.js +12 -12
  172. package/src/utils/py.js.map +1 -1
  173. package/src/utils/shared-constructs.js +67 -72
  174. package/src/utils/shared-constructs.js.map +1 -1
  175. package/src/utils/shared-infra-config.js +24 -26
  176. package/src/utils/shared-infra-config.js.map +1 -1
  177. package/src/utils/shared-scripts.js +24 -26
  178. package/src/utils/shared-scripts.js.map +1 -1
  179. package/src/utils/shared-shadcn.js +71 -67
  180. package/src/utils/shared-shadcn.js.map +1 -1
  181. package/src/utils/versions.d.ts +5 -1
  182. package/src/utils/versions.js +8 -4
  183. package/src/utils/versions.js.map +1 -1
  184. package/src/utils/website-constructs/website-constructs.js +9 -11
  185. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  186. package/src/utils/bundle/__snapshots__/bundle.spec.ts.snap +0 -46
@@ -1,20 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addIgnoresToEslintConfig = exports.configureEslint = 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
9
  const versions_1 = require("../../utils/versions");
11
- const typescript_1 = require("typescript");
12
10
  const ast_1 = require("../../utils/ast");
13
11
  const nx_1 = require("../../utils/nx");
14
- const configureEslint = (tree, options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
12
+ const configureEslint = async (tree, options) => {
15
13
  // Configure the lint task
16
14
  const projectJson = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.fullyQualifiedName);
17
- (0, devkit_1.updateProjectConfiguration)(tree, options.fullyQualifiedName, Object.assign(Object.assign({}, projectJson), { targets: Object.assign(Object.assign({}, projectJson === null || projectJson === void 0 ? void 0 : projectJson.targets), { lint: {
15
+ (0, devkit_1.updateProjectConfiguration)(tree, options.fullyQualifiedName, {
16
+ ...projectJson,
17
+ targets: {
18
+ ...projectJson?.targets,
19
+ lint: {
18
20
  executor: '@nx/eslint:lint',
19
21
  cache: true,
20
22
  inputs: ['eslint'],
@@ -26,36 +28,35 @@ const configureEslint = (tree, options) => tslib_1.__awaiter(void 0, void 0, voi
26
28
  force: true,
27
29
  },
28
30
  },
29
- } }) }));
31
+ },
32
+ },
33
+ });
30
34
  (0, devkit_1.addDependenciesToPackageJson)(tree, {}, (0, versions_1.withVersions)(['prettier', 'eslint-plugin-prettier', 'jsonc-eslint-parser']));
31
35
  // Update or create eslint.config.mjs
32
36
  const eslintConfigPath = 'eslint.config.mjs';
33
37
  if (tree.exists(eslintConfigPath)) {
34
38
  // Add import if it doesn't exist
35
- yield (0, ast_1.addSingleImport)(tree, eslintConfigPath, 'eslintPluginPrettierRecommended', 'eslint-plugin-prettier/recommended');
36
- // Check if eslintPluginPrettierRecommended exists in exports array
37
- const existingPlugin = (0, ast_1.query)(tree, eslintConfigPath, 'ExportAssignment > ArrayLiteralExpression Identifier[name="eslintPluginPrettierRecommended"]');
38
- // Add eslintPluginPrettierRecommended to array if it doesn't exist
39
- if (existingPlugin.length === 0) {
40
- (0, ast_1.replace)(tree, eslintConfigPath, 'ExportAssignment > ArrayLiteralExpression', (node) => {
41
- return typescript_1.factory.createArrayLiteralExpression([
42
- typescript_1.factory.createIdentifier('eslintPluginPrettierRecommended'),
43
- ...node.elements,
44
- ], true);
45
- });
46
- }
39
+ await (0, ast_1.addSingleImport)(tree, eslintConfigPath, 'eslintPluginPrettierRecommended', 'eslint-plugin-prettier/recommended');
40
+ // Prepend eslintPluginPrettierRecommended to the exports array if not present
41
+ await (0, ast_1.applyGritQL)(tree, eslintConfigPath, 'or { `export default []` => `export default [eslintPluginPrettierRecommended]`, `export default [$items]` => `export default [eslintPluginPrettierRecommended, $items]` where { $items <: not contains `eslintPluginPrettierRecommended` } }');
47
42
  // Add ignore patterns to eslint config
48
- (0, exports.addIgnoresToEslintConfig)(tree, eslintConfigPath, [
43
+ await (0, exports.addIgnoresToEslintConfig)(tree, eslintConfigPath, [
49
44
  '**/vite.config.*.timestamp*',
50
45
  ]);
51
46
  const nxJson = (0, devkit_1.readNxJson)(tree);
52
- (0, devkit_1.updateNxJson)(tree, Object.assign(Object.assign({}, nxJson), { namedInputs: Object.assign(Object.assign({}, nxJson.namedInputs), { eslint: [
47
+ (0, devkit_1.updateNxJson)(tree, {
48
+ ...nxJson,
49
+ namedInputs: {
50
+ ...nxJson.namedInputs,
51
+ eslint: [
53
52
  'default',
54
53
  '{workspaceRoot}/eslint.config.mjs',
55
54
  '{projectRoot}/eslint.config.mjs',
56
- ] }) }));
55
+ ],
56
+ },
57
+ });
57
58
  }
58
- });
59
+ };
59
60
  exports.configureEslint = configureEslint;
60
61
  /**
61
62
  * Adds ignore patterns to the eslint config file
@@ -63,30 +64,27 @@ exports.configureEslint = configureEslint;
63
64
  * @param eslintConfigPath - Path to the eslint config file
64
65
  * @param ignorePatterns - Array of ignore patterns to add
65
66
  */
66
- const addIgnoresToEslintConfig = (tree, eslintConfigPath, ignorePatterns) => {
67
- // Check if there's an object literal with "ignores" as the key
68
- const existingIgnores = (0, ast_1.query)(tree, eslintConfigPath, 'ExportAssignment > ArrayLiteralExpression ObjectLiteralExpression > PropertyAssignment[name.text="ignores"]');
69
- // If there isn't, append one to the config with an empty list
70
- if (existingIgnores.length === 0) {
71
- (0, ast_1.replace)(tree, eslintConfigPath, 'ExportAssignment > ArrayLiteralExpression', (node) => {
72
- return typescript_1.factory.createArrayLiteralExpression([
73
- ...node.elements,
74
- typescript_1.factory.createObjectLiteralExpression([
75
- typescript_1.factory.createPropertyAssignment(typescript_1.factory.createIdentifier('ignores'), typescript_1.factory.createArrayLiteralExpression([], true)),
76
- ], true),
77
- ], true);
78
- });
67
+ const addIgnoresToEslintConfig = async (tree, eslintConfigPath, ignorePatterns) => {
68
+ for (const pattern of ignorePatterns) {
69
+ const escaped = pattern.replace(/`/g, '\\`');
70
+ // Single or{} per pattern handles all cases:
71
+ // 1. No ignores object → add { ignores: ['pattern'] } to the exports array
72
+ // 2. Empty ignores: [] rewrite to ignores: ['pattern']
73
+ // 3. Non-empty ignores: [items] → append 'pattern' to existing items
74
+ await (0, ast_1.applyGritQL)(tree, eslintConfigPath, `or {
75
+ \`export default [$items]\` where {
76
+ $items <: not some \`{ ignores: $_ }\`,
77
+ $items += \`{ ignores: ['${escaped}'] }\`
78
+ },
79
+ \`export default [$items]\` where {
80
+ $items <: contains \`ignores: []\` => \`ignores: ['${escaped}']\`
81
+ },
82
+ \`ignores: [$items]\` => \`ignores: [$items, '${escaped}']\` where {
83
+ $items <: within \`export default [$_]\`,
84
+ $items <: not some \`'${escaped}'\`
85
+ }
86
+ }`);
79
87
  }
80
- // Create set of ignore patterns for filtering
81
- const ignorePatternSet = new Set(ignorePatterns);
82
- // Call replace on the ignores array
83
- (0, ast_1.replace)(tree, eslintConfigPath, 'ExportAssignment > ArrayLiteralExpression ObjectLiteralExpression > PropertyAssignment[name.text="ignores"] > ArrayLiteralExpression', (node) => {
84
- return typescript_1.factory.createArrayLiteralExpression([
85
- ...node.elements.filter((p) => p.kind !== typescript_1.SyntaxKind.StringLiteral ||
86
- !ignorePatternSet.has(p.getText().slice(1, -1))),
87
- ...ignorePatterns.map((pattern) => typescript_1.factory.createStringLiteral(pattern)),
88
- ], true);
89
- });
90
88
  };
91
89
  exports.addIgnoresToEslintConfig = addIgnoresToEslintConfig;
92
90
  //# sourceMappingURL=eslint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eslint.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lib/eslint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eslint.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lib/eslint.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAMoB;AACpB,mDAAoD;AACpD,yCAA+D;AAE/D,uCAAqE;AAE9D,MAAM,eAAe,GAAG,KAAK,EAClC,IAAU,EACV,OAAgC,EAChC,EAAE;IACF,0BAA0B;IAC1B,MAAM,WAAW,GAAG,IAAA,wCAAmC,EACrD,IAAI,EACJ,OAAO,CAAC,kBAAkB,CAC3B,CAAC;IACF,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;QAC3D,GAAG,WAAW;QACd,OAAO,EAAE;YACP,GAAG,WAAW,EAAE,OAAO;YACvB,IAAI,EAAE;gBACJ,QAAQ,EAAE,iBAAiB;gBAC3B,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,CAAC,QAAQ,CAAC;gBAClB,cAAc,EAAE;oBACd,GAAG,EAAE;wBACH,GAAG,EAAE,IAAI;qBACV;oBACD,WAAW,EAAE;wBACX,KAAK,EAAE,IAAI;qBACZ;iBACF;aACF;SACF;KACF,CAAC,CAAC;IAEH,IAAA,qCAA4B,EAC1B,IAAI,EACJ,EAAE,EACF,IAAA,uBAAY,EAAC,CAAC,UAAU,EAAE,wBAAwB,EAAE,qBAAqB,CAAC,CAAC,CAC5E,CAAC;IAEF,qCAAqC;IACrC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;IAE7C,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,iCAAiC;QACjC,MAAM,IAAA,qBAAe,EACnB,IAAI,EACJ,gBAAgB,EAChB,iCAAiC,EACjC,oCAAoC,CACrC,CAAC;QAEF,8EAA8E;QAC9E,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,gBAAgB,EAChB,8OAA8O,CAC/O,CAAC;QAEF,uCAAuC;QACvC,MAAM,IAAA,gCAAwB,EAAC,IAAI,EAAE,gBAAgB,EAAE;YACrD,6BAA6B;SAC9B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;QAChC,IAAA,qBAAY,EAAC,IAAI,EAAE;YACjB,GAAG,MAAM;YACT,WAAW,EAAE;gBACX,GAAG,MAAM,CAAC,WAAW;gBACrB,MAAM,EAAE;oBACN,SAAS;oBACT,mCAAmC;oBACnC,iCAAiC;iBAClC;aACF;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAxEW,QAAA,eAAe,mBAwE1B;AAEF;;;;;GAKG;AACI,MAAM,wBAAwB,GAAG,KAAK,EAC3C,IAAU,EACV,gBAAwB,EACxB,cAAwB,EACT,EAAE;IACjB,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,6CAA6C;QAC7C,2EAA2E;QAC3E,yDAAyD;QACzD,qEAAqE;QACrE,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,gBAAgB,EAChB;;;qCAG+B,OAAO;;;+DAGmB,OAAO;;wDAEd,OAAO;;kCAE7B,OAAO;;QAEjC,CACH,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AA7BW,QAAA,wBAAwB,4BA6BnC"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.tsProjectGenerator = exports.getTsLibDetails = exports.TS_LIB_GENERATOR_INFO = 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
@@ -17,7 +16,9 @@ const object_1 = require("../../utils/object");
17
16
  const nx_1 = require("../../utils/nx");
18
17
  const metrics_1 = require("../../utils/metrics");
19
18
  const ast_1 = require("../../utils/ast");
20
- const typescript_1 = require("typescript");
19
+ const fs_1 = require("fs");
20
+ const path_1 = require("path");
21
+ const readGritPattern = (name) => (0, fs_1.readFileSync)((0, path_1.join)(__dirname, 'grit', `${name}.grit`), 'utf-8').trim();
21
22
  exports.TS_LIB_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
22
23
  /**
23
24
  * Returns details about the TS library to be created
@@ -34,9 +35,17 @@ exports.getTsLibDetails = getTsLibDetails;
34
35
  /**
35
36
  * Generates a typescript project
36
37
  */
37
- const tsProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
38
+ const tsProjectGenerator = async (tree, schema) => {
38
39
  const { fullyQualifiedName, dir } = (0, exports.getTsLibDetails)(tree, schema);
39
- yield (0, js_1.libraryGenerator)(tree, Object.assign(Object.assign({}, schema), { name: fullyQualifiedName, directory: dir, skipPackageJson: true, bundler: 'tsc', linter: 'eslint', unitTestRunner: 'vitest' }));
40
+ await (0, js_1.libraryGenerator)(tree, {
41
+ ...schema,
42
+ name: fullyQualifiedName,
43
+ directory: dir,
44
+ skipPackageJson: true,
45
+ bundler: 'tsc', // TODO: consider supporting others
46
+ linter: 'eslint',
47
+ unitTestRunner: 'vitest',
48
+ });
40
49
  // Replace with simpler sample source code
41
50
  tree.delete((0, devkit_1.joinPathFragments)(dir, 'src'));
42
51
  (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files'), (0, devkit_1.joinPathFragments)(dir), {
@@ -45,7 +54,7 @@ const tsProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void 0, v
45
54
  }, {
46
55
  overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
47
56
  });
48
- yield (0, ts_project_utils_1.configureTsProject)(tree, {
57
+ await (0, ts_project_utils_1.configureTsProject)(tree, {
49
58
  dir,
50
59
  fullyQualifiedName,
51
60
  });
@@ -73,26 +82,44 @@ const tsProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void 0, v
73
82
  (0, devkit_1.updateProjectConfiguration)(tree, fullyQualifiedName, projectConfiguration);
74
83
  (0, nx_1.addGeneratorMetadata)(tree, fullyQualifiedName, exports.TS_LIB_GENERATOR_INFO);
75
84
  (0, devkit_1.updateJson)(tree, 'nx.json', (nxJson) => {
76
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
77
- nxJson.namedInputs = Object.assign(Object.assign({}, nxJson.namedInputs), { default: [
78
- ...((_b = (_a = nxJson.namedInputs) === null || _a === void 0 ? void 0 : _a.default) !== null && _b !== void 0 ? _b : []).filter((input) => typeof input !== 'object' ||
85
+ nxJson.namedInputs = {
86
+ ...nxJson.namedInputs,
87
+ default: [
88
+ ...(nxJson.namedInputs?.default ?? []).filter((input) => typeof input !== 'object' ||
79
89
  !('dependentTasksOutputFiles' in input) ||
80
90
  !(input.dependentTasksOutputFiles === '**/*' && input.transitive)),
81
91
  {
82
92
  dependentTasksOutputFiles: '**/*',
83
93
  transitive: true,
84
94
  },
85
- ] });
86
- nxJson.targetDefaults = Object.assign(Object.assign({}, nxJson.targetDefaults), { compile: Object.assign(Object.assign({ cache: true }, (_c = nxJson.targetDefaults) === null || _c === void 0 ? void 0 : _c.compile), { inputs: [
87
- ...((_f = (_e = (_d = nxJson.targetDefaults) === null || _d === void 0 ? void 0 : _d.compile) === null || _e === void 0 ? void 0 : _e.inputs) !== null && _f !== void 0 ? _f : []).filter((i) => i !== 'default'),
95
+ ],
96
+ };
97
+ nxJson.targetDefaults = {
98
+ ...nxJson.targetDefaults,
99
+ compile: {
100
+ cache: true,
101
+ ...nxJson.targetDefaults?.compile,
102
+ inputs: [
103
+ ...(nxJson.targetDefaults?.compile?.inputs ?? []).filter((i) => i !== 'default'),
88
104
  'default',
89
- ] }), build: Object.assign(Object.assign({ cache: true }, (_g = nxJson.targetDefaults) === null || _g === void 0 ? void 0 : _g.build), { inputs: [
90
- ...((_k = (_j = (_h = nxJson.targetDefaults) === null || _h === void 0 ? void 0 : _h.build) === null || _j === void 0 ? void 0 : _j.inputs) !== null && _k !== void 0 ? _k : []).filter((i) => i !== 'default'),
105
+ ],
106
+ },
107
+ build: {
108
+ cache: true,
109
+ ...nxJson.targetDefaults?.build,
110
+ inputs: [
111
+ ...(nxJson.targetDefaults?.build?.inputs ?? []).filter((i) => i !== 'default'),
91
112
  'default',
92
- ] }), test: Object.assign(Object.assign({}, (_l = nxJson.targetDefaults) === null || _l === void 0 ? void 0 : _l.test), { inputs: [
93
- ...((_p = (_o = (_m = nxJson.targetDefaults) === null || _m === void 0 ? void 0 : _m.test) === null || _o === void 0 ? void 0 : _o.inputs) !== null && _p !== void 0 ? _p : []).filter((i) => i !== 'default'),
113
+ ],
114
+ },
115
+ test: {
116
+ ...nxJson.targetDefaults?.test,
117
+ inputs: [
118
+ ...(nxJson.targetDefaults?.test?.inputs ?? []).filter((i) => i !== 'default'),
94
119
  'default',
95
- ] }) });
120
+ ],
121
+ },
122
+ };
96
123
  // Ensure we only declare a single typescript plugin with the correct settings
97
124
  nxJson.plugins = [
98
125
  {
@@ -109,25 +136,20 @@ const tsProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void 0, v
109
136
  },
110
137
  },
111
138
  },
112
- ...((_q = nxJson.plugins) !== null && _q !== void 0 ? _q : []).filter((p) => typeof p === 'string' || p.plugin !== '@nx/js/typescript'),
139
+ ...(nxJson.plugins ?? []).filter((p) => typeof p === 'string' || p.plugin !== '@nx/js/typescript'),
113
140
  ];
114
141
  return nxJson;
115
142
  });
116
143
  // change error to warn for the @nx/dependency-checks rule
117
- (0, ast_1.replace)(tree, (0, devkit_1.joinPathFragments)(dir, 'eslint.config.mjs'), 'PropertyAssignment:has(Identifier[name="rules"]) ObjectLiteralExpression PropertyAssignment:has(StringLiteral[value="@nx/dependency-checks"]) ArrayLiteralExpression:has(StringLiteral[value="error"])', (node) => {
118
- return typescript_1.factory.createArrayLiteralExpression([
119
- typescript_1.factory.createStringLiteral('warn'),
120
- ...node.elements.slice(1),
121
- ]);
122
- });
123
- yield (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [exports.TS_LIB_GENERATOR_INFO]);
124
- yield (0, format_1.formatFilesInSubtree)(tree);
144
+ await (0, ast_1.applyGritQL)(tree, (0, devkit_1.joinPathFragments)(dir, 'eslint.config.mjs'), readGritPattern('eslint-dependency-checks-warn'));
145
+ await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [exports.TS_LIB_GENERATOR_INFO]);
146
+ await (0, format_1.formatFilesInSubtree)(tree);
125
147
  return () => {
126
148
  if (!schema.skipInstall) {
127
149
  (0, devkit_1.installPackagesTask)(tree);
128
150
  }
129
151
  };
130
- });
152
+ };
131
153
  exports.tsProjectGenerator = tsProjectGenerator;
132
154
  exports.default = exports.tsProjectGenerator;
133
155
  //# sourceMappingURL=generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lib/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAWoB;AAEpB,+BAA0C;AAC1C,qDAA0D;AAC1D,yDAAwD;AACxD,6CAAgD;AAChD,+CAA0D;AAC1D,yDAA2E;AAC3E,+CAAoD;AACpD,uCAIwB;AACxB,iDAAsE;AACtE,yCAA0C;AAC1C,2CAA6D;AAEhD,QAAA,qBAAqB,GAChC,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAa/B;;GAEG;AACI,MAAM,eAAe,GAAG,CAC7B,IAAU,EACV,MAAgC,EAClB,EAAE;IAChB,MAAM,KAAK,GAAG,IAAA,6BAAiB,EAAC,IAAI,CAAC,CAAC;IACtC,MAAM,cAAc,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,kBAAkB,GAAG,GAAG,KAAK,GAAG,cAAc,EAAE,CAAC;IACvD,yDAAyD;IACzD,MAAM,GAAG,GAAG,IAAA,0BAAiB,EAC3B,MAAM,CAAC,SAAS,IAAI,GAAG,EACvB,MAAM,CAAC,YAAY,IAAI,cAAc,CACtC,CAAC;IACF,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC;AACrC,CAAC,CAAC;AAbW,QAAA,eAAe,mBAa1B;AAEF;;GAEG;AACI,MAAM,kBAAkB,GAAG,CAChC,IAAU,EACV,MAAgC,EACJ,EAAE;IAC9B,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,GAAG,IAAA,uBAAe,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,IAAA,qBAAgB,EAAC,IAAI,kCACtB,MAAM,KACT,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE,GAAG,EACd,eAAe,EAAE,IAAI,EACrB,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,QAAQ,EAChB,cAAc,EAAE,QAAQ,IACxB,CAAC;IAEH,0CAA0C;IAC1C,IAAI,CAAC,MAAM,CAAC,IAAA,0BAAiB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3C,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,CAAC,EACrC,IAAA,0BAAiB,EAAC,GAAG,CAAC,EACtB;QACE,kBAAkB;QAClB,SAAS,EAAE,IAAA,8CAAgC,GAAE,CAAC,IAAI;KACnD,EACD;QACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;KAClD,CACF,CAAC;IACF,MAAM,IAAA,qCAAkB,EAAC,IAAI,EAAE;QAC7B,GAAG;QACH,kBAAkB;KACnB,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,IAAA,iCAAwB,EACnD,IAAI,EACJ,kBAAkB,CACnB,CAAC;IACF,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC;IAE7C,OAAO,CAAC,SAAS,CAAC,GAAG;QACnB,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE,CAAC,wCAAwC,CAAC;QACnD,OAAO,EAAE;YACP,OAAO,EAAE,+BAA+B;YACxC,GAAG,EAAE,eAAe;SACrB;KACF,CAAC;IACF,OAAO,CAAC,OAAO,CAAC,GAAG;QACjB,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;KACvC,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,GAAG;QAChB,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE,CAAC,4BAA4B,CAAC;QACvC,OAAO,EAAE;YACP,gBAAgB,EAAE,wCAAwC;SAC3D;KACF,CAAC;IACF,oBAAoB,CAAC,OAAO,GAAG,IAAA,uBAAc,EAAC,OAAO,CAAC,CAAC;IAEvD,IAAA,mCAA0B,EAAC,IAAI,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;IAE3E,IAAA,yBAAoB,EAAC,IAAI,EAAE,kBAAkB,EAAE,6BAAqB,CAAC,CAAC;IAEtE,IAAA,mBAAU,EAAC,IAAI,EAAE,SAAS,EAAE,CAAC,MAA2B,EAAE,EAAE;;QAC1D,MAAM,CAAC,WAAW,mCACb,MAAM,CAAC,WAAW,KACrB,OAAO,EAAE;gBACP,GAAG,CAAC,MAAA,MAAA,MAAM,CAAC,WAAW,0CAAE,OAAO,mCAAI,EAAE,CAAC,CAAC,MAAM,CAC3C,CAAC,KAAK,EAAE,EAAE,CACR,OAAO,KAAK,KAAK,QAAQ;oBACzB,CAAC,CAAC,2BAA2B,IAAI,KAAK,CAAC;oBACvC,CAAC,CAAC,KAAK,CAAC,yBAAyB,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CACpE;gBACD;oBACE,yBAAyB,EAAE,MAAM;oBACjC,UAAU,EAAE,IAAI;iBACjB;aACF,GACF,CAAC;QAEF,MAAM,CAAC,cAAc,mCAChB,MAAM,CAAC,cAAc,KACxB,OAAO,gCACL,KAAK,EAAE,IAAI,IACR,MAAA,MAAM,CAAC,cAAc,0CAAE,OAAO,KACjC,MAAM,EAAE;oBACN,GAAG,CAAC,MAAA,MAAA,MAAA,MAAM,CAAC,cAAc,0CAAE,OAAO,0CAAE,MAAM,mCAAI,EAAE,CAAC,CAAC,MAAM,CACtD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CACvB;oBACD,SAAS;iBACV,KAEH,KAAK,gCACH,KAAK,EAAE,IAAI,IACR,MAAA,MAAM,CAAC,cAAc,0CAAE,KAAK,KAC/B,MAAM,EAAE;oBACN,GAAG,CAAC,MAAA,MAAA,MAAA,MAAM,CAAC,cAAc,0CAAE,KAAK,0CAAE,MAAM,mCAAI,EAAE,CAAC,CAAC,MAAM,CACpD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CACvB;oBACD,SAAS;iBACV,KAEH,IAAI,kCACC,MAAA,MAAM,CAAC,cAAc,0CAAE,IAAI,KAC9B,MAAM,EAAE;oBACN,GAAG,CAAC,MAAA,MAAA,MAAA,MAAM,CAAC,cAAc,0CAAE,IAAI,0CAAE,MAAM,mCAAI,EAAE,CAAC,CAAC,MAAM,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CACvB;oBACD,SAAS;iBACV,MAEJ,CAAC;QAEF,8EAA8E;QAC9E,MAAM,CAAC,OAAO,GAAG;YACf;gBACE,MAAM,EAAE,mBAAmB;gBAC3B,OAAO,EAAE;oBACP,SAAS,EAAE;wBACT,UAAU,EAAE,WAAW;qBACxB;oBACD,KAAK,EAAE;wBACL,UAAU,EAAE,SAAS;wBACrB,UAAU,EAAE,mBAAmB;wBAC/B,aAAa,EAAE,YAAY;wBAC3B,aAAa,EAAE,YAAY;qBAC5B;iBACF;aACF;YACD,GAAG,CAAC,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,MAAM,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,mBAAmB,CACjE;SACF,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,IAAA,aAAO,EACL,IAAI,EACJ,IAAA,0BAAiB,EAAC,GAAG,EAAE,mBAAmB,CAAC,EAC3C,wMAAwM,EACxM,CAAC,IAA4B,EAAE,EAAE;QAC/B,OAAO,oBAAO,CAAC,4BAA4B,CAAC;YAC1C,oBAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC;YACnC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IAEF,MAAM,IAAA,yCAA+B,EAAC,IAAI,EAAE,CAAC,6BAAqB,CAAC,CAAC,CAAC;IAErE,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;IAEjC,OAAO,GAAG,EAAE;QACV,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACxB,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAA,CAAC;AAhKW,QAAA,kBAAkB,sBAgK7B;AACF,kBAAe,0BAAkB,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lib/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ `'@nx/dependency-checks': ['error', $rest]` => `'@nx/dependency-checks': ['warn', $rest]`
@@ -0,0 +1,7 @@
1
+ `test: { $props }` => raw`test: {
2
+ $props
3
+ passWithNoTests: true,
4
+ }` where {
5
+ $props <: within `defineConfig($_)`,
6
+ $props <: not some `passWithNoTests: $_`
7
+ }
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.configureTsProject = 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
@@ -14,49 +13,73 @@ const eslint_1 = require("./eslint");
14
13
  /**
15
14
  * Updates typescript projects
16
15
  */
17
- const configureTsProject = (tree, options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
16
+ const configureTsProject = async (tree, options) => {
18
17
  // Remove conflicting commonjs module from tsconfig
19
- (0, devkit_1.updateJson)(tree, (0, path_1.join)(options.dir, 'tsconfig.json'), (tsConfig) => {
20
- var _a, _b;
21
- return (Object.assign(Object.assign({}, tsConfig), { compilerOptions: Object.assign(Object.assign({}, tsConfig.compilerOptions), { module: ((_a = tsConfig.compilerOptions) === null || _a === void 0 ? void 0 : _a.module) === 'commonjs'
22
- ? undefined
23
- : (_b = tsConfig.compilerOptions) === null || _b === void 0 ? void 0 : _b.module }) }));
24
- });
18
+ (0, devkit_1.updateJson)(tree, (0, path_1.join)(options.dir, 'tsconfig.json'), (tsConfig) => ({
19
+ ...tsConfig,
20
+ compilerOptions: {
21
+ ...tsConfig.compilerOptions,
22
+ module: tsConfig.compilerOptions?.module === 'commonjs'
23
+ ? undefined
24
+ : tsConfig.compilerOptions?.module,
25
+ },
26
+ }));
25
27
  const outDirToRootRelativePath = (0, path_1.relative)((0, path_1.join)(tree.root, options.dir), tree.root);
26
28
  const distDir = (0, path_1.join)(outDirToRootRelativePath, 'dist', options.dir, 'tsc');
27
29
  // Remove baseUrl and rootDir from the tsconfig.lib.json
28
30
  if (tree.exists((0, path_1.join)(options.dir, 'tsconfig.lib.json'))) {
29
- (0, devkit_1.updateJson)(tree, (0, path_1.join)(options.dir, 'tsconfig.lib.json'), (tsConfig) => (Object.assign(Object.assign({}, tsConfig), { compilerOptions: Object.assign(Object.assign({}, tsConfig.compilerOptions), { baseUrl: undefined, rootDir: '.', outDir: distDir, tsBuildInfoFile: (0, path_1.join)(distDir, 'tsconfig.lib.tsbuildinfo') }) })));
31
+ (0, devkit_1.updateJson)(tree, (0, path_1.join)(options.dir, 'tsconfig.lib.json'), (tsConfig) => ({
32
+ ...tsConfig,
33
+ compilerOptions: {
34
+ ...tsConfig.compilerOptions,
35
+ baseUrl: undefined,
36
+ rootDir: '.',
37
+ outDir: distDir,
38
+ tsBuildInfoFile: (0, path_1.join)(distDir, 'tsconfig.lib.tsbuildinfo'),
39
+ },
40
+ }));
30
41
  }
31
42
  // Update root project tsconfig
32
- (0, devkit_1.updateJson)(tree, 'tsconfig.base.json', (tsConfig) => {
33
- var _a, _b;
34
- return (Object.assign(Object.assign({}, tsConfig), { compilerOptions: Object.assign(Object.assign({}, tsConfig.compilerOptions), { baseUrl: '.', rootDir: '.', paths: Object.assign(Object.assign({}, Object.fromEntries(Object.entries((_b = (_a = tsConfig.compilerOptions) === null || _a === void 0 ? void 0 : _a.paths) !== null && _b !== void 0 ? _b : {}).filter(([k]) => k !== options.fullyQualifiedName))), {
35
- // Add aliases which begin with colon (eg :foo/bar) to avoid sniping attacks
36
- [(0, npm_scope_1.toScopeAlias)(options.fullyQualifiedName)]: [
37
- (0, devkit_1.joinPathFragments)(options.dir, 'src', 'index.ts'),
38
- ] }) }) }));
39
- });
43
+ (0, devkit_1.updateJson)(tree, 'tsconfig.base.json', (tsConfig) => ({
44
+ ...tsConfig,
45
+ compilerOptions: {
46
+ ...tsConfig.compilerOptions,
47
+ // baseUrl is deprecated in TypeScript 6 — use ./ prefix in paths instead
48
+ baseUrl: undefined,
49
+ rootDir: '.',
50
+ paths: {
51
+ // Remove any path aliases for this project with the npm scope prefix (eg remove @foo/bar)
52
+ ...Object.fromEntries(Object.entries(tsConfig.compilerOptions?.paths ?? {}).filter(([k]) => k !== options.fullyQualifiedName)),
53
+ // Add aliases which begin with colon (eg :foo/bar) to avoid sniping attacks
54
+ [(0, npm_scope_1.toScopeAlias)(options.fullyQualifiedName)]: [
55
+ `./${(0, devkit_1.joinPathFragments)(options.dir, 'src', 'index.ts')}`,
56
+ ],
57
+ },
58
+ },
59
+ }));
40
60
  if (tree.exists('tsconfig.json')) {
41
- (0, devkit_1.updateJson)(tree, 'tsconfig.json', (tsConfig) => {
42
- var _a;
43
- return (Object.assign(Object.assign({}, tsConfig), { references: [
44
- // Add project references, ensuring no duplication
45
- ...((_a = tsConfig.references) !== null && _a !== void 0 ? _a : []).filter((ref) => ref.path !== `./${options.dir}`),
46
- {
47
- path: `./${options.dir}`,
48
- },
49
- ] }));
50
- });
61
+ (0, devkit_1.updateJson)(tree, 'tsconfig.json', (tsConfig) => ({
62
+ ...tsConfig,
63
+ references: [
64
+ // Add project references, ensuring no duplication
65
+ ...(tsConfig.references ?? []).filter((ref) => ref.path !== `./${options.dir}`),
66
+ {
67
+ path: `./${options.dir}`,
68
+ },
69
+ ],
70
+ }));
51
71
  }
52
72
  // Update the root package.json
53
- (0, devkit_1.updateJson)(tree, 'package.json', (packageJson) => (Object.assign(Object.assign({}, packageJson), { type: 'module' })));
73
+ (0, devkit_1.updateJson)(tree, 'package.json', (packageJson) => ({
74
+ ...packageJson,
75
+ type: 'module',
76
+ }));
54
77
  // Remove package.json if it exists
55
78
  if (tree.exists((0, path_1.join)(options.dir, 'package.json'))) {
56
79
  tree.delete((0, path_1.join)(options.dir, 'package.json'));
57
80
  }
58
- yield (0, eslint_1.configureEslint)(tree, options);
59
- (0, vitest_1.configureVitest)(tree, options);
60
- });
81
+ await (0, eslint_1.configureEslint)(tree, options);
82
+ await (0, vitest_1.configureVitest)(tree, options);
83
+ };
61
84
  exports.configureTsProject = configureTsProject;
62
85
  //# sourceMappingURL=ts-project-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ts-project-utils.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lib/ts-project-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ts-project-utils.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lib/ts-project-utils.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,4 @@
4
4
  */
5
5
  import { Tree } from '@nx/devkit';
6
6
  import { ConfigureProjectOptions } from './types';
7
- export declare const configureVitest: (tree: Tree, options: ConfigureProjectOptions) => void;
7
+ export declare const configureVitest: (tree: Tree, options: ConfigureProjectOptions) => Promise<void>;
@@ -1,43 +1,41 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.configureVitest = 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
9
  const path_1 = require("path");
11
- const typescript_1 = tslib_1.__importStar(require("typescript"));
12
10
  const ast_1 = require("../../utils/ast");
13
11
  const versions_1 = require("../../utils/versions");
14
- const configureVitest = (tree, options) => {
15
- var _a;
12
+ const fs_1 = require("fs");
13
+ const readGritPattern = (name) => (0, fs_1.readFileSync)((0, path_1.join)(__dirname, 'grit', `${name}.grit`), 'utf-8').trim();
14
+ const configureVitest = async (tree, options) => {
16
15
  // Find vitest.config.mts or vite.config.mts
17
16
  const configPath = [
18
17
  (0, path_1.join)(options.dir, 'vitest.config.mts'),
19
18
  (0, path_1.join)(options.dir, 'vite.config.mts'),
20
19
  ].find((config) => tree.exists(config));
21
20
  if (configPath) {
22
- (0, ast_1.replaceIfExists)(tree, configPath, 'CallExpression:has(Identifier[name="defineConfig"]) PropertyAssignment:has(Identifier[name="test"]) ObjectLiteralExpression', (node) => {
23
- // Check if passWithNoTests already exists
24
- const hasPassWithNoTests = node.properties.some((p) => typescript_1.default.isPropertyAssignment(p) &&
25
- typescript_1.default.isIdentifier(p.name) &&
26
- p.name.text === 'passWithNoTests');
27
- if (!hasPassWithNoTests) {
28
- return typescript_1.factory.createObjectLiteralExpression([
29
- ...node.properties,
30
- typescript_1.factory.createPropertyAssignment('passWithNoTests', typescript_1.factory.createTrue()),
31
- ]);
32
- }
33
- return node;
34
- });
21
+ await (0, ast_1.applyGritQL)(tree, configPath, readGritPattern('vitest-pass-with-no-tests'));
35
22
  const nxJson = (0, devkit_1.readNxJson)(tree);
36
- (0, devkit_1.updateNxJson)(tree, Object.assign(Object.assign({}, nxJson), { targetDefaults: Object.assign(Object.assign({}, ((_a = nxJson.targetDefaults) !== null && _a !== void 0 ? _a : {})), { '@nx/vitest:test': Object.assign({ cache: true, inputs: ['default', '^production'], configurations: {
23
+ (0, devkit_1.updateNxJson)(tree, {
24
+ ...nxJson,
25
+ targetDefaults: {
26
+ ...(nxJson.targetDefaults ?? {}),
27
+ '@nx/vitest:test': {
28
+ cache: true,
29
+ inputs: ['default', '^production'],
30
+ configurations: {
37
31
  'update-snapshot': {
38
32
  args: '--update',
39
33
  },
40
- } }, nxJson.targetDefaults['@nx/vitest:test']) }) }));
34
+ },
35
+ ...nxJson.targetDefaults['@nx/vitest:test'],
36
+ },
37
+ },
38
+ });
41
39
  }
42
40
  (0, devkit_1.addDependenciesToPackageJson)(tree, {}, (0, versions_1.withVersions)(['vite', 'vitest', '@vitest/coverage-v8']));
43
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lib/vitest.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAKoB;AACpB,+BAA4B;AAC5B,iEAAkE;AAElE,yCAAkD;AAClD,mDAAoD;AAE7C,MAAM,eAAe,GAAG,CAC7B,IAAU,EACV,OAAgC,EAChC,EAAE;;IACF,4CAA4C;IAC5C,MAAM,UAAU,GAAG;QACjB,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC;QACtC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC;KACrC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAExC,IAAI,UAAU,EAAE,CAAC;QACf,IAAA,qBAAe,EACb,IAAI,EACJ,UAAU,EACV,6HAA6H,EAC7H,CAAC,IAA6B,EAAE,EAAE;YAChC,0CAA0C;YAC1C,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAC7C,CAAC,CAAC,EAAE,EAAE,CACJ,oBAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,oBAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvB,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,CACpC,CAAC;YACF,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,OAAO,oBAAO,CAAC,6BAA6B,CAAC;oBAC3C,GAAG,IAAI,CAAC,UAAU;oBAClB,oBAAO,CAAC,wBAAwB,CAC9B,iBAAiB,EACjB,oBAAO,CAAC,UAAU,EAAE,CACrB;iBACF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;QAChC,IAAA,qBAAY,EAAC,IAAI,kCACZ,MAAM,KACT,cAAc,kCACT,CAAC,MAAA,MAAM,CAAC,cAAc,mCAAI,EAAE,CAAC,KAChC,iBAAiB,kBACf,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,EAClC,cAAc,EAAE;wBACd,iBAAiB,EAAE;4BACjB,IAAI,EAAE,UAAU;yBACjB;qBACF,IACE,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,QAG/C,CAAC;IACL,CAAC;IAED,IAAA,qCAA4B,EAC1B,IAAI,EACJ,EAAE,EACF,IAAA,uBAAY,EAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CACxD,CAAC;AACJ,CAAC,CAAC;AA5DW,QAAA,eAAe,mBA4D1B"}
1
+ {"version":3,"file":"vitest.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lib/vitest.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAKoB;AACpB,+BAA4B;AAE5B,yCAA8C;AAC9C,mDAAoD;AACpD,2BAAkC;AAElC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAU,EAAE,CAC/C,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAEjE,MAAM,eAAe,GAAG,KAAK,EAClC,IAAU,EACV,OAAgC,EAChC,EAAE;IACF,4CAA4C;IAC5C,MAAM,UAAU,GAAG;QACjB,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC;QACtC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC;KACrC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAExC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,UAAU,EACV,eAAe,CAAC,2BAA2B,CAAC,CAC7C,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;QAChC,IAAA,qBAAY,EAAC,IAAI,EAAE;YACjB,GAAG,MAAM;YACT,cAAc,EAAE;gBACd,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;gBAChC,iBAAiB,EAAE;oBACjB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;oBAClC,cAAc,EAAE;wBACd,iBAAiB,EAAE;4BACjB,IAAI,EAAE,UAAU;yBACjB;qBACF;oBACD,GAAG,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC;iBAC5C;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAA,qCAA4B,EAC1B,IAAI,EACJ,EAAE,EACF,IAAA,uBAAY,EAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CACxD,CAAC;AACJ,CAAC,CAAC;AAzCW,QAAA,eAAe,mBAyC1B"}