@aws/nx-plugin 0.34.0 → 0.36.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/README.md +3 -62
- package/generators.json +6 -0
- package/package.json +1 -1
- package/sdk/ts.d.ts +4 -0
- package/sdk/ts.js +15 -9
- package/sdk/ts.js.map +1 -1
- package/src/mcp-server/tools/create-workspace-command.js +1 -8
- package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
- package/src/mcp-server/tools/generator-guide.js +1 -1
- package/src/mcp-server/tools/generator-guide.js.map +1 -1
- package/src/preset/__snapshots__/generator.spec.ts.snap +2 -0
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/trpc/backend/files/src/schema/echo.ts.template +1 -1
- package/src/trpc/backend/generator.js +0 -3
- package/src/trpc/backend/generator.js.map +1 -1
- package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +41 -314
- package/src/ts/mcp-server/files/index.ts.template +17 -0
- package/src/ts/mcp-server/files/resources/sample-guidance.ts.template +9 -0
- package/src/ts/mcp-server/files/server.ts.template +18 -0
- package/src/ts/mcp-server/files/tools/add.ts.template +11 -0
- package/src/ts/mcp-server/generator.js +42 -31
- package/src/ts/mcp-server/generator.js.map +1 -1
- package/src/ts/mcp-server/schema.d.ts +4 -2
- package/src/ts/mcp-server/schema.json +9 -16
- package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/nx-generator/files/common/schema.json.template +1 -1
- package/src/ts/nx-generator/files/local/README.md.template +5 -0
- package/src/ts/nx-generator/generator.js +5 -41
- package/src/ts/nx-generator/generator.js.map +1 -1
- package/src/ts/nx-generator/schema.d.ts +1 -1
- package/src/ts/nx-generator/schema.json +3 -3
- package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +375 -0
- package/src/ts/nx-plugin/files/mcp-server/resources/GENERAL_GUIDANCE.md.template +49 -0
- package/src/ts/nx-plugin/files/mcp-server/schema.ts.template +4 -0
- package/src/ts/nx-plugin/files/mcp-server/server.ts.template +41 -0
- package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +36 -0
- package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +24 -0
- package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +45 -0
- package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +27 -0
- package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +97 -0
- package/src/ts/nx-plugin/generator.d.ts +10 -0
- package/src/ts/nx-plugin/generator.js +88 -0
- package/src/ts/nx-plugin/generator.js.map +1 -0
- package/src/ts/nx-plugin/schema.d.ts +11 -0
- package/src/ts/nx-plugin/schema.json +32 -0
- package/src/ts/nx-plugin/utils.d.ts +9 -0
- package/src/ts/nx-plugin/utils.js +65 -0
- package/src/ts/nx-plugin/utils.js.map +1 -0
- package/src/utils/ast.js +3 -1
- package/src/utils/ast.js.map +1 -1
- package/src/ts/mcp-server/files/README.md.template +0 -108
- package/src/ts/mcp-server/files/src/global.d.ts.template +0 -4
- package/src/ts/mcp-server/files/src/index.ts.template +0 -6
- package/src/ts/mcp-server/files/src/resources/example-context.md +0 -3
- package/src/ts/mcp-server/files/src/server.ts.template +0 -28
- package/src/utils/zod.d.ts +0 -9
- package/src/utils/zod.js +0 -19
- package/src/utils/zod.js.map +0 -1
package/README.md
CHANGED
|
@@ -57,7 +57,8 @@
|
|
|
57
57
|
- `ts#cloudscape-website#auth` - Add AWS Cognito authentication to your Cloudscape website.
|
|
58
58
|
- `ts#trpc-api` - Generate a tRPC backend service with Amazon API Gateway/AWS Lambda integrations and [AWS Powertools](https://github.com/aws-powertools/powertools-lambda-typescript) pre-configured.
|
|
59
59
|
- `ts#nx-generator` - Add an [Nx Generator](https://nx.dev/features/generate-code) to a TypeScript project.
|
|
60
|
-
- `ts#mcp-server` -
|
|
60
|
+
- `ts#mcp-server` - Add a [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server to a TypeScript project.
|
|
61
|
+
- `ts#lambda-function` - Generate a TypeScript lambda function with optional type-safe event sources.
|
|
61
62
|
- `py#project` - Generate a uv based Python project.
|
|
62
63
|
- `py#fast-api` - Generate a FastAPI backend service with [AWS Powertools](https://github.com/aws-powertools/powertools-lambda-python) pre-configured.
|
|
63
64
|
- `py#lambda-function` - Add a lambda function to an existing python project with optional type-safe event sources.
|
|
@@ -68,35 +69,10 @@
|
|
|
68
69
|
|
|
69
70
|
@aws/nx-plugin has been designed for gradual adoption from the start, and **you can use as little or as much of it as you need**.
|
|
70
71
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
npx create-nx-workspace@~20.6.3 demo --pm=pnpm --preset=@aws/nx-plugin --ci=skip
|
|
75
|
-
cd demo
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
2. Add components:
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
# Generate a tRPC API backend
|
|
82
|
-
pnpm nx g @aws/nx-plugin:ts#trpc-api
|
|
83
|
-
|
|
84
|
-
# Generate a Cloudscape website
|
|
85
|
-
pnpm nx g @aws/nx-plugin:ts#cloudscape-website
|
|
86
|
-
|
|
87
|
-
# Connect the frontend to the backend
|
|
88
|
-
pnpm nx g @aws/nx-plugin:api-connection
|
|
89
|
-
|
|
90
|
-
# Add authentication to your website
|
|
91
|
-
pnpm nx g @aws/nx-plugin:ts#cloudscape-website#auth
|
|
92
|
-
|
|
93
|
-
# Generate AWS CDK infrastructure
|
|
94
|
-
pnpm nx g @aws/nx-plugin:ts#infra
|
|
95
|
-
```
|
|
72
|
+
Follow the [Quick Start](https://awslabs.github.io/nx-plugin-for-aws/en/get_started/quick-start) guide to create a workspace and add projects.
|
|
96
73
|
|
|
97
74
|
### Additional resources
|
|
98
75
|
|
|
99
|
-
- Use [Quick Start](https://awslabs.github.io/nx-plugin-for-aws/en/get_started/quick-start/) to get a taste of @aws/nx-plugin.
|
|
100
76
|
- [Build a Dungeon Adventure Game](https://awslabs.github.io/nx-plugin-for-aws/en/get_started/tutorials/dungeon-game/overview/) to get an in-depth guided tutorial on how to use the @aws/nx-plugin.
|
|
101
77
|
- [Add @aws/nx-plugin to your existing project](https://awslabs.github.io/nx-plugin-for-aws/en/get_started/tutorials/existing-project/)
|
|
102
78
|
|
|
@@ -124,41 +100,6 @@ If you have issues such as `ENOENT npx`, replace the command with `/full/path/to
|
|
|
124
100
|
|
|
125
101
|
For more details, [take a look at the guide here](https://awslabs.github.io/nx-plugin-for-aws/en/get_started/building-with-ai/)
|
|
126
102
|
|
|
127
|
-
## Documentation Translation
|
|
128
|
-
|
|
129
|
-
The project supports automatic translation of documentation using AWS Bedrock's Deepseek & Haiku 3.5 models. Documentation is translated from English to multiple languages (currently Japanese, with support for French, Spanish, German, Chinese, and Korean).
|
|
130
|
-
|
|
131
|
-
> **_NOTE:_** It is important that only files in english (en folder) are modified directly as the translated files are generating using english as a base.
|
|
132
|
-
|
|
133
|
-
### Running Translations Locally
|
|
134
|
-
|
|
135
|
-
> **_NOTE:_** Ensure you have your aws cli configured to an AWS account with DeepSeek/Haiku 3.5 Bedrock model access before continuing.
|
|
136
|
-
|
|
137
|
-
To translate documentation locally:
|
|
138
|
-
|
|
139
|
-
```bash
|
|
140
|
-
# Translate only changed files
|
|
141
|
-
pnpm tsx ./scripts/translate.ts
|
|
142
|
-
|
|
143
|
-
# Translate all files
|
|
144
|
-
pnpm tsx ./scripts/translate.ts --all
|
|
145
|
-
|
|
146
|
-
# Translate to specific languages
|
|
147
|
-
pnpm tsx ./scripts/translate.ts --languages jp,fr,es
|
|
148
|
-
|
|
149
|
-
# Show what would be translated without actually translating
|
|
150
|
-
pnpm tsx ./scripts/translate.ts --dry-run
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### GitHub Workflow
|
|
154
|
-
|
|
155
|
-
A GitHub workflow automatically translates documentation when changes are made to English documentation files in pull requests. The workflow:
|
|
156
|
-
|
|
157
|
-
1. Detects changes to English documentation files
|
|
158
|
-
2. Translates the changed files using DeepSeek and Haiku 3.5 on AWS Bedrock
|
|
159
|
-
3. Commits the translations back to the source branch
|
|
160
|
-
4. Updates the PR with files translated
|
|
161
|
-
|
|
162
103
|
## Contributing
|
|
163
104
|
|
|
164
105
|
The main purpose of this repository is to continue evolving @aws/nx-plugin, making it faster and easier to use. Development happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements.
|
package/generators.json
CHANGED
|
@@ -150,6 +150,12 @@
|
|
|
150
150
|
"description": "The @aws/nx-plugin workspace preset.",
|
|
151
151
|
"metric": "g20",
|
|
152
152
|
"hidden": true
|
|
153
|
+
},
|
|
154
|
+
"ts#nx-plugin": {
|
|
155
|
+
"factory": "./src/ts/nx-plugin/generator",
|
|
156
|
+
"schema": "./src/ts/nx-plugin/schema.json",
|
|
157
|
+
"description": "Generate an Nx Plugin of your own! Build custom generators automatically made available for AI vibe-coding via MCP",
|
|
158
|
+
"metric": "g22"
|
|
153
159
|
}
|
|
154
160
|
}
|
|
155
161
|
}
|
package/package.json
CHANGED
package/sdk/ts.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ export { tsMcpServerGenerator } from '../src/ts/mcp-server/generator';
|
|
|
10
10
|
export type { TsMcpServerGeneratorSchema } from '../src/ts/mcp-server/schema';
|
|
11
11
|
export { tsNxGeneratorGenerator } from '../src/ts/nx-generator/generator';
|
|
12
12
|
export type { TsNxGeneratorGeneratorSchema } from '../src/ts/nx-generator/schema';
|
|
13
|
+
export { tsNxPluginGenerator } from '../src/ts/nx-plugin/generator';
|
|
14
|
+
export type { TsNxPluginGeneratorSchema } from '../src/ts/nx-plugin/schema';
|
|
13
15
|
export { tsCloudScapeWebsiteGenerator } from '../src/cloudscape-website/app/generator';
|
|
14
16
|
export type { TsCloudScapeWebsiteGeneratorSchema } from '../src/cloudscape-website/app/schema';
|
|
15
17
|
export { tsCloudScapeWebsiteAuthGenerator } from '../src/cloudscape-website/cognito-auth/generator';
|
|
@@ -18,4 +20,6 @@ export { runtimeConfigGenerator } from '../src/cloudscape-website/runtime-config
|
|
|
18
20
|
export type { RuntimeConfigGeneratorSchema } from '../src/cloudscape-website/runtime-config/schema';
|
|
19
21
|
export { tsTrpcApiGenerator } from '../src/trpc/backend/generator';
|
|
20
22
|
export type { TsTrpcApiGeneratorSchema } from '../src/trpc/backend/schema';
|
|
23
|
+
export { tsLambdaFunctionGenerator } from '../src/ts/lambda-function/generator';
|
|
24
|
+
export type { TsLambdaFunctionGeneratorSchema } from '../src/ts/lambda-function/schema';
|
|
21
25
|
export { sharedConstructsGenerator } from '../src/utils/shared-constructs';
|
package/sdk/ts.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.sharedConstructsGenerator = exports.tsTrpcApiGenerator = exports.runtimeConfigGenerator = exports.tsCloudScapeWebsiteAuthGenerator = exports.tsCloudScapeWebsiteGenerator = exports.tsNxGeneratorGenerator = exports.tsMcpServerGenerator = exports.tsInfraGenerator = exports.tsProjectGenerator = void 0;
|
|
7
|
+
exports.sharedConstructsGenerator = exports.tsLambdaFunctionGenerator = exports.tsTrpcApiGenerator = exports.runtimeConfigGenerator = exports.tsCloudScapeWebsiteAuthGenerator = exports.tsCloudScapeWebsiteGenerator = exports.tsNxPluginGenerator = exports.tsNxGeneratorGenerator = exports.tsMcpServerGenerator = exports.tsInfraGenerator = exports.tsProjectGenerator = void 0;
|
|
8
8
|
// TypeScript Project Generator
|
|
9
9
|
var generator_1 = require("../src/ts/lib/generator");
|
|
10
10
|
Object.defineProperty(exports, "tsProjectGenerator", { enumerable: true, get: function () { return generator_1.tsProjectGenerator; } });
|
|
@@ -17,18 +17,24 @@ Object.defineProperty(exports, "tsMcpServerGenerator", { enumerable: true, get:
|
|
|
17
17
|
// TypeScript Nx Generator Generator
|
|
18
18
|
var generator_4 = require("../src/ts/nx-generator/generator");
|
|
19
19
|
Object.defineProperty(exports, "tsNxGeneratorGenerator", { enumerable: true, get: function () { return generator_4.tsNxGeneratorGenerator; } });
|
|
20
|
+
// TypeScript Nx Plugin Generator
|
|
21
|
+
var generator_5 = require("../src/ts/nx-plugin/generator");
|
|
22
|
+
Object.defineProperty(exports, "tsNxPluginGenerator", { enumerable: true, get: function () { return generator_5.tsNxPluginGenerator; } });
|
|
20
23
|
// TypeScript CloudScape Website Generator
|
|
21
|
-
var
|
|
22
|
-
Object.defineProperty(exports, "tsCloudScapeWebsiteGenerator", { enumerable: true, get: function () { return
|
|
24
|
+
var generator_6 = require("../src/cloudscape-website/app/generator");
|
|
25
|
+
Object.defineProperty(exports, "tsCloudScapeWebsiteGenerator", { enumerable: true, get: function () { return generator_6.tsCloudScapeWebsiteGenerator; } });
|
|
23
26
|
// TypeScript CloudScape Website Auth Generator
|
|
24
|
-
var
|
|
25
|
-
Object.defineProperty(exports, "tsCloudScapeWebsiteAuthGenerator", { enumerable: true, get: function () { return
|
|
27
|
+
var generator_7 = require("../src/cloudscape-website/cognito-auth/generator");
|
|
28
|
+
Object.defineProperty(exports, "tsCloudScapeWebsiteAuthGenerator", { enumerable: true, get: function () { return generator_7.tsCloudScapeWebsiteAuthGenerator; } });
|
|
26
29
|
// Runtime Config
|
|
27
|
-
var
|
|
28
|
-
Object.defineProperty(exports, "runtimeConfigGenerator", { enumerable: true, get: function () { return
|
|
30
|
+
var generator_8 = require("../src/cloudscape-website/runtime-config/generator");
|
|
31
|
+
Object.defineProperty(exports, "runtimeConfigGenerator", { enumerable: true, get: function () { return generator_8.runtimeConfigGenerator; } });
|
|
29
32
|
// TypeScript tRPC API
|
|
30
|
-
var
|
|
31
|
-
Object.defineProperty(exports, "tsTrpcApiGenerator", { enumerable: true, get: function () { return
|
|
33
|
+
var generator_9 = require("../src/trpc/backend/generator");
|
|
34
|
+
Object.defineProperty(exports, "tsTrpcApiGenerator", { enumerable: true, get: function () { return generator_9.tsTrpcApiGenerator; } });
|
|
35
|
+
// TypeScript Lambda Function
|
|
36
|
+
var generator_10 = require("../src/ts/lambda-function/generator");
|
|
37
|
+
Object.defineProperty(exports, "tsLambdaFunctionGenerator", { enumerable: true, get: function () { return generator_10.tsLambdaFunctionGenerator; } });
|
|
32
38
|
// Shared Constructs
|
|
33
39
|
var shared_constructs_1 = require("../src/utils/shared-constructs");
|
|
34
40
|
Object.defineProperty(exports, "sharedConstructsGenerator", { enumerable: true, get: function () { return shared_constructs_1.sharedConstructsGenerator; } });
|
package/sdk/ts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts.js","sourceRoot":"","sources":["../../../../packages/nx-plugin/sdk/ts.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+BAA+B;AAC/B,qDAA6D;AAApD,+GAAA,kBAAkB,OAAA;AAG3B,4BAA4B;AAC5B,wDAA8D;AAArD,6GAAA,gBAAgB,OAAA;AAGzB,kCAAkC;AAClC,4DAAsE;AAA7D,iHAAA,oBAAoB,OAAA;AAG7B,oCAAoC;AACpC,8DAA0E;AAAjE,mHAAA,sBAAsB,OAAA;AAG/B,0CAA0C;AAC1C,qEAAuF;AAA9E,yHAAA,4BAA4B,OAAA;AAGrC,+CAA+C;AAC/C,8EAAoG;AAA3F,6HAAA,gCAAgC,OAAA;AAGzC,iBAAiB;AACjB,gFAA4F;AAAnF,mHAAA,sBAAsB,OAAA;AAG/B,sBAAsB;AACtB,2DAAmE;AAA1D,+GAAA,kBAAkB,OAAA;AAG3B,oBAAoB;AACpB,oEAA2E;AAAlE,8HAAA,yBAAyB,OAAA"}
|
|
1
|
+
{"version":3,"file":"ts.js","sourceRoot":"","sources":["../../../../packages/nx-plugin/sdk/ts.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+BAA+B;AAC/B,qDAA6D;AAApD,+GAAA,kBAAkB,OAAA;AAG3B,4BAA4B;AAC5B,wDAA8D;AAArD,6GAAA,gBAAgB,OAAA;AAGzB,kCAAkC;AAClC,4DAAsE;AAA7D,iHAAA,oBAAoB,OAAA;AAG7B,oCAAoC;AACpC,8DAA0E;AAAjE,mHAAA,sBAAsB,OAAA;AAG/B,iCAAiC;AACjC,2DAAoE;AAA3D,gHAAA,mBAAmB,OAAA;AAG5B,0CAA0C;AAC1C,qEAAuF;AAA9E,yHAAA,4BAA4B,OAAA;AAGrC,+CAA+C;AAC/C,8EAAoG;AAA3F,6HAAA,gCAAgC,OAAA;AAGzC,iBAAiB;AACjB,gFAA4F;AAAnF,mHAAA,sBAAsB,OAAA;AAG/B,sBAAsB;AACtB,2DAAmE;AAA1D,+GAAA,kBAAkB,OAAA;AAG3B,6BAA6B;AAC7B,kEAAgF;AAAvE,uHAAA,yBAAyB,OAAA;AAGlC,oBAAoB;AACpB,oEAA2E;AAAlE,8HAAA,yBAAyB,OAAA"}
|
|
@@ -17,14 +17,7 @@ const addCreateWorkspaceCommandTool = (server) => {
|
|
|
17
17
|
npx create-nx-workspace@~21.0.3 ${workspaceName} --pm=${packageManager} --preset=@aws/nx-plugin --ci=skip
|
|
18
18
|
\`\`\`
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
you would like for your workspace, you can move all the files up one level and delete the empty directory afterwards, eg:
|
|
22
|
-
|
|
23
|
-
\`\`\`bash
|
|
24
|
-
mv ${workspaceName}/{*,.*} ./ && rm -rf ${workspaceName}
|
|
25
|
-
\`\`\`
|
|
26
|
-
|
|
27
|
-
(Note that the above command will complain about moving . and .. but that is expected and ok!)
|
|
20
|
+
This will create a new workspace within the ${workspaceName} directory.
|
|
28
21
|
`,
|
|
29
22
|
},
|
|
30
23
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-workspace-command.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/mcp-server/tools/create-workspace-command.ts"],"names":[],"mappings":";;;AAKA,6BAAwB;AACxB,sCAAiD;AAEjD;;GAEG;AACI,MAAM,6BAA6B,GAAG,CAAC,MAAiB,EAAE,EAAE;IACjE,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,oEAAoE,EACpE,EAAE,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,6BAAoB,EAAE,EACnE,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;QACtC,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;;;kCAGkB,aAAa,SAAS,cAAc;;;
|
|
1
|
+
{"version":3,"file":"create-workspace-command.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/mcp-server/tools/create-workspace-command.ts"],"names":[],"mappings":";;;AAKA,6BAAwB;AACxB,sCAAiD;AAEjD;;GAEG;AACI,MAAM,6BAA6B,GAAG,CAAC,MAAiB,EAAE,EAAE;IACjE,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,oEAAoE,EACpE,EAAE,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,6BAAoB,EAAE,EACnE,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;QACtC,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;;;kCAGkB,aAAa,SAAS,cAAc;;;8CAGxB,aAAa;GACxD;aACM;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,6BAA6B,iCAqBxC"}
|
|
@@ -11,7 +11,7 @@ const schema_1 = require("../schema");
|
|
|
11
11
|
const addGeneratorGuideTool = (server, generators) => {
|
|
12
12
|
server.tool('generator-guide', 'Tool to retrieve detailed information about a specific generator.', {
|
|
13
13
|
packageManager: schema_1.PackageManagerSchema,
|
|
14
|
-
generator: zod_1.z.custom((v) => generators.map((g) => g.id).includes(v)),
|
|
14
|
+
generator: zod_1.z.custom((v) => typeof v === 'string' && generators.map((g) => g.id).includes(v)),
|
|
15
15
|
}, (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ packageManager, generator: generatorId }) {
|
|
16
16
|
const generator = generators.find((g) => g.id === generatorId);
|
|
17
17
|
if (!generator) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator-guide.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/mcp-server/tools/generator-guide.ts"],"names":[],"mappings":";;;;AAMA,6BAAwB;AACxB,sDAG2B;AAC3B,sCAAiD;AAEjD;;GAEG;AACI,MAAM,qBAAqB,GAAG,CACnC,MAAiB,EACjB,UAA6B,EAC7B,EAAE;IACF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,mEAAmE,EACnE;QACE,cAAc,EAAE,6BAAoB;QACpC,SAAS,EAAE,OAAC,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"generator-guide.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/mcp-server/tools/generator-guide.ts"],"names":[],"mappings":";;;;AAMA,6BAAwB;AACxB,sDAG2B;AAC3B,sCAAiD;AAEjD;;GAEG;AACI,MAAM,qBAAqB,GAAG,CACnC,MAAiB,EACjB,UAA6B,EAC7B,EAAE;IACF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,mEAAmE,EACnE;QACE,cAAc,EAAE,6BAAoB;QACpC,SAAS,EAAE,OAAC,CAAC,MAAM,CACjB,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CACxE;KACF,EACD,KAAmD,EAAE,oDAA9C,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE;QAC/C,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,8BAA8B,WAAW,2BAA2B,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7G,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM,IAAA,oCAAmB,EAAC,cAAc,EAAE,SAAS,CAAC;;;;EAIpE,MAAM,IAAA,4CAA2B,EAAC,SAAS,EAAE,UAAU,EAAE,cAAc,CAAC;CACzE;iBACU;aACF;SACF,CAAC;IACJ,CAAC,CAAA,CACF,CAAC;AACJ,CAAC,CAAC;AApCW,QAAA,qBAAqB,yBAoChC"}
|
|
@@ -56,6 +56,8 @@ The following list of generators are what is currently available in the \`@aws/n
|
|
|
56
56
|
|
|
57
57
|
- **ts#mcp-server**: Generate a TypeScript Model Context Protocol (MCP) server for providing context to Large Language Models
|
|
58
58
|
|
|
59
|
+
- **ts#nx-plugin**: Generate an Nx Plugin of your own! Build custom generators automatically made available for AI vibe-coding via MCP
|
|
60
|
+
|
|
59
61
|
You also have the option of using additional [commmunity plugins](https://nx.dev/plugin-registry) as needed.
|
|
60
62
|
|
|
61
63
|
## Invoking a generator
|
|
@@ -295,7 +295,7 @@ export type AppRouter = typeof appRouter;
|
|
|
295
295
|
`;
|
|
296
296
|
|
|
297
297
|
exports[`trpc backend generator > should generate the project > apps/test-api/src/schema/echo.ts 1`] = `
|
|
298
|
-
"import { z } from 'zod';
|
|
298
|
+
"import { z } from 'zod/v4';
|
|
299
299
|
|
|
300
300
|
export const EchoInputSchema = z.object({
|
|
301
301
|
message: z.string(),
|
|
@@ -20,7 +20,6 @@ const nx_1 = require("../../utils/nx");
|
|
|
20
20
|
const metrics_1 = require("../../utils/metrics");
|
|
21
21
|
const api_constructs_1 = require("../../utils/api-constructs/api-constructs");
|
|
22
22
|
const port_1 = require("../../utils/port");
|
|
23
|
-
const zod_1 = require("../../utils/zod");
|
|
24
23
|
exports.TRPC_BACKEND_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
|
|
25
24
|
function tsTrpcApiGenerator(tree, options) {
|
|
26
25
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -99,8 +98,6 @@ function tsTrpcApiGenerator(tree, options) {
|
|
|
99
98
|
overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
|
|
100
99
|
});
|
|
101
100
|
tree.delete((0, devkit_1.joinPathFragments)(backendRoot, 'src', 'lib'));
|
|
102
|
-
// Add an alias for zod v4
|
|
103
|
-
(0, zod_1.addZodV4Alias)(tree);
|
|
104
101
|
(0, devkit_1.addDependenciesToPackageJson)(tree, (0, versions_1.withVersions)([
|
|
105
102
|
'aws-xray-sdk-core',
|
|
106
103
|
'zod',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/trpc/backend/generator.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/trpc/backend/generator.ts"],"names":[],"mappings":"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"}
|