@aws/nx-plugin 0.47.0 → 0.48.1
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 +43140 -0
- package/generators.json +119 -119
- package/package.json +1 -1
- package/src/mcp-server/tools/create-workspace-command.js +4 -0
- package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
- package/src/mcp-server/tools/general-guidance.js +3 -1
- package/src/mcp-server/tools/general-guidance.js.map +1 -1
- package/src/preset/__snapshots__/generator.spec.ts.snap +24 -15
- package/src/preset/generator.d.ts +1 -1
- package/src/preset/generator.js +4 -1
- package/src/preset/generator.js.map +1 -1
- package/src/preset/schema.d.ts +3 -0
- package/src/preset/schema.json +9 -1
- package/src/py/fast-api/generator.js +5 -3
- package/src/py/fast-api/generator.js.map +1 -1
- package/src/py/fast-api/schema.d.ts +3 -1
- package/src/py/fast-api/schema.json +4 -4
- package/src/py/lambda-function/generator.js +4 -2
- package/src/py/lambda-function/generator.js.map +1 -1
- package/src/py/lambda-function/schema.d.ts +3 -1
- package/src/py/lambda-function/schema.json +4 -4
- package/src/py/mcp-server/generator.js +4 -2
- package/src/py/mcp-server/generator.js.map +1 -1
- package/src/py/mcp-server/schema.d.ts +4 -1
- package/src/py/mcp-server/schema.json +4 -4
- package/src/py/strands-agent/generator.js +4 -2
- package/src/py/strands-agent/generator.js.map +1 -1
- package/src/py/strands-agent/schema.d.ts +3 -1
- package/src/py/strands-agent/schema.json +4 -4
- package/src/terraform/project/generator.js +2 -1
- package/src/terraform/project/generator.js.map +1 -1
- package/src/trpc/backend/generator.js +4 -2
- package/src/trpc/backend/generator.js.map +1 -1
- package/src/trpc/backend/schema.d.ts +2 -1
- package/src/trpc/backend/schema.json +4 -4
- package/src/ts/lambda-function/generator.js +4 -2
- package/src/ts/lambda-function/generator.js.map +1 -1
- package/src/ts/lambda-function/schema.d.ts +3 -1
- package/src/ts/lambda-function/schema.json +4 -4
- package/src/ts/mcp-server/generator.js +4 -2
- package/src/ts/mcp-server/generator.js.map +1 -1
- package/src/ts/mcp-server/schema.d.ts +3 -1
- package/src/ts/mcp-server/schema.json +4 -4
- package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +27 -1
- package/src/ts/nx-generator/files/nx-plugin-for-aws/docs/__nameKebabCase__.mdx.template +31 -0
- package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.spec.ts.template +1 -1
- package/src/ts/react-website/app/generator.js +7 -5
- package/src/ts/react-website/app/generator.js.map +1 -1
- package/src/ts/react-website/app/schema.d.ts +2 -1
- package/src/ts/react-website/app/schema.json +4 -4
- package/src/ts/react-website/cognito-auth/generator.js +4 -2
- package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
- package/src/ts/react-website/cognito-auth/schema.d.ts +4 -1
- package/src/ts/react-website/cognito-auth/schema.json +4 -4
- package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +4 -2
- package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
- package/src/utils/api-constructs/api-constructs.d.ts +2 -1
- package/src/utils/api-constructs/api-constructs.js.map +1 -1
- package/src/utils/config/index.d.ts +6 -0
- package/src/utils/config/index.js.map +1 -1
- package/src/utils/files/terraform/src/metrics/metrics.tf.template +7 -1
- package/src/utils/function-constructs/function-constructs.d.ts +2 -1
- package/src/utils/function-constructs/function-constructs.js.map +1 -1
- package/src/utils/iac.d.ts +21 -0
- package/src/utils/iac.js +25 -0
- package/src/utils/iac.js.map +1 -0
- package/src/utils/identity-constructs/identity-constructs.d.ts +2 -1
- package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
- package/src/utils/shared-constructs.d.ts +3 -2
- package/src/utils/shared-constructs.js +3 -3
- package/src/utils/shared-constructs.js.map +1 -1
- package/src/utils/website-constructs/website-constructs.d.ts +2 -1
- package/src/utils/website-constructs/website-constructs.js.map +1 -1
package/generators.json
CHANGED
|
@@ -3,82 +3,6 @@
|
|
|
3
3
|
"name": "@aws/nx-plugin",
|
|
4
4
|
"version": "0.0.1",
|
|
5
5
|
"generators": {
|
|
6
|
-
"ts#project": {
|
|
7
|
-
"factory": "./src/ts/lib/generator",
|
|
8
|
-
"schema": "./src/ts/lib/schema.json",
|
|
9
|
-
"description": "Generates a TypeScript project",
|
|
10
|
-
"metric": "g1",
|
|
11
|
-
"guidePages": ["typescript-project"]
|
|
12
|
-
},
|
|
13
|
-
"py#project": {
|
|
14
|
-
"factory": "./src/py/project/generator",
|
|
15
|
-
"schema": "./src/py/project/schema.json",
|
|
16
|
-
"description": "Generates a Python project",
|
|
17
|
-
"metric": "g2",
|
|
18
|
-
"guidePages": ["python-project"]
|
|
19
|
-
},
|
|
20
|
-
"py#fast-api": {
|
|
21
|
-
"factory": "./src/py/fast-api/generator",
|
|
22
|
-
"schema": "./src/py/fast-api/schema.json",
|
|
23
|
-
"description": "Generates a FastAPI Python project",
|
|
24
|
-
"metric": "g3",
|
|
25
|
-
"guidePages": ["fastapi"]
|
|
26
|
-
},
|
|
27
|
-
"py#fast-api#react-connection": {
|
|
28
|
-
"factory": "./src/py/fast-api/react/generator",
|
|
29
|
-
"schema": "./src/py/fast-api/react/schema.json",
|
|
30
|
-
"description": "Integrates a FastAPI with a React website",
|
|
31
|
-
"metric": "g4",
|
|
32
|
-
"hidden": true
|
|
33
|
-
},
|
|
34
|
-
"ts#react-website": {
|
|
35
|
-
"factory": "./src/ts/react-website/app/generator",
|
|
36
|
-
"schema": "./src/ts/react-website/app/schema.json",
|
|
37
|
-
"description": "Generates a React static website",
|
|
38
|
-
"metric": "g5",
|
|
39
|
-
"guidePages": ["react-website"]
|
|
40
|
-
},
|
|
41
|
-
"ts#react-website#auth": {
|
|
42
|
-
"factory": "./src/ts/react-website/cognito-auth/generator",
|
|
43
|
-
"schema": "./src/ts/react-website/cognito-auth/schema.json",
|
|
44
|
-
"description": "Adds auth to an existing React website",
|
|
45
|
-
"metric": "g6",
|
|
46
|
-
"guidePages": ["react-website-auth"]
|
|
47
|
-
},
|
|
48
|
-
"ts#react-website#runtime-config": {
|
|
49
|
-
"factory": "./src/ts/react-website/runtime-config/generator",
|
|
50
|
-
"schema": "./src/ts/react-website/runtime-config/schema.json",
|
|
51
|
-
"description": "Adds runtime config to an existing React website",
|
|
52
|
-
"metric": "g7",
|
|
53
|
-
"hidden": true
|
|
54
|
-
},
|
|
55
|
-
"ts#infra": {
|
|
56
|
-
"factory": "./src/infra/app/generator",
|
|
57
|
-
"schema": "./src/infra/app/schema.json",
|
|
58
|
-
"description": "Generates a cdk application",
|
|
59
|
-
"metric": "g8",
|
|
60
|
-
"guidePages": ["typescript-infrastructure"]
|
|
61
|
-
},
|
|
62
|
-
"ts#lambda-function": {
|
|
63
|
-
"factory": "./src/ts/lambda-function/generator",
|
|
64
|
-
"schema": "./src/ts/lambda-function/schema.json",
|
|
65
|
-
"description": "Generate a TypeScript lambda function",
|
|
66
|
-
"metric": "g21"
|
|
67
|
-
},
|
|
68
|
-
"ts#trpc-api": {
|
|
69
|
-
"factory": "./src/trpc/backend/generator",
|
|
70
|
-
"schema": "./src/trpc/backend/schema.json",
|
|
71
|
-
"description": "creates a trpc backend",
|
|
72
|
-
"metric": "g9",
|
|
73
|
-
"guidePages": ["trpc"]
|
|
74
|
-
},
|
|
75
|
-
"ts#trpc-api#react-connection": {
|
|
76
|
-
"factory": "./src/trpc/react/generator",
|
|
77
|
-
"schema": "./src/trpc/react/schema.json",
|
|
78
|
-
"description": "provides React integration to a React website",
|
|
79
|
-
"metric": "g10",
|
|
80
|
-
"hidden": true
|
|
81
|
-
},
|
|
82
6
|
"api-connection": {
|
|
83
7
|
"factory": "./src/api-connection/generator",
|
|
84
8
|
"schema": "./src/api-connection/schema.json",
|
|
@@ -90,20 +14,6 @@
|
|
|
90
14
|
"api-connection/react-trpc"
|
|
91
15
|
]
|
|
92
16
|
},
|
|
93
|
-
"open-api#ts-client": {
|
|
94
|
-
"factory": "./src/open-api/ts-client/generator",
|
|
95
|
-
"schema": "./src/open-api/ts-client/schema.json",
|
|
96
|
-
"description": "Generate a typescript client from an OpenAPI specification",
|
|
97
|
-
"metric": "g12",
|
|
98
|
-
"hidden": true
|
|
99
|
-
},
|
|
100
|
-
"open-api#ts-hooks": {
|
|
101
|
-
"factory": "./src/open-api/ts-hooks/generator",
|
|
102
|
-
"schema": "./src/open-api/ts-hooks/schema.json",
|
|
103
|
-
"description": "Generate typescript hooks from an OpenAPI specification",
|
|
104
|
-
"metric": "g13",
|
|
105
|
-
"hidden": true
|
|
106
|
-
},
|
|
107
17
|
"license": {
|
|
108
18
|
"factory": "./src/license/generator",
|
|
109
19
|
"schema": "./src/license/schema.json",
|
|
@@ -117,25 +27,19 @@
|
|
|
117
27
|
"metric": "g15",
|
|
118
28
|
"hidden": true
|
|
119
29
|
},
|
|
120
|
-
"
|
|
121
|
-
"factory": "./src/
|
|
122
|
-
"schema": "./src/
|
|
123
|
-
"description": "
|
|
124
|
-
"metric": "
|
|
125
|
-
"
|
|
126
|
-
},
|
|
127
|
-
"ts#nx-generator": {
|
|
128
|
-
"factory": "./src/ts/nx-generator/generator",
|
|
129
|
-
"schema": "./src/ts/nx-generator/schema.json",
|
|
130
|
-
"description": "Generator for adding an Nx Generator to an existing TypeScript project",
|
|
131
|
-
"metric": "g17",
|
|
132
|
-
"guidePages": ["nx-generator"]
|
|
30
|
+
"open-api#ts-client": {
|
|
31
|
+
"factory": "./src/open-api/ts-client/generator",
|
|
32
|
+
"schema": "./src/open-api/ts-client/schema.json",
|
|
33
|
+
"description": "Generate a typescript client from an OpenAPI specification",
|
|
34
|
+
"metric": "g12",
|
|
35
|
+
"hidden": true
|
|
133
36
|
},
|
|
134
|
-
"ts
|
|
135
|
-
"factory": "./src/ts
|
|
136
|
-
"schema": "./src/ts
|
|
137
|
-
"description": "Generate
|
|
138
|
-
"metric": "
|
|
37
|
+
"open-api#ts-hooks": {
|
|
38
|
+
"factory": "./src/open-api/ts-hooks/generator",
|
|
39
|
+
"schema": "./src/open-api/ts-hooks/schema.json",
|
|
40
|
+
"description": "Generate typescript hooks from an OpenAPI specification",
|
|
41
|
+
"metric": "g13",
|
|
42
|
+
"hidden": true
|
|
139
43
|
},
|
|
140
44
|
"open-api#ts-metadata": {
|
|
141
45
|
"factory": "./src/open-api/ts-metadata/generator",
|
|
@@ -151,18 +55,26 @@
|
|
|
151
55
|
"metric": "g20",
|
|
152
56
|
"hidden": true
|
|
153
57
|
},
|
|
154
|
-
"
|
|
155
|
-
"factory": "./src/
|
|
156
|
-
"schema": "./src/
|
|
157
|
-
"description": "
|
|
158
|
-
"metric": "
|
|
58
|
+
"py#fast-api": {
|
|
59
|
+
"factory": "./src/py/fast-api/generator",
|
|
60
|
+
"schema": "./src/py/fast-api/schema.json",
|
|
61
|
+
"description": "Generates a FastAPI Python project",
|
|
62
|
+
"metric": "g3",
|
|
63
|
+
"guidePages": ["fastapi"]
|
|
159
64
|
},
|
|
160
|
-
"
|
|
161
|
-
"factory": "./src/
|
|
162
|
-
"schema": "./src/
|
|
163
|
-
"description": "
|
|
164
|
-
"metric": "
|
|
165
|
-
"
|
|
65
|
+
"py#fast-api#react-connection": {
|
|
66
|
+
"factory": "./src/py/fast-api/react/generator",
|
|
67
|
+
"schema": "./src/py/fast-api/react/schema.json",
|
|
68
|
+
"description": "Integrates a FastAPI with a React website",
|
|
69
|
+
"metric": "g4",
|
|
70
|
+
"hidden": true
|
|
71
|
+
},
|
|
72
|
+
"py#lambda-function": {
|
|
73
|
+
"factory": "./src/py/lambda-function/generator",
|
|
74
|
+
"schema": "./src/py/lambda-function/schema.json",
|
|
75
|
+
"description": "Adds a lambda function to a python project",
|
|
76
|
+
"metric": "g16",
|
|
77
|
+
"guidePages": ["python-lambda-function"]
|
|
166
78
|
},
|
|
167
79
|
"py#mcp-server": {
|
|
168
80
|
"factory": "./src/py/mcp-server/generator",
|
|
@@ -170,11 +82,99 @@
|
|
|
170
82
|
"description": "Generate a Python Model Context Protocol (MCP) server for providing context to Large Language Models",
|
|
171
83
|
"metric": "g24"
|
|
172
84
|
},
|
|
85
|
+
"py#project": {
|
|
86
|
+
"factory": "./src/py/project/generator",
|
|
87
|
+
"schema": "./src/py/project/schema.json",
|
|
88
|
+
"description": "Generates a Python project",
|
|
89
|
+
"metric": "g2",
|
|
90
|
+
"guidePages": ["python-project"]
|
|
91
|
+
},
|
|
173
92
|
"py#strands-agent": {
|
|
174
93
|
"factory": "./src/py/strands-agent/generator",
|
|
175
94
|
"schema": "./src/py/strands-agent/schema.json",
|
|
176
95
|
"description": "Add a Strands Agent to a Python project",
|
|
177
96
|
"metric": "g25"
|
|
97
|
+
},
|
|
98
|
+
"terraform#project": {
|
|
99
|
+
"factory": "./src/terraform/project/generator",
|
|
100
|
+
"schema": "./src/terraform/project/schema.json",
|
|
101
|
+
"description": "Generates a Terraform project",
|
|
102
|
+
"metric": "g23",
|
|
103
|
+
"guidePages": ["terraform-project"]
|
|
104
|
+
},
|
|
105
|
+
"ts#infra": {
|
|
106
|
+
"factory": "./src/infra/app/generator",
|
|
107
|
+
"schema": "./src/infra/app/schema.json",
|
|
108
|
+
"description": "Generates a cdk application",
|
|
109
|
+
"metric": "g8",
|
|
110
|
+
"guidePages": ["typescript-infrastructure"]
|
|
111
|
+
},
|
|
112
|
+
"ts#lambda-function": {
|
|
113
|
+
"factory": "./src/ts/lambda-function/generator",
|
|
114
|
+
"schema": "./src/ts/lambda-function/schema.json",
|
|
115
|
+
"description": "Generate a TypeScript lambda function",
|
|
116
|
+
"metric": "g21"
|
|
117
|
+
},
|
|
118
|
+
"ts#mcp-server": {
|
|
119
|
+
"factory": "./src/ts/mcp-server/generator",
|
|
120
|
+
"schema": "./src/ts/mcp-server/schema.json",
|
|
121
|
+
"description": "Generate a TypeScript Model Context Protocol (MCP) server for providing context to Large Language Models",
|
|
122
|
+
"metric": "g18"
|
|
123
|
+
},
|
|
124
|
+
"ts#nx-generator": {
|
|
125
|
+
"factory": "./src/ts/nx-generator/generator",
|
|
126
|
+
"schema": "./src/ts/nx-generator/schema.json",
|
|
127
|
+
"description": "Generator for adding an Nx Generator to an existing TypeScript project",
|
|
128
|
+
"metric": "g17",
|
|
129
|
+
"guidePages": ["nx-generator"]
|
|
130
|
+
},
|
|
131
|
+
"ts#nx-plugin": {
|
|
132
|
+
"factory": "./src/ts/nx-plugin/generator",
|
|
133
|
+
"schema": "./src/ts/nx-plugin/schema.json",
|
|
134
|
+
"description": "Generate an Nx Plugin of your own! Build custom generators automatically made available for AI vibe-coding via MCP",
|
|
135
|
+
"metric": "g22"
|
|
136
|
+
},
|
|
137
|
+
"ts#project": {
|
|
138
|
+
"factory": "./src/ts/lib/generator",
|
|
139
|
+
"schema": "./src/ts/lib/schema.json",
|
|
140
|
+
"description": "Generates a TypeScript project",
|
|
141
|
+
"metric": "g1",
|
|
142
|
+
"guidePages": ["typescript-project"]
|
|
143
|
+
},
|
|
144
|
+
"ts#react-website": {
|
|
145
|
+
"factory": "./src/ts/react-website/app/generator",
|
|
146
|
+
"schema": "./src/ts/react-website/app/schema.json",
|
|
147
|
+
"description": "Generates a React static website",
|
|
148
|
+
"metric": "g5",
|
|
149
|
+
"guidePages": ["react-website"]
|
|
150
|
+
},
|
|
151
|
+
"ts#react-website#auth": {
|
|
152
|
+
"factory": "./src/ts/react-website/cognito-auth/generator",
|
|
153
|
+
"schema": "./src/ts/react-website/cognito-auth/schema.json",
|
|
154
|
+
"description": "Adds auth to an existing React website",
|
|
155
|
+
"metric": "g6",
|
|
156
|
+
"guidePages": ["react-website-auth"]
|
|
157
|
+
},
|
|
158
|
+
"ts#react-website#runtime-config": {
|
|
159
|
+
"factory": "./src/ts/react-website/runtime-config/generator",
|
|
160
|
+
"schema": "./src/ts/react-website/runtime-config/schema.json",
|
|
161
|
+
"description": "Adds runtime config to an existing React website",
|
|
162
|
+
"metric": "g7",
|
|
163
|
+
"hidden": true
|
|
164
|
+
},
|
|
165
|
+
"ts#trpc-api": {
|
|
166
|
+
"factory": "./src/trpc/backend/generator",
|
|
167
|
+
"schema": "./src/trpc/backend/schema.json",
|
|
168
|
+
"description": "creates a trpc backend",
|
|
169
|
+
"metric": "g9",
|
|
170
|
+
"guidePages": ["trpc"]
|
|
171
|
+
},
|
|
172
|
+
"ts#trpc-api#react-connection": {
|
|
173
|
+
"factory": "./src/trpc/react/generator",
|
|
174
|
+
"schema": "./src/trpc/react/schema.json",
|
|
175
|
+
"description": "provides React integration to a React website",
|
|
176
|
+
"metric": "g10",
|
|
177
|
+
"hidden": true
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
180
|
}
|
package/package.json
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.addCreateWorkspaceCommandTool = void 0;
|
|
4
4
|
const zod_v3_1 = require("zod-v3");
|
|
5
5
|
const schema_1 = require("../schema");
|
|
6
|
+
const iac_1 = require("../../utils/iac");
|
|
6
7
|
/**
|
|
7
8
|
* Add a tool which tells a model how to create an Nx workspace
|
|
8
9
|
*/
|
|
@@ -18,6 +19,9 @@ npx create-nx-workspace@~21.4.1 ${workspaceName} --pm=${packageManager} --preset
|
|
|
18
19
|
\`\`\`
|
|
19
20
|
|
|
20
21
|
This will create a new workspace within the ${workspaceName} directory.
|
|
22
|
+
|
|
23
|
+
Note that this will prompt for an Infrastructure as Code provider (${iac_1.IAC_PROVIDERS.join(', ')}).
|
|
24
|
+
If you know the preferred option, pass ${iac_1.IAC_PROVIDERS.map((iac) => `\`--iacProvider=${iac}\``).join(' or ')} to the above command to skip the prompt.
|
|
21
25
|
`,
|
|
22
26
|
},
|
|
23
27
|
],
|
|
@@ -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,mCAA2B;AAC3B,sCAAiD;
|
|
1
|
+
{"version":3,"file":"create-workspace-command.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/mcp-server/tools/create-workspace-command.ts"],"names":[],"mappings":";;;AAKA,mCAA2B;AAC3B,sCAAiD;AACjD,yCAAgD;AAEhD;;GAEG;AACI,MAAM,6BAA6B,GAAG,CAAC,MAAiB,EAAE,EAAE;IACjE,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,oEAAoE,EACpE,EAAE,aAAa,EAAE,UAAC,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;;qEAEU,mBAAa,CAAC,IAAI,CAAC,IAAI,CAAC;yCACpD,mBAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;GACzG;aACM;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAxBW,QAAA,6BAA6B,iCAwBxC"}
|
|
@@ -4,6 +4,7 @@ exports.addGeneralGuidanceTool = exports.TOOL_SELECTION_GUIDE = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const schema_1 = require("../schema");
|
|
6
6
|
const generator_info_1 = require("../generator-info");
|
|
7
|
+
const iac_1 = require("../../utils/iac");
|
|
7
8
|
exports.TOOL_SELECTION_GUIDE = `## Tool Selection Guide
|
|
8
9
|
|
|
9
10
|
- Use the \`general-guidance\` tool for guidance and best practices for working with Nx and the Nx Plugin for AWS.
|
|
@@ -25,7 +26,8 @@ ${exports.TOOL_SELECTION_GUIDE}
|
|
|
25
26
|
|
|
26
27
|
## Getting Started
|
|
27
28
|
|
|
28
|
-
- Choose a package manager first. You can choose between ${schema_1.PACKAGE_MANAGERS.join('
|
|
29
|
+
- Choose a package manager first. You can choose between ${schema_1.PACKAGE_MANAGERS.join(', ')}. It's recommended to use "pnpm" if the user has no preference
|
|
30
|
+
- Choose an infrastructure as code (IaC) provider next. You can choose between ${iac_1.IAC_PROVIDERS.join(', ')}. It's recommended to use CDK if the user has no preference
|
|
29
31
|
- Next, you must create an Nx workspace. Use the \`create-workspace-command\` tool for more details, and provide it with your chosen package manager
|
|
30
32
|
- After this, you can start scaffolding the main components of your application using generators. Use the \`list-generators\` tool to discover available generators, and the \`generator-guide\` tool for more detailed information about a specific generator
|
|
31
33
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general-guidance.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/mcp-server/tools/general-guidance.ts"],"names":[],"mappings":";;;;AAMA,sCAA6C;AAC7C,sDAAoE;
|
|
1
|
+
{"version":3,"file":"general-guidance.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/mcp-server/tools/general-guidance.ts"],"names":[],"mappings":";;;;AAMA,sCAA6C;AAC7C,sDAAoE;AACpE,yCAAgD;AAEnC,QAAA,oBAAoB,GAAG;;;;;gGAK4D,CAAC;AAEjG;;GAEG;AACI,MAAM,sBAAsB,GAAG,CACpC,MAAiB,EACjB,UAA6B,EAC7B,EAAE;IACF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,oFAAoF,EACpF,GAAS,EAAE;QAAC,OAAA,CAAC;YACX,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;;EAEd,4BAAoB;;;;2DAIqC,yBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;iFACL,mBAAa,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;EAOvG,yBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,+BAAc,EAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkC3E,MAAM,IAAA,gCAAe,EAAC,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,EAAE,UAAU,CAAC;;KAExE;iBACI;aACF;SACF,CAAC,CAAA;MAAA,CACH,CAAC;AACJ,CAAC,CAAC;AAlEW,QAAA,sBAAsB,0BAkEjC"}
|
|
@@ -30,39 +30,39 @@ Nx Console is an editor extension that enriches your developer experience. It le
|
|
|
30
30
|
|
|
31
31
|
The following list of generators are what is currently available in the \`@aws/nx-plugin\`:
|
|
32
32
|
|
|
33
|
-
- **
|
|
33
|
+
- **api-connection**: Integrates a source project with a target API project
|
|
34
34
|
|
|
35
|
-
- **
|
|
35
|
+
- **license**: Add LICENSE files and configure source code licence headers
|
|
36
36
|
|
|
37
37
|
- **py#fast-api**: Generates a FastAPI Python project
|
|
38
38
|
|
|
39
|
-
- **
|
|
39
|
+
- **py#lambda-function**: Adds a lambda function to a python project
|
|
40
40
|
|
|
41
|
-
- **
|
|
41
|
+
- **py#mcp-server**: Generate a Python Model Context Protocol (MCP) server for providing context to Large Language Models
|
|
42
42
|
|
|
43
|
-
- **
|
|
43
|
+
- **py#project**: Generates a Python project
|
|
44
44
|
|
|
45
|
-
- **
|
|
45
|
+
- **py#strands-agent**: Add a Strands Agent to a Python project
|
|
46
46
|
|
|
47
|
-
- **
|
|
47
|
+
- **terraform#project**: Generates a Terraform project
|
|
48
48
|
|
|
49
|
-
- **
|
|
49
|
+
- **ts#infra**: Generates a cdk application
|
|
50
50
|
|
|
51
|
-
- **
|
|
51
|
+
- **ts#lambda-function**: Generate a TypeScript lambda function
|
|
52
52
|
|
|
53
|
-
- **
|
|
53
|
+
- **ts#mcp-server**: Generate a TypeScript Model Context Protocol (MCP) server for providing context to Large Language Models
|
|
54
54
|
|
|
55
55
|
- **ts#nx-generator**: Generator for adding an Nx Generator to an existing TypeScript project
|
|
56
56
|
|
|
57
|
-
- **ts#mcp-server**: Generate a TypeScript Model Context Protocol (MCP) server for providing context to Large Language Models
|
|
58
|
-
|
|
59
57
|
- **ts#nx-plugin**: Generate an Nx Plugin of your own! Build custom generators automatically made available for AI vibe-coding via MCP
|
|
60
58
|
|
|
61
|
-
- **
|
|
59
|
+
- **ts#project**: Generates a TypeScript project
|
|
62
60
|
|
|
63
|
-
- **
|
|
61
|
+
- **ts#react-website**: Generates a React static website
|
|
64
62
|
|
|
65
|
-
- **
|
|
63
|
+
- **ts#react-website#auth**: Adds auth to an existing React website
|
|
64
|
+
|
|
65
|
+
- **ts#trpc-api**: creates a trpc backend
|
|
66
66
|
|
|
67
67
|
You also have the option of using additional [commmunity plugins](https://nx.dev/plugin-registry) as needed.
|
|
68
68
|
|
|
@@ -153,6 +153,15 @@ Learn more:
|
|
|
153
153
|
"
|
|
154
154
|
`;
|
|
155
155
|
|
|
156
|
+
exports[`preset generator > should run successfully > aws-nx-plugin.config.mts 1`] = `
|
|
157
|
+
"import { AwsNxPluginConfig } from '@aws/nx-plugin';
|
|
158
|
+
|
|
159
|
+
export default {
|
|
160
|
+
iac: { provider: 'CDK' },
|
|
161
|
+
} satisfies AwsNxPluginConfig;
|
|
162
|
+
"
|
|
163
|
+
`;
|
|
164
|
+
|
|
156
165
|
exports[`preset generator > should run successfully > nx.json 1`] = `
|
|
157
166
|
"{
|
|
158
167
|
"affected": { "defaultBase": "main" },
|
|
@@ -29,5 +29,5 @@ export declare const PRESET_GENERATOR_INFO: NxGeneratorInfo;
|
|
|
29
29
|
* isAmazonian(); // false
|
|
30
30
|
*/
|
|
31
31
|
export declare function isAmazonian(): boolean;
|
|
32
|
-
export declare const presetGenerator: (tree: Tree, { addTsPlugin }: PresetGeneratorSchema) => Promise<GeneratorCallback>;
|
|
32
|
+
export declare const presetGenerator: (tree: Tree, { addTsPlugin, iacProvider }: PresetGeneratorSchema) => Promise<GeneratorCallback>;
|
|
33
33
|
export default presetGenerator;
|
package/src/preset/generator.js
CHANGED
|
@@ -81,7 +81,7 @@ function isAmazonian() {
|
|
|
81
81
|
return false;
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
const presetGenerator = (tree_1, _a) => tslib_1.__awaiter(void 0, [tree_1, _a], void 0, function* (tree, { addTsPlugin }) {
|
|
84
|
+
const presetGenerator = (tree_1, _a) => tslib_1.__awaiter(void 0, [tree_1, _a], void 0, function* (tree, { addTsPlugin, iacProvider }) {
|
|
85
85
|
if (isAmazonian() &&
|
|
86
86
|
!process.env.VITEST &&
|
|
87
87
|
!process.env.CI &&
|
|
@@ -99,6 +99,9 @@ const presetGenerator = (tree_1, _a) => tslib_1.__awaiter(void 0, [tree_1, _a],
|
|
|
99
99
|
yield (0, utils_1.updateAwsNxPluginConfig)(tree, { tags: [engagementId] });
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
|
+
// Write IaC provider to plugin config
|
|
103
|
+
yield (0, utils_1.ensureAwsNxPluginConfig)(tree);
|
|
104
|
+
yield (0, utils_1.updateAwsNxPluginConfig)(tree, { iac: { provider: iacProvider } });
|
|
102
105
|
yield (0, js_1.initGenerator)(tree, {
|
|
103
106
|
formatter: 'prettier',
|
|
104
107
|
addTsPlugin: addTsPlugin !== null && addTsPlugin !== void 0 ? addTsPlugin : true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/preset/generator.ts"],"names":[],"mappings":";;;AA0EA,kCA4BC;;AAtGD;;;GAGG;AACH,uCAWoB;AACpB,oCAAgE;AAChE,8CAAmE;AACnE,4CAAuD;AACvD,+BAAuC;AACvC,4DAAkE;AAClE,kDAAiD;AACjD,oFAAmD;AAEnD,iDAAyC;AACzC,2DAAqC;AACrC,iDAG+B;AAE/B,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC,CAAC;AAErB,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,EAAyB;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/preset/generator.ts"],"names":[],"mappings":"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"}
|
package/src/preset/schema.d.ts
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
+
import { IacProvider } from '../utils/iac';
|
|
6
|
+
|
|
5
7
|
export interface PresetGeneratorSchema {
|
|
6
8
|
readonly addTsPlugin?: boolean;
|
|
9
|
+
readonly iacProvider: IacProvider;
|
|
7
10
|
}
|
package/src/preset/schema.json
CHANGED
|
@@ -9,6 +9,14 @@
|
|
|
9
9
|
"type": "boolean",
|
|
10
10
|
"description": "Whether to add the ts plugin.",
|
|
11
11
|
"default": true
|
|
12
|
+
},
|
|
13
|
+
"iacProvider": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "The preferred IaC provider.",
|
|
16
|
+
"enum": ["CDK", "Terraform"],
|
|
17
|
+
"x-priority": "important",
|
|
18
|
+
"x-prompt": "Which provider would you like to manage your infrastructure?"
|
|
12
19
|
}
|
|
13
|
-
}
|
|
20
|
+
},
|
|
21
|
+
"required": ["iacProvider"]
|
|
14
22
|
}
|
|
@@ -25,13 +25,15 @@ const port_1 = require("../../utils/port");
|
|
|
25
25
|
const bundle_1 = require("../../utils/bundle");
|
|
26
26
|
const py_1 = require("../../utils/py");
|
|
27
27
|
const versions_1 = require("../../utils/versions");
|
|
28
|
+
const iac_1 = require("../../utils/iac");
|
|
28
29
|
exports.FAST_API_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
|
|
29
30
|
/**
|
|
30
31
|
* Generates a Python FastAPI project
|
|
31
32
|
*/
|
|
32
33
|
const pyFastApiProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
34
|
+
const iacProvider = yield (0, iac_1.resolveIacProvider)(tree, schema.iacProvider);
|
|
33
35
|
yield (0, shared_constructs_1.sharedConstructsGenerator)(tree, {
|
|
34
|
-
iacProvider
|
|
36
|
+
iacProvider,
|
|
35
37
|
});
|
|
36
38
|
const { dir, normalizedModuleName, fullyQualifiedName } = (0, generator_1.getPyProjectDetails)(tree, {
|
|
37
39
|
name: schema.name,
|
|
@@ -88,11 +90,11 @@ const pyFastApiProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, vo
|
|
|
88
90
|
moduleName: normalizedModuleName,
|
|
89
91
|
},
|
|
90
92
|
auth: schema.auth,
|
|
91
|
-
iacProvider
|
|
93
|
+
iacProvider,
|
|
92
94
|
});
|
|
93
95
|
// For Terraform, we do not support type-safe integration builders, rather only the single lambda
|
|
94
96
|
// router pattern, and therefore do not need to add depenencies on metadata generation.
|
|
95
|
-
if (
|
|
97
|
+
if (iacProvider === 'CDK') {
|
|
96
98
|
const generatedMetadataDir = (0, devkit_1.joinPathFragments)('generated', apiNameKebabCase);
|
|
97
99
|
const generatedMetadataDirFromRoot = (0, devkit_1.joinPathFragments)((0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR), 'src', generatedMetadataDir);
|
|
98
100
|
(0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'project.json'), (config) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/fast-api/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAWoB;AAEpB,oEAAmE;AACnE,oEAAiE;AACjE,0EAA+E;AAC/E,sCAA+C;AAE/C,qEAA0E;AAC1E,yFAGiD;AACjD,6CAA6D;AAC7D,+CAA0D;AAC1D,+CAAoD;AACpD,uCAIwB;AACxB,iDAAsE;AACtE,8EAA+E;AAC/E,+CAAwD;AACxD,yCAAkD;AAClD,2CAA8C;AAC9C,+CAA2D;AAC3D,uCAAgE;AAChE,mDAAsD;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/fast-api/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import { IacProviderOption } from '../../utils/iac';
|
|
7
|
+
|
|
6
8
|
export interface PyFastApiProjectGeneratorSchema {
|
|
7
9
|
readonly name: string;
|
|
8
10
|
readonly computeType:
|
|
@@ -11,5 +13,5 @@ export interface PyFastApiProjectGeneratorSchema {
|
|
|
11
13
|
readonly auth: 'IAM' | 'Cognito' | 'None';
|
|
12
14
|
readonly directory?: string;
|
|
13
15
|
readonly moduleName?: string;
|
|
14
|
-
readonly iacProvider:
|
|
16
|
+
readonly iacProvider: IacProviderOption;
|
|
15
17
|
}
|
|
@@ -40,11 +40,11 @@
|
|
|
40
40
|
},
|
|
41
41
|
"iacProvider": {
|
|
42
42
|
"type": "string",
|
|
43
|
-
"description": "The preferred IaC provider",
|
|
44
|
-
"enum": ["CDK", "Terraform"],
|
|
43
|
+
"description": "The preferred IaC provider. By default this is inherited from your initial selection.",
|
|
44
|
+
"enum": ["Inherit", "CDK", "Terraform"],
|
|
45
45
|
"x-priority": "important",
|
|
46
|
-
"default": "
|
|
47
|
-
"x-prompt": "Which provider would you like to manage your infrastructure? (default:
|
|
46
|
+
"default": "Inherit",
|
|
47
|
+
"x-prompt": "Which provider would you like to manage your infrastructure? (default: Inherit)"
|
|
48
48
|
},
|
|
49
49
|
"moduleName": {
|
|
50
50
|
"type": "string",
|
|
@@ -19,6 +19,7 @@ const metrics_1 = require("../../utils/metrics");
|
|
|
19
19
|
const bundle_1 = require("../../utils/bundle");
|
|
20
20
|
const py_1 = require("../../utils/py");
|
|
21
21
|
const function_constructs_1 = require("../../utils/function-constructs/function-constructs");
|
|
22
|
+
const iac_1 = require("../../utils/iac");
|
|
22
23
|
exports.LAMBDA_FUNCTION_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
|
|
23
24
|
const getLambdaFunctionDetails = (tree, schema) => {
|
|
24
25
|
const scope = (0, names_1.toSnakeCase)((0, npm_scope_1.getNpmScope)(tree));
|
|
@@ -65,8 +66,9 @@ const pyLambdaFunctionGenerator = (tree, schema) => tslib_1.__awaiter(void 0, vo
|
|
|
65
66
|
if (tree.exists(functionPath)) {
|
|
66
67
|
throw new Error(`This project already has a a lambda function with the name ${normalizedFunctionName}. Please remove the lambda function before running this generator or use a different name.`);
|
|
67
68
|
}
|
|
69
|
+
const iacProvider = yield (0, iac_1.resolveIacProvider)(tree, schema.iacProvider);
|
|
68
70
|
yield (0, shared_constructs_1.sharedConstructsGenerator)(tree, {
|
|
69
|
-
iacProvider
|
|
71
|
+
iacProvider,
|
|
70
72
|
});
|
|
71
73
|
(0, function_constructs_1.addLambdaFunctionInfra)(tree, {
|
|
72
74
|
functionProjectName: projectConfig.name,
|
|
@@ -75,7 +77,7 @@ const pyLambdaFunctionGenerator = (tree, schema) => tslib_1.__awaiter(void 0, vo
|
|
|
75
77
|
handler: normalizedFunctionPath,
|
|
76
78
|
bundlePathFromRoot: `dist/${dir}/bundle`,
|
|
77
79
|
runtime: 'python',
|
|
78
|
-
iacProvider
|
|
80
|
+
iacProvider,
|
|
79
81
|
});
|
|
80
82
|
const enhancedOptions = Object.assign(Object.assign({}, schema), { dir,
|
|
81
83
|
lambdaFunctionClassName, lambdaFunctionSnakeCase: normalizedFunctionName });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/lambda-function/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAQoB;AAEpB,oEAAmE;AACnE,oEAAiE;AACjE,qEAA0E;AAC1E,6CAK2B;AAC3B,+CAA0D;AAC1D,qDAAoD;AACpD,+CAAoD;AACpD,uCAIwB;AACxB,iDAAsE;AACtE,+CAA2D;AAC3D,uCAAgE;AAChE,6FAA6F;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/lambda-function/generator.ts"],"names":[],"mappings":"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"}
|