@aws/nx-plugin 0.89.0 → 0.90.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/package.json +1 -1
  2. package/sdk/utils/ast.d.ts +2 -1
  3. package/sdk/utils/ast.js +4 -2
  4. package/sdk/utils/ast.js.map +1 -1
  5. package/src/connection/serve-local.js +1 -1
  6. package/src/connection/serve-local.js.map +1 -1
  7. package/src/py/strands-agent/mcp-connection/generator.js +9 -9
  8. package/src/py/strands-agent/mcp-connection/generator.js.map +1 -1
  9. package/src/smithy/ts/api/generator.js +2 -2
  10. package/src/smithy/ts/api/generator.js.map +1 -1
  11. package/src/trpc/backend/generator.js +1 -1
  12. package/src/trpc/backend/generator.js.map +1 -1
  13. package/src/trpc/react/generator.js +4 -4
  14. package/src/trpc/react/generator.js.map +1 -1
  15. package/src/ts/lambda-function/generator.js +1 -1
  16. package/src/ts/lambda-function/generator.js.map +1 -1
  17. package/src/ts/lib/eslint.d.ts +1 -1
  18. package/src/ts/lib/eslint.js +23 -36
  19. package/src/ts/lib/eslint.js.map +1 -1
  20. package/src/ts/lib/generator.js +4 -7
  21. package/src/ts/lib/generator.js.map +1 -1
  22. package/src/ts/lib/grit/eslint-dependency-checks-warn.grit +1 -0
  23. package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +7 -0
  24. package/src/ts/lib/ts-project-utils.js +1 -1
  25. package/src/ts/lib/ts-project-utils.js.map +1 -1
  26. package/src/ts/lib/vitest.d.ts +1 -1
  27. package/src/ts/lib/vitest.js +4 -16
  28. package/src/ts/lib/vitest.js.map +1 -1
  29. package/src/ts/mcp-server/generator.js +1 -1
  30. package/src/ts/mcp-server/generator.js.map +1 -1
  31. package/src/ts/nx-generator/generator.js +1 -1
  32. package/src/ts/nx-generator/generator.js.map +1 -1
  33. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +29 -17
  34. package/src/ts/react-website/app/generator.js +14 -50
  35. package/src/ts/react-website/app/generator.js.map +1 -1
  36. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +5 -7
  37. package/src/ts/react-website/cognito-auth/generator.js +5 -25
  38. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  39. package/src/ts/react-website/cognito-auth/grit/app-layout-use-auth.grit +10 -0
  40. package/src/ts/react-website/cognito-auth/grit/cognito-auth-wrapper.grit +3 -0
  41. package/src/ts/react-website/cognito-auth/utils.js +4 -4
  42. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  43. package/src/ts/react-website/runtime-config/generator.js +2 -2
  44. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  45. package/src/ts/strands-agent/generator.js +1 -1
  46. package/src/ts/strands-agent/generator.js.map +1 -1
  47. package/src/ts/strands-agent/mcp-connection/generator.js +2 -2
  48. package/src/ts/strands-agent/mcp-connection/generator.js.map +1 -1
  49. package/src/utils/agent-connection/agent-connection.js +4 -4
  50. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  51. package/src/utils/ast/website.js +63 -120
  52. package/src/utils/ast/website.js.map +1 -1
  53. package/src/utils/ast.d.ts +2 -2
  54. package/src/utils/ast.js +9 -9
  55. package/src/utils/ast.js.map +1 -1
  56. package/src/utils/bundle/bundle.d.ts +1 -1
  57. package/src/utils/bundle/bundle.js +26 -71
  58. package/src/utils/bundle/bundle.js.map +1 -1
  59. package/src/utils/connection/open-api/react.js +4 -4
  60. package/src/utils/connection/open-api/react.js.map +1 -1
  61. package/src/utils/metrics.js +6 -6
  62. package/src/utils/metrics.js.map +1 -1
  63. package/src/utils/shared-shadcn.js +8 -15
  64. package/src/utils/shared-shadcn.js.map +1 -1
  65. package/src/utils/bundle/__snapshots__/bundle.spec.ts.snap +0 -46
@@ -50,7 +50,7 @@ const tsStrandsAgentMcpConnectionGenerator = async (tree, options) => {
50
50
  // Transform the arrow function that contains `new Agent`:
51
51
  // - Expression body: wrap in block with client creation and return
52
52
  // - Block body: prepend client creation statement
53
- await (0, ast_1.applyGritQLTransform)(tree, agentFilePath, `or { \`async ($p) => new Agent($args)\` => raw\`async ($p) => {
53
+ await (0, ast_1.applyGritQL)(tree, agentFilePath, `or { \`async ($p) => new Agent($args)\` => raw\`async ($p) => {
54
54
  ${clientCreationStmt}
55
55
  return new Agent($args);
56
56
  }\` where { $program <: not contains \`${clientClassName}.create\` }, \`async ($p) => { $body }\` => raw\`async ($p) => {
@@ -58,7 +58,7 @@ const tsStrandsAgentMcpConnectionGenerator = async (tree, options) => {
58
58
  $body
59
59
  }\` where { $body <: contains \`new Agent($_)\`, $program <: not contains \`${clientClassName}.create\` } }`);
60
60
  // Prepend client to the tools array
61
- await (0, ast_1.applyGritQLTransform)(tree, agentFilePath, `\`tools: [$items]\` => \`tools: [${clientVarName}, $items]\` where { $items <: within \`new Agent($_)\`, $items <: not contains \`${clientVarName}\` }`);
61
+ await (0, ast_1.applyGritQL)(tree, agentFilePath, `\`tools: [$items]\` => \`tools: [${clientVarName}, $items]\` where { $items <: within \`new Agent($_)\`, $items <: not contains \`${clientVarName}\` }`);
62
62
  }
63
63
  // 4. Set up serve-local target
64
64
  const agentName = agentComponent.name ?? 'agent';
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/strands-agent/mcp-connection/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/strands-agent/mcp-connection/generator.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCASoB;AAEpB,0CAI2B;AAC3B,oDAAyE;AACzE,kDAA6D;AAC7D,gDAAiD;AACjD,sDAAuD;AACvD,wDAAuD;AACvD,4CAI4B;AAC5B,uFAG0D;AAE7C,QAAA,8CAA8C,GACzD,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,oCAAoC,GAAG,KAAK,EACvD,IAAU,EACV,OAAmD,EACvB,EAAE;IAC9B,MAAM,aAAa,GAAG,IAAA,wCAAmC,EACvD,IAAI,EACJ,OAAO,CAAC,aAAa,CACtB,CAAC;IACF,MAAM,aAAa,GAAG,IAAA,wCAAmC,EACvD,IAAI,EACJ,OAAO,CAAC,aAAa,CACtB,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IAE7C,IAAI,CAAC,cAAc,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,mGAAmG,CACpG,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC;IAC3D,MAAM,kBAAkB,GAAG,YAAY,CAAC,EAAY,CAAC;IACrD,MAAM,kBAAkB,GAAG,IAAA,iBAAS,EAAC,kBAAkB,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC;IAEhD,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,IAAI,CAAC,CAAC;IAEnC,uDAAuD;IACvD,MAAM,IAAA,yDAAsC,EAAC,IAAI,CAAC,CAAC;IAEnD,wDAAwD;IACxD,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,EAChE,IAAA,0BAAiB,EAAC,+CAA4B,EAAE,KAAK,EAAE,KAAK,CAAC,EAC7D;QACE,kBAAkB;QAClB,kBAAkB;QAClB,aAAa;KACd,EACD,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;IAEF,4BAA4B;IAC5B,MAAM,IAAA,mBAAa,EACjB,IAAI,EACJ,IAAA,0BAAiB,EAAC,+CAA4B,EAAE,KAAK,EAAE,UAAU,CAAC,EAClE,SAAS,kBAAkB,YAAY,CACxC,CAAC;IAEF,6CAA6C;IAC7C,MAAM,cAAc,GAAG,IAAA,0BAAiB,EACtC,aAAa,CAAC,IAAI,EAClB,cAAc,CAAC,IAAI,IAAI,KAAK,CAC7B,CAAC;IACF,MAAM,aAAa,GAAG,IAAA,0BAAiB,EAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAEpE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,MAAM,eAAe,GAAG,GAAG,kBAAkB,QAAQ,CAAC;QACtD,MAAM,aAAa,GACjB,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE3E,4BAA4B;QAC5B,MAAM,IAAA,2BAAqB,EACzB,IAAI,EACJ,aAAa,EACb,CAAC,eAAe,CAAC,EACjB,IAAI,QAAQ,mBAAmB,CAChC,CAAC;QAEF,MAAM,kBAAkB,GAAG,SAAS,aAAa,YAAY,eAAe,qBAAqB,CAAC;QAElG,0DAA0D;QAC1D,mEAAmE;QACnE,kDAAkD;QAClD,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,aAAa,EACb;IACF,kBAAkB;;yCAEmB,eAAe;IACpD,kBAAkB;;8EAEwD,eAAe,eAAe,CACvG,CAAC;QAEF,oCAAoC;QACpC,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,aAAa,EACb,oCAAoC,aAAa,oFAAoF,aAAa,MAAM,CACzJ,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,IAAI,OAAO,CAAC;IACjD,MAAM,oBAAoB,GAAG,GAAG,SAAS,cAAc,CAAC;IACxD,MAAM,uBAAuB,GAAG,GAAG,gBAAgB,cAAc,CAAC;IAElE,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC3D,MAAM,CAAC,SAAS,GAAG;YACjB,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;YAC3B;gBACE,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;gBAC9B,MAAM,EAAE,uBAAuB;aAChC;SACF,CAAC;QACF,IAAA,mCAA0B,EAAC,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC;IAED,sBAAsB;IACtB,IAAA,qCAA4B,EAC1B,IAAI,EACJ,IAAA,uBAAY,EAAC;QACX,2BAA2B;QAC3B,mCAAmC;QACnC,+BAA+B;QAC/B,WAAW;QACX,+BAA+B;KAChC,CAAC,EACF,EAAE,CACH,CAAC;IAEF,MAAM,IAAA,yCAA+B,EAAC,IAAI,EAAE;QAC1C,sDAA8C;KAC/C,CAAC,CAAC;IAEH,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;IACjC,OAAO,GAAG,EAAE;QACV,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC,CAAC;AAvIW,QAAA,oCAAoC,wCAuI/C;AAEF,kBAAe,4CAAoC,CAAC"}
@@ -116,23 +116,23 @@ async function ensurePythonAgentConnectionProject(tree) {
116
116
  */
117
117
  async function addPythonReExport(tree, initFilePath, fromModule, importName) {
118
118
  // Check if already exported
119
- if (await (0, ast_1.hasGritQLMatch)(tree, initFilePath, `\`${importName}\``)) {
119
+ if (await (0, ast_1.matchGritQL)(tree, initFilePath, `\`${importName}\``)) {
120
120
  return;
121
121
  }
122
122
  const importLine = `from ${fromModule} import ${importName}`;
123
123
  const allEntry = `"${importName}"`;
124
124
  // Try to append import after existing import using +=
125
- const appendedImport = await (0, ast_1.applyGritQLTransform)(tree, initFilePath, py(`\`from $mod import $name\` as $stmt where {
125
+ const appendedImport = await (0, ast_1.applyGritQL)(tree, initFilePath, py(`\`from $mod import $name\` as $stmt where {
126
126
  $program <: not contains \`${importName}\`,
127
127
  $stmt += \`\n${importLine}\`
128
128
  }`));
129
129
  if (appendedImport) {
130
130
  // Also append to existing __all__
131
- await (0, ast_1.applyGritQLTransform)(tree, initFilePath, py(`\`__all__ = [$items]\` where { $items += \`, ${allEntry}\` }`));
131
+ await (0, ast_1.applyGritQL)(tree, initFilePath, py(`\`__all__ = [$items]\` where { $items += \`, ${allEntry}\` }`));
132
132
  return;
133
133
  }
134
134
  // No existing imports — first re-export. Try to anchor after docstring.
135
- const anchoredImport = await (0, ast_1.applyGritQLTransform)(tree, initFilePath, py(`\`"""Automatically generated by Nx."""\` as $doc => \`$doc\n${importLine}\n\n__all__ = [${allEntry}]\``));
135
+ const anchoredImport = await (0, ast_1.applyGritQL)(tree, initFilePath, py(`\`"""Automatically generated by Nx."""\` as $doc => \`$doc\n${importLine}\n\n__all__ = [${allEntry}]\``));
136
136
  if (!anchoredImport) {
137
137
  // Completely empty file or no docstring — write directly
138
138
  tree.write(initFilePath, `${importLine}\n\n__all__ = [${allEntry}]\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"agent-connection.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/agent-connection/agent-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-connection.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/agent-connection/agent-connection.ts"],"names":[],"mappings":"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"}
@@ -5,131 +5,74 @@ exports.addHookResultToRouterProviderContext = void 0;
5
5
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
6
  * SPDX-License-Identifier: Apache-2.0
7
7
  */
8
- const typescript_1 = require("typescript");
9
8
  const ast_1 = require("../ast");
10
9
  const addHookResultToRouterProviderContext = async (tree, mainTsxPath, { hook, module, contextProp }) => {
11
- // Update RouterProviderContext interface to include auth (if it exists)
12
- const routerProviderContextSelector = 'TypeAliasDeclaration[name.text="RouterProviderContext"] > TypeLiteral';
13
- const hasRouterProviderContext = (0, ast_1.query)(tree, mainTsxPath, routerProviderContextSelector).length > 0;
14
- const routerSelector = 'CallExpression[expression.name="createRouter"] > ObjectLiteralExpression';
15
- const hasRouter = (0, ast_1.query)(tree, mainTsxPath, routerSelector).length > 0;
16
- const appSelector = 'VariableDeclaration[name.text="App"] > ArrowFunction';
17
- const hasApp = (0, ast_1.query)(tree, mainTsxPath, appSelector).length > 0;
18
- const routerProviderComponentSelector = 'JsxSelfClosingElement:has(Identifier[name="RouterProvider"])';
19
- const hasRouterProviderComponent = (0, ast_1.query)(tree, mainTsxPath, routerProviderComponentSelector).length > 0;
20
- if (!hasRouterProviderContext ||
21
- !hasRouter ||
22
- !hasApp ||
23
- !hasRouterProviderComponent) {
10
+ // All 4 patterns must exist for this transform to apply
11
+ const checks = await Promise.all([
12
+ (0, ast_1.matchGritQL)(tree, mainTsxPath, '`RouterProviderContext`'),
13
+ (0, ast_1.matchGritQL)(tree, mainTsxPath, '`createRouter($_)`'),
14
+ (0, ast_1.matchGritQL)(tree, mainTsxPath, '`const App = $_`'),
15
+ (0, ast_1.matchGritQL)(tree, mainTsxPath, '`<RouterProvider $_ />`'),
16
+ ]);
17
+ if (checks.some((c) => !c)) {
24
18
  return;
25
19
  }
26
20
  await (0, ast_1.addDestructuredImport)(tree, mainTsxPath, [hook], module);
27
- (0, ast_1.replace)(tree, mainTsxPath, routerProviderContextSelector, (node) => {
28
- // Check if auth property already exists
29
- if (node && node.members) {
30
- const hasContextProp = node.members.some((member) => member.name &&
31
- 'text' in member.name &&
32
- member.name.text === contextProp);
33
- if (!hasContextProp) {
34
- return typescript_1.factory.createTypeLiteralNode([
35
- ...node.members,
36
- typescript_1.factory.createPropertySignature(undefined, typescript_1.factory.createIdentifier(contextProp), typescript_1.factory.createToken(typescript_1.SyntaxKind.QuestionToken), typescript_1.factory.createTypeReferenceNode(typescript_1.factory.createIdentifier('ReturnType'), [typescript_1.factory.createTypeQueryNode(typescript_1.factory.createIdentifier(hook))])),
37
- ]);
38
- }
39
- }
40
- return node;
41
- });
42
- // Update router context to include context property
43
- (0, ast_1.replace)(tree, mainTsxPath, routerSelector, (node) => {
44
- const routerContext = node.properties.find((prop) => prop.name && 'text' in prop.name && prop.name.text === 'context');
45
- const existingContextProps = routerContext &&
46
- routerContext.initializer.kind === typescript_1.SyntaxKind.ObjectLiteralExpression
47
- ? routerContext.initializer.properties
48
- : [];
49
- return typescript_1.factory.createObjectLiteralExpression([
50
- ...node.properties.filter((prop) => prop.name && 'text' in prop.name && prop.name.text !== 'context'),
51
- typescript_1.factory.createPropertyAssignment('context', typescript_1.factory.createObjectLiteralExpression([
52
- ...existingContextProps.filter((prop) => prop.name &&
53
- 'text' in prop.name &&
54
- prop.name.text !== contextProp),
55
- typescript_1.factory.createPropertyAssignment(contextProp, typescript_1.factory.createIdentifier('undefined')),
56
- ], true)),
57
- ], true);
58
- });
59
- // Update App component to use the hook in RouterProvider context
60
- (0, ast_1.replace)(tree, mainTsxPath, appSelector, (node) => {
61
- // Create a block which either is the arrow function's block or is a block with a single statement which returns the expression if it's an expression
62
- const isBlockBody = node.body.kind === typescript_1.SyntaxKind.Block;
63
- const existingBlock = isBlockBody ? node.body : null;
64
- const existingStatements = existingBlock ? existingBlock.statements : [];
65
- const hasHookCall = existingStatements.find((statement) => {
66
- if (statement.kind === typescript_1.SyntaxKind.VariableStatement) {
67
- const variableStatement = statement;
68
- const declaration = variableStatement.declarationList.declarations[0];
69
- if (declaration &&
70
- declaration.name.kind === typescript_1.SyntaxKind.Identifier &&
71
- declaration.name.text === contextProp &&
72
- declaration.initializer &&
73
- declaration.initializer.kind === typescript_1.SyntaxKind.CallExpression) {
74
- const callExpression = declaration.initializer;
75
- if (callExpression.expression.kind === typescript_1.SyntaxKind.Identifier &&
76
- callExpression.expression.text === hook) {
77
- return true;
78
- }
79
- }
80
- }
81
- return false;
82
- });
83
- if (!hasHookCall) {
84
- // Prepend the following statement: `const <contextProp> = <hook>();`
85
- const newStatements = [
86
- typescript_1.factory.createVariableStatement(undefined, typescript_1.factory.createVariableDeclarationList([
87
- typescript_1.factory.createVariableDeclaration(typescript_1.factory.createIdentifier(contextProp), undefined, undefined, typescript_1.factory.createCallExpression(typescript_1.factory.createIdentifier(hook), undefined, [])),
88
- ], typescript_1.NodeFlags.Const)),
89
- // Add existing statements or create return statement for expression body
90
- ...(isBlockBody
91
- ? existingStatements
92
- : [typescript_1.factory.createReturnStatement(node.body)]),
93
- ];
94
- return typescript_1.factory.createArrowFunction(node.modifiers, node.typeParameters, node.parameters, node.type, node.equalsGreaterThanToken, typescript_1.factory.createBlock(newStatements, true));
95
- }
96
- return node;
97
- });
98
- // Add the context prop to the RouterProvider context prop, eg: <RouterProvider router={router} context={{ ...existing, <contextProp> }} />;
99
- (0, ast_1.replace)(tree, mainTsxPath, routerProviderComponentSelector, (node) => {
100
- // Find existing context attribute
101
- const existingContextAttr = node.attributes.properties.find((attr) => attr.kind === typescript_1.SyntaxKind.JsxAttribute &&
102
- attr.name &&
103
- attr.name.kind === typescript_1.SyntaxKind.Identifier &&
104
- attr.name.text === 'context');
105
- // Get existing context properties if they exist
106
- const existingContextProps = existingContextAttr &&
107
- existingContextAttr.initializer &&
108
- existingContextAttr.initializer.kind === typescript_1.SyntaxKind.JsxExpression &&
109
- existingContextAttr.initializer.expression &&
110
- existingContextAttr.initializer.expression.kind ===
111
- typescript_1.SyntaxKind.ObjectLiteralExpression
112
- ? existingContextAttr.initializer
113
- .expression.properties
114
- : [];
115
- // Create new context attribute with existing props plus the new context prop
116
- const newContextAttr = typescript_1.factory.createJsxAttribute(typescript_1.factory.createIdentifier('context'), typescript_1.factory.createJsxExpression(undefined, typescript_1.factory.createObjectLiteralExpression([
117
- // Add existing properties
118
- ...existingContextProps,
119
- // Add the new context prop as shorthand property assignment
120
- typescript_1.factory.createShorthandPropertyAssignment(typescript_1.factory.createIdentifier(contextProp)),
121
- ])));
122
- // Create new JSX self-closing element with all existing attributes except 'context', plus the new context attribute
123
- return typescript_1.factory.createJsxSelfClosingElement(node.tagName, node.typeArguments, typescript_1.factory.createJsxAttributes([
124
- // Include all existing attributes except 'context'
125
- ...node.attributes.properties.filter((attr) => !(attr.kind === typescript_1.SyntaxKind.JsxAttribute &&
126
- attr.name &&
127
- attr.name.kind === typescript_1.SyntaxKind.Identifier &&
128
- attr.name.text === 'context')),
129
- // Add the new context attribute
130
- newContextAttr,
131
- ]));
132
- });
21
+ // 1. Add property to RouterProviderContext type
22
+ // 'some' checks direct members only (not nested), so a nested 'auth' won't block adding a top-level one.
23
+ // Type members use ; as terminators, so += with leading \n handles separation.
24
+ await (0, ast_1.applyGritQL)(tree, mainTsxPath, `or {
25
+ \`type RouterProviderContext = {}\` => \`type RouterProviderContext = {
26
+ ${contextProp}?: ReturnType<typeof ${hook}>;
27
+ }\`,
28
+ \`type RouterProviderContext = { $members }\` where {
29
+ $members <: not some \`${contextProp}?: $_\`,
30
+ $members += \`
31
+ ${contextProp}?: ReturnType<typeof ${hook}>\`
32
+ }
33
+ }`);
34
+ // 2. Add context property to createRouter config
35
+ // 'some' checks direct properties of the createRouter argument object only.
36
+ // Use += for multi-prop objects, => rewrite for single-prop.
37
+ await (0, ast_1.applyGritQL)(tree, mainTsxPath, `\`createRouter({ $props })\` where {
38
+ $props <: not some \`context: $_\`,
39
+ $props += \`context: { ${contextProp}: undefined }\`
40
+ }`);
41
+ // If context already exists, add the new prop to it.
42
+ // Handle empty context: {} via nested contains => rewrite, scoped to createRouter.
43
+ await (0, ast_1.applyGritQL)(tree, mainTsxPath, `\`createRouter({ $props })\` where {
44
+ $props <: contains \`context: {}\` => \`context: { ${contextProp}: undefined }\`
45
+ }`);
46
+ // Handle non-empty context via rewrite (the context object may be single-prop
47
+ // from the first hook call, where += concatenates without comma)
48
+ await (0, ast_1.applyGritQL)(tree, mainTsxPath, `\`context: { $cprops }\` => \`context: { $cprops, ${contextProp}: undefined }\` where {
49
+ $cprops <: within \`createRouter($_)\`,
50
+ $cprops <: not some \`${contextProp}: $_\`
51
+ }`);
52
+ // 3. Add hook call to App component body
53
+ // Block body: 'some' checks direct statements.
54
+ // Expression body: 'contains' to also prevent matching block bodies.
55
+ await (0, ast_1.applyGritQL)(tree, mainTsxPath, `or {
56
+ \`const App = () => { $body }\` => raw\`const App = () => {
57
+ const ${contextProp} = ${hook}();
58
+ $body
59
+ }\` where { $body <: not some \`const ${contextProp} = ${hook}()\` },
60
+ \`const App = () => $expr\` => raw\`const App = () => {
61
+ const ${contextProp} = ${hook}();
62
+ return $expr;
63
+ }\` where { $expr <: not contains \`${hook}()\` }
64
+ }`);
65
+ // 4. Add context prop to RouterProvider JSX element
66
+ // 'some' checks direct JSX attributes only.
67
+ await (0, ast_1.applyGritQL)(tree, mainTsxPath, `or {
68
+ \`<RouterProvider $attrs context={{}} />\` => \`<RouterProvider $attrs context={{ ${contextProp} }} />\`,
69
+ \`<RouterProvider $attrs context={{ $cprops }} />\` => \`<RouterProvider $attrs context={{ $cprops, ${contextProp} }} />\` where {
70
+ $cprops <: not some \`${contextProp}\`
71
+ },
72
+ \`<RouterProvider $attrs />\` => \`<RouterProvider $attrs context={{ ${contextProp} }} />\` where {
73
+ $attrs <: not some \`context\`
74
+ }
75
+ }`);
133
76
  };
134
77
  exports.addHookResultToRouterProviderContext = addHookResultToRouterProviderContext;
135
78
  //# sourceMappingURL=website.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"website.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/ast/website.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"website.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/ast/website.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,gCAAyE;AASlE,MAAM,oCAAoC,GAAG,KAAK,EACvD,IAAU,EACV,WAAmB,EACnB,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAA6C,EACxE,EAAE;IACF,wDAAwD;IACxD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/B,IAAA,iBAAW,EAAC,IAAI,EAAE,WAAW,EAAE,yBAAyB,CAAC;QACzD,IAAA,iBAAW,EAAC,IAAI,EAAE,WAAW,EAAE,oBAAoB,CAAC;QACpD,IAAA,iBAAW,EAAC,IAAI,EAAE,WAAW,EAAE,kBAAkB,CAAC;QAClD,IAAA,iBAAW,EAAC,IAAI,EAAE,WAAW,EAAE,yBAAyB,CAAC;KAC1D,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,MAAM,IAAA,2BAAqB,EAAC,IAAI,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAE/D,gDAAgD;IAChD,4GAA4G;IAC5G,kFAAkF;IAClF,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,WAAW,EACX;;IAEA,WAAW,wBAAwB,IAAI;;;iCAGV,WAAW;;EAE1C,WAAW,wBAAwB,IAAI;;MAEnC,CACH,CAAC;IAEF,iDAAiD;IACjD,+EAA+E;IAC/E,gEAAgE;IAChE,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,WAAW,EACX;;+BAE2B,WAAW;MACpC,CACH,CAAC;IAEF,qDAAqD;IACrD,mFAAmF;IACnF,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,WAAW,EACX;2DACuD,WAAW;MAChE,CACH,CAAC;IACF,8EAA8E;IAC9E,iEAAiE;IACjE,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,WAAW,EACX,qDAAqD,WAAW;;8BAEtC,WAAW;MACnC,CACH,CAAC;IAEF,yCAAyC;IACzC,kDAAkD;IAClD,wEAAwE;IACxE,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,WAAW,EACX;;UAEM,WAAW,MAAM,IAAI;;wCAES,WAAW,MAAM,IAAI;;UAEnD,WAAW,MAAM,IAAI;;sCAEO,IAAI;MACpC,CACH,CAAC;IAEF,oDAAoD;IACpD,+CAA+C;IAC/C,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,WAAW,EACX;0FACsF,WAAW;4GACO,WAAW;gCACvF,WAAW;;6EAEkC,WAAW;;;MAGlF,CACH,CAAC;AACJ,CAAC,CAAC;AAtGW,QAAA,oCAAoC,wCAsG/C"}
@@ -42,9 +42,9 @@ export declare const hasExportDeclaration: (source: string, identifierName: stri
42
42
  /**
43
43
  * Apply a GritQL pattern to a file in the Nx tree.
44
44
  */
45
- export declare const applyGritQLTransform: (tree: Tree, filePath: string, pattern: string) => Promise<boolean>;
45
+ export declare const applyGritQL: (tree: Tree, filePath: string, pattern: string) => Promise<boolean>;
46
46
  /**
47
47
  * Check whether a GritQL pattern matches anywhere in a file.
48
48
  * Returns true if the pattern matches at least once.
49
49
  */
50
- export declare const hasGritQLMatch: (tree: Tree, filePath: string, pattern: string) => Promise<boolean>;
50
+ export declare const matchGritQL: (tree: Tree, filePath: string, pattern: string) => Promise<boolean>;
package/src/utils/ast.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hasGritQLMatch = exports.applyGritQLTransform = 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;
3
+ exports.matchGritQL = exports.applyGritQL = 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
4
  const tslib_1 = require("tslib");
5
5
  const tsquery_1 = require("@phenomnomnominal/tsquery");
6
6
  const typescript_1 = tslib_1.__importStar(require("typescript"));
@@ -28,7 +28,7 @@ const createOrUpdateFile = (tree, filePath, doUpdate) => {
28
28
  const addDestructuredImport = async (tree, filePath, variableNames, from) => {
29
29
  assertFilePath(tree, filePath);
30
30
  // Check if there's an existing import from this module
31
- const hasExistingImport = await (0, exports.hasGritQLMatch)(tree, filePath, `\`import { $_ } from '${from}'\``);
31
+ const hasExistingImport = await (0, exports.matchGritQL)(tree, filePath, `\`import { $_ } from '${from}'\``);
32
32
  if (hasExistingImport) {
33
33
  // For each new variable, use GritQL rewrite to add it if not already present
34
34
  for (const variableName of variableNames) {
@@ -36,7 +36,7 @@ const addDestructuredImport = async (tree, filePath, variableNames, from) => {
36
36
  ? variableName.split(' as ')[1]
37
37
  : variableName;
38
38
  // Use rewrite (=>) which correctly handles comma-separated import specifier lists
39
- await (0, exports.applyGritQLTransform)(tree, filePath, `\`import { $imports } from '${from}'\` => \`import { $imports, ${variableName} } from '${from}'\` where { $imports <: not contains \`${localName}\` }`);
39
+ await (0, exports.applyGritQL)(tree, filePath, `\`import { $imports } from '${from}'\` => \`import { $imports, ${variableName} } from '${from}'\` where { $imports <: not contains \`${localName}\` }`);
40
40
  }
41
41
  }
42
42
  else {
@@ -54,7 +54,7 @@ exports.addDestructuredImport = addDestructuredImport;
54
54
  const addSingleImport = async (tree, filePath, variableName, from) => {
55
55
  assertFilePath(tree, filePath);
56
56
  // Check if default import already exists using GritQL
57
- const alreadyImported = await (0, exports.hasGritQLMatch)(tree, filePath, `\`import ${variableName} from '${from}'\``);
57
+ const alreadyImported = await (0, exports.matchGritQL)(tree, filePath, `\`import ${variableName} from '${from}'\``);
58
58
  if (alreadyImported) {
59
59
  return;
60
60
  }
@@ -75,7 +75,7 @@ const addStarExport = async (tree, filePath, from) => {
75
75
  return;
76
76
  }
77
77
  // Check if already exported using GritQL
78
- const alreadyExported = await (0, exports.hasGritQLMatch)(tree, filePath, `\`export * from '${from}'\``);
78
+ const alreadyExported = await (0, exports.matchGritQL)(tree, filePath, `\`export * from '${from}'\``);
79
79
  if (alreadyExported) {
80
80
  return;
81
81
  }
@@ -226,7 +226,7 @@ exports.hasExportDeclaration = hasExportDeclaration;
226
226
  /**
227
227
  * Apply a GritQL pattern to a file in the Nx tree.
228
228
  */
229
- const applyGritQLTransform = async (tree, filePath, pattern) => {
229
+ const applyGritQL = async (tree, filePath, pattern) => {
230
230
  if (!tree.exists(filePath))
231
231
  throw new Error(`No file at ${filePath}`);
232
232
  const source = tree.read(filePath).toString();
@@ -238,12 +238,12 @@ const applyGritQLTransform = async (tree, filePath, pattern) => {
238
238
  }
239
239
  return false;
240
240
  };
241
- exports.applyGritQLTransform = applyGritQLTransform;
241
+ exports.applyGritQL = applyGritQL;
242
242
  /**
243
243
  * Check whether a GritQL pattern matches anywhere in a file.
244
244
  * Returns true if the pattern matches at least once.
245
245
  */
246
- const hasGritQLMatch = async (tree, filePath, pattern) => {
246
+ const matchGritQL = async (tree, filePath, pattern) => {
247
247
  if (!tree.exists(filePath))
248
248
  return false;
249
249
  const source = tree.read(filePath).toString();
@@ -262,5 +262,5 @@ const hasGritQLMatch = async (tree, filePath, pattern) => {
262
262
  return false;
263
263
  }
264
264
  };
265
- exports.hasGritQLMatch = hasGritQLMatch;
265
+ exports.matchGritQL = matchGritQL;
266
266
  //# sourceMappingURL=ast.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/ast.ts"],"names":[],"mappings":";;;;AAKA,uDAAyD;AACzD,iEASoB;AACpB,4CAA+C;AAE/C,MAAM,cAAc,GAAG,CAAC,IAAU,EAAE,QAAgB,EAAE,EAAE;IACtD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CACjB,IAAU,EACV,QAAgB,EAChB,QAAkC,EAClC,EAAE;IACF,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvD,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACxC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACzB,IAAU,EACV,QAAgB,EAChB,QAAmC,EACnC,EAAE;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACjD,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACxC,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,KAAK,EACxC,IAAU,EACV,QAAgB,EAChB,aAAuB,EACvB,IAAY,EACZ,EAAE;IACF,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE/B,uDAAuD;IACvD,MAAM,iBAAiB,GAAG,MAAM,IAAA,sBAAc,EAC5C,IAAI,EACJ,QAAQ,EACR,yBAAyB,IAAI,KAAK,CACnC,CAAC;IAEF,IAAI,iBAAiB,EAAE,CAAC;QACtB,6EAA6E;QAC7E,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC7C,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC/B,CAAC,CAAC,YAAY,CAAC;YACjB,kFAAkF;YAClF,MAAM,IAAA,4BAAoB,EACxB,IAAI,EACJ,QAAQ,EACR,+BAA+B,IAAI,+BAA+B,YAAY,YAAY,IAAI,0CAA0C,SAAS,MAAM,CACxJ,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,yCAAyC;QACzC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC,QAAQ,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,CACR,QAAQ,EACR,YAAY,UAAU,YAAY,IAAI,OAAO,QAAQ,EAAE,CACxD,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AArCW,QAAA,qBAAqB,yBAqChC;AAEF;;;GAGG;AACI,MAAM,eAAe,GAAG,KAAK,EAClC,IAAU,EACV,QAAgB,EAChB,YAAoB,EACpB,IAAY,EACZ,EAAE;IACF,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE/B,sDAAsD;IACtD,MAAM,eAAe,GAAG,MAAM,IAAA,sBAAc,EAC1C,IAAI,EACJ,QAAQ,EACR,YAAY,YAAY,UAAU,IAAI,KAAK,CAC5C,CAAC;IACF,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC,QAAQ,EAAE,CAAC;IACjD,IAAI,CAAC,KAAK,CACR,QAAQ,EACR,UAAU,YAAY,UAAU,IAAI,OAAO,QAAQ,EAAE,CACtD,CAAC;AACJ,CAAC,CAAC;AAxBW,QAAA,eAAe,mBAwB1B;AAEF;;;GAGG;AACI,MAAM,aAAa,GAAG,KAAK,EAChC,IAAU,EACV,QAAgB,EAChB,IAAY,EACZ,EAAE;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAEvD,sDAAsD;IACtD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,kBAAkB,IAAI,MAAM,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,yCAAyC;IACzC,MAAM,eAAe,GAAG,MAAM,IAAA,sBAAc,EAC1C,IAAI,EACJ,QAAQ,EACR,oBAAoB,IAAI,KAAK,CAC9B,CAAC;IACF,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,kBAAkB,IAAI,OAAO,QAAQ,EAAE,CAAC,CAAC;AAChE,CAAC,CAAC;AAzBW,QAAA,aAAa,iBAyBxB;AAEF;;GAEG;AACI,MAAM,OAAO,GAAG,CACrB,IAAU,EACV,QAAgB,EAChB,QAAgB,EAChB,WAAiC,EACjC,gBAAgB,GAAG,IAAI,EACvB,EAAE;IACF,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE9C,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,iBAAO,CAAC,KAAK,CAAC,IAAA,aAAG,EAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;QACxD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,kCAAkC,QAAQ,aAAa,QAAQ,EAAE,CAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAEpE,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACtC,CAAC;AACH,CAAC,CAAC;AAxBW,QAAA,OAAO,WAwBlB;AAEF;;GAEG;AACI,MAAM,eAAe,GAAG,CAC7B,IAAU,EACV,QAAgB,EAChB,QAAgB,EAChB,WAAiC,EACjC,EAAE,CAAC,IAAA,eAAO,EAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AAL9C,QAAA,eAAe,mBAK+B;AAE3D;;;GAGG;AACH,MAAM,cAAc,GAAG,CACrB,IAAY,EACZ,QAAgB,EAChB,WAAiC,EACzB,EAAE;IACV,MAAM,UAAU,GAAG,IAAA,aAAG,EAAC,IAAI,CAAC,CAAC;IAE7B,MAAM,UAAU,GAAsD,EAAE,CAAC;IAEzE,MAAM,OAAO,GAAG,oBAAE,CAAC,aAAa,CAAC;QAC/B,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;IAEH,iBAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;QACzC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,EAAE,CAAC;YAChC,UAAU,CAAC,IAAI,CAAC;gBACd,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;gBACtC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;gBAClB,OAAO,EAAE,OAAO,CAAC,SAAS,CACxB,oBAAE,CAAC,QAAQ,CAAC,WAAW,EACvB,OAAO,EACP,UAAU,CACX;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC/B,OAAO;YACL,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC;gBAC9C,SAAS,CAAC,OAAO;gBACjB,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;QAC5C,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,SAAkB,EAClB,IAAY,EACZ,UAA0B,EAClB,EAAE;IACV,MAAM,UAAU,GAAG,IAAA,aAAG,EAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,oBAAE,CAAC,aAAa,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,UAAU;SACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,oBAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;SACrE,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CACjC,IAAY,EACZ,UAA0B,EAClB,EAAE;IACV,OAAO,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAClC,IAAY,EACZ,UAA0B,EAClB,EAAE;IACV,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AAClD,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAC/B,IAAU,EACV,QAAgB,EAChB,UAA0B,EAC1B,EAAE;IACF,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;QACtC,OAAO,2BAA2B,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AARW,QAAA,iBAAiB,qBAQ5B;AAEK,MAAM,gBAAgB,GAAG,CAC9B,IAAU,EACV,QAAgB,EAChB,UAA0B,EAC1B,EAAE;IACF,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;QACtC,OAAO,0BAA0B,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AARW,QAAA,gBAAgB,oBAQ3B;AAEF;;GAEG;AACI,MAAM,KAAK,GAAG,CACnB,IAAU,EACV,QAAgB,EAChB,QAAgB,EACR,EAAE;IACV,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC9C,OAAO,iBAAO,CAAC,KAAK,CAAC,IAAA,aAAG,EAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC,CAAC;AARW,QAAA,KAAK,SAQhB;AAEK,MAAM,8BAA8B,GAAG,CAC5C,UAAkB,EAClB,QAA6B,EAC7B,EAAE,CACF,oBAAO,CAAC,gBAAgB,CACtB,oBAAO,CAAC,uBAAuB,CAC7B,oBAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACpC,SAAS,EACT,oBAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAChC,EACD,QAAQ,EACR,oBAAO,CAAC,uBAAuB,CAAC,oBAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CACtE,CAAC;AAZS,QAAA,8BAA8B,kCAYvC;AAEG,MAAM,gBAAgB,GAAG,CAC9B,cAAiC,EACjC,QAA6B,EAC7B,cAAiC,EACjC,EAAE,CAAC,oBAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;AAJ3D,QAAA,gBAAgB,oBAI2C;AAExE;;GAEG;AACI,MAAM,SAAS,GAAG,CAAC,GAAY,EAAQ,EAAE;IAC9C,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,oBAAO,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,oBAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,oBAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,oBAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAC,CAAC,CAAC,oBAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,oBAAO,CAAC,WAAW,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,oBAAO,CAAC,4BAA4B,CACzC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,iBAAS,EAAC,IAAI,CAAe,CAAC,CACjD,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,oBAAO,CAAC,6BAA6B,CAC1C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACvC,yCAAyC;YACzC,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,oBAAO,CAAC,wBAAwB,CACrC,iBAAiB;gBACf,CAAC,CAAC,oBAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC;gBAC/B,CAAC,CAAC,oBAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,EACpC,IAAA,iBAAS,EAAC,KAAK,CAAe,CAC/B,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,GAAG,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC;AA3CW,QAAA,SAAS,aA2CpB;AAEF;;GAEG;AACI,MAAM,oBAAoB,GAAG,CAClC,MAAc,EACd,cAAsB,EACb,EAAE;IACX,MAAM,UAAU,GAAG,IAAA,aAAG,EAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,CACL,iBAAO,CAAC,KAAK,CACX,UAAU,EACV,8DAA8D,cAAc,MAAM,CACnF,CAAC,MAAM,GAAG,CAAC;QACZ,iBAAO,CAAC,KAAK,CACX,UAAU,EACV,gEAAgE,cAAc,KAAK,CACpF,CAAC,MAAM,GAAG,CAAC,CACb,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,oBAAoB,wBAe/B;AAEF;;GAEG;AACI,MAAM,oBAAoB,GAAG,KAAK,EACvC,IAAU,EACV,QAAgB,EAChB,OAAe,EACG,EAAE;IACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC,QAAQ,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,qBAAY,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5E,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAdW,QAAA,oBAAoB,wBAc/B;AAEF;;;GAGG;AACI,MAAM,cAAc,GAAG,KAAK,EACjC,IAAU,EACV,QAAgB,EAChB,OAAe,EACG,EAAE;IACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC,QAAQ,EAAE,CAAC;IAC/C,IAAI,CAAC;QACH,yEAAyE;QACzE,uEAAuE;QACvE,qCAAqC;QACrC,MAAM,KAAK,GAAG,IAAI,qBAAY,CAAC,0BAA0B,OAAO,IAAI,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC;YACrC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QACH,OAAO,MAAM,KAAK,IAAI,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AApBW,QAAA,cAAc,kBAoBzB"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/ast.ts"],"names":[],"mappings":"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"}
@@ -40,4 +40,4 @@ export interface AddTypeScriptBundleTargetOptions {
40
40
  /**
41
41
  * Add a TypeScript bundle target using rolldown
42
42
  */
43
- export declare const addTypeScriptBundleTarget: (tree: Tree, project: ProjectConfiguration, opts: AddTypeScriptBundleTargetOptions) => void;
43
+ export declare const addTypeScriptBundleTarget: (tree: Tree, project: ProjectConfiguration, opts: AddTypeScriptBundleTargetOptions) => Promise<void>;
@@ -8,7 +8,6 @@ exports.addTypeScriptBundleTarget = exports.addPythonBundleTarget = void 0;
8
8
  const devkit_1 = require("@nx/devkit");
9
9
  const versions_1 = require("../versions");
10
10
  const ast_1 = require("../ast");
11
- const typescript_1 = require("typescript");
12
11
  const paths_1 = require("../paths");
13
12
  const nx_1 = require("../nx");
14
13
  /**
@@ -59,13 +58,8 @@ exports.addPythonBundleTarget = addPythonBundleTarget;
59
58
  /**
60
59
  * Add a TypeScript bundle target using rolldown
61
60
  */
62
- const addTypeScriptBundleTarget = (tree, project, opts) => {
61
+ const addTypeScriptBundleTarget = async (tree, project, opts) => {
63
62
  project.targets ??= {};
64
- // Check if AWS SDK is external
65
- const awsSdkRegex = /@aws-sdk\/.*/;
66
- const isAwsSdkExternal = opts.external?.some((ext) => ext instanceof RegExp
67
- ? ext.source === awsSdkRegex.source
68
- : ext === awsSdkRegex.source);
69
63
  // Generate empty rolldown config if it doesn't exist
70
64
  (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'ts'), project.root, {}, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
71
65
  // Add the bundle target
@@ -84,72 +78,33 @@ const addTypeScriptBundleTarget = (tree, project, opts) => {
84
78
  // Add bundle to the build target
85
79
  (0, nx_1.addDependencyToTargetIfNotPresent)(project, 'build', 'bundle');
86
80
  const rolldownConfigPath = (0, devkit_1.joinPathFragments)(project.root, 'rolldown.config.ts');
87
- const rolldownConfigArraySelector = 'CallExpression:has(Identifier[name="defineConfig"]) > ArrayLiteralExpression';
88
- // Add disableTreeShake function if AWS SDK is not external and it doesn't exist
89
- // This is due to an issue with rolldown bundling for the SDK, and can likely be removed when resolved
90
- // https://github.com/rolldown/rolldown/issues/6513
91
- if (!isAwsSdkExternal) {
92
- const disableTreeShakeSelector = 'VariableDeclaration:has(Identifier[name="disableTreeShake"])';
93
- if ((0, ast_1.query)(tree, rolldownConfigPath, disableTreeShakeSelector).length === 0) {
94
- const content = tree.read(rolldownConfigPath, 'utf-8');
95
- const disableTreeShakeFunction = `// Disables tree-shaking for the given module patterns
96
- const disableTreeShake = (patterns: RegExp[]) => ({
97
- name: 'disable-treeshake',
98
- transform: (code, id) => {
99
- if (patterns.some(p => p.test(id))) {
100
- return { code, map: null, moduleSideEffects: 'no-treeshake' };
101
- }
102
- return null;
103
- },
104
- });
105
-
106
- `;
107
- const defineConfigIndex = content.indexOf('export default defineConfig');
108
- if (defineConfigIndex !== -1) {
109
- const newContent = content.slice(0, defineConfigIndex) +
110
- disableTreeShakeFunction +
111
- content.slice(defineConfigIndex);
112
- tree.write(rolldownConfigPath, newContent);
113
- }
81
+ const outputFile = (0, devkit_1.joinPathFragments)((0, paths_1.getRelativePathToRoot)(tree, project.name), 'dist', project.root, 'bundle', opts.bundleOutputDir ?? '.', 'index.js');
82
+ const external = opts.external?.length
83
+ ? opts.external
84
+ .map((ext) => typeof ext === 'string' ? `'${ext}'` : `/${ext.source}/`)
85
+ .join(', ')
86
+ : '';
87
+ const entry = `{
88
+ tsconfig: 'tsconfig.lib.json',
89
+ input: '${opts.targetFilePath}',
90
+ output: { file: '${outputFile}', format: 'cjs', inlineDynamicImports: true },
91
+ platform: '${opts.platform ?? 'node'}',
92
+ ${external ? `external: [${external}],` : ''}
93
+ }`;
94
+ // Use GritQL to append the config entry to the defineConfig array.
95
+ // First try the non-empty array case using the accumulate (+=) operator,
96
+ // with an idempotency guard that checks the input path is not already present.
97
+ const appended = await (0, ast_1.applyGritQL)(tree, rolldownConfigPath, `\`defineConfig([$items])\` where { $items <: not contains \`'${opts.targetFilePath}'\`, $items += ", ${entry}" }`);
98
+ if (!appended) {
99
+ // Empty array — GritQL's += cannot accumulate into an empty list, so we
100
+ // first insert a placeholder to make the array non-empty, then replace
101
+ // the placeholder with the real entry via += (which handles regex
102
+ // literals that are invalid inside GritQL backtick snippets).
103
+ const inserted = await (0, ast_1.applyGritQL)(tree, rolldownConfigPath, `\`defineConfig([])\` => \`defineConfig([__PLACEHOLDER__])\``);
104
+ if (inserted) {
105
+ await (0, ast_1.applyGritQL)(tree, rolldownConfigPath, `\`defineConfig([$items])\` where { $items <: \`__PLACEHOLDER__\` => ., $items += "${entry}" }`);
114
106
  }
115
107
  }
116
- // Check whether we already have a config entry with input set to targetFilePath
117
- if ((0, ast_1.query)(tree, rolldownConfigPath, `${rolldownConfigArraySelector} PropertyAssignment:has(Identifier[name="input"]):has(StringLiteral[value="${opts.targetFilePath}"])`).length === 0) {
118
- // We don't have one, so append it
119
- (0, ast_1.replace)(tree, rolldownConfigPath, rolldownConfigArraySelector, (node) => {
120
- return typescript_1.factory.createArrayLiteralExpression([
121
- ...node.elements,
122
- typescript_1.factory.createObjectLiteralExpression([
123
- typescript_1.factory.createPropertyAssignment(typescript_1.factory.createIdentifier('tsconfig'), typescript_1.factory.createStringLiteral('tsconfig.lib.json', true)),
124
- typescript_1.factory.createPropertyAssignment(typescript_1.factory.createIdentifier('input'), typescript_1.factory.createStringLiteral(opts.targetFilePath, true)),
125
- typescript_1.factory.createPropertyAssignment(typescript_1.factory.createIdentifier('output'), typescript_1.factory.createObjectLiteralExpression([
126
- typescript_1.factory.createPropertyAssignment(typescript_1.factory.createIdentifier('file'), typescript_1.factory.createStringLiteral((0, devkit_1.joinPathFragments)((0, paths_1.getRelativePathToRoot)(tree, project.name), 'dist', project.root, 'bundle', opts.bundleOutputDir ?? '.', 'index.js'), true)),
127
- typescript_1.factory.createPropertyAssignment(typescript_1.factory.createIdentifier('format'), typescript_1.factory.createStringLiteral('cjs', true)),
128
- typescript_1.factory.createPropertyAssignment(typescript_1.factory.createIdentifier('inlineDynamicImports'), typescript_1.factory.createTrue()),
129
- ], true)),
130
- typescript_1.factory.createPropertyAssignment(typescript_1.factory.createIdentifier('platform'), typescript_1.factory.createStringLiteral(opts.platform ?? 'node', true)),
131
- ...(opts.external
132
- ? [
133
- typescript_1.factory.createPropertyAssignment(typescript_1.factory.createIdentifier('external'), typescript_1.factory.createArrayLiteralExpression(opts.external.map((ext) => typeof ext === 'string'
134
- ? typescript_1.factory.createStringLiteral(ext, true)
135
- : typescript_1.factory.createRegularExpressionLiteral(`/${ext.source}/`)))),
136
- ]
137
- : []),
138
- ...(!isAwsSdkExternal
139
- ? [
140
- typescript_1.factory.createPropertyAssignment(typescript_1.factory.createIdentifier('plugins'), typescript_1.factory.createArrayLiteralExpression([
141
- typescript_1.factory.createCallExpression(typescript_1.factory.createIdentifier('disableTreeShake'), undefined, [
142
- typescript_1.factory.createArrayLiteralExpression([
143
- typescript_1.factory.createRegularExpressionLiteral(`/${awsSdkRegex.source}/`),
144
- ]),
145
- ]),
146
- ])),
147
- ]
148
- : []),
149
- ], true),
150
- ]);
151
- });
152
- }
153
108
  (0, devkit_1.addDependenciesToPackageJson)(tree, {}, (0, versions_1.withVersions)(['rolldown']));
154
109
  };
155
110
  exports.addTypeScriptBundleTarget = addTypeScriptBundleTarget;