@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.
- package/LICENSE-THIRD-PARTY +157 -0
- package/generators.json +26 -10
- package/package.json +3 -1
- package/src/api-connection/README.md +0 -0
- package/src/api-connection/generator.d.ts +20 -0
- package/src/api-connection/generator.js +101 -0
- package/src/api-connection/generator.js.map +1 -0
- package/src/api-connection/schema.d.ts +10 -0
- package/src/api-connection/schema.json +32 -0
- package/src/cloudscape-website/app/README.md +3 -3
- package/src/cloudscape-website/app/__snapshots__/generator.spec.ts.snap +4 -2
- package/src/cloudscape-website/app/files/common/constructs/src/app/static-websites/__websiteNameKebabCase__.ts.template +1 -1
- package/src/cloudscape-website/app/generator.js +25 -10
- package/src/cloudscape-website/app/generator.js.map +1 -1
- package/src/cloudscape-website/cognito-auth/README.md +4 -4
- package/src/infra/app/README.md +3 -3
- package/src/infra/app/__snapshots__/generator.spec.ts.snap +24 -41
- package/src/infra/app/generator.js +2 -1
- package/src/infra/app/generator.js.map +1 -1
- package/src/py/fast-api/files/app/__name__/main.py.template +9 -0
- package/src/py/fast-api/files/app/tests/test_main.py +7 -0
- package/src/py/fast-api/files/common/constructs/src/app/http-apis/__apiNameKebabCase__.ts.template +22 -0
- package/src/py/fast-api/generator.d.ts +11 -0
- package/src/py/fast-api/generator.js +120 -0
- package/src/py/fast-api/generator.js.map +1 -0
- package/src/py/fast-api/schema.d.ts +9 -0
- package/src/py/fast-api/schema.json +22 -0
- package/src/py/project/generator.d.ts +31 -0
- package/src/py/project/generator.js +103 -0
- package/src/py/project/generator.js.map +1 -0
- package/src/py/project/schema.d.ts +11 -0
- package/src/py/project/schema.json +32 -0
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +50 -44
- package/src/trpc/backend/files/common/constructs/src/app/{trpc-apis → http-apis}/__apiNameKebabCase__.ts.template +7 -3
- package/src/trpc/backend/generator.js +30 -23
- package/src/trpc/backend/generator.js.map +1 -1
- package/src/trpc/backend/schema.json +1 -1
- package/src/trpc/react/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/trpc/react/files/src/hooks/useSigV4.tsx.template +1 -1
- package/src/trpc/react/generator.js +1 -40
- package/src/trpc/react/generator.js.map +1 -1
- package/src/trpc/react/schema.json +1 -1
- package/src/ts/lib/__snapshots__/generator.spec.ts.snap +12 -33
- package/src/ts/lib/eslint.js +28 -0
- package/src/ts/lib/eslint.js.map +1 -1
- package/src/ts/lib/generator.js +20 -12
- package/src/ts/lib/generator.js.map +1 -1
- package/src/ts/lib/ts-project-utils.js +2 -2
- package/src/ts/lib/ts-project-utils.js.map +1 -1
- package/src/utils/ast.d.ts +4 -0
- package/src/utils/ast.js +10 -1
- package/src/utils/ast.js.map +1 -1
- 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
- package/src/utils/http-api.d.ts +6 -0
- package/src/utils/http-api.js +61 -0
- package/src/utils/http-api.js.map +1 -0
- package/src/utils/names.d.ts +1 -0
- package/src/utils/names.js +4 -1
- package/src/utils/names.js.map +1 -1
- package/src/utils/npm-scope.js +2 -2
- package/src/utils/npm-scope.js.map +1 -1
- package/src/utils/nx.d.ts +8 -0
- package/src/utils/nx.js +11 -0
- package/src/utils/nx.js.map +1 -0
- package/src/utils/shared-constructs.js +1 -1
- package/src/utils/shared-constructs.js.map +1 -1
- package/src/utils/versions.d.ts +5 -2
- package/src/utils/versions.js +4 -1
- package/src/utils/versions.js.map +1 -1
package/LICENSE-THIRD-PARTY
CHANGED
|
@@ -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#
|
|
6
|
+
"ts#project": {
|
|
7
7
|
"factory": "./src/ts/lib/generator",
|
|
8
8
|
"schema": "./src/ts/lib/schema.json",
|
|
9
|
-
"description": "Generates a TypeScript
|
|
9
|
+
"description": "Generates a TypeScript project"
|
|
10
10
|
},
|
|
11
|
-
"
|
|
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#
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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,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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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'] =
|
|
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: [
|
|
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 =
|
|
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,
|
|
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":";;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/cloudscape-website/app/generator.ts"],"names":[],"mappings":"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"}
|