@aws/nx-plugin 0.64.0 → 0.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE-THIRD-PARTY +198 -132
- package/README.md +6 -3
- package/generators.json +6 -0
- package/package.json +13 -13
- package/sdk/ts.d.ts +2 -0
- package/sdk/ts.js +20 -17
- package/sdk/ts.js.map +1 -1
- package/src/infra/app/__snapshots__/generator.spec.ts.snap +31 -31
- package/src/preset/__snapshots__/generator.spec.ts.snap +6 -4
- package/src/preset/generator.js +3 -1
- package/src/preset/generator.js.map +1 -1
- package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/py/strands-agent/__snapshots__/generator.spec.ts.snap +8 -8
- package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +6 -6
- package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +93 -49
- package/src/ts/strands-agent/__snapshots__/generator.spec.ts.snap +1035 -0
- package/src/ts/strands-agent/files/app/agent-core-mcp-client.ts.template +132 -0
- package/src/ts/strands-agent/files/app/agent-core-trpc-client.ts.template +124 -0
- package/src/ts/strands-agent/files/app/agent.ts.template +20 -0
- package/src/ts/strands-agent/files/app/client.ts.template +28 -0
- package/src/ts/strands-agent/files/app/index.ts.template +54 -0
- package/src/ts/strands-agent/files/app/init.ts.template +8 -0
- package/src/ts/strands-agent/files/app/router.ts.template +34 -0
- package/src/ts/strands-agent/files/app/schema/z-async-iterable.ts.template +77 -0
- package/src/ts/strands-agent/files/deploy/Dockerfile.template +16 -0
- package/src/ts/strands-agent/generator.d.ts +10 -0
- package/src/ts/strands-agent/generator.js +115 -0
- package/src/ts/strands-agent/generator.js.map +1 -0
- package/src/ts/strands-agent/schema.d.ts +15 -0
- package/src/ts/strands-agent/schema.json +41 -0
- package/src/utils/versions.d.ts +59 -56
- package/src/utils/versions.js +58 -55
- package/src/utils/versions.js.map +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<h1>
|
|
3
|
-
<h3>
|
|
2
|
+
<h1>Nx Plugin for AWS - @aws/nx-plugin</h1>
|
|
3
|
+
<h3>Rapidly scaffold and build projects on AWS</h3>
|
|
4
4
|
<a href="https://opensource.org/licenses/Apache-2.0">
|
|
5
5
|
<img
|
|
6
6
|
src="https://img.shields.io/badge/License-Apache%202.0-yellowgreen.svg"
|
|
@@ -43,10 +43,12 @@
|
|
|
43
43
|
## Key Features
|
|
44
44
|
|
|
45
45
|
- **Declarative**: Generate code that follows best practices for AWS cloud development.
|
|
46
|
+
- **End-to-end**: Generate application code and CDK/Terraform infrastructure to deploy to AWS.
|
|
46
47
|
- **Component-Based**: Add components to your project as needed, from React websites to serverless APIs using either the CLI or UI.
|
|
47
48
|
- **Learn Once, Use Anywhere**: Consistent patterns across different AWS services and application types.
|
|
48
49
|
- **Open for modification**: All code generated is your code and can be edited as you see fit.
|
|
49
50
|
- **Type safety**: Type-safety is employed to support IDE completions and reduce the number of runtime errors encountered.
|
|
51
|
+
- **Local-first**: Iterate quickly by developing locally before deploying to AWS.
|
|
50
52
|
- **Minimal dependencies**: Getting up and running is simple and only requires langugage level global dependencies.
|
|
51
53
|
|
|
52
54
|
## Available Generators
|
|
@@ -58,13 +60,14 @@
|
|
|
58
60
|
- `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
61
|
- `ts#nx-generator` - Add an [Nx Generator](https://nx.dev/features/generate-code) to a TypeScript project.
|
|
60
62
|
- `ts#mcp-server` - Add a [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server to a TypeScript project.
|
|
63
|
+
- `ts#strands-agent` - Add a [Strands Agent](https://strandsagents.com/) to a TypeScript project.
|
|
61
64
|
- `ts#lambda-function` - Generate a TypeScript lambda function with optional type-safe event sources.
|
|
62
65
|
- `terraform#project` - Generate a new Terraform project.
|
|
63
66
|
- `py#project` - Generate a uv based Python project.
|
|
64
67
|
- `py#fast-api` - Generate a FastAPI backend service with [AWS Powertools](https://github.com/aws-powertools/powertools-lambda-python) pre-configured.
|
|
65
68
|
- `py#lambda-function` - Add a lambda function to an existing python project with optional type-safe event sources.
|
|
66
69
|
- `py#mcp-server` - Add a [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server to a Python project.
|
|
67
|
-
- `py#strands-agent` Add a [Strands Agent](https://strandsagents.com/) to a Python project
|
|
70
|
+
- `py#strands-agent` Add a [Strands Agent](https://strandsagents.com/) to a Python project.
|
|
68
71
|
- `api-connection` - Connect frontend applications to backend APIs.
|
|
69
72
|
- `license` - Automatically manage LICENSE files and source code headers in your workspace.
|
|
70
73
|
|
package/generators.json
CHANGED
|
@@ -183,6 +183,12 @@
|
|
|
183
183
|
"description": "Create an API using Smithy and the Smithy TypeScript Server SDK",
|
|
184
184
|
"metric": "g26"
|
|
185
185
|
},
|
|
186
|
+
"ts#strands-agent": {
|
|
187
|
+
"factory": "./src/ts/strands-agent/generator",
|
|
188
|
+
"schema": "./src/ts/strands-agent/schema.json",
|
|
189
|
+
"description": "Add a Strands Agent to a TypeScript project",
|
|
190
|
+
"metric": "g30"
|
|
191
|
+
},
|
|
186
192
|
"ts#trpc-api": {
|
|
187
193
|
"factory": "./src/trpc/backend/generator",
|
|
188
194
|
"schema": "./src/trpc/backend/schema.json",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws/nx-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.65.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/awslabs/nx-plugin-for-aws.git",
|
|
@@ -19,21 +19,21 @@
|
|
|
19
19
|
},
|
|
20
20
|
"generators": "./generators.json",
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"nx": "~22.
|
|
23
|
-
"prettier": "^3.
|
|
22
|
+
"nx": "~22.3.3",
|
|
23
|
+
"prettier": "^3.7.4"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@apidevtools/swagger-parser": "^10.1.1",
|
|
27
27
|
"@hey-api/openapi-ts": "0.64.13",
|
|
28
28
|
"@iarna/toml": "^2.2.5",
|
|
29
|
-
"@modelcontextprotocol/sdk": "
|
|
30
|
-
"@nx/devkit": "~22.
|
|
31
|
-
"@nx/eslint": "~22.
|
|
32
|
-
"@nx/js": "~22.
|
|
33
|
-
"@nx/react": "~22.
|
|
34
|
-
"@nx/vite": "~22.
|
|
29
|
+
"@modelcontextprotocol/sdk": "~1.25.2",
|
|
30
|
+
"@nx/devkit": "~22.3.3",
|
|
31
|
+
"@nx/eslint": "~22.3.3",
|
|
32
|
+
"@nx/js": "~22.3.3",
|
|
33
|
+
"@nx/react": "~22.3.3",
|
|
34
|
+
"@nx/vite": "~22.3.3",
|
|
35
35
|
"@nxlv/python": "~21.2.0",
|
|
36
|
-
"@phenomnomnominal/tsquery": "6.1.
|
|
36
|
+
"@phenomnomnominal/tsquery": "6.1.4",
|
|
37
37
|
"enquirer": "^2.4.1",
|
|
38
38
|
"fast-glob": "^3.3.3",
|
|
39
39
|
"lodash.camelcase": "^4.3.0",
|
|
@@ -46,9 +46,9 @@
|
|
|
46
46
|
"openapi-types": "^12.1.3",
|
|
47
47
|
"pip-requirements-js": "^0.2.1",
|
|
48
48
|
"typescript": "~5.9.3",
|
|
49
|
-
"vite": "^7.
|
|
50
|
-
"vitest": "^4.0.
|
|
51
|
-
"zod": "
|
|
49
|
+
"vite": "^7.3.0",
|
|
50
|
+
"vitest": "^4.0.16",
|
|
51
|
+
"zod": "~4.3.5"
|
|
52
52
|
},
|
|
53
53
|
"types": "./src/index.d.ts"
|
|
54
54
|
}
|
package/sdk/ts.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export { tsInfraGenerator } from '../src/infra/app/generator';
|
|
|
8
8
|
export type { TsInfraGeneratorSchema } from '../src/infra/app/schema';
|
|
9
9
|
export { tsMcpServerGenerator } from '../src/ts/mcp-server/generator';
|
|
10
10
|
export type { TsMcpServerGeneratorSchema } from '../src/ts/mcp-server/schema';
|
|
11
|
+
export { tsStrandsAgentGenerator } from '../src/ts/strands-agent/generator';
|
|
12
|
+
export type { TsStrandsAgentGeneratorSchema } from '../src/ts/strands-agent/schema';
|
|
11
13
|
export { tsNxGeneratorGenerator } from '../src/ts/nx-generator/generator';
|
|
12
14
|
export type { TsNxGeneratorGeneratorSchema } from '../src/ts/nx-generator/schema';
|
|
13
15
|
export { tsNxPluginGenerator } from '../src/ts/nx-plugin/generator';
|
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.tsLambdaFunctionGenerator = exports.tsSmithyApiGenerator = exports.tsTrpcApiGenerator = exports.runtimeConfigGenerator = exports.tsReactWebsiteAuthGenerator = exports.tsReactWebsiteGenerator = exports.tsNxPluginGenerator = exports.tsNxGeneratorGenerator = exports.tsMcpServerGenerator = exports.tsInfraGenerator = exports.tsProjectGenerator = void 0;
|
|
7
|
+
exports.sharedConstructsGenerator = exports.tsLambdaFunctionGenerator = exports.tsSmithyApiGenerator = exports.tsTrpcApiGenerator = exports.runtimeConfigGenerator = exports.tsReactWebsiteAuthGenerator = exports.tsReactWebsiteGenerator = exports.tsNxPluginGenerator = exports.tsNxGeneratorGenerator = exports.tsStrandsAgentGenerator = 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; } });
|
|
@@ -14,30 +14,33 @@ Object.defineProperty(exports, "tsInfraGenerator", { enumerable: true, get: func
|
|
|
14
14
|
// TypeScript MCP Server Generator
|
|
15
15
|
var generator_3 = require("../src/ts/mcp-server/generator");
|
|
16
16
|
Object.defineProperty(exports, "tsMcpServerGenerator", { enumerable: true, get: function () { return generator_3.tsMcpServerGenerator; } });
|
|
17
|
+
// TypeScript Strands Agent Generator
|
|
18
|
+
var generator_4 = require("../src/ts/strands-agent/generator");
|
|
19
|
+
Object.defineProperty(exports, "tsStrandsAgentGenerator", { enumerable: true, get: function () { return generator_4.tsStrandsAgentGenerator; } });
|
|
17
20
|
// TypeScript Nx Generator Generator
|
|
18
|
-
var
|
|
19
|
-
Object.defineProperty(exports, "tsNxGeneratorGenerator", { enumerable: true, get: function () { return
|
|
21
|
+
var generator_5 = require("../src/ts/nx-generator/generator");
|
|
22
|
+
Object.defineProperty(exports, "tsNxGeneratorGenerator", { enumerable: true, get: function () { return generator_5.tsNxGeneratorGenerator; } });
|
|
20
23
|
// TypeScript Nx Plugin Generator
|
|
21
|
-
var
|
|
22
|
-
Object.defineProperty(exports, "tsNxPluginGenerator", { enumerable: true, get: function () { return
|
|
24
|
+
var generator_6 = require("../src/ts/nx-plugin/generator");
|
|
25
|
+
Object.defineProperty(exports, "tsNxPluginGenerator", { enumerable: true, get: function () { return generator_6.tsNxPluginGenerator; } });
|
|
23
26
|
// TypeScript React Website Generator
|
|
24
|
-
var
|
|
25
|
-
Object.defineProperty(exports, "tsReactWebsiteGenerator", { enumerable: true, get: function () { return
|
|
27
|
+
var generator_7 = require("../src/ts/react-website/app/generator");
|
|
28
|
+
Object.defineProperty(exports, "tsReactWebsiteGenerator", { enumerable: true, get: function () { return generator_7.tsReactWebsiteGenerator; } });
|
|
26
29
|
// TypeScript React Website Auth Generator
|
|
27
|
-
var
|
|
28
|
-
Object.defineProperty(exports, "tsReactWebsiteAuthGenerator", { enumerable: true, get: function () { return
|
|
30
|
+
var generator_8 = require("../src/ts/react-website/cognito-auth/generator");
|
|
31
|
+
Object.defineProperty(exports, "tsReactWebsiteAuthGenerator", { enumerable: true, get: function () { return generator_8.tsReactWebsiteAuthGenerator; } });
|
|
29
32
|
// Runtime Config
|
|
30
|
-
var
|
|
31
|
-
Object.defineProperty(exports, "runtimeConfigGenerator", { enumerable: true, get: function () { return
|
|
33
|
+
var generator_9 = require("../src/ts/react-website/runtime-config/generator");
|
|
34
|
+
Object.defineProperty(exports, "runtimeConfigGenerator", { enumerable: true, get: function () { return generator_9.runtimeConfigGenerator; } });
|
|
32
35
|
// TypeScript tRPC API
|
|
33
|
-
var
|
|
34
|
-
Object.defineProperty(exports, "tsTrpcApiGenerator", { enumerable: true, get: function () { return
|
|
36
|
+
var generator_10 = require("../src/trpc/backend/generator");
|
|
37
|
+
Object.defineProperty(exports, "tsTrpcApiGenerator", { enumerable: true, get: function () { return generator_10.tsTrpcApiGenerator; } });
|
|
35
38
|
// TypeScript Smithy API
|
|
36
|
-
var
|
|
37
|
-
Object.defineProperty(exports, "tsSmithyApiGenerator", { enumerable: true, get: function () { return
|
|
39
|
+
var generator_11 = require("../src/smithy/ts/api/generator");
|
|
40
|
+
Object.defineProperty(exports, "tsSmithyApiGenerator", { enumerable: true, get: function () { return generator_11.tsSmithyApiGenerator; } });
|
|
38
41
|
// TypeScript Lambda Function
|
|
39
|
-
var
|
|
40
|
-
Object.defineProperty(exports, "tsLambdaFunctionGenerator", { enumerable: true, get: function () { return
|
|
42
|
+
var generator_12 = require("../src/ts/lambda-function/generator");
|
|
43
|
+
Object.defineProperty(exports, "tsLambdaFunctionGenerator", { enumerable: true, get: function () { return generator_12.tsLambdaFunctionGenerator; } });
|
|
41
44
|
// Shared Constructs
|
|
42
45
|
var shared_constructs_1 = require("../src/utils/shared-constructs");
|
|
43
46
|
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,iCAAiC;AACjC,2DAAoE;AAA3D,gHAAA,mBAAmB,OAAA;AAG5B,qCAAqC;AACrC,mEAAgF;AAAvE,oHAAA,uBAAuB,OAAA;AAGhC,0CAA0C;AAC1C,4EAA6F;AAApF,wHAAA,2BAA2B,OAAA;AAGpC,iBAAiB;AACjB,8EAA0F;AAAjF,mHAAA,sBAAsB,OAAA;AAG/B,sBAAsB;AACtB,
|
|
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,qCAAqC;AACrC,+DAA4E;AAAnE,oHAAA,uBAAuB,OAAA;AAGhC,oCAAoC;AACpC,8DAA0E;AAAjE,mHAAA,sBAAsB,OAAA;AAG/B,iCAAiC;AACjC,2DAAoE;AAA3D,gHAAA,mBAAmB,OAAA;AAG5B,qCAAqC;AACrC,mEAAgF;AAAvE,oHAAA,uBAAuB,OAAA;AAGhC,0CAA0C;AAC1C,4EAA6F;AAApF,wHAAA,2BAA2B,OAAA;AAGpC,iBAAiB;AACjB,8EAA0F;AAAjF,mHAAA,sBAAsB,OAAA;AAG/B,sBAAsB;AACtB,4DAAmE;AAA1D,gHAAA,kBAAkB,OAAA;AAG3B,wBAAwB;AACxB,6DAAsE;AAA7D,kHAAA,oBAAoB,OAAA;AAG7B,6BAA6B;AAC7B,kEAAgF;AAAvE,uHAAA,yBAAyB,OAAA;AAGlC,oBAAoB;AACpB,oEAA2E;AAAlE,8HAAA,yBAAyB,OAAA"}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`infra generator > should add required dependencies to package.json > dependencies 1`] = `
|
|
4
4
|
{
|
|
5
|
-
"aws-cdk": "2.
|
|
6
|
-
"aws-cdk-lib": "2.
|
|
7
|
-
"constructs": "10.4.
|
|
8
|
-
"esbuild": "0.27.
|
|
5
|
+
"aws-cdk": "2.1100.1",
|
|
6
|
+
"aws-cdk-lib": "2.233.0",
|
|
7
|
+
"constructs": "10.4.4",
|
|
8
|
+
"esbuild": "0.27.2",
|
|
9
9
|
"source-map-support": "0.5.21",
|
|
10
10
|
}
|
|
11
11
|
`;
|
|
@@ -13,60 +13,60 @@ exports[`infra generator > should add required dependencies to package.json > de
|
|
|
13
13
|
exports[`infra generator > should add required dependencies to package.json > dev-dependencies 1`] = `
|
|
14
14
|
{
|
|
15
15
|
"@eslint/js": "^9.8.0",
|
|
16
|
-
"@nx/eslint": "22.
|
|
17
|
-
"@nx/eslint-plugin": "22.
|
|
18
|
-
"@nx/js": "22.
|
|
19
|
-
"@nx/vitest": "22.
|
|
16
|
+
"@nx/eslint": "22.3.3",
|
|
17
|
+
"@nx/eslint-plugin": "22.3.3",
|
|
18
|
+
"@nx/js": "22.3.3",
|
|
19
|
+
"@nx/vitest": "22.3.3",
|
|
20
20
|
"@swc-node/register": "~1.9.1",
|
|
21
21
|
"@swc/core": "~1.5.7",
|
|
22
22
|
"@swc/helpers": "~0.5.11",
|
|
23
|
-
"@types/node": "22.19.
|
|
23
|
+
"@types/node": "22.19.3",
|
|
24
24
|
"@vitest/coverage-v8": "^4.0.0",
|
|
25
25
|
"eslint": "^9.8.0",
|
|
26
26
|
"eslint-config-prettier": "^10.0.0",
|
|
27
27
|
"eslint-plugin-prettier": "5.5.4",
|
|
28
|
-
"jsdom": "
|
|
29
|
-
"jsonc-eslint-parser": "2.4.
|
|
30
|
-
"prettier": "3.
|
|
31
|
-
"tsx": "4.
|
|
28
|
+
"jsdom": "^27.1.0",
|
|
29
|
+
"jsonc-eslint-parser": "2.4.2",
|
|
30
|
+
"prettier": "3.7.4",
|
|
31
|
+
"tsx": "4.21.0",
|
|
32
32
|
"typescript": "~5.9.2",
|
|
33
33
|
"typescript-eslint": "^8.40.0",
|
|
34
34
|
"vite": "^7.0.0",
|
|
35
|
-
"vitest": "^4.0.
|
|
35
|
+
"vitest": "^4.0.8",
|
|
36
36
|
}
|
|
37
37
|
`;
|
|
38
38
|
|
|
39
39
|
exports[`infra generator > should add required dependencies to package.json > package-json 1`] = `
|
|
40
40
|
{
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"aws-cdk": "2.
|
|
43
|
-
"aws-cdk-lib": "2.
|
|
44
|
-
"constructs": "10.4.
|
|
45
|
-
"esbuild": "0.27.
|
|
42
|
+
"aws-cdk": "2.1100.1",
|
|
43
|
+
"aws-cdk-lib": "2.233.0",
|
|
44
|
+
"constructs": "10.4.4",
|
|
45
|
+
"esbuild": "0.27.2",
|
|
46
46
|
"source-map-support": "0.5.21",
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@eslint/js": "^9.8.0",
|
|
50
|
-
"@nx/eslint": "22.
|
|
51
|
-
"@nx/eslint-plugin": "22.
|
|
52
|
-
"@nx/js": "22.
|
|
53
|
-
"@nx/vitest": "22.
|
|
50
|
+
"@nx/eslint": "22.3.3",
|
|
51
|
+
"@nx/eslint-plugin": "22.3.3",
|
|
52
|
+
"@nx/js": "22.3.3",
|
|
53
|
+
"@nx/vitest": "22.3.3",
|
|
54
54
|
"@swc-node/register": "~1.9.1",
|
|
55
55
|
"@swc/core": "~1.5.7",
|
|
56
56
|
"@swc/helpers": "~0.5.11",
|
|
57
|
-
"@types/node": "22.19.
|
|
57
|
+
"@types/node": "22.19.3",
|
|
58
58
|
"@vitest/coverage-v8": "^4.0.0",
|
|
59
59
|
"eslint": "^9.8.0",
|
|
60
60
|
"eslint-config-prettier": "^10.0.0",
|
|
61
61
|
"eslint-plugin-prettier": "5.5.4",
|
|
62
|
-
"jsdom": "
|
|
63
|
-
"jsonc-eslint-parser": "2.4.
|
|
64
|
-
"prettier": "3.
|
|
65
|
-
"tsx": "4.
|
|
62
|
+
"jsdom": "^27.1.0",
|
|
63
|
+
"jsonc-eslint-parser": "2.4.2",
|
|
64
|
+
"prettier": "3.7.4",
|
|
65
|
+
"tsx": "4.21.0",
|
|
66
66
|
"typescript": "~5.9.2",
|
|
67
67
|
"typescript-eslint": "^8.40.0",
|
|
68
68
|
"vite": "^7.0.0",
|
|
69
|
-
"vitest": "^4.0.
|
|
69
|
+
"vitest": "^4.0.8",
|
|
70
70
|
},
|
|
71
71
|
"name": "@proj/source",
|
|
72
72
|
"type": "module",
|
|
@@ -84,7 +84,7 @@ exports[`infra generator > should configure Checkov target correctly > checkov-t
|
|
|
84
84
|
"{workspaceRoot}/dist/{projectRoot}/cdk.out",
|
|
85
85
|
],
|
|
86
86
|
"options": {
|
|
87
|
-
"command": "uvx --with pycares==4.11.0 checkov==3.2.
|
|
87
|
+
"command": "uvx --with pycares==4.11.0 checkov==3.2.497 --config-file packages/test/checkov.yml --file dist/packages/test/cdk.out/**/*.template.json",
|
|
88
88
|
},
|
|
89
89
|
"outputs": [
|
|
90
90
|
"{workspaceRoot}/dist/{projectRoot}/checkov",
|
|
@@ -177,7 +177,7 @@ exports[`infra generator > should configure project.json with correct targets >
|
|
|
177
177
|
"{workspaceRoot}/dist/{projectRoot}/cdk.out",
|
|
178
178
|
],
|
|
179
179
|
"options": {
|
|
180
|
-
"command": "uvx --with pycares==4.11.0 checkov==3.2.
|
|
180
|
+
"command": "uvx --with pycares==4.11.0 checkov==3.2.497 --config-file packages/test/checkov.yml --file dist/packages/test/cdk.out/**/*.template.json",
|
|
181
181
|
},
|
|
182
182
|
"outputs": [
|
|
183
183
|
"{workspaceRoot}/dist/{projectRoot}/checkov",
|
|
@@ -724,7 +724,7 @@ exports[`infra generator > should handle custom project names correctly > custom
|
|
|
724
724
|
"{workspaceRoot}/dist/{projectRoot}/cdk.out",
|
|
725
725
|
],
|
|
726
726
|
"options": {
|
|
727
|
-
"command": "uvx --with pycares==4.11.0 checkov==3.2.
|
|
727
|
+
"command": "uvx --with pycares==4.11.0 checkov==3.2.497 --config-file packages/custom-infra/checkov.yml --file dist/packages/custom-infra/cdk.out/**/*.template.json",
|
|
728
728
|
},
|
|
729
729
|
"outputs": [
|
|
730
730
|
"{workspaceRoot}/dist/{projectRoot}/checkov",
|
|
@@ -64,6 +64,8 @@ The following list of generators are what is currently available in the \`@aws/n
|
|
|
64
64
|
|
|
65
65
|
- **ts#smithy-api**: Create an API using Smithy and the Smithy TypeScript Server SDK
|
|
66
66
|
|
|
67
|
+
- **ts#strands-agent**: Add a Strands Agent to a TypeScript project
|
|
68
|
+
|
|
67
69
|
- **ts#trpc-api**: creates a trpc backend
|
|
68
70
|
|
|
69
71
|
You also have the option of using additional [commmunity plugins](https://nx.dev/plugin-registry) as needed.
|
|
@@ -177,7 +179,7 @@ exports[`preset generator > should run successfully > nx.json 1`] = `
|
|
|
177
179
|
"cache": true
|
|
178
180
|
},
|
|
179
181
|
"compile": {
|
|
180
|
-
"syncGenerators": ["@aws/nx-plugin:ts#sync"]
|
|
182
|
+
"syncGenerators": ["@nx/js:typescript-sync", "@aws/nx-plugin:ts#sync"]
|
|
181
183
|
}
|
|
182
184
|
}
|
|
183
185
|
}
|
|
@@ -189,12 +191,12 @@ exports[`preset generator > should run successfully > package.json 1`] = `
|
|
|
189
191
|
"name": "@proj/source",
|
|
190
192
|
"dependencies": {},
|
|
191
193
|
"devDependencies": {
|
|
192
|
-
"@nx/js": "22.
|
|
193
|
-
"@nx/workspace": "22.
|
|
194
|
+
"@nx/js": "22.3.3",
|
|
195
|
+
"@nx/workspace": "22.3.3",
|
|
194
196
|
"@swc-node/register": "~1.9.1",
|
|
195
197
|
"@swc/core": "~1.5.7",
|
|
196
198
|
"@swc/helpers": "~0.5.11",
|
|
197
|
-
"prettier": "
|
|
199
|
+
"prettier": "~3.6.2",
|
|
198
200
|
"typescript": "~5.9.2"
|
|
199
201
|
},
|
|
200
202
|
"workspaces": [
|
package/src/preset/generator.js
CHANGED
|
@@ -20,6 +20,7 @@ const enquirer = tslib_1.__importStar(require("enquirer"));
|
|
|
20
20
|
const utils_1 = require("../utils/config/utils");
|
|
21
21
|
const generator_1 = require("../ts/sync/generator");
|
|
22
22
|
const WORKSPACES = ['packages/*'];
|
|
23
|
+
const NX_TYPESCRIPT_SYNC_GENERATOR = '@nx/js:typescript-sync';
|
|
23
24
|
exports.PRESET_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
|
|
24
25
|
const setUpWorkspaces = (tree) => {
|
|
25
26
|
if ((0, devkit_1.detectPackageManager)() === 'pnpm') {
|
|
@@ -114,7 +115,8 @@ const presetGenerator = (tree_1, _a) => tslib_1.__awaiter(void 0, [tree_1, _a],
|
|
|
114
115
|
setUpWorkspaces(tree);
|
|
115
116
|
const nxJson = (0, devkit_1.readNxJson)(tree);
|
|
116
117
|
(0, devkit_1.updateNxJson)(tree, Object.assign(Object.assign({}, nxJson), { targetDefaults: Object.assign(Object.assign({}, nxJson.targetDefaults), { compile: Object.assign(Object.assign({}, (_b = nxJson.targetDefaults) === null || _b === void 0 ? void 0 : _b.compile), { syncGenerators: [
|
|
117
|
-
...((_e = (_d = (_c = nxJson.targetDefaults) === null || _c === void 0 ? void 0 : _c.compile) === null || _d === void 0 ? void 0 : _d.syncGenerators) !== null && _e !== void 0 ? _e : []).filter((g) =>
|
|
118
|
+
...((_e = (_d = (_c = nxJson.targetDefaults) === null || _c === void 0 ? void 0 : _c.compile) === null || _d === void 0 ? void 0 : _d.syncGenerators) !== null && _e !== void 0 ? _e : []).filter((g) => ![generator_1.SYNC_GENERATOR_NAME, NX_TYPESCRIPT_SYNC_GENERATOR].includes(g)),
|
|
119
|
+
NX_TYPESCRIPT_SYNC_GENERATOR,
|
|
118
120
|
generator_1.SYNC_GENERATOR_NAME,
|
|
119
121
|
] }) }) }));
|
|
120
122
|
(0, devkit_1.updateJson)(tree, 'package.json', (packageJson) => (Object.assign(Object.assign({}, packageJson), { type: 'module', scripts: Object.assign(Object.assign({}, packageJson.scripts), { 'build:all': 'nx run-many --target build --all', 'affected:all': 'nx affected --target build' }) })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/preset/generator.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/preset/generator.ts"],"names":[],"mappings":";;;AA8EA,kCA4BC;;AA1GD;;;GAGG;AACH,uCAaoB;AACpB,oCAAgE;AAChE,8CAAmE;AACnE,4CAAuD;AACvD,+BAAuC;AACvC,4DAAkE;AAClE,kDAAiD;AACjD,oFAAmD;AAEnD,iDAAyC;AACzC,2DAAqC;AACrC,iDAG+B;AAC/B,oDAAqF;AAErF,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC,CAAC;AAClC,MAAM,4BAA4B,GAAG,wBAAwB,CAAC;AAEjD,QAAA,qBAAqB,GAChC,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAE/B,MAAM,eAAe,GAAG,CAAC,IAAU,EAAE,EAAE;IACrC,IAAI,IAAA,6BAAoB,GAAE,KAAK,MAAM,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CACR,qBAAqB,EACrB;IACF,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;CACjE,CACI,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,IAAA,mBAAU,EAAC,IAAI,EAAE,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;YACxC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,WAAW;IACzB,IAAI,CAAC;QACH,sEAAsE;QACtE,MAAM,QAAQ,GAAG,IAAA,wBAAQ,EAAC,uBAAuB,EAAE;YACjD,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC,IAAI,EAAE,CAAC;QAEV,yCAAyC;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,KAAK,CAAC;QACf,CAAC;QAED,6CAA6C;QAC7C,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,2DAA2D;QAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAE3C,gFAAgF;QAChF,OAAO,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,8DAA8D;QAC9D,8DAA8D;QAC9D,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEM,MAAM,eAAe,GAAG,aAGD,EAAE,4DAF9B,IAAU,EACV,EAAE,WAAW,EAAE,WAAW,EAAyB;;IAEnD,IACE,WAAW,EAAE;QACb,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM;QACnB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACf,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,EACjC,CAAC;QACD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAA4B;YACxE;gBACE,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,2CAA2C;gBACpD,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,MAAM;aAChB;SACF,CAAC,CAAC;QAEH,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAA,+BAAuB,EAAC,IAAI,CAAC,CAAC;YACpC,MAAM,IAAA,+BAAuB,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,MAAM,IAAA,+BAAuB,EAAC,IAAI,CAAC,CAAC;IACpC,MAAM,IAAA,+BAAuB,EAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAExE,MAAM,IAAA,kBAAa,EAAC,IAAI,EAAE;QACxB,SAAS,EAAE,UAAU;QACrB,WAAW,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI;KACjC,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC7B,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAEpC,eAAe,CAAC,IAAI,CAAC,CAAC;IAEtB,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;IAChC,IAAA,qBAAY,EAAC,IAAI,kCACZ,MAAM,KACT,cAAc,kCACT,MAAM,CAAC,cAAc,KACxB,OAAO,kCACF,MAAA,MAAM,CAAC,cAAc,0CAAE,OAAO,KACjC,cAAc,EAAE;oBACd,GAAG,CAAC,MAAA,MAAA,MAAA,MAAM,CAAC,cAAc,0CAAE,OAAO,0CAAE,cAAc,mCAAI,EAAE,CAAC,CAAC,MAAM,CAC9D,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,+BAAsB,EAAE,4BAA4B,CAAC,CAAC,QAAQ,CAC9D,CAAC,CACF,CACJ;oBACD,4BAA4B;oBAC5B,+BAAsB;iBACvB,UAGL,CAAC;IAEH,IAAA,mBAAU,EAAC,IAAI,EAAE,cAAc,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,iCAC7C,WAAW,KACd,IAAI,EAAE,QAAQ,EACd,OAAO,kCACF,WAAW,CAAC,OAAO,KACtB,WAAW,EAAE,kCAAkC,EAC/C,cAAc,EAAE,4BAA4B,OAE9C,CAAC,CAAC;IAEJ,IAAA,qCAA4B,EAC1B,IAAI,EACJ,EAAE,EACF;QACE,eAAe,EAAE,IAAA,oCAAqB,EAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,OAAO;KACrE,CACF,CAAC;IAEF,IAAA,sBAAa,EACX,IAAI,EAAE,0BAA0B;IAChC,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,CAAC,EACrC,GAAG,EACH;QACE,WAAW,EAAE,IAAA,uBAAW,EAAC,IAAI,CAAC;QAC9B,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,yBAAc,CAAC,UAAU,CAAC;aAClD,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7D,SAAS,EAAE,IAAA,iCAAwB,GAAE,CAAC,IAAI;KAC3C,EACD;QACE,iBAAiB,EAAE,0BAAiB,CAAC,SAAS;KAC/C,CACF,CAAC;IAEF,MAAM,IAAA,yCAA+B,EAAC,IAAI,EAAE,CAAC,6BAAqB,CAAC,CAAC,CAAC;IAErE,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;IACjC,OAAO,GAAG,EAAE;QACV,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC,CAAA,CAAC;AArGW,QAAA,eAAe,mBAqG1B;AAEF,kBAAe,uBAAe,CAAC"}
|
|
@@ -545,9 +545,9 @@ exports[`py#mcp-server generator > should match snapshot for generated files > u
|
|
|
545
545
|
name = "proj.test_project"
|
|
546
546
|
version = "0.1.0"
|
|
547
547
|
dependencies = [
|
|
548
|
-
"mcp==1.
|
|
549
|
-
"boto3==1.42.
|
|
550
|
-
"aws-opentelemetry-distro==0.14.
|
|
548
|
+
"mcp==1.25.0",
|
|
549
|
+
"boto3==1.42.21",
|
|
550
|
+
"aws-opentelemetry-distro==0.14.1"
|
|
551
551
|
]
|
|
552
552
|
|
|
553
553
|
[dependency-groups]
|
|
@@ -587,18 +587,18 @@ exports[`py#strands-agent generator > should match snapshot for generated files
|
|
|
587
587
|
name = "proj.test_project"
|
|
588
588
|
version = "0.1.0"
|
|
589
589
|
dependencies = [
|
|
590
|
-
"aws-opentelemetry-distro==0.14.
|
|
590
|
+
"aws-opentelemetry-distro==0.14.1",
|
|
591
591
|
"bedrock-agentcore==0.1.7",
|
|
592
|
-
"fastapi==0.
|
|
593
|
-
"boto3==1.42.
|
|
594
|
-
"mcp==1.
|
|
595
|
-
"strands-agents==1.
|
|
596
|
-
"strands-agents-tools==0.2.
|
|
597
|
-
"uvicorn==0.
|
|
592
|
+
"fastapi==0.128.0",
|
|
593
|
+
"boto3==1.42.21",
|
|
594
|
+
"mcp==1.25.0",
|
|
595
|
+
"strands-agents==1.21.0",
|
|
596
|
+
"strands-agents-tools==0.2.19",
|
|
597
|
+
"uvicorn==0.40.0"
|
|
598
598
|
]
|
|
599
599
|
|
|
600
600
|
[dependency-groups]
|
|
601
|
-
dev = [ "fastapi[standard]==0.
|
|
601
|
+
dev = [ "fastapi[standard]==0.128.0" ]
|
|
602
602
|
|
|
603
603
|
[tool.uv]
|
|
604
604
|
dev-dependencies = [ ]
|
|
@@ -640,14 +640,14 @@ exports[`ts#mcp-server generator > should match snapshot for generated files > u
|
|
|
640
640
|
"snapshot-server": "./src/snapshot-server/stdio.js"
|
|
641
641
|
},
|
|
642
642
|
"dependencies": {
|
|
643
|
-
"@modelcontextprotocol/sdk": "1.
|
|
644
|
-
"express": "5.1
|
|
645
|
-
"zod": "4.
|
|
643
|
+
"@modelcontextprotocol/sdk": "1.25.2",
|
|
644
|
+
"express": "5.2.1",
|
|
645
|
+
"zod": "4.3.5"
|
|
646
646
|
},
|
|
647
647
|
"devDependencies": {
|
|
648
|
-
"@modelcontextprotocol/inspector": "0.
|
|
649
|
-
"@types/express": "5.0.
|
|
650
|
-
"tsx": "4.
|
|
648
|
+
"@modelcontextprotocol/inspector": "0.18.0",
|
|
649
|
+
"@types/express": "5.0.6",
|
|
650
|
+
"tsx": "4.21.0"
|
|
651
651
|
}
|
|
652
652
|
}
|
|
653
653
|
"
|
|
@@ -248,7 +248,7 @@ export const registerCreateWorkspaceCommandTool = (server: McpServer) => {
|
|
|
248
248
|
text: \`Run the following command to create a workspace:
|
|
249
249
|
|
|
250
250
|
\\\`\\\`\\\`bash
|
|
251
|
-
npx create-nx-workspace@22.
|
|
251
|
+
npx create-nx-workspace@22.3.3 \${workspaceName} --pm=\${packageManager} --preset=@aws/nx-plugin --ci=skip --aiAgents
|
|
252
252
|
\\\`\\\`\\\`
|
|
253
253
|
|
|
254
254
|
This will create a new workspace within the \${workspaceName} directory.
|