@aws/nx-plugin 0.13.0 → 0.14.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 (50) hide show
  1. package/LICENSE-THIRD-PARTY +1103 -309
  2. package/package.json +7 -7
  3. package/src/api-connection/schema.json +5 -5
  4. package/src/cloudscape-website/app/__snapshots__/generator.spec.ts.snap +1 -0
  5. package/src/cloudscape-website/app/generator.js +9 -19
  6. package/src/cloudscape-website/app/generator.js.map +1 -1
  7. package/src/cloudscape-website/app/schema.d.ts +0 -24
  8. package/src/cloudscape-website/app/schema.json +0 -125
  9. package/src/cloudscape-website/cognito-auth/__snapshots__/generator.spec.ts.snap +179 -0
  10. package/src/cloudscape-website/cognito-auth/generator.js +10 -31
  11. package/src/cloudscape-website/cognito-auth/generator.js.map +1 -1
  12. package/src/cloudscape-website/runtime-config/__snapshots__/generator.spec.ts.snap +1 -0
  13. package/src/cloudscape-website/runtime-config/generator.js +5 -16
  14. package/src/cloudscape-website/runtime-config/generator.js.map +1 -1
  15. package/src/infra/app/__snapshots__/generator.spec.ts.snap +48 -10
  16. package/src/infra/app/generator.js +8 -0
  17. package/src/infra/app/generator.js.map +1 -1
  18. package/src/license/README.md +2 -2
  19. package/src/license/schema.json +2 -2
  20. package/src/open-api/ts-client/__snapshots__/generator.spec.ts.snap +24 -24
  21. package/src/open-api/ts-client/__snapshots__/generator.streaming.spec.ts.snap +6 -6
  22. package/src/open-api/ts-client/files/client.gen.ts.template +1 -1
  23. package/src/open-api/ts-hooks/generator.js +1 -1
  24. package/src/open-api/ts-hooks/generator.js.map +1 -1
  25. package/src/py/fast-api/generator.js +1 -1
  26. package/src/py/fast-api/generator.js.map +1 -1
  27. package/src/py/fast-api/react/generator.js +2 -2
  28. package/src/py/fast-api/react/generator.js.map +1 -1
  29. package/src/py/fast-api/schema.json +8 -3
  30. package/src/trpc/backend/schema.json +2 -2
  31. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +4 -1
  32. package/src/trpc/react/files/src/components/TrpcClients/TrpcProvider.tsx.template +1 -1
  33. package/src/trpc/react/generator.js +10 -17
  34. package/src/trpc/react/generator.js.map +1 -1
  35. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +95 -36
  36. package/src/ts/lib/eslint.d.ts +1 -1
  37. package/src/ts/lib/eslint.js +9 -22
  38. package/src/ts/lib/eslint.js.map +1 -1
  39. package/src/ts/lib/generator.js +39 -10
  40. package/src/ts/lib/generator.js.map +1 -1
  41. package/src/ts/lib/vitest.js +14 -52
  42. package/src/ts/lib/vitest.js.map +1 -1
  43. package/src/utils/ast.d.ts +27 -7
  44. package/src/utils/ast.js +143 -64
  45. package/src/utils/ast.js.map +1 -1
  46. package/src/utils/config/__snapshots__/utils.spec.ts.snap +1 -0
  47. package/src/utils/http-api.js +6 -16
  48. package/src/utils/http-api.js.map +1 -1
  49. package/src/utils/shared-constructs.js +2 -2
  50. package/src/utils/shared-constructs.js.map +1 -1
@@ -7,64 +7,26 @@ const tslib_1 = require("tslib");
7
7
  * SPDX-License-Identifier: Apache-2.0
8
8
  */
9
9
  const devkit_1 = require("@nx/devkit");
10
- const tsquery_1 = require("@phenomnomnominal/tsquery");
11
10
  const path_1 = require("path");
12
- const typescript_1 = tslib_1.__importDefault(require("typescript"));
13
- const passWithNoTests = (sourceFile) => {
14
- const transformer = (context) => (rootNode) => {
15
- function visit(node) {
16
- if (typescript_1.default.isCallExpression(node) &&
17
- typescript_1.default.isIdentifier(node.expression) &&
18
- node.expression.text === 'defineConfig' &&
19
- node.arguments.length === 1) {
20
- const configObject = node.arguments[0];
21
- if (typescript_1.default.isObjectLiteralExpression(configObject)) {
22
- const testProperty = configObject.properties.find((p) => typescript_1.default.isPropertyAssignment(p) &&
23
- typescript_1.default.isIdentifier(p.name) &&
24
- p.name.text === 'test');
25
- if (testProperty && typescript_1.default.isPropertyAssignment(testProperty)) {
26
- const testValue = testProperty.initializer;
27
- if (typescript_1.default.isObjectLiteralExpression(testValue)) {
28
- // Check if passWithNoTests already exists
29
- const hasPassWithNoTests = testValue.properties.some((p) => typescript_1.default.isPropertyAssignment(p) &&
30
- typescript_1.default.isIdentifier(p.name) &&
31
- p.name.text === 'passWithNoTests');
32
- if (!hasPassWithNoTests) {
33
- // Add passWithNoTests: true to the test object
34
- const newTestValue = context.factory.updateObjectLiteralExpression(testValue, [
35
- ...testValue.properties,
36
- context.factory.createPropertyAssignment('passWithNoTests', context.factory.createTrue()),
37
- ]);
38
- // Update the test property with the new value
39
- const newTestProperty = context.factory.updatePropertyAssignment(testProperty, testProperty.name, newTestValue);
40
- // Update the config object with the new test property
41
- return context.factory.updateCallExpression(node, node.expression, node.typeArguments, [
42
- context.factory.updateObjectLiteralExpression(configObject, configObject.properties.map((p) => p === testProperty ? newTestProperty : p)),
43
- ]);
44
- }
45
- }
46
- }
47
- }
48
- }
49
- return typescript_1.default.visitEachChild(node, visit, context);
50
- }
51
- return typescript_1.default.visitNode(rootNode, visit);
52
- };
53
- const result = typescript_1.default.transform(sourceFile, [transformer]);
54
- return result.transformed[0];
55
- };
11
+ const typescript_1 = tslib_1.__importStar(require("typescript"));
12
+ const ast_1 = require("../../utils/ast");
56
13
  const configureVitest = (tree, options) => {
57
14
  var _a;
58
15
  const configPath = (0, path_1.join)(options.dir, 'vite.config.ts');
59
16
  if (tree.exists(configPath)) {
60
- const originalSourceFile = tsquery_1.tsquery.ast(tree.read(configPath, 'utf-8'));
61
- let sourceFile = originalSourceFile;
62
- sourceFile = passWithNoTests(sourceFile);
63
- const printer = typescript_1.default.createPrinter({
64
- removeComments: false,
65
- newLine: typescript_1.default.NewLineKind.LineFeed,
17
+ (0, ast_1.replaceIfExists)(tree, configPath, 'CallExpression:has(Identifier[name="defineConfig"]) PropertyAssignment:has(Identifier[name="test"]) ObjectLiteralExpression', (node) => {
18
+ // Check if passWithNoTests already exists
19
+ const hasPassWithNoTests = node.properties.some((p) => typescript_1.default.isPropertyAssignment(p) &&
20
+ typescript_1.default.isIdentifier(p.name) &&
21
+ p.name.text === 'passWithNoTests');
22
+ if (!hasPassWithNoTests) {
23
+ return typescript_1.factory.createObjectLiteralExpression([
24
+ ...node.properties,
25
+ typescript_1.factory.createPropertyAssignment('passWithNoTests', typescript_1.factory.createTrue()),
26
+ ]);
27
+ }
28
+ return node;
66
29
  });
67
- tree.write(configPath, printer.printNode(typescript_1.default.EmitHint.Unspecified, sourceFile, originalSourceFile));
68
30
  const nxJson = (0, devkit_1.readNxJson)(tree);
69
31
  (0, devkit_1.updateNxJson)(tree, Object.assign(Object.assign({}, nxJson), { targetDefaults: Object.assign(Object.assign({}, ((_a = nxJson.targetDefaults) !== null && _a !== void 0 ? _a : {})), { '@nx/vite:test': Object.assign({ cache: true, inputs: ['default', '^production'], configurations: {
70
32
  'update-snapshot': {
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lib/vitest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vitest.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lib/vitest.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAA4D;AAC5D,+BAA4B;AAC5B,iEAAkE;AAElE,yCAAkD;AAE3C,MAAM,eAAe,GAAG,CAC7B,IAAU,EACV,OAAgC,EAChC,EAAE;;IACF,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAEvD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,IAAA,qBAAe,EACb,IAAI,EACJ,UAAU,EACV,6HAA6H,EAC7H,CAAC,IAA6B,EAAE,EAAE;YAChC,0CAA0C;YAC1C,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAC7C,CAAC,CAAC,EAAE,EAAE,CACJ,oBAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,oBAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvB,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,CACpC,CAAC;YACF,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,OAAO,oBAAO,CAAC,6BAA6B,CAAC;oBAC3C,GAAG,IAAI,CAAC,UAAU;oBAClB,oBAAO,CAAC,wBAAwB,CAC9B,iBAAiB,EACjB,oBAAO,CAAC,UAAU,EAAE,CACrB;iBACF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;QAChC,IAAA,qBAAY,EAAC,IAAI,kCACZ,MAAM,KACT,cAAc,kCACT,CAAC,MAAA,MAAM,CAAC,cAAc,mCAAI,EAAE,CAAC,KAChC,eAAe,kBACb,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,EAClC,cAAc,EAAE;wBACd,iBAAiB,EAAE;4BACjB,IAAI,EAAE,UAAU;yBACjB;qBACF,IACE,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,QAG7C,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAlDW,QAAA,eAAe,mBAkD1B"}
@@ -3,14 +3,34 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { Tree } from '@nx/devkit';
6
- import { NodeTransformer } from '@phenomnomnominal/tsquery';
7
- import { JsxChild, JsxClosingElement, JsxOpeningElement, Node } from 'typescript';
8
- export declare const destructuredImport: (tree: Tree, filePath: string, variableNames: string[], from: string) => string;
9
- export declare const singleImport: (tree: Tree, filePath: string, variableName: string, from: string) => string;
6
+ import ts, { JsxChild, JsxClosingElement, JsxOpeningElement, Node } from 'typescript';
7
+ export declare const addDestructuredImport: (tree: Tree, filePath: string, variableNames: string[], from: string) => void;
8
+ /**
9
+ * Adds an `import <variableName> from '<from>'; statement to the beginning of the file,
10
+ * if it doesn't already exist
11
+ */
12
+ export declare const addSingleImport: (tree: Tree, filePath: string, variableName: string, from: string) => void;
13
+ /**
14
+ * Adds an `export * from '<from>'; statement to the given TypeScript file.
15
+ * Note that this will create the file if it does not exist in the tree.
16
+ */
10
17
  export declare const addStarExport: (tree: Tree, filePath: string, from: string) => void;
11
- export declare const replace: (tree: Tree, filePath: string, selector: string, transformer: NodeTransformer, errorIfNoMatches?: boolean) => void;
12
- export declare const createJsxElementFromIdentifier: (identifier: string, children: readonly JsxChild[]) => import("typescript").JsxElement;
13
- export declare const createJsxElement: (openingElement: JsxOpeningElement, children: readonly JsxChild[], closingElement: JsxClosingElement) => import("typescript").JsxElement;
18
+ /**
19
+ * Replace nodes matching a given selector by applying the transformer on matches
20
+ */
21
+ export declare const replace: (tree: Tree, filePath: string, selector: string, transformer: (node: Node) => Node, errorIfNoMatches?: boolean) => void;
22
+ /**
23
+ * Replace nodes matching a given selector if present, otherwise leaves the code unchanged
24
+ */
25
+ export declare const replaceIfExists: (tree: Tree, filePath: string, selector: string, transformer: (node: Node) => Node) => void;
26
+ export declare const prependStatements: (tree: Tree, filePath: string, statements: ts.Statement[]) => void;
27
+ export declare const appendStatements: (tree: Tree, filePath: string, statements: ts.Statement[]) => void;
28
+ /**
29
+ * Query a typescript file in the tree using tsquery
30
+ */
31
+ export declare const query: (tree: Tree, filePath: string, selector: string) => Node[];
32
+ export declare const createJsxElementFromIdentifier: (identifier: string, children: readonly JsxChild[]) => ts.JsxElement;
33
+ export declare const createJsxElement: (openingElement: JsxOpeningElement, children: readonly JsxChild[], closingElement: JsxClosingElement) => ts.JsxElement;
14
34
  /**
15
35
  * Convert a given json object to its AST representation
16
36
  */
package/src/utils/ast.js CHANGED
@@ -1,83 +1,91 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hasExportDeclaration = exports.jsonToAst = exports.createJsxElement = exports.createJsxElementFromIdentifier = exports.replace = exports.addStarExport = exports.singleImport = exports.destructuredImport = void 0;
3
+ exports.hasExportDeclaration = exports.jsonToAst = exports.createJsxElement = exports.createJsxElementFromIdentifier = exports.query = exports.appendStatements = exports.prependStatements = exports.replaceIfExists = exports.replace = exports.addStarExport = exports.addSingleImport = exports.addDestructuredImport = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  const tsquery_1 = require("@phenomnomnominal/tsquery");
5
- const typescript_1 = require("typescript");
6
+ const typescript_1 = tslib_1.__importStar(require("typescript"));
6
7
  const assertFilePath = (tree, filePath) => {
7
8
  if (!tree.exists(filePath)) {
8
9
  throw new Error(`No file located at ${filePath}`);
9
10
  }
10
11
  };
11
- const destructuredImport = (tree, filePath, variableNames, from) => {
12
+ const updateFile = (tree, filePath, doUpdate) => {
13
+ var _a, _b;
12
14
  assertFilePath(tree, filePath);
13
- const contents = tree.read(filePath).toString();
14
- const sourceAst = (0, tsquery_1.ast)(contents);
15
- // Check if any of the variables are already imported from the same module
16
- const existingImports = tsquery_1.tsquery.query(sourceAst, `ImportDeclaration[moduleSpecifier.text="${from}"] ImportClause ImportSpecifier`);
17
- const existingVariables = new Set(existingImports.map((node) => {
18
- const importSpecifier = node;
19
- return importSpecifier.name.escapedText.toString();
20
- }));
21
- // Filter out variables that are already imported
22
- const newVariables = variableNames.filter((name) => !existingVariables.has(name.includes(' as ') ? name.split(' as ')[1] : name));
23
- if (newVariables.length === 0) {
24
- return contents;
25
- }
26
- const destructuredImport = typescript_1.factory.createImportDeclaration(undefined, typescript_1.factory.createImportClause(false, undefined, typescript_1.factory.createNamedImports([
27
- ...existingImports,
28
- ...newVariables.map((variableName) => {
29
- const [name, alias] = variableName.split(' as ');
30
- return typescript_1.factory.createImportSpecifier(false, alias ? typescript_1.factory.createIdentifier(name) : undefined, typescript_1.factory.createIdentifier(alias || name));
31
- }),
32
- ])), typescript_1.factory.createStringLiteral(from, true));
33
- const updatedContents = tsquery_1.tsquery
34
- .map((0, tsquery_1.ast)(contents), 'SourceFile', (node) => {
35
- return Object.assign(Object.assign({}, node), { statements: [destructuredImport, ...node.statements] });
36
- })
37
- .getFullText();
38
- if (contents !== updatedContents) {
15
+ const contents = (_b = (_a = tree.read(filePath)) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : '';
16
+ const updatedContents = doUpdate(contents);
17
+ if (updatedContents !== contents) {
39
18
  tree.write(filePath, updatedContents);
40
19
  }
41
- return updatedContents;
42
20
  };
43
- exports.destructuredImport = destructuredImport;
44
- const singleImport = (tree, filePath, variableName, from) => {
45
- assertFilePath(tree, filePath);
46
- const contents = tree.read(filePath).toString();
47
- const sourceAst = (0, tsquery_1.ast)(contents);
48
- // Check if the import already exists
49
- const existingImports = tsquery_1.tsquery.query(sourceAst, `ImportDeclaration[moduleSpecifier.text="${from}"] ImportClause > Identifier[text="${variableName}"]`);
50
- if (existingImports.length > 0) {
51
- return contents;
52
- }
53
- const importDeclaration = typescript_1.factory.createImportDeclaration(undefined, typescript_1.factory.createImportClause(false, typescript_1.factory.createIdentifier(variableName), undefined), typescript_1.factory.createStringLiteral(from));
54
- const updatedContents = tsquery_1.tsquery
55
- .map((0, tsquery_1.ast)(contents), 'SourceFile', (node) => {
56
- return Object.assign(Object.assign({}, node), { statements: [importDeclaration, ...node.statements] });
57
- })
58
- .getFullText();
59
- if (contents !== updatedContents) {
21
+ const createOrUpdateFile = (tree, filePath, doUpdate) => {
22
+ var _a;
23
+ const contents = (_a = tree.read(filePath)) === null || _a === void 0 ? void 0 : _a.toString();
24
+ const updatedContents = doUpdate(contents);
25
+ if (updatedContents !== contents) {
60
26
  tree.write(filePath, updatedContents);
61
27
  }
62
- return updatedContents;
63
28
  };
64
- exports.singleImport = singleImport;
29
+ const addDestructuredImport = (tree, filePath, variableNames, from) => {
30
+ updateFile(tree, filePath, (contents) => {
31
+ const sourceAst = (0, tsquery_1.ast)(contents);
32
+ // Check if any of the variables are already imported from the same module
33
+ const existingImports = tsquery_1.tsquery.query(sourceAst, `ImportDeclaration[moduleSpecifier.text="${from}"] ImportClause ImportSpecifier`);
34
+ const existingVariables = new Set(existingImports.map((node) => {
35
+ const importSpecifier = node;
36
+ return importSpecifier.name.escapedText.toString();
37
+ }));
38
+ // Filter out variables that are already imported
39
+ const newVariables = variableNames.filter((name) => !existingVariables.has(name.includes(' as ') ? name.split(' as ')[1] : name));
40
+ if (newVariables.length === 0) {
41
+ return contents;
42
+ }
43
+ const destructuredImport = typescript_1.factory.createImportDeclaration(undefined, typescript_1.factory.createImportClause(false, undefined, typescript_1.factory.createNamedImports([
44
+ ...existingImports,
45
+ ...newVariables.map((variableName) => {
46
+ const [name, alias] = variableName.split(' as ');
47
+ return typescript_1.factory.createImportSpecifier(false, alias ? typescript_1.factory.createIdentifier(name) : undefined, typescript_1.factory.createIdentifier(alias || name));
48
+ }),
49
+ ])), typescript_1.factory.createStringLiteral(from, true));
50
+ return prependStatementsToCodeText(contents, [destructuredImport]);
51
+ });
52
+ };
53
+ exports.addDestructuredImport = addDestructuredImport;
54
+ /**
55
+ * Adds an `import <variableName> from '<from>'; statement to the beginning of the file,
56
+ * if it doesn't already exist
57
+ */
58
+ const addSingleImport = (tree, filePath, variableName, from) => {
59
+ updateFile(tree, filePath, (contents) => {
60
+ const sourceAst = (0, tsquery_1.ast)(contents);
61
+ // Check if the import already exists
62
+ const existingImports = tsquery_1.tsquery.query(sourceAst, `ImportDeclaration[moduleSpecifier.text="${from}"] ImportClause > Identifier[text="${variableName}"]`);
63
+ if (existingImports.length > 0) {
64
+ return contents;
65
+ }
66
+ const importDeclaration = typescript_1.factory.createImportDeclaration(undefined, typescript_1.factory.createImportClause(false, typescript_1.factory.createIdentifier(variableName), undefined), typescript_1.factory.createStringLiteral(from));
67
+ return prependStatementsToCodeText(contents, [importDeclaration]);
68
+ });
69
+ };
70
+ exports.addSingleImport = addSingleImport;
71
+ /**
72
+ * Adds an `export * from '<from>'; statement to the given TypeScript file.
73
+ * Note that this will create the file if it does not exist in the tree.
74
+ */
65
75
  const addStarExport = (tree, filePath, from) => {
66
- const indexContents = tree.exists(filePath)
67
- ? tree.read(filePath).toString()
68
- : '';
69
- const hasExport = tsquery_1.tsquery.query((0, tsquery_1.ast)(indexContents), `ExportDeclaration StringLiteral[text="${from}"]`).length > 0;
70
- if (!hasExport) {
71
- const exportDeclaration = typescript_1.factory.createExportDeclaration(undefined, undefined, undefined, typescript_1.factory.createStringLiteral(from));
72
- const updatedIndexContents = tsquery_1.tsquery
73
- .map((0, tsquery_1.ast)(indexContents), 'SourceFile', (node) => (Object.assign(Object.assign({}, node), { statements: [exportDeclaration, ...node.statements] })))
74
- .getFullText();
75
- if (indexContents !== updatedIndexContents) {
76
- tree.write(filePath, updatedIndexContents);
76
+ createOrUpdateFile(tree, filePath, (contents) => {
77
+ const hasExport = tsquery_1.tsquery.query((0, tsquery_1.ast)(contents !== null && contents !== void 0 ? contents : ''), `ExportDeclaration StringLiteral[text="${from}"]`).length > 0;
78
+ if (!hasExport) {
79
+ const exportDeclaration = typescript_1.factory.createExportDeclaration(undefined, undefined, undefined, typescript_1.factory.createStringLiteral(from));
80
+ return prependStatementsToCodeText(contents !== null && contents !== void 0 ? contents : '', [exportDeclaration]);
77
81
  }
78
- }
82
+ return contents;
83
+ });
79
84
  };
80
85
  exports.addStarExport = addStarExport;
86
+ /**
87
+ * Replace nodes matching a given selector by applying the transformer on matches
88
+ */
81
89
  const replace = (tree, filePath, selector, transformer, errorIfNoMatches = true) => {
82
90
  assertFilePath(tree, filePath);
83
91
  const source = tree.read(filePath).toString();
@@ -87,14 +95,85 @@ const replace = (tree, filePath, selector, transformer, errorIfNoMatches = true)
87
95
  throw new Error(`Could not locate an element in ${filePath} matching ${selector}`);
88
96
  }
89
97
  }
90
- const updatedSource = tsquery_1.tsquery
91
- .map((0, tsquery_1.ast)(source), selector, transformer)
92
- .getFullText();
98
+ const updatedSource = applyTransform(source, selector, transformer);
93
99
  if (source !== updatedSource) {
94
100
  tree.write(filePath, updatedSource);
95
101
  }
96
102
  };
97
103
  exports.replace = replace;
104
+ /**
105
+ * Replace nodes matching a given selector if present, otherwise leaves the code unchanged
106
+ */
107
+ const replaceIfExists = (tree, filePath, selector, transformer) => (0, exports.replace)(tree, filePath, selector, transformer, false);
108
+ exports.replaceIfExists = replaceIfExists;
109
+ /**
110
+ * Apply a transform to the given code using the transformer.
111
+ * Equivalent to tsquery.map, except that this preserves existing code formatting where possible
112
+ */
113
+ const applyTransform = (code, selector, transformer) => {
114
+ const sourceFile = (0, tsquery_1.ast)(code);
115
+ const transforms = [];
116
+ const printer = typescript_1.default.createPrinter();
117
+ tsquery_1.tsquery.map(sourceFile, selector, (node) => {
118
+ const newNode = transformer(node);
119
+ if (newNode !== node && newNode) {
120
+ transforms.push({
121
+ start: node.getStart(sourceFile, true),
122
+ end: node.getEnd(),
123
+ newText: printer.printNode(typescript_1.default.EmitHint.Unspecified, newNode, sourceFile),
124
+ });
125
+ }
126
+ return newNode;
127
+ });
128
+ let newCode = code;
129
+ let offset = 0;
130
+ transforms.forEach((transform) => {
131
+ newCode =
132
+ newCode.substring(0, transform.start + offset) +
133
+ transform.newText +
134
+ newCode.substring(transform.end + offset);
135
+ offset = newCode.length - code.length;
136
+ });
137
+ return newCode;
138
+ };
139
+ const insertStatements = (isPrepend, code, statements) => {
140
+ const sourceFile = (0, tsquery_1.ast)(code);
141
+ const printer = typescript_1.default.createPrinter();
142
+ const newText = statements
143
+ .map((s) => printer.printNode(typescript_1.default.EmitHint.Unspecified, s, sourceFile))
144
+ .join('\n');
145
+ if (isPrepend) {
146
+ return newText + '\n' + code;
147
+ }
148
+ return code + '\n' + newText;
149
+ };
150
+ const appendStatementsToCodeText = (code, statements) => {
151
+ return insertStatements(false, code, statements);
152
+ };
153
+ const prependStatementsToCodeText = (code, statements) => {
154
+ return insertStatements(true, code, statements);
155
+ };
156
+ const prependStatements = (tree, filePath, statements) => {
157
+ updateFile(tree, filePath, (contents) => {
158
+ return prependStatementsToCodeText(contents, statements);
159
+ });
160
+ };
161
+ exports.prependStatements = prependStatements;
162
+ const appendStatements = (tree, filePath, statements) => {
163
+ updateFile(tree, filePath, (contents) => {
164
+ return appendStatementsToCodeText(contents, statements);
165
+ });
166
+ };
167
+ exports.appendStatements = appendStatements;
168
+ /**
169
+ * Query a typescript file in the tree using tsquery
170
+ */
171
+ const query = (tree, filePath, selector) => {
172
+ assertFilePath(tree, filePath);
173
+ const source = tree.read(filePath).toString();
174
+ return tsquery_1.tsquery.query((0, tsquery_1.ast)(source), selector);
175
+ };
176
+ exports.query = query;
98
177
  const createJsxElementFromIdentifier = (identifier, children) => typescript_1.factory.createJsxElement(typescript_1.factory.createJsxOpeningElement(typescript_1.factory.createIdentifier(identifier), undefined, typescript_1.factory.createJsxAttributes([])), children, typescript_1.factory.createJsxClosingElement(typescript_1.factory.createIdentifier(identifier)));
99
178
  exports.createJsxElementFromIdentifier = createJsxElementFromIdentifier;
100
179
  const createJsxElement = (openingElement, children, closingElement) => typescript_1.factory.createJsxElement(openingElement, children, closingElement);
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/ast.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
 
3
3
  exports[`config utils > should update user config 1`] = `
4
4
  "import { AwsNxPluginConfig } from '@aws/nx-plugin';
5
+
5
6
  export default {
6
7
  license: {
7
8
  header: {
@@ -6,7 +6,6 @@ exports.addHttpApi = void 0;
6
6
  * SPDX-License-Identifier: Apache-2.0
7
7
  */
8
8
  const devkit_1 = require("@nx/devkit");
9
- const tsquery_1 = require("@phenomnomnominal/tsquery");
10
9
  const typescript_1 = require("typescript");
11
10
  const shared_constructs_1 = require("./shared-constructs");
12
11
  const ast_1 = require("./ast");
@@ -20,42 +19,33 @@ const addHttpApi = (tree, apiNameClassName) => {
20
19
  }
21
20
  // Update runtime-config.ts with ApiUrl type and httpApis property
22
21
  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
22
  // Check if ApiUrl type exists
26
- const existingApiUrl = tsquery_1.tsquery.query(sourceFile, 'TypeAliasDeclaration[name.text="ApiUrl"]');
23
+ const existingApiUrl = (0, ast_1.query)(tree, runtimeConfigPath, 'TypeAliasDeclaration[name.text="ApiUrl"]');
27
24
  // 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;
25
+ const existinghttpApis = (0, ast_1.query)(tree, runtimeConfigPath, 'InterfaceDeclaration[name.text="IRuntimeConfig"] PropertySignature[name.text="httpApis"]');
30
26
  // Add ApiUrl type if it doesn't exist
31
27
  if (existingApiUrl.length === 0) {
32
28
  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
- });
29
+ (0, ast_1.prependStatements)(tree, runtimeConfigPath, [apiUrlType]);
36
30
  }
37
31
  // Add empty httpApis to IRuntimeConfig if it doesn't exist
38
32
  if (existinghttpApis.length === 0) {
39
- updatedContent = tsquery_1.tsquery.map(updatedContent, 'InterfaceDeclaration[name.text="IRuntimeConfig"]', (node) => {
33
+ (0, ast_1.replace)(tree, runtimeConfigPath, 'InterfaceDeclaration[name.text="IRuntimeConfig"]', (node) => {
40
34
  const httpApisProperty = typescript_1.factory.createPropertySignature(undefined, typescript_1.factory.createIdentifier('httpApis'), undefined, typescript_1.factory.createTypeLiteralNode([]));
41
35
  return typescript_1.factory.updateInterfaceDeclaration(node, node.modifiers, node.name, node.typeParameters, node.heritageClauses, [...node.members, httpApisProperty]);
42
36
  });
43
37
  }
44
38
  // 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}"]`);
39
+ const existingApiNameProperty = (0, ast_1.query)(tree, runtimeConfigPath, `InterfaceDeclaration[name.text="IRuntimeConfig"] PropertySignature[name.text="httpApis"] TypeLiteral PropertySignature[name.text="${apiNameClassName}"]`);
46
40
  // Add apiNameClassName property to httpApis if it doesn't exist
47
41
  if (existingApiNameProperty.length === 0) {
48
- updatedContent = tsquery_1.tsquery.map(updatedContent, 'InterfaceDeclaration[name.text="IRuntimeConfig"] PropertySignature[name.text="httpApis"] TypeLiteral', (node) => {
42
+ (0, ast_1.replace)(tree, runtimeConfigPath, 'InterfaceDeclaration[name.text="IRuntimeConfig"] PropertySignature[name.text="httpApis"] TypeLiteral', (node) => {
49
43
  return typescript_1.factory.createTypeLiteralNode([
50
44
  ...node.members,
51
45
  typescript_1.factory.createPropertySignature(undefined, typescript_1.factory.createIdentifier(apiNameClassName), undefined, typescript_1.factory.createTypeReferenceNode('ApiUrl', undefined)),
52
46
  ]);
53
47
  });
54
48
  }
55
- // Only write if changes were made
56
- if (updatedContent !== sourceFile) {
57
- tree.write(runtimeConfigPath, updatedContent.getFullText());
58
- }
59
49
  };
60
50
  exports.addHttpApi = addHttpApi;
61
51
  //# sourceMappingURL=http-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-api.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/http-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-api.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/http-api.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ function sharedConstructsGenerator(tree) {
40
40
  }, {
41
41
  overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
42
42
  });
43
- (0, format_1.formatFilesInSubtree)(tree);
43
+ yield (0, format_1.formatFilesInSubtree)(tree);
44
44
  }
45
45
  if (!tree.exists((0, devkit_1.joinPathFragments)(exports.PACKAGES_DIR, exports.SHARED_CONSTRUCTS_DIR, 'project.json'))) {
46
46
  yield (0, generator_1.default)(tree, {
@@ -63,7 +63,7 @@ function sharedConstructsGenerator(tree) {
63
63
  overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
64
64
  });
65
65
  (0, devkit_1.addDependenciesToPackageJson)(tree, (0, versions_1.withVersions)(['constructs', 'aws-cdk-lib']), (0, versions_1.withVersions)(['@types/node']));
66
- (0, format_1.formatFilesInSubtree)(tree);
66
+ yield (0, format_1.formatFilesInSubtree)(tree);
67
67
  }
68
68
  });
69
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shared-constructs.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/shared-constructs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared-constructs.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/shared-constructs.ts"],"names":[],"mappings":"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"}