@aws/nx-plugin 0.5.1 → 0.7.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 (69) hide show
  1. package/LICENSE-THIRD-PARTY +157 -0
  2. package/generators.json +26 -10
  3. package/package.json +3 -1
  4. package/src/api-connection/README.md +0 -0
  5. package/src/api-connection/generator.d.ts +20 -0
  6. package/src/api-connection/generator.js +101 -0
  7. package/src/api-connection/generator.js.map +1 -0
  8. package/src/api-connection/schema.d.ts +10 -0
  9. package/src/api-connection/schema.json +32 -0
  10. package/src/cloudscape-website/app/README.md +3 -3
  11. package/src/cloudscape-website/app/__snapshots__/generator.spec.ts.snap +4 -2
  12. package/src/cloudscape-website/app/files/common/constructs/src/app/static-websites/__websiteNameKebabCase__.ts.template +1 -1
  13. package/src/cloudscape-website/app/generator.js +25 -10
  14. package/src/cloudscape-website/app/generator.js.map +1 -1
  15. package/src/cloudscape-website/cognito-auth/README.md +4 -4
  16. package/src/infra/app/README.md +3 -3
  17. package/src/infra/app/__snapshots__/generator.spec.ts.snap +24 -41
  18. package/src/infra/app/generator.js +2 -1
  19. package/src/infra/app/generator.js.map +1 -1
  20. package/src/py/fast-api/files/app/__name__/main.py.template +9 -0
  21. package/src/py/fast-api/files/app/tests/test_main.py +7 -0
  22. package/src/py/fast-api/files/common/constructs/src/app/http-apis/__apiNameKebabCase__.ts.template +22 -0
  23. package/src/py/fast-api/generator.d.ts +11 -0
  24. package/src/py/fast-api/generator.js +120 -0
  25. package/src/py/fast-api/generator.js.map +1 -0
  26. package/src/py/fast-api/schema.d.ts +9 -0
  27. package/src/py/fast-api/schema.json +22 -0
  28. package/src/py/project/generator.d.ts +31 -0
  29. package/src/py/project/generator.js +103 -0
  30. package/src/py/project/generator.js.map +1 -0
  31. package/src/py/project/schema.d.ts +11 -0
  32. package/src/py/project/schema.json +32 -0
  33. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +50 -44
  34. package/src/trpc/backend/files/common/constructs/src/app/{trpc-apis → http-apis}/__apiNameKebabCase__.ts.template +7 -3
  35. package/src/trpc/backend/generator.js +30 -23
  36. package/src/trpc/backend/generator.js.map +1 -1
  37. package/src/trpc/backend/schema.json +1 -1
  38. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +1 -1
  39. package/src/trpc/react/files/src/hooks/useSigV4.tsx.template +1 -1
  40. package/src/trpc/react/generator.js +1 -40
  41. package/src/trpc/react/generator.js.map +1 -1
  42. package/src/trpc/react/schema.json +1 -1
  43. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +12 -33
  44. package/src/ts/lib/eslint.js +28 -0
  45. package/src/ts/lib/eslint.js.map +1 -1
  46. package/src/ts/lib/generator.js +20 -12
  47. package/src/ts/lib/generator.js.map +1 -1
  48. package/src/ts/lib/ts-project-utils.js +2 -2
  49. package/src/ts/lib/ts-project-utils.js.map +1 -1
  50. package/src/utils/ast.d.ts +4 -0
  51. package/src/utils/ast.js +10 -1
  52. package/src/utils/ast.js.map +1 -1
  53. package/src/{trpc/backend/files/common/constructs/src/core/trpc-api.ts.template → utils/files/http-api/common/constructs/src/core/http-api.ts.template} +20 -18
  54. package/src/utils/http-api.d.ts +6 -0
  55. package/src/utils/http-api.js +61 -0
  56. package/src/utils/http-api.js.map +1 -0
  57. package/src/utils/names.d.ts +1 -0
  58. package/src/utils/names.js +4 -1
  59. package/src/utils/names.js.map +1 -1
  60. package/src/utils/npm-scope.js +2 -2
  61. package/src/utils/npm-scope.js.map +1 -1
  62. package/src/utils/nx.d.ts +8 -0
  63. package/src/utils/nx.js +11 -0
  64. package/src/utils/nx.js.map +1 -0
  65. package/src/utils/shared-constructs.js +1 -1
  66. package/src/utils/shared-constructs.js.map +1 -1
  67. package/src/utils/versions.d.ts +5 -2
  68. package/src/utils/versions.js +4 -1
  69. package/src/utils/versions.js.map +1 -1
@@ -4222,6 +4222,21 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
4222
4222
 
4223
4223
  ---
4224
4224
 
4225
+ The following software may be included in this product: @nxlv/python (20.5.1)
4226
+ This software contains the following license and notice below:
4227
+
4228
+ MIT License
4229
+
4230
+ Copyright (c) The maintainers of @nxlv/python <https://github.com/lucasvieirasilva/nx-plugins#readme>
4231
+
4232
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4233
+
4234
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
4235
+
4236
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
4237
+
4238
+ ---
4239
+
4225
4240
  The following software may be included in this product: @phenomnomnominal/tsquery (5.0.1)
4226
4241
  This software contains the following license and notice below:
4227
4242
 
@@ -8188,6 +8203,33 @@ THE SOFTWARE.
8188
8203
 
8189
8204
  ---
8190
8205
 
8206
+ The following software may be included in this product: command-exists (1.2.9)
8207
+ This software contains the following license and notice below:
8208
+
8209
+ The MIT License (MIT)
8210
+
8211
+ Copyright (c) 2014 Matthew Conlen
8212
+
8213
+ Permission is hereby granted, free of charge, to any person obtaining a copy
8214
+ of this software and associated documentation files (the "Software"), to deal
8215
+ in the Software without restriction, including without limitation the rights
8216
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8217
+ copies of the Software, and to permit persons to whom the Software is
8218
+ furnished to do so, subject to the following conditions:
8219
+
8220
+ The above copyright notice and this permission notice shall be included in all
8221
+ copies or substantial portions of the Software.
8222
+
8223
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
8224
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
8225
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
8226
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
8227
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
8228
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
8229
+ SOFTWARE.
8230
+
8231
+ ---
8232
+
8191
8233
  The following software may be included in this product: commander (2.20.3)
8192
8234
  This software contains the following license and notice below:
8193
8235
 
@@ -11028,6 +11070,32 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
11028
11070
 
11029
11071
  ---
11030
11072
 
11073
+ The following software may be included in this product: file-uri-to-path (2.0.0)
11074
+ This software contains the following license and notice below:
11075
+
11076
+ Copyright (c) 2014 Nathan Rajlich <nathan@tootallnate.net>
11077
+
11078
+ Permission is hereby granted, free of charge, to any person obtaining
11079
+ a copy of this software and associated documentation files (the
11080
+ 'Software'), to deal in the Software without restriction, including
11081
+ without limitation the rights to use, copy, modify, merge, publish,
11082
+ distribute, sublicense, and/or sell copies of the Software, and to
11083
+ permit persons to whom the Software is furnished to do so, subject to
11084
+ the following conditions:
11085
+
11086
+ The above copyright notice and this permission notice shall be
11087
+ included in all copies or substantial portions of the Software.
11088
+
11089
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
11090
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
11091
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
11092
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
11093
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
11094
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
11095
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
11096
+
11097
+ ---
11098
+
11031
11099
  The following software may be included in this product: fill-range (7.1.1)
11032
11100
  This software contains the following license and notice below:
11033
11101
 
@@ -11369,6 +11437,27 @@ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHE
11369
11437
 
11370
11438
  ---
11371
11439
 
11440
+ The following software may be included in this product: fs-extra (11.2.0)
11441
+ This software contains the following license and notice below:
11442
+
11443
+ (The MIT License)
11444
+
11445
+ Copyright (c) 2011-2017 JP Richardson
11446
+
11447
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files
11448
+ (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify,
11449
+ merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
11450
+ furnished to do so, subject to the following conditions:
11451
+
11452
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
11453
+
11454
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
11455
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
11456
+ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
11457
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
11458
+
11459
+ ---
11460
+
11372
11461
  The following software may be included in this product: fsevents (2.3.3)
11373
11462
  This software contains the following license and notice below:
11374
11463
 
@@ -14452,6 +14541,59 @@ terms above.
14452
14541
 
14453
14542
  ---
14454
14543
 
14544
+ The following software may be included in this product: lodash.snakecase (4.1.1)
14545
+ This software contains the following license and notice below:
14546
+
14547
+ Copyright jQuery Foundation and other contributors <https://jquery.org/>
14548
+
14549
+ Based on Underscore.js, copyright Jeremy Ashkenas,
14550
+ DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
14551
+
14552
+ This software consists of voluntary contributions made by many
14553
+ individuals. For exact contribution history, see the revision history
14554
+ available at https://github.com/lodash/lodash
14555
+
14556
+ The following license applies to all parts of this software except as
14557
+ documented below:
14558
+
14559
+ ====
14560
+
14561
+ Permission is hereby granted, free of charge, to any person obtaining
14562
+ a copy of this software and associated documentation files (the
14563
+ "Software"), to deal in the Software without restriction, including
14564
+ without limitation the rights to use, copy, modify, merge, publish,
14565
+ distribute, sublicense, and/or sell copies of the Software, and to
14566
+ permit persons to whom the Software is furnished to do so, subject to
14567
+ the following conditions:
14568
+
14569
+ The above copyright notice and this permission notice shall be
14570
+ included in all copies or substantial portions of the Software.
14571
+
14572
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
14573
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
14574
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
14575
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
14576
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
14577
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
14578
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
14579
+
14580
+ ====
14581
+
14582
+ Copyright and related rights for sample code are waived via CC0. Sample
14583
+ code is defined as all source code displayed within the prose of the
14584
+ documentation.
14585
+
14586
+ CC0: http://creativecommons.org/publicdomain/zero/1.0/
14587
+
14588
+ ====
14589
+
14590
+ Files located in the node_modules and vendor directories are externally
14591
+ maintained libraries used by this software which have their own
14592
+ licenses; we recommend you read them, as their terms may differ from the
14593
+ terms above.
14594
+
14595
+ ---
14596
+
14455
14597
  The following software may be included in this product: log-symbols (4.1.0)
14456
14598
  This software contains the following license and notice below:
14457
14599
 
@@ -27111,6 +27253,21 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
27111
27253
 
27112
27254
  ---
27113
27255
 
27256
+ The following software may be included in this product: uuid (9.0.1)
27257
+ This software contains the following license and notice below:
27258
+
27259
+ The MIT License (MIT)
27260
+
27261
+ Copyright (c) 2010-2020 Robert Kieffer and other contributors
27262
+
27263
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
27264
+
27265
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
27266
+
27267
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27268
+
27269
+ ---
27270
+
27114
27271
  The following software may be included in this product: v8-compile-cache-lib (3.0.1)
27115
27272
  This software contains the following license and notice below:
27116
27273
 
package/generators.json CHANGED
@@ -3,41 +3,57 @@
3
3
  "name": "pace",
4
4
  "version": "0.0.1",
5
5
  "generators": {
6
- "ts#lib": {
6
+ "ts#project": {
7
7
  "factory": "./src/ts/lib/generator",
8
8
  "schema": "./src/ts/lib/schema.json",
9
- "description": "Generates a TypeScript library"
9
+ "description": "Generates a TypeScript project"
10
10
  },
11
- "cloudscape-website#app": {
11
+ "py#project": {
12
+ "factory": "./src/py/project/generator",
13
+ "schema": "./src/py/project/schema.json",
14
+ "description": "Generates a Python project"
15
+ },
16
+ "py#fast-api": {
17
+ "factory": "./src/py/fast-api/generator",
18
+ "schema": "./src/py/fast-api/schema.json",
19
+ "description": "Generates a FastAPI Python project"
20
+ },
21
+ "ts#cloudscape-website": {
12
22
  "factory": "./src/cloudscape-website/app/generator",
13
23
  "schema": "./src/cloudscape-website/app/schema.json",
14
24
  "description": "Generates a React static website based on Cloudscape"
15
25
  },
16
- "cloudscape-website#cognito-auth": {
26
+ "ts#cloudscape-website#auth": {
17
27
  "factory": "./src/cloudscape-website/cognito-auth/generator",
18
28
  "schema": "./src/cloudscape-website/cognito-auth/schema.json",
19
- "description": "Adds cognito auth to an existing cloudscape website"
29
+ "description": "Adds auth to an existing cloudscape website"
20
30
  },
21
- "cloudscape-website#runtime-config": {
31
+ "ts#cloudscape-website#runtime-config": {
22
32
  "factory": "./src/cloudscape-website/runtime-config/generator",
23
33
  "schema": "./src/cloudscape-website/runtime-config/schema.json",
24
34
  "description": "Adds runtime config to an existing cloudscape website",
25
35
  "hidden": true
26
36
  },
27
- "infra#app": {
37
+ "ts#infra": {
28
38
  "factory": "./src/infra/app/generator",
29
39
  "schema": "./src/infra/app/schema.json",
30
40
  "description": "Generates a cdk application"
31
41
  },
32
- "trpc#backend": {
42
+ "ts#trpc-api": {
33
43
  "factory": "./src/trpc/backend/generator",
34
44
  "schema": "./src/trpc/backend/schema.json",
35
45
  "description": "creates a trpc backend"
36
46
  },
37
- "trpc#react": {
47
+ "ts#trpc-api#react-connection": {
38
48
  "factory": "./src/trpc/react/generator",
39
49
  "schema": "./src/trpc/react/schema.json",
40
- "description": "provides React integration to a React website"
50
+ "description": "provides React integration to a React website",
51
+ "hidden": true
52
+ },
53
+ "api-connection": {
54
+ "factory": "./src/api-connection/generator",
55
+ "schema": "./src/api-connection/schema.json",
56
+ "description": "Integrates a source project with a target API project"
41
57
  },
42
58
  "license": {
43
59
  "factory": "./src/license/generator",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws/nx-plugin",
3
- "version": "0.5.1",
3
+ "version": "0.7.0",
4
4
  "private": false,
5
5
  "type": "commonjs",
6
6
  "license": "Apache-2.0",
@@ -21,9 +21,11 @@
21
21
  "@nx/js": "^20.4.0",
22
22
  "@nx/react": "^20.4.0",
23
23
  "@nx/vite": "^20.4.0",
24
+ "@nxlv/python": "^20.5.1",
24
25
  "@phenomnomnominal/tsquery": "6.1.3",
25
26
  "fast-glob": "^3.3.3",
26
27
  "lodash.kebabcase": "4.1.1",
28
+ "lodash.snakecase": "4.1.1",
27
29
  "minimatch": "^10.0.1",
28
30
  "typescript": "~5.5.4",
29
31
  "vite": "^5.4.0",
File without changes
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { Tree } from '@nx/devkit';
6
+ import { ApiConnectionSchema } from './schema';
7
+ /**
8
+ * List of supported source and target project types for api connections
9
+ */
10
+ declare const SUPPORTED_PROJECT_TYPES: readonly ["ts#trpc-api", "react"];
11
+ type ProjectType = (typeof SUPPORTED_PROJECT_TYPES)[number];
12
+ /**
13
+ * Generator for a connection from a project to an API project
14
+ */
15
+ export declare const apiConnectionGenerator: (tree: Tree, options: ApiConnectionSchema) => Promise<() => void>;
16
+ /**
17
+ * Determine whether the given project is of a known project type
18
+ */
19
+ export declare const determineProjectType: (tree: Tree, projectName: string) => ProjectType | undefined;
20
+ export default apiConnectionGenerator;
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.determineProjectType = exports.apiConnectionGenerator = 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 devkit_1 = require("@nx/devkit");
10
+ const generator_1 = tslib_1.__importDefault(require("../trpc/react/generator"));
11
+ const ast_1 = require("../utils/ast");
12
+ /**
13
+ * List of supported source and target project types for api connections
14
+ */
15
+ const SUPPORTED_PROJECT_TYPES = ['ts#trpc-api', 'react'];
16
+ /**
17
+ * Enumerates the supported project connections
18
+ */
19
+ const SUPPORTED_CONNECTIONS = [
20
+ { source: 'react', target: 'ts#trpc-api' },
21
+ ];
22
+ /**
23
+ * Generators for each connection type
24
+ */
25
+ const CONNECTION_GENERATORS = {
26
+ 'react -> ts#trpc-api': (tree, options) => (0, generator_1.default)(tree, {
27
+ frontendProjectName: options.sourceProject,
28
+ backendProjectName: options.targetProject,
29
+ auth: options.auth,
30
+ }),
31
+ };
32
+ /**
33
+ * Generator for a connection from a project to an API project
34
+ */
35
+ const apiConnectionGenerator = (tree, options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
36
+ const sourceType = (0, exports.determineProjectType)(tree, options.sourceProject);
37
+ const targetType = (0, exports.determineProjectType)(tree, options.targetProject);
38
+ if (!sourceType || !SUPPORTED_PROJECT_TYPES.includes(sourceType)) {
39
+ throw new Error(`This generator does not support selected source project ${options.sourceProject}`);
40
+ }
41
+ if (!targetType || !SUPPORTED_PROJECT_TYPES.includes(targetType)) {
42
+ throw new Error(`This generator does not support selected target project ${options.targetProject}`);
43
+ }
44
+ const connection = SUPPORTED_CONNECTIONS.find((c) => c.source === sourceType && c.target === targetType);
45
+ if (!connection) {
46
+ throw new Error(`This generator does not support a connection from ${options.sourceProject} (${sourceType}) to ${options.targetProject} (${targetType})`);
47
+ }
48
+ return yield CONNECTION_GENERATORS[`${connection.source} -> ${connection.target}`](tree, options);
49
+ });
50
+ exports.apiConnectionGenerator = apiConnectionGenerator;
51
+ /**
52
+ * Determine whether the given project is of a known project type
53
+ */
54
+ const determineProjectType = (tree, projectName) => {
55
+ const projectConfiguration = (0, devkit_1.readProjectConfiguration)(tree, projectName);
56
+ // NB: if adding new checks, ensure these go from most to least specific
57
+ // eg. react website is more specific than typescript project
58
+ if (isTrpcApi(tree, projectConfiguration)) {
59
+ return 'ts#trpc-api';
60
+ }
61
+ if (isReact(tree, projectConfiguration)) {
62
+ return 'react';
63
+ }
64
+ return undefined;
65
+ };
66
+ exports.determineProjectType = determineProjectType;
67
+ const sourceRoot = (projectConfiguration) => {
68
+ var _a;
69
+ return (_a = projectConfiguration.sourceRoot) !== null && _a !== void 0 ? _a : (0, devkit_1.joinPathFragments)(projectConfiguration.root, 'src');
70
+ };
71
+ const isTrpcApi = (tree, projectConfiguration) => {
72
+ var _a, _b;
73
+ // If the project.json says it's a trpc api, there's no need for introspection
74
+ if (((_a = projectConfiguration.metadata) === null || _a === void 0 ? void 0 : _a.apiType) === 'trpc') {
75
+ return true;
76
+ }
77
+ // Find the src/index.ts
78
+ const indexTs = tree.read((0, devkit_1.joinPathFragments)(sourceRoot(projectConfiguration), 'index.ts'), 'utf-8');
79
+ if (indexTs === null) {
80
+ return false;
81
+ }
82
+ // If the index file exports an AppRouter, it's a trpc api
83
+ if ((0, ast_1.hasExportDeclaration)(indexTs, 'AppRouter')) {
84
+ return true;
85
+ }
86
+ // If there's a src/router.ts or src/lambdas/router.ts which exports an AppRouter, it's a trpc api
87
+ const trpcRouter = (_b = tree.read((0, devkit_1.joinPathFragments)(sourceRoot(projectConfiguration), 'router.ts'), 'utf-8')) !== null && _b !== void 0 ? _b : tree.read((0, devkit_1.joinPathFragments)(sourceRoot(projectConfiguration), 'lambdas', 'router.ts'), 'utf-8');
88
+ if (trpcRouter === null) {
89
+ return false;
90
+ }
91
+ if ((0, ast_1.hasExportDeclaration)(trpcRouter, 'AppRouter')) {
92
+ return true;
93
+ }
94
+ return false;
95
+ };
96
+ const isReact = (tree, projectConfiguration) => {
97
+ // if there's a main.tsx, it's a react app
98
+ return tree.exists((0, devkit_1.joinPathFragments)(sourceRoot(projectConfiguration), 'main.tsx'));
99
+ };
100
+ exports.default = exports.apiConnectionGenerator;
101
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/api-connection/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ export interface ApiConnectionSchema {
7
+ sourceProject: string;
8
+ targetProject: string;
9
+ auth: 'IAM' | 'None';
10
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "APIConnection",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "sourceProject": {
8
+ "type": "string",
9
+ "description": "",
10
+ "$default": {
11
+ "$source": "argv",
12
+ "index": 0
13
+ },
14
+ "x-prompt": "The project which will call the API",
15
+ "x-dropdown": "projects"
16
+ },
17
+ "targetProject": {
18
+ "type": "string",
19
+ "description": "",
20
+ "x-prompt": "The project containing your API",
21
+ "x-dropdown": "projects"
22
+ },
23
+ "auth": {
24
+ "type": "string",
25
+ "description": "",
26
+ "enum": ["IAM", "None"],
27
+ "x-prompt": "Select your API authentication strategy",
28
+ "default": "IAM"
29
+ }
30
+ },
31
+ "required": ["sourceProject", "targetProject"]
32
+ }
@@ -21,7 +21,7 @@ Then generate your application:
21
21
 
22
22
  1. Open the NX Console in VSCode
23
23
  2. Click on "Generate"
24
- 3. Search for "cloudscape-website#app"
24
+ 3. Search for "ts#cloudscape-website"
25
25
  4. Fill in the required parameters in the form
26
26
  5. Click "Run"
27
27
 
@@ -30,13 +30,13 @@ Then generate your application:
30
30
  Generate the application:
31
31
 
32
32
  ```bash
33
- nx g @aws/nx-plugin:cloudscape-website#app my-website --directory=apps/web
33
+ nx g @aws/nx-plugin:ts#cloudscape-website my-website --directory=apps/web
34
34
  ```
35
35
 
36
36
  You can also perform a dry-run to see what files would be generated without actually creating them:
37
37
 
38
38
  ```bash
39
- nx g @aws/nx-plugin:cloudscape-website#app my-website --directory=apps/web --dry-run
39
+ nx g @aws/nx-plugin:ts#cloudscape-website my-website --directory=apps/web --dry-run
40
40
  ```
41
41
 
42
42
  Both methods will create a new Cloudscape website application in `apps/web/my-website` with all the necessary configuration and infrastructure code.
@@ -21,7 +21,8 @@ exports[`cloudscape-website generator > should configure TypeScript correctly >
21
21
  `;
22
22
 
23
23
  exports[`cloudscape-website generator > should configure vite correctly > vite.config.ts 1`] = `
24
- "import { TanStackRouterVite } from '@tanstack/router-plugin/vite';
24
+ "import tsconfigPaths from 'vite-tsconfig-paths';
25
+ import { TanStackRouterVite } from '@tanstack/router-plugin/vite';
25
26
  /// <reference types='vitest' />
26
27
  import { defineConfig } from 'vite';
27
28
  import react from '@vitejs/plugin-react';
@@ -46,6 +47,7 @@ export default defineConfig({
46
47
  nxViteTsPaths(),
47
48
  nxCopyAssetsPlugin(['*.md']),
48
49
  TanStackRouterVite(),
50
+ tsconfigPaths(),
49
51
  ],
50
52
  build: {
51
53
  outDir: '../dist/test-app',
@@ -509,7 +511,7 @@ export class TestApp extends StaticWebsite {
509
511
  constructor(scope: Construct, id: string) {
510
512
  super(scope, id, {
511
513
  websiteFilePath: url.fileURLToPath(
512
- new URL('../../../../../../dist/test-app', import.meta.url),
514
+ new URL('../../../../../../dist/test-app/bundle', import.meta.url),
513
515
  ),
514
516
  });
515
517
  }
@@ -6,7 +6,7 @@ export class <%= websiteNameClassName %> extends StaticWebsite {
6
6
  constructor(scope: Construct, id: string) {
7
7
  super(scope, id, {
8
8
  websiteFilePath: url.fileURLToPath(
9
- new URL('../../../../../../<%= websiteContentPath %>', import.meta.url)
9
+ new URL('../../../../../../<%= websiteContentPath %>/bundle', import.meta.url)
10
10
  ),
11
11
  });
12
12
  }
@@ -18,6 +18,8 @@ const paths_1 = require("../../utils/paths");
18
18
  const names_1 = require("../../utils/names");
19
19
  const ast_1 = require("../../utils/ast");
20
20
  const format_1 = require("../../utils/format");
21
+ const path_1 = require("path");
22
+ const nx_1 = require("../../utils/nx");
21
23
  function appGenerator(tree, schema) {
22
24
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
23
25
  var _a, _b, _c;
@@ -43,19 +45,28 @@ function appGenerator(tree, schema) {
43
45
  },
44
46
  };
45
47
  const buildTarget = targets['build'];
46
- targets['compile'] = Object.assign(Object.assign({}, buildTarget), { options: Object.assign(Object.assign({}, buildTarget.options), { outputPath: (0, devkit_1.joinPathFragments)('dist', websiteContentPath) }) });
48
+ targets['compile'] = {
49
+ executor: 'nx:run-commands',
50
+ outputs: ['{workspaceRoot}/dist/{projectRoot}/tsc'],
51
+ options: {
52
+ command: 'tsc --build tsconfig.app.json',
53
+ cwd: '{projectRoot}',
54
+ },
55
+ };
56
+ targets['bundle'] = Object.assign(Object.assign({}, buildTarget), { options: Object.assign(Object.assign({}, buildTarget.options), { outputPath: (0, devkit_1.joinPathFragments)('dist', websiteContentPath, 'bundle') }) });
47
57
  targets['build'] = {
48
- dependsOn: ['lint', 'compile', 'test', ...((_b = buildTarget.dependsOn) !== null && _b !== void 0 ? _b : [])],
58
+ dependsOn: [
59
+ 'lint',
60
+ 'compile',
61
+ 'bundle',
62
+ 'test',
63
+ ...((_b = buildTarget.dependsOn) !== null && _b !== void 0 ? _b : []),
64
+ ],
49
65
  options: {
50
66
  outputPath: (0, devkit_1.joinPathFragments)('dist', websiteContentPath),
51
67
  },
52
68
  };
53
- projectConfiguration.targets = Object.keys(targets)
54
- .sort()
55
- .reduce((obj, key) => {
56
- obj[key] = targets[key];
57
- return obj;
58
- }, {});
69
+ projectConfiguration.targets = (0, nx_1.sortProjectTargets)(targets);
59
70
  (0, devkit_1.updateProjectConfiguration)(tree, fullyQualifiedName, projectConfiguration);
60
71
  (0, ts_project_utils_1.configureTsProject)(tree, {
61
72
  dir: websiteContentPath,
@@ -122,6 +133,7 @@ function appGenerator(tree, schema) {
122
133
  if (viteConfigContents) {
123
134
  let viteConfigUpdatedContents = viteConfigContents;
124
135
  viteConfigUpdatedContents = (0, ast_1.destructuredImport)(tree, viteConfigPath, ['TanStackRouterVite'], '@tanstack/router-plugin/vite');
136
+ viteConfigUpdatedContents = (0, ast_1.singleImport)(tree, viteConfigPath, 'tsconfigPaths', 'vite-tsconfig-paths');
125
137
  viteConfigUpdatedContents = tsquery_1.tsquery
126
138
  .map((0, tsquery_1.ast)(viteConfigUpdatedContents), 'ObjectLiteralExpression', (node) => {
127
139
  const updatedProperties = node.properties.map((prop) => {
@@ -141,6 +153,7 @@ function appGenerator(tree, schema) {
141
153
  return typescript_1.factory.createPropertyAssignment('plugins', typescript_1.factory.createArrayLiteralExpression([
142
154
  ...pluginsConfig.elements,
143
155
  typescript_1.factory.createCallExpression(typescript_1.factory.createIdentifier('TanStackRouterVite'), undefined, []),
156
+ typescript_1.factory.createCallExpression(typescript_1.factory.createIdentifier('tsconfigPaths'), undefined, []),
144
157
  ], true));
145
158
  }
146
159
  return prop;
@@ -163,13 +176,15 @@ function appGenerator(tree, schema) {
163
176
  }
164
177
  }
165
178
  (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' }) })));
166
- (0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(websiteContentPath, 'tsconfig.app.json'), (tsconfig) => (Object.assign(Object.assign({}, tsconfig), { compilerOptions: Object.assign(Object.assign({}, tsconfig.compilerOptions), { lib: ['DOM'] }) })));
179
+ const outDirToRootRelativePath = (0, path_1.relative)((0, devkit_1.joinPathFragments)(tree.root, websiteContentPath), tree.root);
180
+ const distDir = (0, devkit_1.joinPathFragments)(outDirToRootRelativePath, 'dist', websiteContentPath, 'tsc');
181
+ (0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(websiteContentPath, 'tsconfig.app.json'), (tsconfig) => (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'] }) })));
167
182
  (0, devkit_1.addDependenciesToPackageJson)(tree, (0, versions_1.withVersions)([
168
183
  '@cloudscape-design/components',
169
184
  '@cloudscape-design/board-components',
170
185
  '@cloudscape-design/global-styles',
171
186
  '@tanstack/react-router',
172
- ]), (0, versions_1.withVersions)(['@tanstack/router-plugin']));
187
+ ]), (0, versions_1.withVersions)(['@tanstack/router-plugin', 'vite-tsconfig-paths']));
173
188
  yield (0, format_1.formatFilesInSubtree)(tree);
174
189
  return () => {
175
190
  if (!schema.skipInstall) {
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/cloudscape-website/app/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/cloudscape-website/app/generator.ts"],"names":[],"mappings":"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"}