@aws/nx-plugin 0.5.1 → 0.6.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 +104 -0
- package/generators.json +10 -0
- package/package.json +3 -1
- 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/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 +116 -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 +29 -23
- package/src/trpc/backend/generator.js.map +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/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/{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
|
@@ -50,6 +50,6 @@ export const useSigV4 = () => {
|
|
|
50
50
|
const awsClient = new AwsClient(credential);
|
|
51
51
|
return awsClient.fetch(input, init);
|
|
52
52
|
},
|
|
53
|
-
[cognitoProps, user?.id_token, user
|
|
53
|
+
[cognitoProps, user?.id_token, user?.profile.sub, withCachedCredentials]
|
|
54
54
|
);
|
|
55
55
|
};
|
|
@@ -10,7 +10,6 @@ const devkit_1 = require("@nx/devkit");
|
|
|
10
10
|
const typescript_1 = require("typescript");
|
|
11
11
|
const tsquery_1 = require("@phenomnomnominal/tsquery");
|
|
12
12
|
const generator_1 = require("../../cloudscape-website/runtime-config/generator");
|
|
13
|
-
const shared_constructs_1 = require("../../utils/shared-constructs");
|
|
14
13
|
const npm_scope_1 = require("../../utils/npm-scope");
|
|
15
14
|
const versions_1 = require("../../utils/versions");
|
|
16
15
|
const ast_1 = require("../../utils/ast");
|
|
@@ -34,44 +33,6 @@ function reactGenerator(tree, options) {
|
|
|
34
33
|
yield (0, generator_1.runtimeConfigGenerator)(tree, {
|
|
35
34
|
project: options.frontendProjectName,
|
|
36
35
|
});
|
|
37
|
-
// Update runtime-config.ts with ApiUrl type and trpcApis property
|
|
38
|
-
const runtimeConfigPath = (0, devkit_1.joinPathFragments)(shared_constructs_1.PACKAGES_DIR, shared_constructs_1.TYPE_DEFINITIONS_DIR, 'src', 'runtime-config.ts');
|
|
39
|
-
const runtimeConfigContent = tree.read(runtimeConfigPath).toString();
|
|
40
|
-
const sourceFile = (0, tsquery_1.ast)(runtimeConfigContent);
|
|
41
|
-
// Check if ApiUrl type exists
|
|
42
|
-
const existingApiUrl = tsquery_1.tsquery.query(sourceFile, 'TypeAliasDeclaration[name.text="ApiUrl"]');
|
|
43
|
-
// Check if trpcApis property exists in IRuntimeConfig
|
|
44
|
-
const existingTrpcApis = tsquery_1.tsquery.query(sourceFile, 'InterfaceDeclaration[name.text="IRuntimeConfig"] PropertySignature[name.text="trpcApis"]');
|
|
45
|
-
let updatedContent = sourceFile;
|
|
46
|
-
// Add ApiUrl type if it doesn't exist
|
|
47
|
-
if (existingApiUrl.length === 0) {
|
|
48
|
-
const apiUrlType = typescript_1.factory.createTypeAliasDeclaration([typescript_1.factory.createModifier(typescript_1.SyntaxKind.ExportKeyword)], typescript_1.factory.createIdentifier('ApiUrl'), undefined, typescript_1.factory.createKeywordTypeNode(typescript_1.SyntaxKind.StringKeyword));
|
|
49
|
-
updatedContent = tsquery_1.tsquery.map(updatedContent, 'SourceFile', (node) => {
|
|
50
|
-
return typescript_1.factory.updateSourceFile(node, [apiUrlType, ...node.statements]);
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
// Add empty trpcApis to IRuntimeConfig if it doesn't exist
|
|
54
|
-
if (existingTrpcApis.length === 0) {
|
|
55
|
-
updatedContent = tsquery_1.tsquery.map(updatedContent, 'InterfaceDeclaration[name.text="IRuntimeConfig"]', (node) => {
|
|
56
|
-
const trpcApisProperty = typescript_1.factory.createPropertySignature(undefined, typescript_1.factory.createIdentifier('trpcApis'), undefined, typescript_1.factory.createTypeLiteralNode([]));
|
|
57
|
-
return typescript_1.factory.updateInterfaceDeclaration(node, node.modifiers, node.name, node.typeParameters, node.heritageClauses, [...node.members, trpcApisProperty]);
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
// Check if apiNameClassName property exists in trpcApis
|
|
61
|
-
const existingApiNameProperty = tsquery_1.tsquery.query(updatedContent, `InterfaceDeclaration[name.text="IRuntimeConfig"] PropertySignature[name.text="trpcApis"] TypeLiteral PropertySignature[name.text="${apiNameClassName}"]`);
|
|
62
|
-
// Add apiNameClassName property to trpcApis if it doesn't exist
|
|
63
|
-
if (existingApiNameProperty.length === 0) {
|
|
64
|
-
updatedContent = tsquery_1.tsquery.map(updatedContent, 'InterfaceDeclaration[name.text="IRuntimeConfig"] PropertySignature[name.text="trpcApis"] TypeLiteral', (node) => {
|
|
65
|
-
return typescript_1.factory.createTypeLiteralNode([
|
|
66
|
-
...node.members,
|
|
67
|
-
typescript_1.factory.createPropertySignature(undefined, typescript_1.factory.createIdentifier(apiNameClassName), undefined, typescript_1.factory.createTypeReferenceNode('ApiUrl', undefined)),
|
|
68
|
-
]);
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
// Only write if changes were made
|
|
72
|
-
if (updatedContent !== sourceFile) {
|
|
73
|
-
tree.write(runtimeConfigPath, updatedContent.getFullText());
|
|
74
|
-
}
|
|
75
36
|
// update main.tsx
|
|
76
37
|
const mainTsxPath = (0, devkit_1.joinPathFragments)(frontendProjectConfig.sourceRoot, 'main.tsx');
|
|
77
38
|
(0, ast_1.singleImport)(tree, mainTsxPath, 'TrpcClientProviders', './components/TrpcClients');
|
|
@@ -134,7 +95,7 @@ function reactGenerator(tree, options) {
|
|
|
134
95
|
? (_a = node.expression) === null || _a === void 0 ? void 0 : _a.expression
|
|
135
96
|
: node.expression;
|
|
136
97
|
return typescript_1.factory.createReturnStatement(typescript_1.factory.createJsxElement(typescript_1.factory.createJsxOpeningElement(typescript_1.factory.createPropertyAccessExpression(typescript_1.factory.createPropertyAccessExpression(typescript_1.factory.createIdentifier('TrpcApis'), typescript_1.factory.createIdentifier(apiNameClassName)), typescript_1.factory.createIdentifier('Provider')), undefined, typescript_1.factory.createJsxAttributes([
|
|
137
|
-
typescript_1.factory.createJsxAttribute(typescript_1.factory.createIdentifier('apiUrl'), typescript_1.factory.createJsxExpression(undefined, typescript_1.factory.createPropertyAccessExpression(typescript_1.factory.createPropertyAccessExpression(typescript_1.factory.createIdentifier('runtimeConfig'), typescript_1.factory.createIdentifier('
|
|
98
|
+
typescript_1.factory.createJsxAttribute(typescript_1.factory.createIdentifier('apiUrl'), typescript_1.factory.createJsxExpression(undefined, typescript_1.factory.createPropertyAccessExpression(typescript_1.factory.createPropertyAccessExpression(typescript_1.factory.createIdentifier('runtimeConfig'), typescript_1.factory.createIdentifier('httpApis')), typescript_1.factory.createIdentifier(apiNameClassName)))),
|
|
138
99
|
])), [
|
|
139
100
|
(0, typescript_1.isJsxChild)(existingExpression) ||
|
|
140
101
|
(0, typescript_1.isJsxElement)(existingExpression) ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/trpc/react/generator.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/trpc/react/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,22 +23,15 @@ exports[`ts lib generator > should generate library with custom directory > cust
|
|
|
23
23
|
]
|
|
24
24
|
},
|
|
25
25
|
"compile": {
|
|
26
|
-
"executor": "
|
|
26
|
+
"executor": "nx:run-commands",
|
|
27
27
|
"outputs": [
|
|
28
|
-
"{
|
|
28
|
+
"{workspaceRoot}/dist/libs/test-lib/tsc"
|
|
29
29
|
],
|
|
30
30
|
"options": {
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"tsConfig": "libs/test-lib/tsconfig.json",
|
|
34
|
-
"assets": [
|
|
35
|
-
"libs/test-lib/*.md"
|
|
36
|
-
]
|
|
31
|
+
"command": "tsc --build tsconfig.lib.json",
|
|
32
|
+
"cwd": "{projectRoot}"
|
|
37
33
|
}
|
|
38
34
|
},
|
|
39
|
-
"lint": {
|
|
40
|
-
"executor": "@nx/eslint:lint"
|
|
41
|
-
},
|
|
42
35
|
"test": {
|
|
43
36
|
"executor": "@nx/vite:test",
|
|
44
37
|
"outputs": [
|
|
@@ -94,22 +87,15 @@ exports[`ts lib generator > should generate library with default options > proje
|
|
|
94
87
|
]
|
|
95
88
|
},
|
|
96
89
|
"compile": {
|
|
97
|
-
"executor": "
|
|
90
|
+
"executor": "nx:run-commands",
|
|
98
91
|
"outputs": [
|
|
99
|
-
"{
|
|
92
|
+
"{workspaceRoot}/dist/test-lib/tsc"
|
|
100
93
|
],
|
|
101
94
|
"options": {
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"tsConfig": "test-lib/tsconfig.json",
|
|
105
|
-
"assets": [
|
|
106
|
-
"test-lib/*.md"
|
|
107
|
-
]
|
|
95
|
+
"command": "tsc --build tsconfig.lib.json",
|
|
96
|
+
"cwd": "{projectRoot}"
|
|
108
97
|
}
|
|
109
98
|
},
|
|
110
|
-
"lint": {
|
|
111
|
-
"executor": "@nx/eslint:lint"
|
|
112
|
-
},
|
|
113
99
|
"test": {
|
|
114
100
|
"executor": "@nx/vite:test",
|
|
115
101
|
"outputs": [
|
|
@@ -165,22 +151,15 @@ exports[`ts lib generator > should generate library with subdirectory > subdir-p
|
|
|
165
151
|
]
|
|
166
152
|
},
|
|
167
153
|
"compile": {
|
|
168
|
-
"executor": "
|
|
154
|
+
"executor": "nx:run-commands",
|
|
169
155
|
"outputs": [
|
|
170
|
-
"{
|
|
156
|
+
"{workspaceRoot}/dist/feature/test-lib/tsc"
|
|
171
157
|
],
|
|
172
158
|
"options": {
|
|
173
|
-
"
|
|
174
|
-
"
|
|
175
|
-
"tsConfig": "feature/test-lib/tsconfig.json",
|
|
176
|
-
"assets": [
|
|
177
|
-
"feature/test-lib/*.md"
|
|
178
|
-
]
|
|
159
|
+
"command": "tsc --build tsconfig.lib.json",
|
|
160
|
+
"cwd": "{projectRoot}"
|
|
179
161
|
}
|
|
180
162
|
},
|
|
181
|
-
"lint": {
|
|
182
|
-
"executor": "@nx/eslint:lint"
|
|
183
|
-
},
|
|
184
163
|
"test": {
|
|
185
164
|
"executor": "@nx/vite:test",
|
|
186
165
|
"outputs": [
|
package/src/ts/lib/eslint.js
CHANGED
|
@@ -50,6 +50,34 @@ const configureEslint = (tree) => tslib_1.__awaiter(void 0, void 0, void 0, func
|
|
|
50
50
|
], true);
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
|
+
// Check if ignores array exists in any object literal
|
|
54
|
+
const existingIgnores = tsquery_1.tsquery.query(updatedContent, 'ExportAssignment > ArrayLiteralExpression ObjectLiteralExpression > PropertyAssignment[name.text="ignores"]');
|
|
55
|
+
if (existingIgnores.length > 0) {
|
|
56
|
+
// Check if the entry already exists in the ignores array
|
|
57
|
+
const timestampIgnore = tsquery_1.tsquery.query(updatedContent, 'ExportAssignment > ArrayLiteralExpression ObjectLiteralExpression > PropertyAssignment[name.text="ignores"] > ArrayLiteralExpression StringLiteral[value="**/vite.config.ts.timestamp*"]');
|
|
58
|
+
if (timestampIgnore.length === 0) {
|
|
59
|
+
// Add to existing ignores array only if entry doesn't exist
|
|
60
|
+
updatedContent = tsquery_1.tsquery.map(updatedContent, 'ExportAssignment > ArrayLiteralExpression ObjectLiteralExpression > PropertyAssignment[name.text="ignores"] > ArrayLiteralExpression', (node) => {
|
|
61
|
+
return typescript_1.factory.createArrayLiteralExpression([
|
|
62
|
+
...node.elements,
|
|
63
|
+
typescript_1.factory.createStringLiteral('**/vite.config.ts.timestamp*'),
|
|
64
|
+
], true);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
// Create new object with ignores array
|
|
70
|
+
updatedContent = tsquery_1.tsquery.map(updatedContent, 'ExportAssignment > ArrayLiteralExpression', (node) => {
|
|
71
|
+
return typescript_1.factory.createArrayLiteralExpression([
|
|
72
|
+
...node.elements,
|
|
73
|
+
typescript_1.factory.createObjectLiteralExpression([
|
|
74
|
+
typescript_1.factory.createPropertyAssignment(typescript_1.factory.createIdentifier('ignores'), typescript_1.factory.createArrayLiteralExpression([
|
|
75
|
+
typescript_1.factory.createStringLiteral('**/vite.config.ts.timestamp*'),
|
|
76
|
+
], true)),
|
|
77
|
+
], true),
|
|
78
|
+
], true);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
53
81
|
// Only write if changes were made
|
|
54
82
|
if (updatedContent !== sourceFile) {
|
|
55
83
|
tree.write(eslintConfigPath, updatedContent.getFullText());
|
package/src/ts/lib/eslint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lib/eslint.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAKoB;AACpB,mDAAoD;AACpD,uDAAyD;AACzD,2CAA6D;AAC7D,yCAA+C;AACxC,MAAM,eAAe,GAAG,CAAO,IAAU,EAAE,EAAE;;IAClD,0BAA0B;IAC1B,IAAI,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;IAC9B,IACE,CAAC,CAAA,MAAA,MAAM,CAAC,OAAO,0CACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,EACpC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,mBAAmB,CAAC,CAAA,EAChD,CAAC;QACD,IAAA,qBAAY,EAAC,IAAI,kCACZ,MAAM,KACT,OAAO,EAAE;gBACP,GAAG,CAAC,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,CAAC;gBACzB;oBACE,MAAM,EAAE,mBAAmB;oBAC3B,OAAO,EAAE;wBACP,UAAU,EAAE,MAAM;qBACnB;iBACF;aACF,IACD,CAAC;IACL,CAAC;IACD,IAAA,qCAA4B,EAC1B,IAAI,EACJ,EAAE,EACF,IAAA,uBAAY,EAAC,CAAC,UAAU,EAAE,wBAAwB,EAAE,qBAAqB,CAAC,CAAC,CAC5E,CAAC;IACF,qCAAqC;IACrC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;IAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnE,MAAM,UAAU,GAAG,IAAA,aAAG,EAAC,mBAAmB,CAAC,CAAC;QAC5C,yBAAyB;QACzB,MAAM,cAAc,GAAG,iBAAO,CAAC,KAAK,CAClC,UAAU,EACV,kEAAkE,CACnE,CAAC;QACF,IAAI,cAAc,GAAG,UAAU,CAAC;QAChC,iCAAiC;QACjC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,cAAc,GAAG,IAAA,aAAG,EAClB,IAAA,kBAAY,EACV,IAAI,EACJ,gBAAgB,EAChB,iCAAiC,EACjC,oCAAoC,CACrC,CACF,CAAC;QACJ,CAAC;QACD,mEAAmE;QACnE,MAAM,cAAc,GAAG,iBAAO,CAAC,KAAK,CAClC,cAAc,EACd,8FAA8F,CAC/F,CAAC;QACF,mEAAmE;QACnE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,cAAc,GAAG,iBAAO,CAAC,GAAG,CAC1B,cAAc,EACd,2CAA2C,EAC3C,CAAC,IAA4B,EAAE,EAAE;gBAC/B,OAAO,oBAAO,CAAC,4BAA4B,CACzC;oBACE,oBAAO,CAAC,gBAAgB,CAAC,iCAAiC,CAAC;oBAC3D,GAAG,IAAI,CAAC,QAAQ;iBACjB,EACD,IAAI,CACL,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"eslint.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lib/eslint.ts"],"names":[],"mappings":"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"}
|
package/src/ts/lib/generator.js
CHANGED
|
@@ -13,6 +13,7 @@ const ts_project_utils_1 = require("./ts-project-utils");
|
|
|
13
13
|
const names_1 = require("../../utils/names");
|
|
14
14
|
const path_1 = require("path");
|
|
15
15
|
const format_1 = require("../../utils/format");
|
|
16
|
+
const nx_1 = require("../../utils/nx");
|
|
16
17
|
/**
|
|
17
18
|
* Returns details about the TS library to be created
|
|
18
19
|
*/
|
|
@@ -46,13 +47,11 @@ const tsLibGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void 0, void
|
|
|
46
47
|
const projectConfiguration = (0, devkit_1.readProjectConfiguration)(tree, fullyQualifiedName);
|
|
47
48
|
const targets = projectConfiguration.targets;
|
|
48
49
|
targets['compile'] = {
|
|
49
|
-
executor: '
|
|
50
|
-
outputs: [
|
|
50
|
+
executor: 'nx:run-commands',
|
|
51
|
+
outputs: [`{workspaceRoot}/dist/${dir}/tsc`],
|
|
51
52
|
options: {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
tsConfig: (0, devkit_1.joinPathFragments)(dir, 'tsconfig.json'),
|
|
55
|
-
assets: [(0, devkit_1.joinPathFragments)(dir, '*.md')],
|
|
53
|
+
command: 'tsc --build tsconfig.lib.json',
|
|
54
|
+
cwd: '{projectRoot}',
|
|
56
55
|
},
|
|
57
56
|
};
|
|
58
57
|
targets['build'] = {
|
|
@@ -65,13 +64,22 @@ const tsLibGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void 0, void
|
|
|
65
64
|
reportsDirectory: (0, devkit_1.joinPathFragments)((0, path_1.relative)((0, devkit_1.joinPathFragments)(tree.root, dir), tree.root), 'coverage', dir),
|
|
66
65
|
},
|
|
67
66
|
};
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
obj[key] = targets[key];
|
|
72
|
-
return obj;
|
|
73
|
-
}, {});
|
|
67
|
+
delete targets['lint'];
|
|
68
|
+
projectConfiguration.targets = (0, nx_1.sortProjectTargets)(targets);
|
|
69
|
+
;
|
|
74
70
|
(0, devkit_1.updateProjectConfiguration)(tree, fullyQualifiedName, projectConfiguration);
|
|
71
|
+
(0, devkit_1.updateJson)(tree, 'nx.json', (nxJson) => {
|
|
72
|
+
nxJson.plugins = nxJson.plugins.map((p) => {
|
|
73
|
+
var _a;
|
|
74
|
+
if (typeof p !== 'string' &&
|
|
75
|
+
p.plugin === '@nx/js/typescript' &&
|
|
76
|
+
((_a = p.options) === null || _a === void 0 ? void 0 : _a['build'])) {
|
|
77
|
+
p.options['build'].targetName = 'compile';
|
|
78
|
+
}
|
|
79
|
+
return p;
|
|
80
|
+
});
|
|
81
|
+
return nxJson;
|
|
82
|
+
});
|
|
75
83
|
(0, format_1.formatFilesInSubtree)(tree);
|
|
76
84
|
return () => {
|
|
77
85
|
if (!schema.skipInstall) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lib/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lib/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,10 +22,10 @@ const configureTsProject = (tree, options) => {
|
|
|
22
22
|
: (_b = tsConfig.compilerOptions) === null || _b === void 0 ? void 0 : _b.module }) }));
|
|
23
23
|
});
|
|
24
24
|
const outDirToRootRelativePath = (0, path_1.relative)((0, path_1.join)(tree.root, options.dir), tree.root);
|
|
25
|
-
const distDir = (0, path_1.join)(outDirToRootRelativePath, 'dist');
|
|
25
|
+
const distDir = (0, path_1.join)(outDirToRootRelativePath, 'dist', options.dir, 'tsc');
|
|
26
26
|
// Remove baseUrl and rootDir from the tsconfig.lib.json
|
|
27
27
|
if (tree.exists((0, path_1.join)(options.dir, 'tsconfig.lib.json'))) {
|
|
28
|
-
(0, devkit_1.updateJson)(tree, (0, path_1.join)(options.dir, 'tsconfig.lib.json'), (tsConfig) => (Object.assign(Object.assign({}, tsConfig), { compilerOptions: Object.assign(Object.assign({}, tsConfig.compilerOptions), { baseUrl: undefined, rootDir:
|
|
28
|
+
(0, devkit_1.updateJson)(tree, (0, path_1.join)(options.dir, 'tsconfig.lib.json'), (tsConfig) => (Object.assign(Object.assign({}, tsConfig), { compilerOptions: Object.assign(Object.assign({}, tsConfig.compilerOptions), { baseUrl: undefined, rootDir: '.', outDir: distDir, tsBuildInfoFile: (0, path_1.join)(distDir, 'tsconfig.lib.tsbuildinfo') }) })));
|
|
29
29
|
}
|
|
30
30
|
// Update root project tsconfig
|
|
31
31
|
(0, devkit_1.updateJson)(tree, 'tsconfig.base.json', (tsConfig) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-project-utils.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lib/ts-project-utils.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAAiE;AACjE,+BAAsC;AACtC,qDAAqD;AAErD,qCAA2C;AAC3C,qCAA2C;
|
|
1
|
+
{"version":3,"file":"ts-project-utils.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lib/ts-project-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,40 +1,42 @@
|
|
|
1
1
|
import { Construct } from 'constructs';
|
|
2
|
-
import { Runtime, RuntimeFamily } from 'aws-cdk-lib/aws-lambda';
|
|
3
2
|
import { CfnOutput, Duration } from 'aws-cdk-lib';
|
|
4
3
|
import {
|
|
5
4
|
CorsHttpMethod,
|
|
6
|
-
HttpApi,
|
|
5
|
+
HttpApi as _HttpApi,
|
|
7
6
|
HttpMethod,
|
|
8
7
|
IHttpRouteAuthorizer,
|
|
9
8
|
} from 'aws-cdk-lib/aws-apigatewayv2';
|
|
10
9
|
import { HttpLambdaIntegration } from 'aws-cdk-lib/aws-apigatewayv2-integrations';
|
|
11
|
-
import {
|
|
10
|
+
import { Code, Function, Runtime } from 'aws-cdk-lib/aws-lambda';
|
|
12
11
|
import { Effect, IRole, PolicyStatement } from 'aws-cdk-lib/aws-iam';
|
|
13
12
|
import { RuntimeConfig } from './runtime-config.js';
|
|
14
13
|
|
|
15
|
-
export interface
|
|
14
|
+
export interface HttpApiProps {
|
|
15
|
+
readonly apiName: string;
|
|
16
|
+
readonly handler: string;
|
|
16
17
|
readonly handlerFilePath: string;
|
|
18
|
+
readonly runtime: Runtime;
|
|
17
19
|
readonly defaultAuthorizer: IHttpRouteAuthorizer;
|
|
18
20
|
readonly allowedOrigins?: string[];
|
|
19
21
|
}
|
|
20
22
|
|
|
21
|
-
export class
|
|
22
|
-
public readonly api:
|
|
23
|
+
export class HttpApi extends Construct {
|
|
24
|
+
public readonly api: _HttpApi;
|
|
23
25
|
|
|
24
|
-
constructor(scope: Construct, id: string, props:
|
|
26
|
+
constructor(scope: Construct, id: string, props: HttpApiProps) {
|
|
25
27
|
super(scope, id);
|
|
26
28
|
|
|
27
|
-
const routerFunction = new
|
|
29
|
+
const routerFunction = new Function(this, `${id}Handler`, {
|
|
28
30
|
timeout: Duration.seconds(30),
|
|
29
|
-
runtime:
|
|
30
|
-
handler:
|
|
31
|
-
|
|
31
|
+
runtime: props.runtime,
|
|
32
|
+
handler: props.handler,
|
|
33
|
+
code: Code.fromAsset(props.handlerFilePath),
|
|
32
34
|
environment: {
|
|
33
35
|
AWS_CONNECTION_REUSE_ENABLED: '1',
|
|
34
36
|
},
|
|
35
37
|
});
|
|
36
38
|
|
|
37
|
-
this.api = new
|
|
39
|
+
this.api = new _HttpApi(this, id, {
|
|
38
40
|
corsPreflight: {
|
|
39
41
|
allowOrigins: props.allowedOrigins ?? ['*'],
|
|
40
42
|
allowMethods: [CorsHttpMethod.ANY],
|
|
@@ -61,15 +63,15 @@ export class TrpcApi extends Construct {
|
|
|
61
63
|
],
|
|
62
64
|
integration: new HttpLambdaIntegration(
|
|
63
65
|
'RouterIntegration',
|
|
64
|
-
routerFunction
|
|
66
|
+
routerFunction,
|
|
65
67
|
),
|
|
66
68
|
});
|
|
67
69
|
|
|
68
|
-
new CfnOutput(this, `${
|
|
70
|
+
new CfnOutput(this, `${props.apiName}Url`, { value: this.api.url! });
|
|
69
71
|
|
|
70
|
-
RuntimeConfig.ensure(this).config.
|
|
71
|
-
...RuntimeConfig.ensure(this).config.
|
|
72
|
-
[
|
|
72
|
+
RuntimeConfig.ensure(this).config.httpApis = {
|
|
73
|
+
...RuntimeConfig.ensure(this).config.httpApis!,
|
|
74
|
+
[props.apiName]: this.api.url!,
|
|
73
75
|
};
|
|
74
76
|
}
|
|
75
77
|
|
|
@@ -79,7 +81,7 @@ export class TrpcApi extends Construct {
|
|
|
79
81
|
effect: Effect.ALLOW,
|
|
80
82
|
actions: ['execute-api:Invoke'],
|
|
81
83
|
resources: [this.api.arnForExecuteApi('*', '/*', '*')],
|
|
82
|
-
})
|
|
84
|
+
}),
|
|
83
85
|
);
|
|
84
86
|
}
|
|
85
87
|
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addHttpApi = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
*/
|
|
8
|
+
const devkit_1 = require("@nx/devkit");
|
|
9
|
+
const tsquery_1 = require("@phenomnomnominal/tsquery");
|
|
10
|
+
const typescript_1 = require("typescript");
|
|
11
|
+
const shared_constructs_1 = require("./shared-constructs");
|
|
12
|
+
const ast_1 = require("./ast");
|
|
13
|
+
const addHttpApi = (tree, apiNameClassName) => {
|
|
14
|
+
const shouldGenerateCoreFastApiConstruct = !tree.exists((0, devkit_1.joinPathFragments)(shared_constructs_1.PACKAGES_DIR, shared_constructs_1.SHARED_CONSTRUCTS_DIR, 'src', 'core', 'http-api.ts'));
|
|
15
|
+
if (shouldGenerateCoreFastApiConstruct) {
|
|
16
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'http-api', shared_constructs_1.SHARED_CONSTRUCTS_DIR, 'src', 'core'), (0, devkit_1.joinPathFragments)(shared_constructs_1.PACKAGES_DIR, shared_constructs_1.SHARED_CONSTRUCTS_DIR, 'src', 'core'), {}, {
|
|
17
|
+
overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
|
|
18
|
+
});
|
|
19
|
+
(0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_1.PACKAGES_DIR, shared_constructs_1.SHARED_CONSTRUCTS_DIR, 'src', 'core', 'index.ts'), './http-api.js');
|
|
20
|
+
}
|
|
21
|
+
// Update runtime-config.ts with ApiUrl type and httpApis property
|
|
22
|
+
const runtimeConfigPath = (0, devkit_1.joinPathFragments)(shared_constructs_1.PACKAGES_DIR, shared_constructs_1.TYPE_DEFINITIONS_DIR, 'src', 'runtime-config.ts');
|
|
23
|
+
const runtimeConfigContent = tree.read(runtimeConfigPath).toString();
|
|
24
|
+
const sourceFile = (0, tsquery_1.ast)(runtimeConfigContent);
|
|
25
|
+
// Check if ApiUrl type exists
|
|
26
|
+
const existingApiUrl = tsquery_1.tsquery.query(sourceFile, 'TypeAliasDeclaration[name.text="ApiUrl"]');
|
|
27
|
+
// Check if httpApis property exists in IRuntimeConfig
|
|
28
|
+
const existinghttpApis = tsquery_1.tsquery.query(sourceFile, 'InterfaceDeclaration[name.text="IRuntimeConfig"] PropertySignature[name.text="httpApis"]');
|
|
29
|
+
let updatedContent = sourceFile;
|
|
30
|
+
// Add ApiUrl type if it doesn't exist
|
|
31
|
+
if (existingApiUrl.length === 0) {
|
|
32
|
+
const apiUrlType = typescript_1.factory.createTypeAliasDeclaration([typescript_1.factory.createModifier(typescript_1.SyntaxKind.ExportKeyword)], typescript_1.factory.createIdentifier('ApiUrl'), undefined, typescript_1.factory.createKeywordTypeNode(typescript_1.SyntaxKind.StringKeyword));
|
|
33
|
+
updatedContent = tsquery_1.tsquery.map(updatedContent, 'SourceFile', (node) => {
|
|
34
|
+
return typescript_1.factory.updateSourceFile(node, [apiUrlType, ...node.statements]);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
// Add empty httpApis to IRuntimeConfig if it doesn't exist
|
|
38
|
+
if (existinghttpApis.length === 0) {
|
|
39
|
+
updatedContent = tsquery_1.tsquery.map(updatedContent, 'InterfaceDeclaration[name.text="IRuntimeConfig"]', (node) => {
|
|
40
|
+
const httpApisProperty = typescript_1.factory.createPropertySignature(undefined, typescript_1.factory.createIdentifier('httpApis'), undefined, typescript_1.factory.createTypeLiteralNode([]));
|
|
41
|
+
return typescript_1.factory.updateInterfaceDeclaration(node, node.modifiers, node.name, node.typeParameters, node.heritageClauses, [...node.members, httpApisProperty]);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
// Check if apiNameClassName property exists in httpApis
|
|
45
|
+
const existingApiNameProperty = tsquery_1.tsquery.query(updatedContent, `InterfaceDeclaration[name.text="IRuntimeConfig"] PropertySignature[name.text="httpApis"] TypeLiteral PropertySignature[name.text="${apiNameClassName}"]`);
|
|
46
|
+
// Add apiNameClassName property to httpApis if it doesn't exist
|
|
47
|
+
if (existingApiNameProperty.length === 0) {
|
|
48
|
+
updatedContent = tsquery_1.tsquery.map(updatedContent, 'InterfaceDeclaration[name.text="IRuntimeConfig"] PropertySignature[name.text="httpApis"] TypeLiteral', (node) => {
|
|
49
|
+
return typescript_1.factory.createTypeLiteralNode([
|
|
50
|
+
...node.members,
|
|
51
|
+
typescript_1.factory.createPropertySignature(undefined, typescript_1.factory.createIdentifier(apiNameClassName), undefined, typescript_1.factory.createTypeReferenceNode('ApiUrl', undefined)),
|
|
52
|
+
]);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
// Only write if changes were made
|
|
56
|
+
if (updatedContent !== sourceFile) {
|
|
57
|
+
tree.write(runtimeConfigPath, updatedContent.getFullText());
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
exports.addHttpApi = addHttpApi;
|
|
61
|
+
//# sourceMappingURL=http-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-api.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/http-api.ts"],"names":[],"mappings":"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"}
|
package/src/utils/names.d.ts
CHANGED
package/src/utils/names.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toKebabCase = exports.toClassName = void 0;
|
|
3
|
+
exports.toSnakeCase = exports.toKebabCase = exports.toClassName = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
/**
|
|
6
6
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
7
7
|
* SPDX-License-Identifier: Apache-2.0
|
|
8
8
|
*/
|
|
9
9
|
const lodash_kebabcase_1 = tslib_1.__importDefault(require("lodash.kebabcase"));
|
|
10
|
+
const lodash_snakecase_1 = tslib_1.__importDefault(require("lodash.snakecase"));
|
|
10
11
|
const toClassName = (str) => {
|
|
11
12
|
if (!str) {
|
|
12
13
|
return str;
|
|
@@ -24,4 +25,6 @@ const toClassName = (str) => {
|
|
|
24
25
|
exports.toClassName = toClassName;
|
|
25
26
|
const toKebabCase = (str) => str === null || str === void 0 ? void 0 : str.split('/').map(lodash_kebabcase_1.default).join('/');
|
|
26
27
|
exports.toKebabCase = toKebabCase;
|
|
28
|
+
const toSnakeCase = (str) => str === null || str === void 0 ? void 0 : str.split('/').map(lodash_snakecase_1.default).join('/');
|
|
29
|
+
exports.toSnakeCase = toSnakeCase;
|
|
27
30
|
//# sourceMappingURL=names.js.map
|
package/src/utils/names.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"names.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/names.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,gFAAyC;
|
|
1
|
+
{"version":3,"file":"names.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/names.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,gFAAyC;AACzC,gFAAyC;AAElC,MAAM,WAAW,GAAG,CAAC,GAAY,EAAU,EAAE;IAClD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7D,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACnB,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,OAAO,GAAG,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC,CAAC;AAbW,QAAA,WAAW,eAatB;AAEK,MAAM,WAAW,GAAG,CAAC,GAAY,EAAU,EAAE,CAClD,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,0BAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAD9B,QAAA,WAAW,eACmB;AAEpC,MAAM,WAAW,GAAG,CAAC,GAAY,EAAU,EAAE,CAChD,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,0BAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AADhC,QAAA,WAAW,eACqB"}
|
package/src/utils/npm-scope.js
CHANGED
|
@@ -12,11 +12,11 @@ function getNpmScope(tree) {
|
|
|
12
12
|
const { name } = tree.exists('package.json')
|
|
13
13
|
? (0, devkit_1.readJson)(tree, 'package.json')
|
|
14
14
|
: { name: null };
|
|
15
|
-
return (name === null || name === void 0 ? void 0 : name.startsWith('@')) ? name.split('/')[0].substring(1) :
|
|
15
|
+
return (name === null || name === void 0 ? void 0 : name.startsWith('@')) ? name.split('/')[0].substring(1) : 'monorepo';
|
|
16
16
|
}
|
|
17
17
|
function getNpmScopePrefix(tree) {
|
|
18
18
|
const npmScope = getNpmScope(tree);
|
|
19
|
-
return
|
|
19
|
+
return `@${npmScope}/`;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* Returns a safe import alias for local packages to avoid the potential for sniping attacks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm-scope.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/npm-scope.ts"],"names":[],"mappings":";;AAKA,kCAOC;AACD,8CAGC;AAID,oCAIC;AAxBD;;;GAGG;AACH,uCAA4C;AAC5C,SAAgB,WAAW,CAAC,IAAU;IACpC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAC1C,CAAC,CAAC,IAAA,iBAAQ,EAEL,IAAI,EAAE,cAAc,CAAC;QAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnB,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"npm-scope.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/npm-scope.ts"],"names":[],"mappings":";;AAKA,kCAOC;AACD,8CAGC;AAID,oCAIC;AAxBD;;;GAGG;AACH,uCAA4C;AAC5C,SAAgB,WAAW,CAAC,IAAU;IACpC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAC1C,CAAC,CAAC,IAAA,iBAAQ,EAEL,IAAI,EAAE,cAAc,CAAC;QAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnB,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AAC9E,CAAC;AACD,SAAgB,iBAAiB,CAAC,IAAU;IAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,IAAI,QAAQ,GAAG,CAAC;AACzB,CAAC;AACD;;GAEG;AACH,SAAgB,YAAY,CAAC,qBAA6B;IACxD,OAAO,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC;QAC1C,CAAC,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACtC,CAAC,CAAC,qBAAqB,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { TargetConfiguration } from '@nx/devkit';
|
|
6
|
+
export declare const sortProjectTargets: (targets: {
|
|
7
|
+
[targetName: string]: TargetConfiguration;
|
|
8
|
+
}) => {};
|
package/src/utils/nx.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sortProjectTargets = void 0;
|
|
4
|
+
const sortProjectTargets = (targets) => Object.keys(targets)
|
|
5
|
+
.sort()
|
|
6
|
+
.reduce((obj, key) => {
|
|
7
|
+
obj[key] = targets[key];
|
|
8
|
+
return obj;
|
|
9
|
+
}, {});
|
|
10
|
+
exports.sortProjectTargets = sortProjectTargets;
|
|
11
|
+
//# sourceMappingURL=nx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nx.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/nx.ts"],"names":[],"mappings":";;;AAMO,MAAM,kBAAkB,GAAG,CAAC,OAElC,EAAE,EAAE,CACH,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;KACjB,IAAI,EAAE;KACN,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACnB,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,EAAE,CAAC,CAAC;AARE,QAAA,kBAAkB,sBAQpB"}
|
|
@@ -62,7 +62,7 @@ function sharedConstructsGenerator(tree) {
|
|
|
62
62
|
}, {
|
|
63
63
|
overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
|
|
64
64
|
});
|
|
65
|
-
(0, devkit_1.addDependenciesToPackageJson)(tree, (0, versions_1.withVersions)(['constructs', 'aws-cdk-lib']),
|
|
65
|
+
(0, devkit_1.addDependenciesToPackageJson)(tree, (0, versions_1.withVersions)(['constructs', 'aws-cdk-lib']), (0, versions_1.withVersions)(['@types/node']));
|
|
66
66
|
(0, format_1.formatFilesInSubtree)(tree);
|
|
67
67
|
}
|
|
68
68
|
});
|