@aws/nx-plugin 0.46.0 → 0.48.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/package.json +1 -1
- package/src/infra/app/generator.js +4 -1
- package/src/infra/app/generator.js.map +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 +9 -0
- 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/__snapshots__/generator.spec.ts.snap +60 -0
- package/src/py/fast-api/generator.js +5 -3
- package/src/py/fast-api/generator.js.map +1 -1
- package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +1 -0
- package/src/py/fast-api/schema.d.ts +3 -1
- package/src/py/fast-api/schema.json +4 -4
- package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +310 -0
- package/src/py/lambda-function/generator.js +17 -25
- package/src/py/lambda-function/generator.js.map +1 -1
- package/src/py/lambda-function/schema.d.ts +3 -0
- package/src/py/lambda-function/schema.json +8 -0
- 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/__snapshots__/generator.spec.ts.snap +60 -0
- 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/trpc/react/__snapshots__/generator.spec.ts.snap +1 -0
- package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +310 -0
- package/src/ts/lambda-function/generator.js +17 -27
- package/src/ts/lambda-function/generator.js.map +1 -1
- package/src/ts/lambda-function/schema.d.ts +3 -0
- package/src/ts/lambda-function/schema.json +8 -0
- 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/__snapshots__/generator.spec.ts.snap +756 -0
- package/src/ts/react-website/app/generator.js +44 -43
- package/src/ts/react-website/app/generator.js.map +1 -1
- package/src/ts/react-website/app/schema.d.ts +2 -0
- package/src/ts/react-website/app/schema.json +8 -0
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +259 -0
- package/src/ts/react-website/cognito-auth/generator.js +12 -13
- package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
- package/src/ts/react-website/cognito-auth/schema.d.ts +4 -0
- package/src/ts/react-website/cognito-auth/schema.json +8 -0
- package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +0 -40
- package/src/ts/react-website/runtime-config/generator.js +0 -2
- package/src/ts/react-website/runtime-config/generator.js.map +1 -1
- 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/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +10 -0
- package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +10 -0
- package/src/utils/config/index.d.ts +6 -0
- package/src/utils/config/index.js.map +1 -1
- package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +119 -0
- package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +28 -0
- package/src/utils/files/terraform/src/metrics/metrics.tf.template +7 -1
- package/src/{py/lambda-function/files/common/constructs/src/app/lambda-functions/__constructFunctionKebabCase__.ts.template → utils/function-constructs/files/cdk/app/lambda-functions/__functionNameKebabCase__.ts.template} +5 -5
- package/src/utils/function-constructs/files/terraform/app/lambda-functions/__functionNameKebabCase__/__functionNameKebabCase__.tf.template +150 -0
- package/src/utils/function-constructs/function-constructs.d.ts +20 -0
- package/src/utils/function-constructs/function-constructs.js +57 -0
- package/src/utils/function-constructs/function-constructs.js.map +1 -0
- 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/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +123 -0
- package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +421 -0
- package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +47 -0
- package/src/utils/identity-constructs/identity-constructs.d.ts +16 -0
- package/src/utils/identity-constructs/identity-constructs.js +84 -0
- package/src/utils/identity-constructs/identity-constructs.js.map +1 -0
- package/src/utils/metrics.js +1 -1
- package/src/utils/metrics.js.map +1 -1
- package/src/utils/shared-constructs.d.ts +3 -2
- package/src/utils/shared-constructs.js +27 -3
- package/src/utils/shared-constructs.js.map +1 -1
- package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +42 -0
- package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +709 -0
- package/src/utils/website-constructs/website-constructs.d.ts +19 -0
- package/src/utils/website-constructs/website-constructs.js +61 -0
- package/src/utils/website-constructs/website-constructs.js.map +1 -0
- package/src/ts/lambda-function/files/common/constructs/src/app/lambda-functions/__constructFunctionNameKebabCase__.ts.template +0 -24
- /package/src/{ts/react-website/cognito-auth/files/common/constructs/src → utils/identity-constructs/files/cdk}/core/user-identity.ts.template +0 -0
- /package/src/{ts/react-website/app/files/common/constructs/src → utils/website-constructs/files/cdk}/app/static-websites/__websiteNameKebabCase__.ts.template +0 -0
- /package/src/{ts/react-website/app/files/common/constructs/src → utils/website-constructs/files/cdk}/core/static-website.ts.template +0 -0
package/package.json
CHANGED
|
@@ -26,7 +26,10 @@ function tsInfraGenerator(tree, schema) {
|
|
|
26
26
|
const lib = (0, generator_1.getTsLibDetails)(tree, schema);
|
|
27
27
|
yield (0, generator_1.default)(tree, schema);
|
|
28
28
|
(0, nx_1.addGeneratorMetadata)(tree, lib.fullyQualifiedName, exports.INFRA_APP_GENERATOR_INFO);
|
|
29
|
-
|
|
29
|
+
// Shared constructs always in CDK for typescript infra generator
|
|
30
|
+
yield (0, shared_constructs_1.sharedConstructsGenerator)(tree, {
|
|
31
|
+
iacProvider: 'CDK',
|
|
32
|
+
});
|
|
30
33
|
const synthDirFromRoot = `/dist/${lib.dir}/cdk.out`;
|
|
31
34
|
const synthDirFromProject = lib.dir
|
|
32
35
|
.split('/')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/infra/app/generator.ts"],"names":[],"mappings":";;;AAyCA,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/infra/app/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
|
@@ -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
|
}
|
|
@@ -1619,6 +1619,16 @@ resource "aws_apigatewayv2_route" "proxy_routes" {
|
|
|
1619
1619
|
depends_on = [aws_apigatewayv2_integration.lambda_integration, aws_apigatewayv2_authorizer.cognito_authorizer]
|
|
1620
1620
|
}
|
|
1621
1621
|
|
|
1622
|
+
# Add API url to runtime config
|
|
1623
|
+
module "add_url_to_runtime_config" {
|
|
1624
|
+
source = "../../../core/runtime-config/entry"
|
|
1625
|
+
|
|
1626
|
+
key_path = "apis.TestApi"
|
|
1627
|
+
value = module.http_api.stage_invoke_url
|
|
1628
|
+
|
|
1629
|
+
depends_on = [module.http_api]
|
|
1630
|
+
}
|
|
1631
|
+
|
|
1622
1632
|
# Lambda permission for API Gateway to invoke the function
|
|
1623
1633
|
resource "aws_lambda_permission" "api_gateway_invoke" {
|
|
1624
1634
|
statement_id = "AllowExecutionFromAPIGateway"
|
|
@@ -2216,6 +2226,16 @@ resource "aws_apigatewayv2_route" "proxy_routes" {
|
|
|
2216
2226
|
depends_on = [aws_apigatewayv2_integration.lambda_integration]
|
|
2217
2227
|
}
|
|
2218
2228
|
|
|
2229
|
+
# Add API url to runtime config
|
|
2230
|
+
module "add_url_to_runtime_config" {
|
|
2231
|
+
source = "../../../core/runtime-config/entry"
|
|
2232
|
+
|
|
2233
|
+
key_path = "apis.TestApi"
|
|
2234
|
+
value = module.http_api.stage_invoke_url
|
|
2235
|
+
|
|
2236
|
+
depends_on = [module.http_api]
|
|
2237
|
+
}
|
|
2238
|
+
|
|
2219
2239
|
# Lambda permission for API Gateway to invoke the function
|
|
2220
2240
|
resource "aws_lambda_permission" "api_gateway_invoke" {
|
|
2221
2241
|
statement_id = "AllowExecutionFromAPIGateway"
|
|
@@ -2815,6 +2835,16 @@ resource "aws_apigatewayv2_route" "proxy_routes" {
|
|
|
2815
2835
|
depends_on = [aws_apigatewayv2_integration.lambda_integration]
|
|
2816
2836
|
}
|
|
2817
2837
|
|
|
2838
|
+
# Add API url to runtime config
|
|
2839
|
+
module "add_url_to_runtime_config" {
|
|
2840
|
+
source = "../../../core/runtime-config/entry"
|
|
2841
|
+
|
|
2842
|
+
key_path = "apis.TestApi"
|
|
2843
|
+
value = module.http_api.stage_invoke_url
|
|
2844
|
+
|
|
2845
|
+
depends_on = [module.http_api]
|
|
2846
|
+
}
|
|
2847
|
+
|
|
2818
2848
|
# Lambda permission for API Gateway to invoke the function
|
|
2819
2849
|
resource "aws_lambda_permission" "api_gateway_invoke" {
|
|
2820
2850
|
statement_id = "AllowExecutionFromAPIGateway"
|
|
@@ -3441,6 +3471,16 @@ resource "aws_lambda_permission" "api_gateway_invoke" {
|
|
|
3441
3471
|
depends_on = [module.rest_api, aws_lambda_function.api_lambda]
|
|
3442
3472
|
}
|
|
3443
3473
|
|
|
3474
|
+
# Add API url to runtime config
|
|
3475
|
+
module "add_url_to_runtime_config" {
|
|
3476
|
+
source = "../../../core/runtime-config/entry"
|
|
3477
|
+
|
|
3478
|
+
key_path = "apis.TestApi"
|
|
3479
|
+
value = aws_api_gateway_stage.api_stage.invoke_url
|
|
3480
|
+
|
|
3481
|
+
depends_on = [aws_api_gateway_stage.api_stage]
|
|
3482
|
+
}
|
|
3483
|
+
|
|
3444
3484
|
# Outputs
|
|
3445
3485
|
|
|
3446
3486
|
# API Gateway Outputs (from core module)
|
|
@@ -4059,6 +4099,16 @@ resource "aws_lambda_permission" "api_gateway_invoke" {
|
|
|
4059
4099
|
depends_on = [module.rest_api, aws_lambda_function.api_lambda]
|
|
4060
4100
|
}
|
|
4061
4101
|
|
|
4102
|
+
# Add API url to runtime config
|
|
4103
|
+
module "add_url_to_runtime_config" {
|
|
4104
|
+
source = "../../../core/runtime-config/entry"
|
|
4105
|
+
|
|
4106
|
+
key_path = "apis.TestApi"
|
|
4107
|
+
value = aws_api_gateway_stage.api_stage.invoke_url
|
|
4108
|
+
|
|
4109
|
+
depends_on = [aws_api_gateway_stage.api_stage]
|
|
4110
|
+
}
|
|
4111
|
+
|
|
4062
4112
|
# Outputs
|
|
4063
4113
|
|
|
4064
4114
|
# API Gateway Outputs (from core module)
|
|
@@ -4668,6 +4718,16 @@ resource "aws_lambda_permission" "api_gateway_invoke" {
|
|
|
4668
4718
|
depends_on = [module.rest_api, aws_lambda_function.api_lambda]
|
|
4669
4719
|
}
|
|
4670
4720
|
|
|
4721
|
+
# Add API url to runtime config
|
|
4722
|
+
module "add_url_to_runtime_config" {
|
|
4723
|
+
source = "../../../core/runtime-config/entry"
|
|
4724
|
+
|
|
4725
|
+
key_path = "apis.TestApi"
|
|
4726
|
+
value = aws_api_gateway_stage.api_stage.invoke_url
|
|
4727
|
+
|
|
4728
|
+
depends_on = [aws_api_gateway_stage.api_stage]
|
|
4729
|
+
}
|
|
4730
|
+
|
|
4671
4731
|
# Outputs
|
|
4672
4732
|
|
|
4673
4733
|
# API Gateway Outputs (from core module)
|
|
@@ -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":";;;;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;AACtD,yCAAqD;AAExC,QAAA,uBAAuB,GAClC,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAE/B;;GAEG;AACI,MAAM,yBAAyB,GAAG,CACvC,IAAU,EACV,MAAuC,EACX,EAAE;IAC9B,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAkB,EAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAEvE,MAAM,IAAA,6CAAyB,EAAC,IAAI,EAAE;QACpC,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,GAAG,IAAA,+BAAmB,EAC3E,IAAI,EACJ;QACE,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CACF,CAAC;IACF,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAElD,MAAM,IAAA,mBAAkB,EAAC,IAAI,EAAE;QAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,oBAAoB;QAChC,WAAW,EAAE,aAAa;KAC3B,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACzE,MAAM,IAAI,GAAG,IAAA,iBAAU,EAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAEnD,IAAA,8BAAqB,EAAC,aAAa,CAAC,CAAC;IAErC,aAAa,CAAC,OAAO,CAAC,KAAK,GAAG;QAC5B,QAAQ,EAAE,2BAA2B;QACrC,OAAO,EAAE;YACP,OAAO,EAAE,sBAAsB,oBAAoB,mBAAmB,IAAI,EAAE;YAC5E,GAAG,EAAE,GAAG;SACT;QACD,UAAU,EAAE,IAAI;KACjB,CAAC;IAEF,aAAa,CAAC,QAAQ,GAAG,gCACpB,aAAa,CAAC,QAAQ,KACzB,OAAO,EAAE,MAAM,CAAC,IAAI,EACpB,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,MAAM,CAAC,IAAI,GACX,CAAC;IAET,aAAa,CAAC,OAAO,GAAG,IAAA,uBAAc,EAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9D,IAAA,mCAA0B,EAAC,IAAI,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;IAEpE,mEAAmE;IACnE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,+BAAoB,EAAC,IAAI,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IAE5E;QACE,IAAA,0BAAiB,EAAC,GAAG,EAAE,oBAAoB,EAAE,UAAU,CAAC;QACxD,IAAA,0BAAiB,EAAC,GAAG,EAAE,OAAO,EAAE,eAAe,CAAC;KACjD,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjC,IAAA,sBAAa,EACX,IAAI,EAAE,0BAA0B;IAChC,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,6BAA6B;IAC3E,GAAG,EAAE,gCAAgC;IACrC;QACE,IAAI,EAAE,oBAAoB;QAC1B,gBAAgB;QAChB,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,EACD;QACE,iBAAiB,EAAE,0BAAiB,CAAC,SAAS;KAC/C,CACF,CAAC;IAEF,mEAAmE;IACnE,IAAA,mCAAkB,EAAC,IAAI,EAAE;QACvB,cAAc,EAAE,aAAa,CAAC,IAAI;QAClC,gBAAgB;QAChB,gBAAgB;QAChB,aAAa,EACX,MAAM,CAAC,WAAW,KAAK,6BAA6B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACxE,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,GAAG;YACH,UAAU,EAAE,oBAAoB;SACjC;QACD,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW;KACZ,CAAC,CAAC;IAEH,iGAAiG;IACjG,uFAAuF;IACvF,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,oBAAoB,GAAG,IAAA,0BAAiB,EAC5C,WAAW,EACX,gBAAgB,CACjB,CAAC;QACF,MAAM,4BAA4B,GAAG,IAAA,0BAAiB,EACpD,IAAA,0BAAiB,EAAC,0CAAY,EAAE,mDAAqB,CAAC,EACtD,KAAK,EACL,oBAAoB,CACrB,CAAC;QAEF,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EAAC,0CAAY,EAAE,mDAAqB,EAAE,cAAc,CAAC,EACtE,CAAC,MAA4B,EAAE,EAAE;;YAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC1B,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5B,CAAC;YACD,wFAAwF;YACxF,0CAA0C;YAC1C,MAAM,kBAAkB,GAAG,YAAY,gBAAgB,WAAW,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG;oBACnC,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE,iBAAiB;oBAC3B,MAAM,EAAE;wBACN;4BACE,yBAAyB,EAAE,WAAW;yBACvC;qBACF;oBACD,OAAO,EAAE;wBACP,IAAA,0BAAiB,EACf,iBAAiB,EACjB,4BAA4B,CAC7B;qBACF;oBACD,OAAO,EAAE;wBACP,QAAQ,EAAE;4BACR,+DAA+D,QAAQ,mBAAmB,4BAA4B,oBAAoB;yBAC3I;qBACF;oBACD,SAAS,EAAE,CAAC,GAAG,aAAa,CAAC,IAAI,UAAU,CAAC;iBAC7C,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC5B,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;YAC9B,CAAC;YACD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,GAAG;gBACjC,GAAG,CAAC,MAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,mCAAI,EAAE,CAAC;gBAC3C,kBAAkB;aACnB,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC,CACF,CAAC;QAEF,2CAA2C;QAC3C,sFAAsF;QACtF,IAAA,qBAAe,EACb,IAAI,EACJ,IAAA,0BAAiB,EAAC,0CAAY,EAAE,mDAAqB,CAAC,EACtD,CAAC,QAAQ,EAAE,EAAE,CAAC;YACZ,GAAG,QAAQ;YACX,IAAA,0BAAiB,EAAC,KAAK,EAAE,oBAAoB,CAAC;SAC/C,CACF,CAAC;IACJ,CAAC;IAED,IAAA,mCAA8B,EAAC,IAAI,EAAE,GAAG,EAAE;QACxC,SAAS;QACT,QAAQ;QACR,uBAAuB;QACvB,+BAA+B;KAChC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,IAAA,YAAK,EACvB,IAAI,CAAC,IAAI,CAAC,IAAA,0BAAiB,EAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CACzC,CAAC;IACrB,WAAW,CAAC,mBAAmB,CAAC,GAAG;QACjC,GAAG,EAAE,IAAA,yBAAc,EAAC,CAAC,mBAAmB,CAAC,CAAC;KAC3C,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,IAAA,0BAAiB,EAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,IAAA,gBAAS,EAAC,WAAW,CAAC,CAAC,CAAC;IAE7E,IAAA,yBAAoB,EAAC,IAAI,EAAE,kBAAkB,EAAE,+BAAuB,CAAC,CAAC;IAExE,MAAM,IAAA,yCAA+B,EAAC,IAAI,EAAE,CAAC,+BAAuB,CAAC,CAAC,CAAC;IAEvE,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;IAEjC,OAAO,GAAS,EAAE;QAChB,MAAM,IAAI,qBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,eAAM,EAAE,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9D,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAA,CAAC;AACJ,CAAC,CAAA,CAAC;AA3LW,QAAA,yBAAyB,6BA2LpC;AACF,kBAAe,iCAAyB,CAAC"}
|
|
@@ -211,6 +211,7 @@ exports[`fastapi react generator > should instrument providers in main.tsx > mai
|
|
|
211
211
|
"import TestApiProvider from './components/TestApiProvider';
|
|
212
212
|
import QueryClientProvider from './components/QueryClientProvider';
|
|
213
213
|
import RuntimeConfigProvider from './components/RuntimeConfig';
|
|
214
|
+
|
|
214
215
|
import { RouterProvider } from '@tanstack/react-router';
|
|
215
216
|
|
|
216
217
|
const App = () => <RouterProvider router={router} />;
|
|
@@ -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",
|