@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
@@ -2,13 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.REACT_WEBSITE_APP_GENERATOR_INFO = exports.SUPPORTED_UX_PROVIDERS = void 0;
4
4
  exports.tsReactWebsiteGenerator = tsReactWebsiteGenerator;
5
- const tslib_1 = require("tslib");
6
5
  /**
7
6
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
8
7
  * SPDX-License-Identifier: Apache-2.0
9
8
  */
10
9
  const devkit_1 = require("@nx/devkit");
11
- const typescript_1 = require("typescript");
12
10
  const react_1 = require("@nx/react");
13
11
  const shared_constructs_1 = require("../../../utils/shared-constructs");
14
12
  const npm_scope_1 = require("../../../utils/npm-scope");
@@ -29,280 +27,284 @@ const website_constructs_1 = require("../../../utils/website-constructs/website-
29
27
  const iac_1 = require("../../../utils/iac");
30
28
  exports.SUPPORTED_UX_PROVIDERS = ['None', 'Cloudscape', 'Shadcn'];
31
29
  exports.REACT_WEBSITE_APP_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
32
- function tsReactWebsiteGenerator(tree, schema) {
33
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
34
- var _a, _b, _c, _d, _e, _f;
35
- const enableTailwind = (_a = schema.enableTailwind) !== null && _a !== void 0 ? _a : true;
36
- const enableTanstackRouter = (_b = schema.enableTanstackRouter) !== null && _b !== void 0 ? _b : true;
37
- const uxProvider = (_c = schema.uxProvider) !== null && _c !== void 0 ? _c : 'Cloudscape';
38
- if (uxProvider === 'Shadcn' && !enableTailwind) {
39
- throw new Error('Shadcn requires TailwindCSS to be enabled.');
40
- }
41
- const npmScopePrefix = (0, npm_scope_1.getNpmScopePrefix)(tree);
42
- const scopeAlias = (0, npm_scope_1.toScopeAlias)(npmScopePrefix);
43
- const websiteNameClassName = (0, names_1.toClassName)(schema.name);
44
- const websiteNameKebabCase = (0, names_1.toKebabCase)(schema.name);
45
- const fullyQualifiedName = `${npmScopePrefix}${websiteNameKebabCase}`;
46
- // NB: interactive nx generator cli can pass empty string
47
- const websiteContentPath = (0, devkit_1.joinPathFragments)(schema.directory || '.', schema.subDirectory || websiteNameKebabCase);
48
- // TODO: consider exposing and supporting e2e tests
49
- const e2eTestRunner = 'none';
50
- yield (0, react_1.applicationGenerator)(tree, Object.assign(Object.assign({}, schema), { name: fullyQualifiedName, directory: websiteContentPath, routing: false, e2eTestRunner, linter: 'eslint', bundler: 'vite', unitTestRunner: 'vitest', useProjectJson: true, style: 'css' }));
51
- // Replace with simpler sample source code
52
- tree.delete((0, devkit_1.joinPathFragments)(websiteContentPath, 'src'));
53
- const projectConfiguration = (0, devkit_1.readProjectConfiguration)(tree, fullyQualifiedName);
54
- const targets = projectConfiguration.targets;
55
- // Configure load:runtime-config target based on IaC provider
56
- const iacProvider = yield (0, iac_1.resolveIacProvider)(tree, schema.iacProvider);
57
- if (iacProvider === 'CDK') {
58
- targets['load:runtime-config'] = {
59
- executor: 'nx:run-commands',
60
- metadata: {
61
- description: `Load runtime config from your deployed stack for dev purposes. You must set your AWS CLI credentials whilst calling '${(0, pkg_manager_1.getPackageManagerDisplayCommands)().exec} nx run ${fullyQualifiedName}:load:runtime-config'`,
62
- },
63
- options: {
64
- command: `aws s3 cp s3://\`aws cloudformation describe-stacks --query "Stacks[?starts_with(StackName, '${(0, names_1.kebabCase)(npmScopePrefix)}-')][].Outputs[] | [?contains(OutputKey, '${websiteNameClassName}WebsiteBucketName')].OutputValue" --output text\`/runtime-config.json "{projectRoot}/public/runtime-config.json"`,
65
- },
66
- };
67
- }
68
- else if (iacProvider === 'Terraform') {
69
- targets['load:runtime-config'] = {
70
- executor: 'nx:run-commands',
71
- metadata: {
72
- description: "Load runtime config from most recently applied terraform env for dev purposes. Copies the runtime config from the Terraform dist directory to the website's public directory.",
73
- },
74
- options: {
75
- command: 'node -e "const fs=require(\'fs\');fs.mkdirSync(process.env.DEST_DIR,{recursive:true});fs.copyFileSync(process.env.SRC_FILE,process.env.DEST_FILE);"',
76
- env: {
77
- SRC_FILE: 'dist/packages/common/terraform/runtime-config.json',
78
- DEST_DIR: `{projectRoot}/public`,
79
- DEST_FILE: `{projectRoot}/public/runtime-config.json`,
80
- },
81
- },
82
- };
83
- }
84
- else {
85
- throw new Error(`Unknown iacProvider: ${iacProvider}. Supported providers are: CDK, Terraform`);
86
- }
87
- const buildTarget = targets['build'];
88
- targets['compile'] = {
89
- dependsOn: ['bundle'],
30
+ async function tsReactWebsiteGenerator(tree, schema) {
31
+ const enableTailwind = schema.enableTailwind ?? true;
32
+ const enableTanstackRouter = schema.enableTanstackRouter ?? true;
33
+ const uxProvider = schema.uxProvider ?? 'Cloudscape';
34
+ if (uxProvider === 'Shadcn' && !enableTailwind) {
35
+ throw new Error('Shadcn requires TailwindCSS to be enabled.');
36
+ }
37
+ const npmScopePrefix = (0, npm_scope_1.getNpmScopePrefix)(tree);
38
+ const scopeAlias = (0, npm_scope_1.toScopeAlias)(npmScopePrefix);
39
+ const websiteNameClassName = (0, names_1.toClassName)(schema.name);
40
+ const websiteNameKebabCase = (0, names_1.toKebabCase)(schema.name);
41
+ const fullyQualifiedName = `${npmScopePrefix}${websiteNameKebabCase}`;
42
+ // NB: interactive nx generator cli can pass empty string
43
+ const websiteContentPath = (0, devkit_1.joinPathFragments)(schema.directory || '.', schema.subDirectory || websiteNameKebabCase);
44
+ // TODO: consider exposing and supporting e2e tests
45
+ const e2eTestRunner = 'none';
46
+ await (0, react_1.applicationGenerator)(tree, {
47
+ ...schema,
48
+ name: fullyQualifiedName,
49
+ directory: websiteContentPath,
50
+ routing: false,
51
+ e2eTestRunner,
52
+ linter: 'eslint',
53
+ bundler: 'vite',
54
+ unitTestRunner: 'vitest',
55
+ useProjectJson: true,
56
+ style: 'css',
57
+ });
58
+ // Replace with simpler sample source code
59
+ tree.delete((0, devkit_1.joinPathFragments)(websiteContentPath, 'src'));
60
+ const projectConfiguration = (0, devkit_1.readProjectConfiguration)(tree, fullyQualifiedName);
61
+ const targets = projectConfiguration.targets;
62
+ // Configure load:runtime-config target based on IaC provider
63
+ const iacProvider = await (0, iac_1.resolveIacProvider)(tree, schema.iacProvider);
64
+ if (iacProvider === 'CDK') {
65
+ targets['load:runtime-config'] = {
90
66
  executor: 'nx:run-commands',
91
- outputs: ['{workspaceRoot}/dist/{projectRoot}/tsc'],
92
- options: {
93
- command: 'tsc --build tsconfig.app.json',
94
- cwd: '{projectRoot}',
67
+ metadata: {
68
+ description: `Load runtime config from your deployed stack for dev purposes. You must set your AWS CLI credentials whilst calling '${(0, pkg_manager_1.getPackageManagerDisplayCommands)().exec} nx run ${fullyQualifiedName}:load:runtime-config'`,
95
69
  },
96
- };
97
- targets['bundle'] = Object.assign(Object.assign({}, buildTarget), { options: Object.assign(Object.assign({}, buildTarget.options), { outputPath: 'dist/{projectRoot}/bundle' }) });
98
- targets['build'] = {
99
- dependsOn: [
100
- 'lint',
101
- 'compile',
102
- 'bundle',
103
- 'test',
104
- ...((_d = buildTarget.dependsOn) !== null && _d !== void 0 ? _d : []),
105
- ],
106
70
  options: {
107
- outputPath: 'dist/{projectRoot}/bundle',
71
+ command: `aws s3 cp s3://\`aws cloudformation describe-stacks --query "Stacks[?starts_with(StackName, '${(0, names_1.kebabCase)(npmScopePrefix)}-')][].Outputs[] | [?contains(OutputKey, '${websiteNameClassName}WebsiteBucketName')].OutputValue" --output text\`/runtime-config.json "{projectRoot}/public/runtime-config.json"`,
108
72
  },
109
73
  };
110
- targets['test'] = Object.assign(Object.assign({}, targets['test']), { options: Object.assign(Object.assign({}, ((_f = (_e = targets['test']) === null || _e === void 0 ? void 0 : _e.options) !== null && _f !== void 0 ? _f : {})), { reportsDirectory: '{workspaceRoot}/coverage/{projectRoot}' }) });
111
- // Add a serve-local target for running the website and its dependencies locally
112
- targets['serve-local'] = {
113
- executor: '@nx/vite:dev-server',
74
+ }
75
+ else if (iacProvider === 'Terraform') {
76
+ targets['load:runtime-config'] = {
77
+ executor: 'nx:run-commands',
78
+ metadata: {
79
+ description: "Load runtime config from most recently applied terraform env for dev purposes. Copies the runtime config from the Terraform dist directory to the website's public directory.",
80
+ },
114
81
  options: {
115
- buildTarget: `${fullyQualifiedName}:build:development`,
116
- hmr: true,
117
- mode: 'serve-local',
82
+ command: 'node -e "const fs=require(\'fs\');fs.mkdirSync(process.env.DEST_DIR,{recursive:true});fs.copyFileSync(process.env.SRC_FILE,process.env.DEST_FILE);"',
83
+ env: {
84
+ SRC_FILE: 'dist/packages/common/terraform/runtime-config.json',
85
+ DEST_DIR: `{projectRoot}/public`,
86
+ DEST_FILE: `{projectRoot}/public/runtime-config.json`,
87
+ },
118
88
  },
119
- continuous: true,
120
89
  };
121
- projectConfiguration.targets = (0, object_1.sortObjectKeys)(targets);
122
- (0, devkit_1.updateProjectConfiguration)(tree, fullyQualifiedName, projectConfiguration);
123
- (0, nx_1.addGeneratorMetadata)(tree, projectConfiguration.name, exports.REACT_WEBSITE_APP_GENERATOR_INFO, {
124
- uxProvider,
125
- });
126
- yield (0, ts_project_utils_1.configureTsProject)(tree, {
127
- dir: websiteContentPath,
128
- fullyQualifiedName,
129
- });
130
- if (uxProvider === 'Shadcn') {
131
- yield (0, shared_shadcn_1.sharedShadcnGenerator)(tree);
132
- }
133
- yield (0, shared_constructs_1.sharedConstructsGenerator)(tree, {
134
- iacProvider,
135
- });
136
- yield (0, website_constructs_1.addWebsiteInfra)(tree, {
137
- iacProvider,
138
- websiteProjectName: fullyQualifiedName,
139
- scopeAlias,
140
- websiteContentPath: (0, devkit_1.joinPathFragments)('dist', websiteContentPath),
141
- websiteNameKebabCase,
142
- websiteNameClassName,
90
+ }
91
+ else {
92
+ throw new Error(`Unknown iacProvider: ${iacProvider}. Supported providers are: CDK, Terraform`);
93
+ }
94
+ const buildTarget = targets['build'];
95
+ targets['compile'] = {
96
+ dependsOn: ['bundle'],
97
+ executor: 'nx:run-commands',
98
+ outputs: ['{workspaceRoot}/dist/{projectRoot}/tsc'],
99
+ options: {
100
+ command: 'tsc --build tsconfig.app.json',
101
+ cwd: '{projectRoot}',
102
+ },
103
+ };
104
+ targets['bundle'] = {
105
+ ...buildTarget,
106
+ options: {
107
+ ...buildTarget.options,
108
+ outputPath: 'dist/{projectRoot}/bundle',
109
+ },
110
+ };
111
+ targets['build'] = {
112
+ dependsOn: [
113
+ 'lint',
114
+ 'compile',
115
+ 'bundle',
116
+ 'test',
117
+ ...(buildTarget.dependsOn ?? []),
118
+ ],
119
+ options: {
120
+ outputPath: 'dist/{projectRoot}/bundle',
121
+ },
122
+ };
123
+ targets['test'] = {
124
+ ...targets['test'],
125
+ options: {
126
+ ...(targets['test']?.options ?? {}),
127
+ reportsDirectory: '{workspaceRoot}/coverage/{projectRoot}',
128
+ },
129
+ };
130
+ // Add a serve-local target for running the website and its dependencies locally
131
+ targets['serve-local'] = {
132
+ executor: '@nx/vite:dev-server',
133
+ options: {
134
+ buildTarget: `${fullyQualifiedName}:build:development`,
135
+ hmr: true,
136
+ mode: 'serve-local',
137
+ },
138
+ continuous: true,
139
+ };
140
+ projectConfiguration.targets = (0, object_1.sortObjectKeys)(targets);
141
+ (0, devkit_1.updateProjectConfiguration)(tree, fullyQualifiedName, projectConfiguration);
142
+ (0, nx_1.addGeneratorMetadata)(tree, projectConfiguration.name, exports.REACT_WEBSITE_APP_GENERATOR_INFO, {
143
+ uxProvider,
144
+ });
145
+ await (0, ts_project_utils_1.configureTsProject)(tree, {
146
+ dir: websiteContentPath,
147
+ fullyQualifiedName,
148
+ });
149
+ if (uxProvider === 'Shadcn') {
150
+ await (0, shared_shadcn_1.sharedShadcnGenerator)(tree);
151
+ }
152
+ await (0, shared_constructs_1.sharedConstructsGenerator)(tree, {
153
+ iacProvider,
154
+ });
155
+ await (0, website_constructs_1.addWebsiteInfra)(tree, {
156
+ iacProvider,
157
+ websiteProjectName: fullyQualifiedName,
158
+ scopeAlias,
159
+ websiteContentPath: (0, devkit_1.joinPathFragments)('dist', websiteContentPath),
160
+ websiteNameKebabCase,
161
+ websiteNameClassName,
162
+ });
163
+ const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, fullyQualifiedName);
164
+ const libraryRoot = projectConfig.root;
165
+ const sharedShadcnStylesImport = (0, path_1.relative)((0, devkit_1.joinPathFragments)(libraryRoot, 'src'), (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_SHADCN_DIR, 'src', 'styles', 'globals.css'))
166
+ .split(path_1.sep)
167
+ .join('/');
168
+ const sharedShadcnTsconfigRef = (0, path_1.relative)((0, devkit_1.joinPathFragments)(tree.root, websiteContentPath), (0, devkit_1.joinPathFragments)(tree.root, shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_SHADCN_DIR, 'tsconfig.json'))
169
+ .split(path_1.sep)
170
+ .join('/');
171
+ const templateOptions = {
172
+ ...schema,
173
+ fullyQualifiedName,
174
+ pkgMgrCmd: (0, pkg_manager_1.getPackageManagerDisplayCommands)().exec,
175
+ enableTailwind,
176
+ enableTanstackRouter,
177
+ scopeAlias,
178
+ sharedShadcnStylesImport,
179
+ };
180
+ tree.delete((0, devkit_1.joinPathFragments)(libraryRoot, 'src', 'app'));
181
+ const appCommonTemplatePath = (0, devkit_1.joinPathFragments)(__dirname, './files/app/common');
182
+ const appTemplatePath = (0, devkit_1.joinPathFragments)(__dirname, `./files/app/${uxProvider.toLowerCase()}`);
183
+ (0, devkit_1.generateFiles)(tree, // the virtual file system
184
+ appCommonTemplatePath, // path to the file templates
185
+ libraryRoot, // destination path of the files
186
+ templateOptions, // config object to replace variable in file templates
187
+ {
188
+ overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
189
+ });
190
+ (0, devkit_1.generateFiles)(tree, // the virtual file system
191
+ appTemplatePath, // path to the file templates
192
+ libraryRoot, // destination path of the files
193
+ templateOptions, // config object to replace variable in file templates
194
+ {
195
+ overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
196
+ });
197
+ if (enableTanstackRouter) {
198
+ const routerCommonTemplatePath = (0, devkit_1.joinPathFragments)(__dirname, './files/tanstack-router/common');
199
+ const routerTemplatePath = (0, devkit_1.joinPathFragments)(__dirname, `./files/tanstack-router/${uxProvider.toLowerCase()}`);
200
+ (0, devkit_1.generateFiles)(tree, routerCommonTemplatePath, libraryRoot, templateOptions, {
201
+ overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
143
202
  });
144
- const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, fullyQualifiedName);
145
- const libraryRoot = projectConfig.root;
146
- const sharedShadcnStylesImport = (0, path_1.relative)((0, devkit_1.joinPathFragments)(libraryRoot, 'src'), (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_SHADCN_DIR, 'src', 'styles', 'globals.css'))
147
- .split(path_1.sep)
148
- .join('/');
149
- const sharedShadcnTsconfigRef = (0, path_1.relative)((0, devkit_1.joinPathFragments)(tree.root, websiteContentPath), (0, devkit_1.joinPathFragments)(tree.root, shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_SHADCN_DIR, 'tsconfig.json'))
150
- .split(path_1.sep)
151
- .join('/');
152
- const templateOptions = Object.assign(Object.assign({}, schema), { fullyQualifiedName, pkgMgrCmd: (0, pkg_manager_1.getPackageManagerDisplayCommands)().exec, enableTailwind,
153
- enableTanstackRouter,
154
- scopeAlias,
155
- sharedShadcnStylesImport });
156
- tree.delete((0, devkit_1.joinPathFragments)(libraryRoot, 'src', 'app'));
157
- const appCommonTemplatePath = (0, devkit_1.joinPathFragments)(__dirname, './files/app/common');
158
- const appTemplatePath = (0, devkit_1.joinPathFragments)(__dirname, `./files/app/${uxProvider.toLowerCase()}`);
159
- (0, devkit_1.generateFiles)(tree, // the virtual file system
160
- appCommonTemplatePath, // path to the file templates
161
- libraryRoot, // destination path of the files
162
- templateOptions, // config object to replace variable in file templates
203
+ (0, devkit_1.generateFiles)(tree, routerTemplatePath, libraryRoot, templateOptions, // config object to replace variable in file templates
163
204
  {
164
205
  overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
165
206
  });
207
+ tree.delete((0, devkit_1.joinPathFragments)(websiteContentPath, 'src', 'app.tsx'));
208
+ }
209
+ if (e2eTestRunner !== 'none') {
210
+ const e2eFullyQualifiedName = `${fullyQualifiedName}-e2e`;
211
+ const e2eRoot = (0, devkit_1.readProjectConfiguration)(tree, e2eFullyQualifiedName).root;
166
212
  (0, devkit_1.generateFiles)(tree, // the virtual file system
167
- appTemplatePath, // path to the file templates
168
- libraryRoot, // destination path of the files
169
- templateOptions, // config object to replace variable in file templates
170
- {
171
- overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
213
+ (0, devkit_1.joinPathFragments)(__dirname, `./files/e2e/${e2eTestRunner}`), // path to the file templates
214
+ e2eRoot, // destination path of the files
215
+ { ...schema, ...(0, devkit_1.names)(fullyQualifiedName) }, {
216
+ overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
217
+ });
218
+ await (0, ts_project_utils_1.configureTsProject)(tree, {
219
+ fullyQualifiedName: e2eFullyQualifiedName,
220
+ dir: e2eRoot,
172
221
  });
222
+ }
223
+ const viteConfigPath = (0, devkit_1.joinPathFragments)(libraryRoot, 'vite.config.mts');
224
+ if (tree.exists(viteConfigPath)) {
225
+ // Add Tanstack Router import if enabled
173
226
  if (enableTanstackRouter) {
174
- const routerCommonTemplatePath = (0, devkit_1.joinPathFragments)(__dirname, './files/tanstack-router/common');
175
- const routerTemplatePath = (0, devkit_1.joinPathFragments)(__dirname, `./files/tanstack-router/${uxProvider.toLowerCase()}`);
176
- (0, devkit_1.generateFiles)(tree, routerCommonTemplatePath, libraryRoot, templateOptions, {
177
- overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
178
- });
179
- (0, devkit_1.generateFiles)(tree, routerTemplatePath, libraryRoot, templateOptions, // config object to replace variable in file templates
180
- {
181
- overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
182
- });
183
- tree.delete((0, devkit_1.joinPathFragments)(websiteContentPath, 'src', 'app.tsx'));
227
+ await (0, ast_1.addDestructuredImport)(tree, viteConfigPath, ['tanstackRouter'], '@tanstack/router-plugin/vite');
228
+ await (0, ast_1.addDestructuredImport)(tree, viteConfigPath, ['resolve'], 'path');
184
229
  }
185
- if (e2eTestRunner !== 'none') {
186
- const e2eFullyQualifiedName = `${fullyQualifiedName}-e2e`;
187
- const e2eRoot = (0, devkit_1.readProjectConfiguration)(tree, e2eFullyQualifiedName).root;
188
- (0, devkit_1.generateFiles)(tree, // the virtual file system
189
- (0, devkit_1.joinPathFragments)(__dirname, `./files/e2e/${e2eTestRunner}`), // path to the file templates
190
- e2eRoot, Object.assign(Object.assign({}, schema), (0, devkit_1.names)(fullyQualifiedName)), {
191
- overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
192
- });
193
- yield (0, ts_project_utils_1.configureTsProject)(tree, {
194
- fullyQualifiedName: e2eFullyQualifiedName,
195
- dir: e2eRoot,
196
- });
197
- }
198
- const viteConfigPath = (0, devkit_1.joinPathFragments)(libraryRoot, 'vite.config.mts');
199
- if (tree.exists(viteConfigPath)) {
200
- // Add Tanstack Router import if enabled
201
- if (enableTanstackRouter) {
202
- yield (0, ast_1.addDestructuredImport)(tree, viteConfigPath, ['tanstackRouter'], '@tanstack/router-plugin/vite');
203
- yield (0, ast_1.addDestructuredImport)(tree, viteConfigPath, ['resolve'], 'path');
204
- }
205
- yield (0, ast_1.addSingleImport)(tree, viteConfigPath, 'tsconfigPaths', 'vite-tsconfig-paths');
206
- // Add TailwindCSS import if enabled
207
- if (enableTailwind) {
208
- yield (0, ast_1.addSingleImport)(tree, viteConfigPath, 'tailwindcss', '@tailwindcss/vite');
209
- }
210
- (0, ast_1.replaceIfExists)(tree, viteConfigPath, 'ObjectLiteralExpression', (node) => {
211
- const updatedProperties = node.properties.map((prop) => {
212
- if ((0, typescript_1.isPropertyAssignment)(prop) && prop.name.getText() === 'build') {
213
- const buildConfig = prop.initializer;
214
- return typescript_1.factory.createPropertyAssignment('build', typescript_1.factory.createObjectLiteralExpression(buildConfig.properties.map((buildProp) => {
215
- if ((0, typescript_1.isPropertyAssignment)(buildProp) &&
216
- buildProp.name.getText() === 'outDir') {
217
- return typescript_1.factory.createPropertyAssignment('outDir', typescript_1.factory.createStringLiteral((0, devkit_1.joinPathFragments)((0, paths_1.getRelativePathToRoot)(tree, fullyQualifiedName), 'dist', websiteContentPath)));
218
- }
219
- return buildProp;
220
- }), true));
221
- }
222
- else if ((0, typescript_1.isPropertyAssignment)(prop) &&
223
- prop.name.getText() === 'plugins') {
224
- const pluginsConfig = prop.initializer;
225
- const pluginsArray = [...pluginsConfig.elements];
226
- if (enableTanstackRouter) {
227
- pluginsArray.unshift(typescript_1.factory.createCallExpression(typescript_1.factory.createIdentifier('tanstackRouter'), undefined, [
228
- typescript_1.factory.createObjectLiteralExpression([
229
- typescript_1.factory.createPropertyAssignment(typescript_1.factory.createIdentifier('routesDirectory'), typescript_1.factory.createCallExpression(typescript_1.factory.createIdentifier('resolve'), undefined, [
230
- typescript_1.factory.createIdentifier('__dirname'),
231
- typescript_1.factory.createStringLiteral('src/routes'),
232
- ])),
233
- typescript_1.factory.createPropertyAssignment(typescript_1.factory.createIdentifier('generatedRouteTree'), typescript_1.factory.createCallExpression(typescript_1.factory.createIdentifier('resolve'), undefined, [
234
- typescript_1.factory.createIdentifier('__dirname'),
235
- typescript_1.factory.createStringLiteral('src/routeTree.gen.ts'),
236
- ])),
237
- ]),
238
- ]));
239
- }
240
- // Add TailwindCSS plugin if enabled
241
- if (enableTailwind) {
242
- pluginsArray.push(typescript_1.factory.createCallExpression(typescript_1.factory.createIdentifier('tailwindcss'), undefined, []));
243
- }
244
- pluginsArray.push(typescript_1.factory.createCallExpression(typescript_1.factory.createIdentifier('tsconfigPaths'), undefined, []));
245
- return typescript_1.factory.createPropertyAssignment('plugins', typescript_1.factory.createArrayLiteralExpression(pluginsArray, true));
246
- }
247
- return prop;
248
- });
249
- return typescript_1.factory.createObjectLiteralExpression(updatedProperties, true);
250
- });
251
- (0, ast_1.replaceIfExists)(tree, viteConfigPath, 'ObjectLiteralExpression', (node) => {
252
- return typescript_1.factory.createObjectLiteralExpression([
253
- typescript_1.factory.createPropertyAssignment('define', typescript_1.factory.createObjectLiteralExpression([
254
- typescript_1.factory.createPropertyAssignment('global', typescript_1.factory.createObjectLiteralExpression()),
255
- ], true)),
256
- ...node.properties,
257
- ], true);
258
- });
259
- }
260
- (0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(websiteContentPath, 'tsconfig.json'), (tsconfig) => (Object.assign(Object.assign({}, tsconfig), { compilerOptions: Object.assign(Object.assign({}, tsconfig.compilerOptions), { moduleResolution: 'Bundler', module: 'Preserve' }) })));
261
- const outDirToRootRelativePath = (0, path_1.relative)((0, devkit_1.joinPathFragments)(tree.root, websiteContentPath), tree.root);
262
- const distDir = (0, devkit_1.joinPathFragments)(outDirToRootRelativePath, 'dist', websiteContentPath, 'tsc');
263
- (0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(websiteContentPath, 'tsconfig.app.json'), (tsconfig) => {
264
- var _a;
265
- return (Object.assign(Object.assign({}, tsconfig), { compilerOptions: Object.assign(Object.assign({}, tsconfig.compilerOptions), { outDir: distDir, tsBuildInfoFile: (0, devkit_1.joinPathFragments)(distDir, 'tsconfig.lib.tsbuildinfo'), lib: ['DOM'] }), references: uxProvider === 'Shadcn'
266
- ? [
267
- ...((_a = tsconfig.references) !== null && _a !== void 0 ? _a : []).filter((ref) => ref.path !== sharedShadcnTsconfigRef),
268
- {
269
- path: sharedShadcnTsconfigRef,
270
- },
271
- ]
272
- : tsconfig.references }));
273
- });
274
- const devDependencies = [
275
- 'vite-tsconfig-paths',
276
- '@nx/react',
277
- '@vitest/ui',
278
- ];
279
- const dependencies = ['react', 'react-dom'];
280
- if (uxProvider === 'Cloudscape') {
281
- dependencies.push('@cloudscape-design/components', '@cloudscape-design/board-components', '@cloudscape-design/global-styles');
230
+ await (0, ast_1.addSingleImport)(tree, viteConfigPath, 'tsconfigPaths', 'vite-tsconfig-paths');
231
+ // Add TailwindCSS import if enabled
232
+ if (enableTailwind) {
233
+ await (0, ast_1.addSingleImport)(tree, viteConfigPath, 'tailwindcss', '@tailwindcss/vite');
282
234
  }
283
- else if (uxProvider === 'Shadcn') {
284
- // not required to add any dependencies because dependencies are added by the common/shadcn package.
235
+ // Update build.outDir
236
+ const outDir = (0, devkit_1.joinPathFragments)((0, paths_1.getRelativePathToRoot)(tree, fullyQualifiedName), 'dist', websiteContentPath);
237
+ await (0, ast_1.applyGritQL)(tree, viteConfigPath, `\`build: { $bprops }\` where { $bprops <: contains \`outDir: $_\` => \`outDir: '${outDir}'\` }`);
238
+ // Add plugins to the plugins array
239
+ if (enableTanstackRouter) {
240
+ // Prepend tanstackRouter (must be first plugin) — rewrite works for both single/multi-element
241
+ await (0, ast_1.applyGritQL)(tree, viteConfigPath, "`plugins: [$items]` => `plugins: [tanstackRouter({ routesDirectory: resolve(__dirname, 'src/routes'), generatedRouteTree: resolve(__dirname, 'src/routeTree.gen.ts') }), $items]` where { $items <: within `defineConfig($_)`, $items <: not contains `tanstackRouter` }");
285
242
  }
286
- // Add TailwindCSS dependencies if enabled
287
243
  if (enableTailwind) {
288
- dependencies.push('tailwindcss');
289
- devDependencies.push('@tailwindcss/vite');
244
+ await (0, ast_1.applyGritQL)(tree, viteConfigPath, '`plugins: [$items]` => `plugins: [$items, tailwindcss()]` where { $items <: within `defineConfig($_)`, $items <: not some `tailwindcss()` }');
290
245
  }
291
- if (enableTanstackRouter) {
292
- dependencies.push('@tanstack/react-router');
293
- devDependencies.push('@tanstack/router-plugin', '@tanstack/router-generator', '@tanstack/virtual-file-routes', '@tanstack/router-utils');
246
+ await (0, ast_1.applyGritQL)(tree, viteConfigPath, '`plugins: [$items]` => `plugins: [$items, tsconfigPaths()]` where { $items <: within `defineConfig($_)`, $items <: not some `tsconfigPaths()` }');
247
+ // Add define: { global: {} } to the config (handles both callback and direct forms)
248
+ await (0, ast_1.applyGritQL)(tree, viteConfigPath, 'or { `defineConfig(() => ({ $props }))` where { $props <: not contains `define`, $props += `define: { global: {} }` }, `defineConfig({ $props })` where { $props <: not contains `define`, $props += `define: { global: {} }` } }');
249
+ }
250
+ (0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(websiteContentPath, 'tsconfig.json'), (tsconfig) => ({
251
+ ...tsconfig,
252
+ compilerOptions: {
253
+ ...tsconfig.compilerOptions,
254
+ moduleResolution: 'Bundler',
255
+ module: 'Preserve',
256
+ },
257
+ }));
258
+ const outDirToRootRelativePath = (0, path_1.relative)((0, devkit_1.joinPathFragments)(tree.root, websiteContentPath), tree.root);
259
+ const distDir = (0, devkit_1.joinPathFragments)(outDirToRootRelativePath, 'dist', websiteContentPath, 'tsc');
260
+ (0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(websiteContentPath, 'tsconfig.app.json'), (tsconfig) => ({
261
+ ...tsconfig,
262
+ compilerOptions: {
263
+ ...tsconfig.compilerOptions,
264
+ outDir: distDir,
265
+ tsBuildInfoFile: (0, devkit_1.joinPathFragments)(distDir, 'tsconfig.lib.tsbuildinfo'),
266
+ lib: ['DOM'],
267
+ },
268
+ references: uxProvider === 'Shadcn'
269
+ ? [
270
+ ...(tsconfig.references ?? []).filter((ref) => ref.path !== sharedShadcnTsconfigRef),
271
+ {
272
+ path: sharedShadcnTsconfigRef,
273
+ },
274
+ ]
275
+ : tsconfig.references,
276
+ }));
277
+ const devDependencies = [
278
+ 'vite-tsconfig-paths',
279
+ '@nx/react',
280
+ '@vitest/ui',
281
+ ];
282
+ const dependencies = ['react', 'react-dom'];
283
+ if (uxProvider === 'Cloudscape') {
284
+ dependencies.push('@cloudscape-design/components', '@cloudscape-design/board-components', '@cloudscape-design/global-styles');
285
+ }
286
+ else if (uxProvider === 'Shadcn') {
287
+ // not required to add any dependencies because dependencies are added by the common/shadcn package.
288
+ }
289
+ // Add TailwindCSS dependencies if enabled
290
+ if (enableTailwind) {
291
+ dependencies.push('tailwindcss');
292
+ devDependencies.push('@tailwindcss/vite');
293
+ }
294
+ if (enableTanstackRouter) {
295
+ dependencies.push('@tanstack/react-router');
296
+ devDependencies.push('@tanstack/router-plugin', '@tanstack/router-generator', '@tanstack/virtual-file-routes', '@tanstack/router-utils');
297
+ }
298
+ (0, devkit_1.addDependenciesToPackageJson)(tree, (0, versions_1.withVersions)(dependencies), (0, versions_1.withVersions)(devDependencies));
299
+ await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [
300
+ exports.REACT_WEBSITE_APP_GENERATOR_INFO,
301
+ ]);
302
+ await (0, format_1.formatFilesInSubtree)(tree);
303
+ return () => {
304
+ if (!schema.skipInstall) {
305
+ (0, devkit_1.installPackagesTask)(tree);
294
306
  }
295
- (0, devkit_1.addDependenciesToPackageJson)(tree, (0, versions_1.withVersions)(dependencies), (0, versions_1.withVersions)(devDependencies));
296
- yield (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [
297
- exports.REACT_WEBSITE_APP_GENERATOR_INFO,
298
- ]);
299
- yield (0, format_1.formatFilesInSubtree)(tree);
300
- return () => {
301
- if (!schema.skipInstall) {
302
- (0, devkit_1.installPackagesTask)(tree);
303
- }
304
- };
305
- });
307
+ };
306
308
  }
307
309
  exports.default = tsReactWebsiteGenerator;
308
310
  //# sourceMappingURL=generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/react-website/app/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/react-website/app/generator.ts"],"names":[],"mappings":"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"}