@aws/nx-plugin 0.90.0 → 0.91.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/generators.json +8 -0
- package/package.json +1 -1
- package/src/connection/generator.d.ts +2 -2
- package/src/connection/generator.js +19 -16
- package/src/connection/generator.js.map +1 -1
- package/src/mcp-server/generator-info.d.ts +8 -4
- package/src/mcp-server/generator-info.js +63 -15
- package/src/mcp-server/generator-info.js.map +1 -1
- package/src/preset/__snapshots__/generator.spec.ts.snap +1 -3
- package/src/ts/nx-generator/generator.d.ts +1 -1
- package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +3 -1
- package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +1 -1
- package/src/ts/strands-agent/react-connection/__snapshots__/generator.spec.ts.snap +376 -0
- package/src/ts/strands-agent/react-connection/files/src/components/__agentNameClassName__AgentClientProvider.tsx.template +117 -0
- package/src/ts/strands-agent/react-connection/files/src/hooks/use__agentNameClassName__Agent.tsx.template +18 -0
- package/src/ts/strands-agent/react-connection/generator.d.ts +10 -0
- package/src/ts/strands-agent/react-connection/generator.js +129 -0
- package/src/ts/strands-agent/react-connection/generator.js.map +1 -0
- package/src/ts/strands-agent/react-connection/schema.d.ts +15 -0
- package/src/ts/strands-agent/react-connection/schema.json +26 -0
- package/src/ts/strands-agent/react-connection/serve-local.d.ts +17 -0
- package/src/ts/strands-agent/react-connection/serve-local.js +45 -0
- package/src/ts/strands-agent/react-connection/serve-local.js.map +1 -0
- package/src/utils/ast.d.ts +3 -23
- package/src/utils/ast.js +21 -152
- package/src/utils/ast.js.map +1 -1
- package/src/utils/commands.d.ts +33 -0
- package/src/utils/commands.js +55 -0
- package/src/utils/commands.js.map +1 -0
- package/src/utils/config/__snapshots__/utils.spec.ts.snap +88 -0
- package/src/utils/config/utils.d.ts +2 -1
- package/src/utils/config/utils.js +47 -29
- package/src/utils/config/utils.js.map +1 -1
- package/src/utils/generators.d.ts +13 -0
- package/src/utils/generators.js +26 -0
- package/src/utils/generators.js.map +1 -0
- package/src/utils/nx.d.ts +4 -10
- package/src/utils/nx.js +5 -19
- package/src/utils/nx.js.map +1 -1
- package/src/utils/pkg-manager.d.ts +2 -22
- package/src/utils/pkg-manager.js +2 -7
- package/src/utils/pkg-manager.js.map +1 -1
package/generators.json
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"connection/react-fastapi",
|
|
14
14
|
"connection/react-trpc",
|
|
15
15
|
"connection/react-smithy",
|
|
16
|
+
"connection/react-ts-strands-agent",
|
|
16
17
|
"connection/ts-strands-agent-mcp"
|
|
17
18
|
]
|
|
18
19
|
},
|
|
@@ -190,6 +191,13 @@
|
|
|
190
191
|
"description": "Add a Strands Agent to a TypeScript project",
|
|
191
192
|
"metric": "g30"
|
|
192
193
|
},
|
|
194
|
+
"ts#strands-agent#react-connection": {
|
|
195
|
+
"factory": "./src/ts/strands-agent/react-connection/generator",
|
|
196
|
+
"schema": "./src/ts/strands-agent/react-connection/schema.json",
|
|
197
|
+
"description": "Connect a React website to a TypeScript Strands Agent",
|
|
198
|
+
"metric": "g33",
|
|
199
|
+
"hidden": true
|
|
200
|
+
},
|
|
193
201
|
"ts#strands-agent#mcp-connection": {
|
|
194
202
|
"factory": "./src/ts/strands-agent/mcp-connection/generator",
|
|
195
203
|
"schema": "./src/ts/strands-agent/mcp-connection/schema.json",
|
package/package.json
CHANGED
|
@@ -54,9 +54,9 @@ export declare const findComponentInMetadata: (projectConfiguration: ProjectConf
|
|
|
54
54
|
/**
|
|
55
55
|
* Resolve the connection to use, considering source/target projects and components.
|
|
56
56
|
*/
|
|
57
|
-
export declare const resolveConnection: (tree: Tree, options: ConnectionGeneratorSchema, supportedConnections?: readonly Connection[]) => ResolvedConnection
|
|
57
|
+
export declare const resolveConnection: (tree: Tree, options: ConnectionGeneratorSchema, supportedConnections?: readonly Connection[]) => Promise<ResolvedConnection>;
|
|
58
58
|
/**
|
|
59
59
|
* Determine whether the given project is of a known project type
|
|
60
60
|
*/
|
|
61
|
-
export declare const determineProjectType: (tree: Tree, projectName: string) => ProjectType | undefined
|
|
61
|
+
export declare const determineProjectType: (tree: Tree, projectName: string) => Promise<ProjectType | undefined>;
|
|
62
62
|
export default connectionGenerator;
|
|
@@ -16,7 +16,8 @@ const generator_3 = require("../smithy/project/generator");
|
|
|
16
16
|
const generator_4 = require("../smithy/ts/api/generator");
|
|
17
17
|
const generator_5 = tslib_1.__importDefault(require("../smithy/react-connection/generator"));
|
|
18
18
|
const generator_6 = tslib_1.__importDefault(require("../ts/strands-agent/mcp-connection/generator"));
|
|
19
|
-
const generator_7 = tslib_1.__importDefault(require("../
|
|
19
|
+
const generator_7 = tslib_1.__importDefault(require("../ts/strands-agent/react-connection/generator"));
|
|
20
|
+
const generator_8 = tslib_1.__importDefault(require("../py/strands-agent/mcp-connection/generator"));
|
|
20
21
|
/**
|
|
21
22
|
* List of supported source and target project types for connections.
|
|
22
23
|
* These can be project-level types (determined by introspection) or
|
|
@@ -41,6 +42,7 @@ const SUPPORTED_CONNECTIONS = [
|
|
|
41
42
|
{ source: 'react', target: 'ts#trpc-api' },
|
|
42
43
|
{ source: 'react', target: 'py#fast-api' },
|
|
43
44
|
{ source: 'react', target: 'smithy' },
|
|
45
|
+
{ source: 'react', target: 'ts#strands-agent' },
|
|
44
46
|
{ source: 'ts#strands-agent', target: 'ts#mcp-server' },
|
|
45
47
|
{ source: 'ts#strands-agent', target: 'py#mcp-server' },
|
|
46
48
|
{ source: 'py#strands-agent', target: 'ts#mcp-server' },
|
|
@@ -59,16 +61,17 @@ const CONNECTION_GENERATORS = {
|
|
|
59
61
|
frontendProjectName: options.sourceProject,
|
|
60
62
|
smithyModelOrBackendProjectName: options.targetProject,
|
|
61
63
|
}),
|
|
64
|
+
'react -> ts#strands-agent': (tree, options) => (0, generator_7.default)(tree, options),
|
|
62
65
|
'ts#strands-agent -> ts#mcp-server': (tree, options) => (0, generator_6.default)(tree, options),
|
|
63
66
|
'ts#strands-agent -> py#mcp-server': (tree, options) => (0, generator_6.default)(tree, options),
|
|
64
|
-
'py#strands-agent -> ts#mcp-server': (tree, options) => (0,
|
|
65
|
-
'py#strands-agent -> py#mcp-server': (tree, options) => (0,
|
|
67
|
+
'py#strands-agent -> ts#mcp-server': (tree, options) => (0, generator_8.default)(tree, options),
|
|
68
|
+
'py#strands-agent -> py#mcp-server': (tree, options) => (0, generator_8.default)(tree, options),
|
|
66
69
|
};
|
|
67
70
|
/**
|
|
68
71
|
* Generator for a connection between two projects
|
|
69
72
|
*/
|
|
70
73
|
const connectionGenerator = async (tree, options) => {
|
|
71
|
-
const resolved = (0, exports.resolveConnection)(tree, options);
|
|
74
|
+
const resolved = await (0, exports.resolveConnection)(tree, options);
|
|
72
75
|
const connectionKey = `${resolved.connection.source} -> ${resolved.connection.target}`;
|
|
73
76
|
return await CONNECTION_GENERATORS[connectionKey](tree, {
|
|
74
77
|
sourceProject: options.sourceProject,
|
|
@@ -94,8 +97,8 @@ exports.findComponentInMetadata = findComponentInMetadata;
|
|
|
94
97
|
* - The project-level type (if it's a supported type)
|
|
95
98
|
* - Each component's generator id as a candidate type
|
|
96
99
|
*/
|
|
97
|
-
const gatherCandidates = (tree, projectConfig) => {
|
|
98
|
-
const projectType = determineProjectTypeFromConfig(tree, projectConfig);
|
|
100
|
+
const gatherCandidates = async (tree, projectConfig) => {
|
|
101
|
+
const projectType = await determineProjectTypeFromConfig(tree, projectConfig);
|
|
99
102
|
const components = projectConfig.metadata?.components ?? [];
|
|
100
103
|
return [
|
|
101
104
|
...(projectType ? [{ type: projectType }] : []),
|
|
@@ -140,15 +143,15 @@ const filterConnectionCandidatesForComponentReference = (componentRef, projectCo
|
|
|
140
143
|
/**
|
|
141
144
|
* Resolve the connection to use, considering source/target projects and components.
|
|
142
145
|
*/
|
|
143
|
-
const resolveConnection = (tree, options, supportedConnections = SUPPORTED_CONNECTIONS) => {
|
|
146
|
+
const resolveConnection = async (tree, options, supportedConnections = SUPPORTED_CONNECTIONS) => {
|
|
144
147
|
const sourceConfig = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.sourceProject);
|
|
145
148
|
const targetConfig = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.targetProject);
|
|
146
149
|
// Validate explicitly specified components exist
|
|
147
150
|
validateComponent(options.sourceComponent, sourceConfig, 'source');
|
|
148
151
|
validateComponent(options.targetComponent, targetConfig, 'target');
|
|
149
152
|
// Gather and narrow candidates
|
|
150
|
-
const sourceCandidates = filterConnectionCandidatesForComponentReference(options.sourceComponent, sourceConfig, gatherCandidates(tree, sourceConfig), supportedConnections, 'source');
|
|
151
|
-
const targetCandidates = filterConnectionCandidatesForComponentReference(options.targetComponent, targetConfig, gatherCandidates(tree, targetConfig), supportedConnections, 'target');
|
|
153
|
+
const sourceCandidates = filterConnectionCandidatesForComponentReference(options.sourceComponent, sourceConfig, await gatherCandidates(tree, sourceConfig), supportedConnections, 'source');
|
|
154
|
+
const targetCandidates = filterConnectionCandidatesForComponentReference(options.targetComponent, targetConfig, await gatherCandidates(tree, targetConfig), supportedConnections, 'target');
|
|
152
155
|
// Cross-product candidates and find supported connections
|
|
153
156
|
const matches = [];
|
|
154
157
|
for (const source of sourceCandidates) {
|
|
@@ -196,18 +199,18 @@ exports.resolveConnection = resolveConnection;
|
|
|
196
199
|
/**
|
|
197
200
|
* Determine whether the given project is of a known project type
|
|
198
201
|
*/
|
|
199
|
-
const determineProjectType = (tree, projectName) => {
|
|
202
|
+
const determineProjectType = async (tree, projectName) => {
|
|
200
203
|
const projectConfiguration = (0, nx_1.readProjectConfigurationUnqualified)(tree, projectName);
|
|
201
|
-
return determineProjectTypeFromConfig(tree, projectConfiguration);
|
|
204
|
+
return await determineProjectTypeFromConfig(tree, projectConfiguration);
|
|
202
205
|
};
|
|
203
206
|
exports.determineProjectType = determineProjectType;
|
|
204
207
|
/**
|
|
205
208
|
* Determine whether the given project configuration is of a known project type
|
|
206
209
|
*/
|
|
207
|
-
const determineProjectTypeFromConfig = (tree, projectConfiguration) => {
|
|
210
|
+
const determineProjectTypeFromConfig = async (tree, projectConfiguration) => {
|
|
208
211
|
// NB: if adding new checks, ensure these go from most to least specific
|
|
209
212
|
// eg. react website is more specific than typescript project
|
|
210
|
-
if (isTrpcApi(tree, projectConfiguration)) {
|
|
213
|
+
if (await isTrpcApi(tree, projectConfiguration)) {
|
|
211
214
|
return 'ts#trpc-api';
|
|
212
215
|
}
|
|
213
216
|
if (isFastApi(tree, projectConfiguration)) {
|
|
@@ -223,7 +226,7 @@ const determineProjectTypeFromConfig = (tree, projectConfiguration) => {
|
|
|
223
226
|
};
|
|
224
227
|
const sourceRoot = (projectConfiguration) => projectConfiguration.sourceRoot ??
|
|
225
228
|
(0, devkit_1.joinPathFragments)(projectConfiguration.root, 'src');
|
|
226
|
-
const isTrpcApi = (tree, projectConfiguration) => {
|
|
229
|
+
const isTrpcApi = async (tree, projectConfiguration) => {
|
|
227
230
|
// If the project.json says it's a trpc api, there's no need for introspection
|
|
228
231
|
if (projectConfiguration.metadata?.apiType === 'trpc') {
|
|
229
232
|
return true;
|
|
@@ -234,7 +237,7 @@ const isTrpcApi = (tree, projectConfiguration) => {
|
|
|
234
237
|
return false;
|
|
235
238
|
}
|
|
236
239
|
// If the index file exports an AppRouter, it's a trpc api
|
|
237
|
-
if ((0, ast_1.hasExportDeclaration)(indexTs, 'AppRouter')) {
|
|
240
|
+
if (await (0, ast_1.hasExportDeclaration)(indexTs, 'AppRouter')) {
|
|
238
241
|
return true;
|
|
239
242
|
}
|
|
240
243
|
// If there's a src/router.ts or src/lambdas/router.ts which exports an AppRouter, it's a trpc api
|
|
@@ -243,7 +246,7 @@ const isTrpcApi = (tree, projectConfiguration) => {
|
|
|
243
246
|
if (trpcRouter === null) {
|
|
244
247
|
return false;
|
|
245
248
|
}
|
|
246
|
-
if ((0, ast_1.hasExportDeclaration)(trpcRouter, 'AppRouter')) {
|
|
249
|
+
if (await (0, ast_1.hasExportDeclaration)(trpcRouter, 'AppRouter')) {
|
|
247
250
|
return true;
|
|
248
251
|
}
|
|
249
252
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/connection/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAA2E;AAE3E,gFAAyD;AACzD,sCAAoD;AACpD,wCAAyC;AACzC,uFAAmE;AACnE,oCAGqB;AACrB,2DAA4E;AAC5E,0DAA0E;AAC1E,6FAAkF;AAClF,qGAAgG;AAChG,qGAAgG;AAEhG;;;;GAIG;AACH,MAAM,uBAAuB,GAAG;IAC9B,aAAa;IACb,aAAa;IACb,OAAO;IACP,QAAQ;CACA,CAAC;AAMX;;;GAGG;AACU,QAAA,0BAA0B,GAAG,GAAG,CAAC;AAY9C;;;GAGG;AACH,MAAM,qBAAqB,GAAG;IAC5B,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE;IAC1C,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE;IAC1C,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;IACrC,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,EAAE;IACvD,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,EAAE;IACvD,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,EAAE;IACvD,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,EAAE;CACf,CAAC;AAqB3C,MAAM,qBAAqB,GAAG;IAC5B,sBAAsB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACxC,IAAA,mBAAkB,EAAC,IAAI,EAAE;QACvB,mBAAmB,EAAE,OAAO,CAAC,aAAa;QAC1C,kBAAkB,EAAE,OAAO,CAAC,aAAa;KAC1C,CAAC;IACJ,sBAAsB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACxC,IAAA,mBAAqB,EAAC,IAAI,EAAE;QAC1B,mBAAmB,EAAE,OAAO,CAAC,aAAa;QAC1C,kBAAkB,EAAE,OAAO,CAAC,aAAa;KAC1C,CAAC;IACJ,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACnC,IAAA,mBAA8B,EAAC,IAAI,EAAE;QACnC,mBAAmB,EAAE,OAAO,CAAC,aAAa;QAC1C,+BAA+B,EAAE,OAAO,CAAC,aAAa;KACvD,CAAC;IACJ,mCAAmC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACrD,IAAA,mBAAoC,EAAC,IAAI,EAAE,OAAO,CAAC;IACrD,mCAAmC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACrD,IAAA,mBAAoC,EAAC,IAAI,EAAE,OAAO,CAAC;IACrD,mCAAmC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACrD,IAAA,mBAAoC,EAAC,IAAI,EAAE,OAAO,CAAC;IACrD,mCAAmC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACrD,IAAA,mBAAoC,EAAC,IAAI,EAAE,OAAO,CAAC;CAItD,CAAC;AAEF;;GAEG;AACI,MAAM,mBAAmB,GAAG,KAAK,EACtC,IAAU,EACV,OAAkC,EAClC,EAAE;IACF,MAAM,QAAQ,GAAG,IAAA,yBAAiB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/connection/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAA2E;AAE3E,gFAAyD;AACzD,sCAAoD;AACpD,wCAAyC;AACzC,uFAAmE;AACnE,oCAGqB;AACrB,2DAA4E;AAC5E,0DAA0E;AAC1E,6FAAkF;AAClF,qGAAgG;AAChG,uGAAoG;AACpG,qGAAgG;AAEhG;;;;GAIG;AACH,MAAM,uBAAuB,GAAG;IAC9B,aAAa;IACb,aAAa;IACb,OAAO;IACP,QAAQ;CACA,CAAC;AAMX;;;GAGG;AACU,QAAA,0BAA0B,GAAG,GAAG,CAAC;AAY9C;;;GAGG;AACH,MAAM,qBAAqB,GAAG;IAC5B,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE;IAC1C,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE;IAC1C,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;IACrC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE;IAC/C,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,EAAE;IACvD,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,EAAE;IACvD,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,EAAE;IACvD,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,EAAE;CACf,CAAC;AAqB3C,MAAM,qBAAqB,GAAG;IAC5B,sBAAsB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACxC,IAAA,mBAAkB,EAAC,IAAI,EAAE;QACvB,mBAAmB,EAAE,OAAO,CAAC,aAAa;QAC1C,kBAAkB,EAAE,OAAO,CAAC,aAAa;KAC1C,CAAC;IACJ,sBAAsB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACxC,IAAA,mBAAqB,EAAC,IAAI,EAAE;QAC1B,mBAAmB,EAAE,OAAO,CAAC,aAAa;QAC1C,kBAAkB,EAAE,OAAO,CAAC,aAAa;KAC1C,CAAC;IACJ,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACnC,IAAA,mBAA8B,EAAC,IAAI,EAAE;QACnC,mBAAmB,EAAE,OAAO,CAAC,aAAa;QAC1C,+BAA+B,EAAE,OAAO,CAAC,aAAa;KACvD,CAAC;IACJ,2BAA2B,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAC7C,IAAA,mBAAsC,EAAC,IAAI,EAAE,OAAO,CAAC;IACvD,mCAAmC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACrD,IAAA,mBAAoC,EAAC,IAAI,EAAE,OAAO,CAAC;IACrD,mCAAmC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACrD,IAAA,mBAAoC,EAAC,IAAI,EAAE,OAAO,CAAC;IACrD,mCAAmC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACrD,IAAA,mBAAoC,EAAC,IAAI,EAAE,OAAO,CAAC;IACrD,mCAAmC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACrD,IAAA,mBAAoC,EAAC,IAAI,EAAE,OAAO,CAAC;CAItD,CAAC;AAEF;;GAEG;AACI,MAAM,mBAAmB,GAAG,KAAK,EACtC,IAAU,EACV,OAAkC,EAClC,EAAE;IACF,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAiB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAExD,MAAM,aAAa,GACjB,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,OAAO,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAmB,CAAC;IAEpF,OAAO,MAAM,qBAAqB,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE;QACtD,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,eAAe,EAAE,QAAQ,CAAC,eAAe;KAC1C,CAAC,CAAC;AACL,CAAC,CAAC;AAfW,QAAA,mBAAmB,uBAe9B;AAEF;;;GAGG;AACI,MAAM,uBAAuB,GAAG,CACrC,oBAA0C,EAC1C,YAAoB,EACW,EAAE;IACjC,MAAM,UAAU,GACb,oBAAoB,CAAC,QAAgB,EAAE,UAAU,IAAI,EAAE,CAAC;IAE3D,OAAO,CACL,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC;QAC/C,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC;QAC/C,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,YAAY,CAAC,CACrD,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,uBAAuB,2BAYlC;AAoBF;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,KAAK,EAC5B,IAAU,EACV,aAAmC,EACH,EAAE;IAClC,MAAM,WAAW,GAAG,MAAM,8BAA8B,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC9E,MAAM,UAAU,GACb,aAAa,CAAC,QAAgB,EAAE,UAAU,IAAI,EAAE,CAAC;IAEpD,OAAO;QACL,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,EAAE,SAAS,CAAC,SAAS;YACzB,SAAS;SACV,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,iBAAiB,GAAG,CACxB,YAAgC,EAChC,aAAmC,EACnC,IAAyB,EACzB,EAAE;IACF,IAAI,CAAC,YAAY,IAAI,YAAY,KAAK,kCAA0B;QAAE,OAAO;IACzE,MAAM,KAAK,GAAG,IAAA,+BAAuB,EAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,UAAU,GACb,aAAa,CAAC,QAAgB,EAAE,UAAU,IAAI,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,cAAc,YAAY,kBAAkB,IAAI,YAAY,aAAa,CAAC,IAAI,IAAI;YAChF,yBAAyB,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CACtH,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,+CAA+C,GAAG,CACtD,YAAgC,EAChC,aAAmC,EACnC,UAAiC,EACjC,oBAA2C,EAC3C,IAAyB,EACF,EAAE;IACzB,IAAI,CAAC,YAAY;QAAE,OAAO,UAAU,CAAC;IACrC,IAAI,YAAY,KAAK,kCAA0B,EAAE,CAAC;QAChD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,SAAS,GAAG,IAAA,+BAAuB,EAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACvE,IAAI,CAAC,SAAS;QAAE,OAAO,UAAU,CAAC;IAClC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,IAAI,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,SAAS,CACvC,CAAC;IACF,IAAI,CAAC,uBAAuB;QAAE,OAAO,UAAU,CAAC;IAChD,uFAAuF;IACvF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF;;GAEG;AACI,MAAM,iBAAiB,GAAG,KAAK,EACpC,IAAU,EACV,OAAkC,EAClC,uBAA8C,qBAAqB,EACtC,EAAE;IAC/B,MAAM,YAAY,GAAG,IAAA,wCAAmC,EACtD,IAAI,EACJ,OAAO,CAAC,aAAa,CACtB,CAAC;IACF,MAAM,YAAY,GAAG,IAAA,wCAAmC,EACtD,IAAI,EACJ,OAAO,CAAC,aAAa,CACtB,CAAC;IAEF,iDAAiD;IACjD,iBAAiB,CAAC,OAAO,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IACnE,iBAAiB,CAAC,OAAO,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEnE,+BAA+B;IAC/B,MAAM,gBAAgB,GAAG,+CAA+C,CACtE,OAAO,CAAC,eAAe,EACvB,YAAY,EACZ,MAAM,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,EAC1C,oBAAoB,EACpB,QAAQ,CACT,CAAC;IACF,MAAM,gBAAgB,GAAG,+CAA+C,CACtE,OAAO,CAAC,eAAe,EACvB,YAAY,EACZ,MAAM,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,EAC1C,oBAAoB,EACpB,QAAQ,CACT,CAAC;IAEF,0DAA0D;IAC1D,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;QACtC,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAC5D,CAAC;YACF,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC;oBACX,UAAU,EAAE,KAAK;oBACjB,eAAe,EAAE,MAAM,CAAC,SAAS;oBACjC,eAAe,EAAE,MAAM,CAAC,SAAS;iBAClC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,qDAAqD,OAAO,CAAC,aAAa,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,OAAO,CAAC,aAAa,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvO,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,sBAAsB,GAAG,OAAO;aACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,UAAU,GAAG,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC;YAC3C,MAAM,UAAU,GAAG,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC;YAC3C,MAAM,WAAW,GAAG,UAAU;gBAC5B,CAAC,CAAC,GAAG,UAAU,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG;gBAC1C,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;YACxB,MAAM,WAAW,GAAG,UAAU;gBAC5B,CAAC,CAAC,GAAG,UAAU,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG;gBAC1C,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;YACxB,OAAO,GAAG,WAAW,OAAO,WAAW,EAAE,CAAC;QAC5C,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CACb,6BAA6B,OAAO,CAAC,aAAa,OAAO,OAAO,CAAC,aAAa,IAAI;YAChF,yCAAyC,sBAAsB,IAAI;YACnE,wEAAwE,CAC3E,CAAC;IACJ,CAAC;IAED,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU;QACjC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe;QAC3C,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe;KAC5C,CAAC;AACJ,CAAC,CAAC;AArFW,QAAA,iBAAiB,qBAqF5B;AAEF;;GAEG;AACI,MAAM,oBAAoB,GAAG,KAAK,EACvC,IAAU,EACV,WAAmB,EACe,EAAE;IACpC,MAAM,oBAAoB,GAAG,IAAA,wCAAmC,EAC9D,IAAI,EACJ,WAAW,CACZ,CAAC;IACF,OAAO,MAAM,8BAA8B,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;AAC1E,CAAC,CAAC;AATW,QAAA,oBAAoB,wBAS/B;AAEF;;GAEG;AACH,MAAM,8BAA8B,GAAG,KAAK,EAC1C,IAAU,EACV,oBAA0C,EACR,EAAE;IACpC,wEAAwE;IACxE,6DAA6D;IAE7D,IAAI,MAAM,SAAS,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAE,CAAC;QAChD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAE,CAAC;QAC1C,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,oBAA0C,EAAE,EAAE,CAChE,oBAAoB,CAAC,UAAU;IAC/B,IAAA,0BAAiB,EAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAEtD,MAAM,SAAS,GAAG,KAAK,EACrB,IAAU,EACV,oBAA0C,EACxB,EAAE;IACpB,8EAA8E;IAC9E,IAAK,oBAAoB,CAAC,QAAgB,EAAE,OAAO,KAAK,MAAM,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wBAAwB;IACxB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,IAAA,0BAAiB,EAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,UAAU,CAAC,EAC/D,OAAO,CACR,CAAC;IACF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0DAA0D;IAC1D,IAAI,MAAM,IAAA,0BAAoB,EAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kGAAkG;IAClG,MAAM,UAAU,GACd,IAAI,CAAC,IAAI,CACP,IAAA,0BAAiB,EAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,WAAW,CAAC,EAChE,OAAO,CACR;QACD,IAAI,CAAC,IAAI,CACP,IAAA,0BAAiB,EACf,UAAU,CAAC,oBAAoB,CAAC,EAChC,SAAS,EACT,WAAW,CACZ,EACD,OAAO,CACR,CAAC;IAEJ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,IAAA,0BAAoB,EAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CACd,IAAU,EACV,oBAA0C,EACjC,EAAE;IACX,0CAA0C;IAC1C,OAAO,IAAI,CAAC,MAAM,CAChB,IAAA,0BAAiB,EAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,UAAU,CAAC,CAChE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAChB,IAAU,EACV,oBAA0C,EACjC,EAAE;IACX,8EAA8E;IAC9E,IAAK,oBAAoB,CAAC,QAAgB,EAAE,OAAO,KAAK,UAAU,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,IAAA,0BAAiB,EACrC,oBAAoB,CAAC,IAAI,EACzB,gBAAgB,CACjB,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAA,eAAQ,EAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAChD,IAAI,CAAE,SAAiB,EAAE,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,KAAW,EACX,oBAA0C,EACjC,EAAE;IACX,+DAA+D;IAC/D,OAAO;QACL,yCAA6B,CAAC,EAAE;QAChC,wCAA4B,CAAC,EAAE;KAChC,CAAC,QAAQ,CAAC,CAAE,oBAAoB,CAAC,QAAgB,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;AACvE,CAAC,CAAC;AAEF,kBAAe,2BAAmB,CAAC"}
|
|
@@ -12,16 +12,20 @@ export declare const renderGeneratorInfo: (packageManager: string, info: NxGener
|
|
|
12
12
|
* If the generator has guidePages in generators.json we fetch all of those, otherwise we
|
|
13
13
|
* try to fetch a guide with the generator name kebab-cased.
|
|
14
14
|
*/
|
|
15
|
-
export declare const fetchGuidePagesForGenerator: (info: NxGeneratorInfo, generators: NxGeneratorInfo[], packageManager?: string) => Promise<string>;
|
|
15
|
+
export declare const fetchGuidePagesForGenerator: (info: NxGeneratorInfo, generators: NxGeneratorInfo[], packageManager?: string, snippetContentProvider?: SnippetContentProvider) => Promise<string>;
|
|
16
16
|
/**
|
|
17
17
|
* Fetch markdown guide pages from github
|
|
18
18
|
*/
|
|
19
|
-
export declare const fetchGuidePages: (guidePages: string[], generators: NxGeneratorInfo[], packageManager?: string) => Promise<string>;
|
|
19
|
+
export declare const fetchGuidePages: (guidePages: string[], generators: NxGeneratorInfo[], packageManager?: string, snippetContentProvider?: SnippetContentProvider) => Promise<string>;
|
|
20
|
+
/**
|
|
21
|
+
* A function which retrieves snippet content given a snippet name.
|
|
22
|
+
*/
|
|
23
|
+
export type SnippetContentProvider = (snippetName: string) => Promise<string> | string;
|
|
20
24
|
/**
|
|
21
25
|
* Fetch a snippet's content from github
|
|
22
26
|
*/
|
|
23
|
-
export declare const fetchSnippet:
|
|
27
|
+
export declare const fetchSnippet: SnippetContentProvider;
|
|
24
28
|
/**
|
|
25
29
|
* Post-process a guide page to "inline" relevant components
|
|
26
30
|
*/
|
|
27
|
-
export declare const postProcessGuide: (guide: string, generators: NxGeneratorInfo[], packageManager?: string) => Promise<string>;
|
|
31
|
+
export declare const postProcessGuide: (guide: string, generators: NxGeneratorInfo[], packageManager?: string, snippetContentProvider?: SnippetContentProvider) => Promise<string>;
|
|
@@ -7,16 +7,12 @@ const tslib_1 = require("tslib");
|
|
|
7
7
|
* SPDX-License-Identifier: Apache-2.0
|
|
8
8
|
*/
|
|
9
9
|
const names_1 = require("../utils/names");
|
|
10
|
+
const commands_1 = require("../utils/commands");
|
|
10
11
|
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
11
12
|
/**
|
|
12
13
|
* Build a command to run nx
|
|
13
14
|
*/
|
|
14
|
-
const buildNxCommand = (command, pm) =>
|
|
15
|
-
? `${{
|
|
16
|
-
npm: 'npx',
|
|
17
|
-
bun: 'bunx',
|
|
18
|
-
}[pm] ?? pm} `
|
|
19
|
-
: ''}nx ${command}`;
|
|
15
|
+
const buildNxCommand = (command, pm) => pm ? (0, commands_1.buildPackageManagerExecCommand)(pm, `nx ${command}`) : `nx ${command}`;
|
|
20
16
|
exports.buildNxCommand = buildNxCommand;
|
|
21
17
|
const renderSchema = (schema) => Object.entries(schema.properties)
|
|
22
18
|
.map(([parameter, parameterSchema]) => `- ${parameter} [type: ${parameterSchema.type}]${(schema.required ?? []).includes(parameter) ? ` (required)` : ''} ${parameterSchema.description}`)
|
|
@@ -49,17 +45,17 @@ exports.renderGeneratorInfo = renderGeneratorInfo;
|
|
|
49
45
|
* If the generator has guidePages in generators.json we fetch all of those, otherwise we
|
|
50
46
|
* try to fetch a guide with the generator name kebab-cased.
|
|
51
47
|
*/
|
|
52
|
-
const fetchGuidePagesForGenerator = async (info, generators, packageManager) => {
|
|
53
|
-
return await (0, exports.fetchGuidePages)(info.guidePages ?? [(0, names_1.kebabCase)(info.id)], generators, packageManager);
|
|
48
|
+
const fetchGuidePagesForGenerator = async (info, generators, packageManager, snippetContentProvider) => {
|
|
49
|
+
return await (0, exports.fetchGuidePages)(info.guidePages ?? [(0, names_1.kebabCase)(info.id)], generators, packageManager, snippetContentProvider);
|
|
54
50
|
};
|
|
55
51
|
exports.fetchGuidePagesForGenerator = fetchGuidePagesForGenerator;
|
|
56
52
|
/**
|
|
57
53
|
* Fetch markdown guide pages from github
|
|
58
54
|
*/
|
|
59
|
-
const fetchGuidePages = async (guidePages, generators, packageManager) => {
|
|
55
|
+
const fetchGuidePages = async (guidePages, generators, packageManager, snippetContentProvider) => {
|
|
60
56
|
const guides = await Promise.allSettled(guidePages.map(async (guide) => await (await fetch(`https://raw.githubusercontent.com/awslabs/nx-plugin-for-aws/refs/heads/main/docs/src/content/docs/en/guides/${guide}.mdx`)).text()));
|
|
61
57
|
const fulfilled = guides.filter((result) => result.status === 'fulfilled');
|
|
62
|
-
const processed = await Promise.all(fulfilled.map((result) => (0, exports.postProcessGuide)(result.value, generators, packageManager)));
|
|
58
|
+
const processed = await Promise.all(fulfilled.map((result) => (0, exports.postProcessGuide)(result.value, generators, packageManager, snippetContentProvider)));
|
|
63
59
|
return processed.join('\n\n');
|
|
64
60
|
};
|
|
65
61
|
exports.fetchGuidePages = fetchGuidePages;
|
|
@@ -96,7 +92,8 @@ const findGeneratorAndSchema = (generators, generatorId) => {
|
|
|
96
92
|
/**
|
|
97
93
|
* Post-process a guide page to "inline" relevant components
|
|
98
94
|
*/
|
|
99
|
-
const postProcessGuide = async (guide, generators, packageManager) => {
|
|
95
|
+
const postProcessGuide = async (guide, generators, packageManager, snippetContentProvider) => {
|
|
96
|
+
const getSnippetContent = snippetContentProvider ?? exports.fetchSnippet;
|
|
100
97
|
// Replace <Snippet /> with fetched snippet content
|
|
101
98
|
// Use a regex that matches the full self-closing tag, allowing / in attribute values
|
|
102
99
|
const snippetRegex = /<Snippet\s+((?:[^/]|\/(?!>))+)\s*\/>/g;
|
|
@@ -110,12 +107,12 @@ const postProcessGuide = async (guide, generators, packageManager) => {
|
|
|
110
107
|
return { original: match[0], replacement: match[0] };
|
|
111
108
|
}
|
|
112
109
|
const snippetName = nameMatch[1];
|
|
113
|
-
const snippetContent = await (
|
|
110
|
+
const snippetContent = await getSnippetContent(snippetName);
|
|
114
111
|
if (!snippetContent) {
|
|
115
112
|
return { original: match[0], replacement: match[0] };
|
|
116
113
|
}
|
|
117
114
|
// Recursively post-process the snippet content
|
|
118
|
-
const processedContent = await (0, exports.postProcessGuide)(snippetContent.trim(), generators, packageManager);
|
|
115
|
+
const processedContent = await (0, exports.postProcessGuide)(snippetContent.trim(), generators, packageManager, getSnippetContent);
|
|
119
116
|
return {
|
|
120
117
|
original: match[0],
|
|
121
118
|
replacement: `<Snippet name="${snippetName}">\n${processedContent}\n</Snippet>`,
|
|
@@ -139,7 +136,7 @@ const postProcessGuide = async (guide, generators, packageManager) => {
|
|
|
139
136
|
}
|
|
140
137
|
});
|
|
141
138
|
// Replace <RunGenerator /> with renderGeneratorCommand
|
|
142
|
-
processedGuide = processedGuide.replace(/<RunGenerator\s+([
|
|
139
|
+
processedGuide = processedGuide.replace(/<RunGenerator\s+((?:[^/]|\/(?!>))+)\s*\/>/g, (match, attributes) => {
|
|
143
140
|
// Extract generator parameter
|
|
144
141
|
const generatorMatch = attributes.match(/generator=["']([^"']+)["']/);
|
|
145
142
|
if (!generatorMatch) {
|
|
@@ -153,7 +150,7 @@ const postProcessGuide = async (guide, generators, packageManager) => {
|
|
|
153
150
|
return renderGeneratorCommand(generatorId, info.schema, packageManager);
|
|
154
151
|
});
|
|
155
152
|
// Replace <GeneratorParameters /> with renderSchema
|
|
156
|
-
processedGuide = processedGuide.replace(/<GeneratorParameters\s+([
|
|
153
|
+
processedGuide = processedGuide.replace(/<GeneratorParameters\s+((?:[^/]|\/(?!>))+)\s*\/>/g, (match, attributes) => {
|
|
157
154
|
// Extract generator parameter
|
|
158
155
|
const generatorMatch = attributes.match(/generator=["']([^"']+)["']/);
|
|
159
156
|
if (!generatorMatch) {
|
|
@@ -166,6 +163,57 @@ const postProcessGuide = async (guide, generators, packageManager) => {
|
|
|
166
163
|
}
|
|
167
164
|
return renderSchema(info.schema);
|
|
168
165
|
});
|
|
166
|
+
// Replace <CreateNxWorkspaceCommand /> with npx create-nx-workspace command
|
|
167
|
+
processedGuide = processedGuide.replace(/<CreateNxWorkspaceCommand\s+((?:[^/]|\/(?!>))+)\s*\/>/g, (match, attributes) => {
|
|
168
|
+
const workspaceMatch = attributes.match(/workspace=["']([^"']+)["']/);
|
|
169
|
+
if (!workspaceMatch)
|
|
170
|
+
return match;
|
|
171
|
+
const workspace = workspaceMatch[1];
|
|
172
|
+
const iacMatch = attributes.match(/iacProvider=["']([^"']+)["']/);
|
|
173
|
+
const iacProvider = iacMatch
|
|
174
|
+
? iacMatch[1]
|
|
175
|
+
: undefined;
|
|
176
|
+
const pm = packageManager ?? 'pnpm';
|
|
177
|
+
return `\`\`\`bash\n${(0, commands_1.buildCreateNxWorkspaceCommand)(pm, workspace, iacProvider)}\n\`\`\``;
|
|
178
|
+
});
|
|
179
|
+
// Replace <InstallCommand /> with install command
|
|
180
|
+
processedGuide = processedGuide.replace(/<InstallCommand\s+((?:[^/]|\/(?!>))+)\s*\/>/g, (match, attributes) => {
|
|
181
|
+
const pkgMatch = attributes.match(/pkg=(?:["']([^"']+)["']|\{([^}]+)\})/);
|
|
182
|
+
if (!pkgMatch)
|
|
183
|
+
return match;
|
|
184
|
+
const pkg = pkgMatch[1] || pkgMatch[2];
|
|
185
|
+
const isDev = /dev/.test(attributes);
|
|
186
|
+
const pm = packageManager ?? 'pnpm';
|
|
187
|
+
return `\`\`\`bash\n${(0, commands_1.buildInstallCommand)(pm, pkg, isDev)}\n\`\`\``;
|
|
188
|
+
});
|
|
189
|
+
// Replace <PackageManagerShortCommand /> with short command
|
|
190
|
+
processedGuide = processedGuide.replace(/<PackageManagerShortCommand\s+commands={([^}]+)}\s*\/>/g, (match, commandsMatch) => {
|
|
191
|
+
try {
|
|
192
|
+
const commands = JSON.parse(commandsMatch
|
|
193
|
+
.replaceAll("\\'", '__ESCAPED_SINGLE_QUOTE__')
|
|
194
|
+
.replaceAll("'", '"')
|
|
195
|
+
.replaceAll('__ESCAPED_SINGLE_QUOTE__', "\\'"));
|
|
196
|
+
const pm = packageManager ?? 'pnpm';
|
|
197
|
+
return `\`\`\`bash\n${commands.map((command) => (0, commands_1.buildPackageManagerShortCommand)(pm, command)).join('\n')}\n\`\`\``;
|
|
198
|
+
}
|
|
199
|
+
catch {
|
|
200
|
+
return match;
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
// Replace <PackageManagerExecCommand /> with exec command
|
|
204
|
+
processedGuide = processedGuide.replace(/<PackageManagerExecCommand\s+commands={([^}]+)}\s*\/>/g, (match, commandsMatch) => {
|
|
205
|
+
try {
|
|
206
|
+
const commands = JSON.parse(commandsMatch
|
|
207
|
+
.replaceAll("\\'", '__ESCAPED_SINGLE_QUOTE__')
|
|
208
|
+
.replaceAll("'", '"')
|
|
209
|
+
.replaceAll('__ESCAPED_SINGLE_QUOTE__', "\\'"));
|
|
210
|
+
const pm = packageManager ?? 'pnpm';
|
|
211
|
+
return `\`\`\`bash\n${commands.map((command) => (0, commands_1.buildPackageManagerExecCommand)(pm, command)).join('\n')}\n\`\`\``;
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
return match;
|
|
215
|
+
}
|
|
216
|
+
});
|
|
169
217
|
return processedGuide;
|
|
170
218
|
};
|
|
171
219
|
exports.postProcessGuide = postProcessGuide;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator-info.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/mcp-server/generator-info.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,0CAA2C;
|
|
1
|
+
{"version":3,"file":"generator-info.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/mcp-server/generator-info.ts"],"names":[],"mappings":"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"}
|
|
@@ -162,9 +162,7 @@ Learn more:
|
|
|
162
162
|
exports[`preset generator > should run successfully > aws-nx-plugin.config.mts 1`] = `
|
|
163
163
|
"import { AwsNxPluginConfig } from '@aws/nx-plugin';
|
|
164
164
|
|
|
165
|
-
export default {
|
|
166
|
-
iac: { provider: 'CDK' },
|
|
167
|
-
} satisfies AwsNxPluginConfig;
|
|
165
|
+
export default { iac: { provider: 'CDK' } } satisfies AwsNxPluginConfig;
|
|
168
166
|
"
|
|
169
167
|
`;
|
|
170
168
|
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { GeneratorCallback, Tree } from '@nx/devkit';
|
|
6
6
|
import { TsNxGeneratorGeneratorSchema } from './schema';
|
|
7
|
-
export declare const NX_GENERATOR_GENERATOR_INFO: import("../../utils/
|
|
7
|
+
export declare const NX_GENERATOR_GENERATOR_INFO: import("../../utils/generators").GeneratorInfo;
|
|
8
8
|
export declare const tsNxGeneratorGenerator: (tree: Tree, options: TsNxGeneratorGeneratorSchema) => Promise<GeneratorCallback | void>;
|
|
9
9
|
export default tsNxGeneratorGenerator;
|
|
@@ -46,7 +46,9 @@ const RuntimeConfigProvider: React.FC<PropsWithChildren> = ({ children }) => {
|
|
|
46
46
|
applyOverrides(await (await fetch('/runtime-config.json')).json()),
|
|
47
47
|
);
|
|
48
48
|
} catch {
|
|
49
|
-
setRuntimeConfig(
|
|
49
|
+
setRuntimeConfig(
|
|
50
|
+
applyOverrides({ apis: {}, agentRuntimes: {} } as any),
|
|
51
|
+
);
|
|
50
52
|
}
|
|
51
53
|
})();
|
|
52
54
|
}, [setRuntimeConfig]);
|
package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template
CHANGED
|
@@ -34,7 +34,7 @@ const RuntimeConfigProvider: React.FC<PropsWithChildren> = ({ children }) => {
|
|
|
34
34
|
try {
|
|
35
35
|
setRuntimeConfig(applyOverrides(await (await fetch('/runtime-config.json')).json()));
|
|
36
36
|
} catch {
|
|
37
|
-
setRuntimeConfig(applyOverrides({ apis: {} } as any));
|
|
37
|
+
setRuntimeConfig(applyOverrides({ apis: {}, agentRuntimes: {} } as any));
|
|
38
38
|
}
|
|
39
39
|
})();
|
|
40
40
|
}, [setRuntimeConfig]);
|