@aws/nx-plugin 1.0.0-rc.0 → 1.0.0-rc.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/package.json +1 -1
- package/src/connection/generator.js +2 -2
- package/src/connection/generator.js.map +1 -1
- package/src/infra/app/__snapshots__/generator.spec.ts.snap +11 -11
- package/src/infra/app/files/app/src/main.ts.template +2 -2
- package/src/infra/app/generator.js +9 -9
- package/src/infra/app/generator.js.map +1 -1
- package/src/infra/app/schema.d.ts +1 -1
- package/src/infra/app/schema.json +1 -1
- package/src/mcp-server/guide-pipeline.js +8 -10
- package/src/mcp-server/guide-pipeline.js.map +1 -1
- package/src/mcp-server/tools/create-workspace-command.js +1 -1
- package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
- package/src/mcp-server/tools/generator-guide.js +2 -2
- package/src/mcp-server/tools/generator-guide.js.map +1 -1
- package/src/preset/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/preset/generator.d.ts +1 -1
- package/src/preset/generator.js +4 -6
- package/src/preset/generator.js.map +1 -1
- package/src/preset/schema.d.ts +5 -5
- package/src/preset/schema.json +4 -4
- package/src/py/agent/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/py/agent/a2a-connection/generator.js +4 -3
- package/src/py/agent/a2a-connection/generator.js.map +1 -1
- package/src/py/agent/files/deploy/Dockerfile.template +3 -3
- package/src/py/agent/generator.js +23 -23
- package/src/py/agent/generator.js.map +1 -1
- package/src/py/agent/mcp-connection/generator.js +1 -1
- package/src/py/agent/mcp-connection/generator.js.map +1 -1
- package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/py/agent/react-connection/generator.js +4 -4
- package/src/py/agent/react-connection/generator.js.map +1 -1
- package/src/py/agent/schema.d.ts +8 -8
- package/src/py/agent/schema.json +18 -18
- package/src/py/api/generator.js +2 -2
- package/src/py/api/generator.js.map +1 -1
- package/src/py/api/schema.d.ts +4 -6
- package/src/py/api/schema.json +15 -15
- package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +6 -6
- package/src/py/fast-api/generator.js +10 -10
- package/src/py/fast-api/generator.js.map +1 -1
- package/src/py/fast-api/react/generator.js +1 -1
- package/src/py/fast-api/react/generator.js.map +1 -1
- package/src/py/fast-api/schema.d.ts +4 -6
- package/src/py/fast-api/schema.json +15 -15
- package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/py/lambda-function/files/handler/__lambdaFunctionSnakeCase__.py.template +6 -6
- package/src/py/lambda-function/generator.js +9 -9
- package/src/py/lambda-function/generator.js.map +1 -1
- package/src/py/lambda-function/schema.d.ts +4 -4
- package/src/py/lambda-function/schema.json +7 -7
- package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/py/mcp-server/generator.js +11 -11
- package/src/py/mcp-server/generator.js.map +1 -1
- package/src/py/mcp-server/schema.d.ts +5 -9
- package/src/py/mcp-server/schema.json +15 -15
- package/src/py/project/generator.js +1 -1
- package/src/py/project/generator.js.map +1 -1
- package/src/py/project/schema.d.ts +1 -1
- package/src/py/project/schema.json +2 -2
- package/src/smithy/project/generator.js +2 -2
- package/src/smithy/project/generator.js.map +1 -1
- package/src/smithy/react-connection/generator.js +1 -1
- package/src/smithy/react-connection/generator.js.map +1 -1
- package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/smithy/ts/api/generator.js +8 -8
- package/src/smithy/ts/api/generator.js.map +1 -1
- package/src/smithy/ts/api/schema.d.ts +4 -6
- package/src/smithy/ts/api/schema.json +15 -15
- package/src/terraform/project/generator.js +1 -1
- package/src/terraform/project/generator.js.map +1 -1
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +6 -6
- package/src/trpc/backend/files/src/client/index.ts.template +5 -5
- package/src/trpc/backend/files/src/handler.ts.template +2 -2
- package/src/trpc/backend/generator.js +22 -22
- package/src/trpc/backend/generator.js.map +1 -1
- package/src/trpc/backend/schema.d.ts +4 -4
- package/src/trpc/backend/schema.json +15 -15
- package/src/trpc/react/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +14 -14
- package/src/trpc/react/generator.js +6 -5
- package/src/trpc/react/generator.js.map +1 -1
- package/src/ts/agent/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/agent/a2a-connection/generator.js +4 -3
- package/src/ts/agent/a2a-connection/generator.js.map +1 -1
- package/src/ts/agent/files/deploy/Dockerfile.template +1 -1
- package/src/ts/agent/generator.js +22 -22
- package/src/ts/agent/generator.js.map +1 -1
- package/src/ts/agent/mcp-connection/generator.js +1 -1
- package/src/ts/agent/mcp-connection/generator.js.map +1 -1
- package/src/ts/agent/react-connection/files/src/components/__agentNameClassName__AgentClientProvider.tsx.template +8 -8
- package/src/ts/agent/react-connection/generator.js +6 -6
- package/src/ts/agent/react-connection/generator.js.map +1 -1
- package/src/ts/agent/react-connection/serve-local.js +2 -2
- package/src/ts/agent/schema.d.ts +8 -8
- package/src/ts/agent/schema.json +18 -18
- package/src/ts/api/generator.js +4 -4
- package/src/ts/api/generator.js.map +1 -1
- package/src/ts/api/schema.d.ts +4 -4
- package/src/ts/api/schema.json +15 -15
- package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/lambda-function/files/handler/__lambdaFunctionKebabCase__.ts.template +10 -10
- package/src/ts/lambda-function/generator.js +12 -12
- package/src/ts/lambda-function/generator.js.map +1 -1
- package/src/ts/lambda-function/schema.d.ts +4 -4
- package/src/ts/lambda-function/schema.json +7 -7
- package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/mcp-server/generator.js +12 -12
- package/src/ts/mcp-server/generator.js.map +1 -1
- package/src/ts/mcp-server/schema.d.ts +5 -9
- package/src/ts/mcp-server/schema.json +15 -15
- package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.spec.ts.template +1 -1
- package/src/ts/nx-plugin/generator.js +2 -2
- package/src/ts/nx-plugin/generator.js.map +1 -1
- package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/rdb/files/prisma.config.ts.template +1 -1
- package/src/ts/rdb/files/scripts/docker-pull.ts.template +1 -1
- package/src/ts/rdb/files/scripts/docker-start.ts.template +3 -3
- package/src/ts/rdb/files/scripts/wait-for-db.ts.template +3 -3
- package/src/ts/rdb/files/src/create-db-user-handler.ts.template +2 -2
- package/src/ts/rdb/files/src/migration-handler.ts.template +2 -2
- package/src/ts/rdb/files/src/prisma.ts.template +2 -2
- package/src/ts/rdb/generator.js +18 -18
- package/src/ts/rdb/generator.js.map +1 -1
- package/src/ts/rdb/schema.d.ts +5 -5
- package/src/ts/rdb/schema.json +13 -13
- package/src/ts/rdb/trpc-connection/files/src/middleware/__rdbNameKebab__.ts.template +1 -1
- package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +9 -9
- package/src/ts/react-website/agui/generator.d.ts +2 -2
- package/src/ts/react-website/agui/generator.js +9 -9
- package/src/ts/react-website/agui/generator.js.map +1 -1
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +23 -23
- package/src/ts/react-website/app/files/app/cloudscape/src/components/AppLayout/index.tsx.template +5 -5
- package/src/ts/react-website/app/files/app/cloudscape/src/main.tsx.template +1 -1
- package/src/ts/react-website/app/files/app/cloudscape/src/styles.css.template +1 -1
- package/src/ts/react-website/app/files/app/none/src/components/AppLayout/index.tsx.template +5 -5
- package/src/ts/react-website/app/files/app/none/src/main.tsx.template +1 -1
- package/src/ts/react-website/app/files/app/none/src/styles.css.template +2 -2
- package/src/ts/react-website/app/files/app/shadcn/src/components/AppLayout/index.tsx.template +6 -6
- package/src/ts/react-website/app/files/app/shadcn/src/main.tsx.template +1 -1
- package/src/ts/react-website/app/generator.d.ts +3 -3
- package/src/ts/react-website/app/generator.js +27 -27
- package/src/ts/react-website/app/generator.js.map +1 -1
- package/src/ts/react-website/app/schema.d.ts +6 -6
- package/src/ts/react-website/app/schema.json +13 -13
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +3 -3
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +3 -3
- package/src/ts/react-website/cognito-auth/generator.js +9 -9
- package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
- package/src/ts/react-website/cognito-auth/schema.d.ts +2 -2
- package/src/ts/react-website/cognito-auth/schema.json +4 -4
- package/src/ts/website/app/schema.d.ts +6 -6
- package/src/ts/website/app/schema.json +13 -13
- package/src/ts/website/auth/generator.js +1 -1
- package/src/ts/website/auth/generator.js.map +1 -1
- package/src/ts/website/auth/schema.d.ts +2 -2
- package/src/ts/website/auth/schema.json +4 -4
- package/src/utils/agent-connection/agent-connection.js +1 -1
- package/src/utils/agent-connection/agent-connection.js.map +1 -1
- package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +9 -9
- package/src/utils/agent-core-constructs/agent-core-constructs.js +11 -13
- package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
- package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +13 -13
- package/src/utils/agent-core-constructs/files/terraform/app/agent-core/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
- package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +5 -5
- package/src/utils/api-constructs/api-constructs.d.ts +3 -3
- package/src/utils/api-constructs/api-constructs.js +4 -6
- package/src/utils/api-constructs/api-constructs.js.map +1 -1
- package/src/utils/api-constructs/files/cdk/app/apis/http/__apiNameKebabCase__.ts.template +12 -12
- package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +12 -12
- package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +7 -7
- package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +10 -10
- package/src/utils/api-constructs/open-api-metadata.d.ts +3 -3
- package/src/utils/api-constructs/open-api-metadata.js +2 -2
- package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
- package/src/utils/commands.d.ts +1 -1
- package/src/utils/commands.js +2 -2
- package/src/utils/commands.js.map +1 -1
- package/src/utils/config/__snapshots__/utils.spec.ts.snap +6 -6
- package/src/utils/config/index.d.ts +2 -2
- package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +7 -7
- package/src/utils/connection/open-api/react.d.ts +1 -1
- package/src/utils/connection/open-api/react.js +3 -3
- package/src/utils/containers.d.ts +5 -5
- package/src/utils/containers.js +6 -6
- package/src/utils/containers.js.map +1 -1
- package/src/utils/function-constructs/files/cdk/app/lambda-functions/{__functionNameKebabCase__.ts.template → __nameKebabCase__.ts.template} +1 -1
- package/src/utils/function-constructs/files/terraform/app/lambda-functions/{__functionNameKebabCase__/__functionNameKebabCase__.tf.template → __nameKebabCase__/__nameKebabCase__.tf.template} +7 -7
- package/src/utils/function-constructs/function-constructs.d.ts +4 -4
- package/src/utils/function-constructs/function-constructs.js +5 -7
- package/src/utils/function-constructs/function-constructs.js.map +1 -1
- package/src/utils/iac-providers.d.ts +3 -3
- package/src/utils/iac-providers.js +1 -1
- package/src/utils/iac.d.ts +2 -2
- package/src/utils/iac.js +6 -6
- package/src/utils/iac.js.map +1 -1
- package/src/utils/identity-constructs/identity-constructs.d.ts +2 -2
- package/src/utils/identity-constructs/identity-constructs.js +3 -3
- package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
- package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
- package/src/utils/rdb-constructs/rdb-constructs.d.ts +4 -4
- package/src/utils/rdb-constructs/rdb-constructs.js +4 -6
- package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
- package/src/utils/shared-constructs.d.ts +2 -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 -2
- package/src/utils/website-constructs/website-constructs.js +4 -6
- package/src/utils/website-constructs/website-constructs.js.map +1 -1
|
@@ -4,7 +4,7 @@ exports[`config utils > should add multiple new keys to an empty config 1`] = `
|
|
|
4
4
|
"import { AwsNxPluginConfig } from '@aws/nx-plugin';
|
|
5
5
|
|
|
6
6
|
export default {
|
|
7
|
-
iac: { provider: '
|
|
7
|
+
iac: { provider: 'cdk' },
|
|
8
8
|
tags: ['a', 'b'],
|
|
9
9
|
} satisfies AwsNxPluginConfig;
|
|
10
10
|
"
|
|
@@ -31,7 +31,7 @@ export default {
|
|
|
31
31
|
`;
|
|
32
32
|
|
|
33
33
|
exports[`config utils > should handle config without satisfies clause 1`] = `
|
|
34
|
-
"export default { iac: { provider: '
|
|
34
|
+
"export default { iac: { provider: 'cdk' } };
|
|
35
35
|
"
|
|
36
36
|
`;
|
|
37
37
|
|
|
@@ -44,7 +44,7 @@ export default {
|
|
|
44
44
|
content: { lines: [\`Copyright \${new Date().getFullYear()} Foo Inc.\`] },
|
|
45
45
|
},
|
|
46
46
|
},
|
|
47
|
-
iac: { provider: '
|
|
47
|
+
iac: { provider: 'cdk' },
|
|
48
48
|
} satisfies AwsNxPluginConfig;
|
|
49
49
|
"
|
|
50
50
|
`;
|
|
@@ -59,7 +59,7 @@ export default {
|
|
|
59
59
|
content: { lines: [\`Copyright \${new Date().getFullYear()} Acme\`] },
|
|
60
60
|
},
|
|
61
61
|
},
|
|
62
|
-
iac: { provider: '
|
|
62
|
+
iac: { provider: 'terraform' },
|
|
63
63
|
} satisfies AwsNxPluginConfig;
|
|
64
64
|
"
|
|
65
65
|
`;
|
|
@@ -75,7 +75,7 @@ exports[`config utils > should snapshot merged config with multiple keys 1`] = `
|
|
|
75
75
|
"import { AwsNxPluginConfig } from '@aws/nx-plugin';
|
|
76
76
|
|
|
77
77
|
export default {
|
|
78
|
-
iac: { provider: '
|
|
78
|
+
iac: { provider: 'cdk' },
|
|
79
79
|
tags: ['tag1'],
|
|
80
80
|
} satisfies AwsNxPluginConfig;
|
|
81
81
|
"
|
|
@@ -84,7 +84,7 @@ export default {
|
|
|
84
84
|
exports[`config utils > should snapshot simple iac config 1`] = `
|
|
85
85
|
"import { AwsNxPluginConfig } from '@aws/nx-plugin';
|
|
86
86
|
|
|
87
|
-
export default { iac: { provider: '
|
|
87
|
+
export default { iac: { provider: 'cdk' } } satisfies AwsNxPluginConfig;
|
|
88
88
|
"
|
|
89
89
|
`;
|
|
90
90
|
|
|
@@ -6,8 +6,8 @@ import { LicenseConfig } from '../../license/config-types';
|
|
|
6
6
|
import { IacConfig } from '../iac';
|
|
7
7
|
import { ContainersConfig } from '../containers';
|
|
8
8
|
export * from '../../license/config-types';
|
|
9
|
-
export { IacConfig,
|
|
10
|
-
export { ContainersConfig,
|
|
9
|
+
export { IacConfig, Iac } from '../iac';
|
|
10
|
+
export { ContainersConfig, Containers } from '../containers';
|
|
11
11
|
/**
|
|
12
12
|
* Configuration for the nx plugin
|
|
13
13
|
*/
|
package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template
CHANGED
|
@@ -2,9 +2,9 @@ import { createContext, FC, PropsWithChildren, useMemo } from 'react';
|
|
|
2
2
|
import { <%- apiNameClassName %> } from '../<%- generatedClientDir %>/client.gen';
|
|
3
3
|
import { <%- apiNameClassName %>OptionsProxy } from '../<%- generatedClientDir %>/options-proxy.gen';
|
|
4
4
|
import { useRuntimeConfig } from '../hooks/useRuntimeConfig';
|
|
5
|
-
<%_ if (auth === '
|
|
5
|
+
<%_ if (auth === 'iam') { _%>
|
|
6
6
|
import { useSigV4 } from '../hooks/useSigV4';
|
|
7
|
-
<%_ } else if (auth === '
|
|
7
|
+
<%_ } else if (auth === 'cognito') { _%>
|
|
8
8
|
import { useAuth } from 'react-oidc-context';
|
|
9
9
|
<%_ } _%>
|
|
10
10
|
<%_ if (isAgentRuntime) { _%>
|
|
@@ -32,9 +32,9 @@ const useCreate<%- apiNameClassName %>Client = (): <%- apiNameClassName %> => {
|
|
|
32
32
|
<%_ } else { _%>
|
|
33
33
|
const apiUrl = runtimeConfig.apis.<%- apiNameClassName %>;
|
|
34
34
|
<%_ } _%>
|
|
35
|
-
<%_ if(auth === '
|
|
35
|
+
<%_ if(auth === 'iam') { _%>
|
|
36
36
|
const sigv4Client = useSigV4();
|
|
37
|
-
<%_ } else if (auth === '
|
|
37
|
+
<%_ } else if (auth === 'cognito') { _%>
|
|
38
38
|
const auth = useAuth();
|
|
39
39
|
const user = auth?.user;
|
|
40
40
|
const cognitoClient: typeof fetch = (url, init) => {
|
|
@@ -45,12 +45,12 @@ const useCreate<%- apiNameClassName %>Client = (): <%- apiNameClassName %> => {
|
|
|
45
45
|
<%_ } _%>
|
|
46
46
|
return useMemo(() => new <%- apiNameClassName %>({
|
|
47
47
|
url: apiUrl,
|
|
48
|
-
<%_ if(auth === '
|
|
48
|
+
<%_ if(auth === 'iam') { _%>
|
|
49
49
|
fetch: sigv4Client.fetch,
|
|
50
|
-
<%_ } else if(auth === '
|
|
50
|
+
<%_ } else if(auth === 'cognito') { _%>
|
|
51
51
|
fetch: cognitoClient,
|
|
52
52
|
<%_ } _%>
|
|
53
|
-
}), [apiUrl<% if(auth === '
|
|
53
|
+
}), [apiUrl<% if(auth === 'iam') { %>, sigv4Client<% } else if(auth === 'cognito') { %>, cognitoClient<% } %>])
|
|
54
54
|
};
|
|
55
55
|
|
|
56
56
|
export const <%- apiNameClassName %>Provider: FC<PropsWithChildren> = ({ children }) => {
|
|
@@ -80,7 +80,7 @@ const addOpenApiReactClient = async (tree, { apiName, frontendProjectConfig, bac
|
|
|
80
80
|
project: frontendProjectConfig.name,
|
|
81
81
|
});
|
|
82
82
|
// Add sigv4 fetch
|
|
83
|
-
if (auth === '
|
|
83
|
+
if (auth === 'iam') {
|
|
84
84
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../../files/website/hooks/sigv4'), (0, devkit_1.joinPathFragments)(frontendProjectConfig.sourceRoot, 'hooks'), {}, {
|
|
85
85
|
overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
|
|
86
86
|
});
|
|
@@ -121,7 +121,7 @@ const addOpenApiReactClient = async (tree, { apiName, frontendProjectConfig, bac
|
|
|
121
121
|
});
|
|
122
122
|
}
|
|
123
123
|
(0, devkit_1.addDependenciesToPackageJson)(tree, (0, versions_1.withVersions)([
|
|
124
|
-
...(auth === '
|
|
124
|
+
...(auth === 'iam'
|
|
125
125
|
? [
|
|
126
126
|
'oidc-client-ts',
|
|
127
127
|
'react-oidc-context',
|
|
@@ -129,7 +129,7 @@ const addOpenApiReactClient = async (tree, { apiName, frontendProjectConfig, bac
|
|
|
129
129
|
'aws4fetch',
|
|
130
130
|
]
|
|
131
131
|
: []),
|
|
132
|
-
...(auth === '
|
|
132
|
+
...(auth === 'cognito' ? ['react-oidc-context'] : []),
|
|
133
133
|
'@tanstack/react-query',
|
|
134
134
|
'@tanstack/react-query-devtools',
|
|
135
135
|
]), (0, versions_1.withVersions)(['@smithy/types']));
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Tree } from '@nx/devkit';
|
|
6
6
|
export declare const CONTAINER_ENGINES: readonly ["docker", "finch"];
|
|
7
|
-
export type
|
|
8
|
-
export type
|
|
7
|
+
export type Containers = (typeof CONTAINER_ENGINES)[number];
|
|
8
|
+
export type ContainersOption = Containers | 'inherit';
|
|
9
9
|
/**
|
|
10
10
|
* Configuration for container tooling
|
|
11
11
|
*/
|
|
@@ -13,17 +13,17 @@ export interface ContainersConfig {
|
|
|
13
13
|
/**
|
|
14
14
|
* Container engine used for build/push/login operations
|
|
15
15
|
*/
|
|
16
|
-
engine:
|
|
16
|
+
engine: Containers;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* Detect which container engine is available on the host. Prefers docker;
|
|
20
20
|
* falls back to finch when only finch is installed; defaults to docker
|
|
21
21
|
* when neither is found.
|
|
22
22
|
*/
|
|
23
|
-
export declare const
|
|
23
|
+
export declare const inferContainers: () => Containers;
|
|
24
24
|
/**
|
|
25
25
|
* Given a container engine option, resolve the actual engine to use.
|
|
26
26
|
* `Inherit` reads the value from the workspace plugin config, defaulting
|
|
27
27
|
* to docker when nothing has been configured.
|
|
28
28
|
*/
|
|
29
|
-
export declare const
|
|
29
|
+
export declare const resolveContainers: (tree: Tree, option: ContainersOption) => Promise<Containers>;
|
package/src/utils/containers.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.resolveContainers = exports.inferContainers = exports.CONTAINER_ENGINES = void 0;
|
|
4
4
|
const child_process_1 = require("child_process");
|
|
5
5
|
const utils_1 = require("./config/utils");
|
|
6
6
|
exports.CONTAINER_ENGINES = ['docker', 'finch'];
|
|
@@ -19,21 +19,21 @@ const isOnPath = (binary) => {
|
|
|
19
19
|
* falls back to finch when only finch is installed; defaults to docker
|
|
20
20
|
* when neither is found.
|
|
21
21
|
*/
|
|
22
|
-
const
|
|
22
|
+
const inferContainers = () => {
|
|
23
23
|
if (isOnPath('docker'))
|
|
24
24
|
return 'docker';
|
|
25
25
|
if (isOnPath('finch'))
|
|
26
26
|
return 'finch';
|
|
27
27
|
return 'docker';
|
|
28
28
|
};
|
|
29
|
-
exports.
|
|
29
|
+
exports.inferContainers = inferContainers;
|
|
30
30
|
/**
|
|
31
31
|
* Given a container engine option, resolve the actual engine to use.
|
|
32
32
|
* `Inherit` reads the value from the workspace plugin config, defaulting
|
|
33
33
|
* to docker when nothing has been configured.
|
|
34
34
|
*/
|
|
35
|
-
const
|
|
36
|
-
if (option === '
|
|
35
|
+
const resolveContainers = async (tree, option) => {
|
|
36
|
+
if (option === 'inherit') {
|
|
37
37
|
const pluginConfig = await (0, utils_1.readAwsNxPluginConfig)(tree);
|
|
38
38
|
const engine = pluginConfig?.containers?.engine ?? 'docker';
|
|
39
39
|
if (!exports.CONTAINER_ENGINES.includes(engine)) {
|
|
@@ -43,5 +43,5 @@ const resolveContainerEngine = async (tree, option) => {
|
|
|
43
43
|
}
|
|
44
44
|
return option;
|
|
45
45
|
};
|
|
46
|
-
exports.
|
|
46
|
+
exports.resolveContainers = resolveContainers;
|
|
47
47
|
//# sourceMappingURL=containers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containers.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/containers.ts"],"names":[],"mappings":";;;AAKA,iDAAyC;AACzC,0CAGwB;AAEX,QAAA,iBAAiB,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAU,CAAC;AAgB9D,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAW,EAAE;IAC3C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;QACpE,IAAA,wBAAQ,EAAC,GAAG,KAAK,IAAI,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF;;;;GAIG;AACI,MAAM,
|
|
1
|
+
{"version":3,"file":"containers.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/containers.ts"],"names":[],"mappings":";;;AAKA,iDAAyC;AACzC,0CAGwB;AAEX,QAAA,iBAAiB,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAU,CAAC;AAgB9D,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAW,EAAE;IAC3C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;QACpE,IAAA,wBAAQ,EAAC,GAAG,KAAK,IAAI,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF;;;;GAIG;AACI,MAAM,eAAe,GAAG,GAAe,EAAE;IAC9C,IAAI,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxC,IAAI,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACtC,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B;AAEF;;;;GAIG;AACI,MAAM,iBAAiB,GAAG,KAAK,EACpC,IAAU,EACV,MAAwB,EACH,EAAE;IACvB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,MAAM,IAAA,6BAAqB,EAAC,IAAI,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,QAAQ,CAAC;QAC5D,IAAI,CAAC,yBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,wBAAwB,sCAA8B,mBAAmB,yBAAiB,CAAC,IAAI,CAC7F,IAAI,CACL,EAAE,CACJ,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAjBW,QAAA,iBAAiB,qBAiB5B"}
|
|
@@ -3,7 +3,7 @@ import * as url from 'url';
|
|
|
3
3
|
import { Code, Function, Runtime, Tracing } from 'aws-cdk-lib/aws-lambda';
|
|
4
4
|
import { Duration } from 'aws-cdk-lib';
|
|
5
5
|
|
|
6
|
-
export class <%=
|
|
6
|
+
export class <%= nameClassName %> extends Function {
|
|
7
7
|
constructor(scope: Construct, id: string) {
|
|
8
8
|
super(scope, id, {
|
|
9
9
|
timeout: Duration.seconds(30),
|
|
@@ -53,7 +53,7 @@ resource "random_string" "suffix" {
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
resource "aws_iam_role" "lambda_role" {
|
|
56
|
-
name = "<%-
|
|
56
|
+
name = "<%- nameKebabCase %>-role-${random_string.suffix.result}"
|
|
57
57
|
|
|
58
58
|
assume_role_policy = jsonencode({
|
|
59
59
|
Version = "2012-10-17"
|
|
@@ -73,8 +73,8 @@ resource "aws_iam_role" "lambda_role" {
|
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
resource "aws_iam_policy" "lambda_policy" {
|
|
76
|
-
name = "<%-
|
|
77
|
-
description = "Policy for <%-
|
|
76
|
+
name = "<%- nameKebabCase %>-policy-${random_string.suffix.result}"
|
|
77
|
+
description = "Policy for <%- nameKebabCase %> Lambda function"
|
|
78
78
|
|
|
79
79
|
policy = jsonencode({
|
|
80
80
|
Version = "2012-10-17"
|
|
@@ -88,7 +88,7 @@ resource "aws_iam_policy" "lambda_policy" {
|
|
|
88
88
|
"logs:PutLogEvents"
|
|
89
89
|
]
|
|
90
90
|
Resource = [
|
|
91
|
-
"arn:aws:logs:${local.aws_region}:${local.aws_account_id}:log-group:/aws/lambda/<%-
|
|
91
|
+
"arn:aws:logs:${local.aws_region}:${local.aws_account_id}:log-group:/aws/lambda/<%- nameKebabCase %>-${random_string.suffix.result}:*"
|
|
92
92
|
]
|
|
93
93
|
},
|
|
94
94
|
{
|
|
@@ -115,12 +115,12 @@ resource "aws_iam_role_policy_attachment" "lambda_policy_attachment" {
|
|
|
115
115
|
data "archive_file" "lambda_zip" {
|
|
116
116
|
type = "zip"
|
|
117
117
|
source_dir = "${path.module}/../../../../../../../<%- bundlePathFromRoot %>"
|
|
118
|
-
output_path = "${path.module}/../../../../../../../dist/packages/common/terraform/lambda-functions/<%-
|
|
118
|
+
output_path = "${path.module}/../../../../../../../dist/packages/common/terraform/lambda-functions/<%- nameKebabCase %>/lambda.zip"
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
resource "aws_s3_object" "lambda_zip" {
|
|
122
122
|
bucket = var.asset_bucket_name
|
|
123
|
-
key = "lambdas/<%-
|
|
123
|
+
key = "lambdas/<%- nameKebabCase %>/${data.archive_file.lambda_zip.output_sha256}.zip"
|
|
124
124
|
source = data.archive_file.lambda_zip.output_path
|
|
125
125
|
source_hash = data.archive_file.lambda_zip.output_base64sha256
|
|
126
126
|
etag = data.archive_file.lambda_zip.output_md5
|
|
@@ -135,7 +135,7 @@ resource "aws_lambda_function" "lambda_function" {
|
|
|
135
135
|
s3_bucket = aws_s3_object.lambda_zip.bucket
|
|
136
136
|
s3_key = aws_s3_object.lambda_zip.key
|
|
137
137
|
s3_object_version = aws_s3_object.lambda_zip.version_id
|
|
138
|
-
function_name = "<%-
|
|
138
|
+
function_name = "<%- nameKebabCase %>-${random_string.suffix.result}"
|
|
139
139
|
role = aws_iam_role.lambda_role.arn
|
|
140
140
|
handler = "<%- handler %>"
|
|
141
141
|
source_code_hash = data.archive_file.lambda_zip.output_base64sha256
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
import { Tree } from '@nx/devkit';
|
|
6
|
-
import {
|
|
6
|
+
import { Iac } from '../iac';
|
|
7
7
|
export interface AddLambdaFunctionConstructOptions {
|
|
8
8
|
functionProjectName: string;
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
nameClassName: string;
|
|
10
|
+
nameKebabCase: string;
|
|
11
11
|
bundlePathFromRoot: string;
|
|
12
12
|
handler: string;
|
|
13
13
|
runtime: 'node' | 'python';
|
|
@@ -16,5 +16,5 @@ export interface AddLambdaFunctionConstructOptions {
|
|
|
16
16
|
* Add infrastructure for a lambda function
|
|
17
17
|
*/
|
|
18
18
|
export declare const addLambdaFunctionInfra: (tree: Tree, options: AddLambdaFunctionConstructOptions & {
|
|
19
|
-
|
|
19
|
+
iac: Iac;
|
|
20
20
|
}) => Promise<void>;
|
|
@@ -13,18 +13,16 @@ const nx_1 = require("../nx");
|
|
|
13
13
|
* Add infrastructure for a lambda function
|
|
14
14
|
*/
|
|
15
15
|
const addLambdaFunctionInfra = async (tree, options) => {
|
|
16
|
-
if (options.
|
|
16
|
+
if (options.iac === 'cdk') {
|
|
17
17
|
await addLambdaFunctionCdkConstructs(tree, options);
|
|
18
18
|
}
|
|
19
|
-
else if (options.
|
|
19
|
+
else if (options.iac === 'terraform') {
|
|
20
20
|
addLambdaFunctionTerraformModules(tree, options);
|
|
21
21
|
}
|
|
22
22
|
else {
|
|
23
|
-
throw new Error(`Unsupported
|
|
23
|
+
throw new Error(`Unsupported iac ${options.iac}`);
|
|
24
24
|
}
|
|
25
|
-
(0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, options.
|
|
26
|
-
? shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR
|
|
27
|
-
: shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'project.json'), (config) => {
|
|
25
|
+
(0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, options.iac === 'cdk' ? shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR : shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'project.json'), (config) => {
|
|
28
26
|
(0, nx_1.addDependencyToTargetIfNotPresent)(config, 'build', `${options.functionProjectName}:build`);
|
|
29
27
|
return config;
|
|
30
28
|
});
|
|
@@ -39,7 +37,7 @@ const addLambdaFunctionCdkConstructs = async (tree, options) => {
|
|
|
39
37
|
overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
|
|
40
38
|
});
|
|
41
39
|
// Export app specific CDK construct
|
|
42
|
-
await (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'lambda-functions', 'index.ts'), `./${options.
|
|
40
|
+
await (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'lambda-functions', 'index.ts'), `./${options.nameKebabCase}.js`);
|
|
43
41
|
await (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'index.ts'), './lambda-functions/index.js');
|
|
44
42
|
};
|
|
45
43
|
const addLambdaFunctionTerraformModules = (tree, options) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/function-constructs/function-constructs.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAOoB;AACpB,gFAIwC;AACxC,gCAAuC;AAEvC,8BAA0D;AAW1D;;GAEG;AACI,MAAM,sBAAsB,GAAG,KAAK,EACzC,IAAU,EACV,OAEC,EACD,EAAE;IACF,IAAI,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"function-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/function-constructs/function-constructs.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAOoB;AACpB,gFAIwC;AACxC,gCAAuC;AAEvC,8BAA0D;AAW1D;;GAEG;AACI,MAAM,sBAAsB,GAAG,KAAK,EACzC,IAAU,EACV,OAEC,EACD,EAAE;IACF,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;QACvC,iCAAiC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,OAAO,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,mDAAqB,CAAC,CAAC,CAAC,kDAAoB,EACpE,cAAc,CACf,EACD,CAAC,MAA4B,EAAE,EAAE;QAC/B,IAAA,sCAAiC,EAC/B,MAAM,EACN,OAAO,EACP,GAAG,OAAO,CAAC,mBAAmB,QAAQ,CACvC,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,sBAAsB,0BA8BjC;AAEF,MAAM,8BAA8B,GAAG,KAAK,EAC1C,IAAU,EACV,OAA0C,EAC1C,EAAE;IACF,sCAAsC;IACtC,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,EACvE,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,kBAAkB,CACnB,EACD;QACE,GAAG,OAAO;QACV,OAAO,EAAE,WAAW,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,EAAE;KACrF,EACD;QACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;KAClD,CACF,CAAC;IAEF,oCAAoC;IACpC,MAAM,IAAA,mBAAa,EACjB,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,kBAAkB,EAClB,UAAU,CACX,EACD,KAAK,OAAO,CAAC,aAAa,KAAK,CAChC,CAAC;IACF,MAAM,IAAA,mBAAa,EACjB,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,UAAU,CACX,EACD,6BAA6B,CAC9B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,iCAAiC,GAAG,CACxC,IAAU,EACV,OAA0C,EAC1C,EAAE;IACF,yCAAyC;IACzC,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EACf,SAAS,EACT,OAAO,EACP,WAAW,EACX,KAAK,EACL,kBAAkB,CACnB,EACD,IAAA,0BAAiB,EACf,0CAAY,EACZ,kDAAoB,EACpB,KAAK,EACL,KAAK,EACL,kBAAkB,CACnB,EACD;QACE,GAAG,OAAO;QACV,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY;KACpE,EACD;QACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;KAClD,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
-
export declare const IAC_PROVIDERS: readonly ["
|
|
6
|
-
export type
|
|
7
|
-
export type
|
|
5
|
+
export declare const IAC_PROVIDERS: readonly ["cdk", "terraform"];
|
|
6
|
+
export type Iac = (typeof IAC_PROVIDERS)[number];
|
|
7
|
+
export type IacOption = Iac | 'inherit';
|
package/src/utils/iac.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
import { Tree } from '@nx/devkit';
|
|
6
|
-
export { IAC_PROVIDERS, type
|
|
6
|
+
export { IAC_PROVIDERS, type Iac, type IacOption } from './iac-providers';
|
|
7
7
|
import { IAC_PROVIDERS } from './iac-providers';
|
|
8
8
|
/**
|
|
9
9
|
* Configuration for infrastructure as code
|
|
@@ -17,4 +17,4 @@ export interface IacConfig {
|
|
|
17
17
|
/**
|
|
18
18
|
* Given an iac provider option, resolve the actual iac provider to use
|
|
19
19
|
*/
|
|
20
|
-
export declare const
|
|
20
|
+
export declare const resolveIac: (tree: Tree, iacOption: "cdk" | "terraform" | "inherit") => Promise<(typeof IAC_PROVIDERS)[number]>;
|
package/src/utils/iac.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.resolveIac = exports.IAC_PROVIDERS = void 0;
|
|
4
4
|
const utils_1 = require("./config/utils");
|
|
5
5
|
var iac_providers_1 = require("./iac-providers");
|
|
6
6
|
Object.defineProperty(exports, "IAC_PROVIDERS", { enumerable: true, get: function () { return iac_providers_1.IAC_PROVIDERS; } });
|
|
@@ -8,18 +8,18 @@ const iac_providers_2 = require("./iac-providers");
|
|
|
8
8
|
/**
|
|
9
9
|
* Given an iac provider option, resolve the actual iac provider to use
|
|
10
10
|
*/
|
|
11
|
-
const
|
|
12
|
-
if (
|
|
11
|
+
const resolveIac = async (tree, iacOption) => {
|
|
12
|
+
if (iacOption === 'inherit') {
|
|
13
13
|
const pluginConfig = await (0, utils_1.readAwsNxPluginConfig)(tree);
|
|
14
14
|
if (!pluginConfig?.iac?.provider) {
|
|
15
|
-
throw new Error(`IaC provider "
|
|
15
|
+
throw new Error(`IaC provider "inherit" requires iac.provider to be set in ${utils_1.AWS_NX_PLUGIN_CONFIG_FILE_NAME}`);
|
|
16
16
|
}
|
|
17
17
|
if (!iac_providers_2.IAC_PROVIDERS.includes(pluginConfig.iac.provider)) {
|
|
18
18
|
throw new Error(`iac.provider in ${utils_1.AWS_NX_PLUGIN_CONFIG_FILE_NAME} must be one of ${iac_providers_2.IAC_PROVIDERS.join(', ')}`);
|
|
19
19
|
}
|
|
20
20
|
return pluginConfig.iac.provider;
|
|
21
21
|
}
|
|
22
|
-
return
|
|
22
|
+
return iacOption;
|
|
23
23
|
};
|
|
24
|
-
exports.
|
|
24
|
+
exports.resolveIac = resolveIac;
|
|
25
25
|
//# sourceMappingURL=iac.js.map
|
package/src/utils/iac.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iac.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/iac.ts"],"names":[],"mappings":";;;AAKA,0CAGwB;AAExB,
|
|
1
|
+
{"version":3,"file":"iac.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/iac.ts"],"names":[],"mappings":";;;AAKA,0CAGwB;AAExB,iDAA0E;AAAjE,8GAAA,aAAa,OAAA;AACtB,mDAAgD;AAYhD;;GAEG;AACI,MAAM,UAAU,GAAG,KAAK,EAC7B,IAAU,EACV,SAA0C,EACD,EAAE;IAC3C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,MAAM,IAAA,6BAAqB,EAAC,IAAI,CAAC,CAAC;QAEvD,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,6DAA6D,sCAA8B,EAAE,CAC9F,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,6BAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CACb,mBAAmB,sCAA8B,mBAAmB,6BAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/F,CAAC;QACJ,CAAC;QAED,OAAO,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;IACnC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AArBW,QAAA,UAAU,cAqBrB"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
import { Tree } from '@nx/devkit';
|
|
6
|
-
import {
|
|
6
|
+
import { Iac } from '../iac';
|
|
7
7
|
export interface AddIdentityInfraOptions {
|
|
8
8
|
cognitoDomain: string;
|
|
9
9
|
allowSignup: boolean;
|
|
@@ -12,5 +12,5 @@ export interface AddIdentityInfraOptions {
|
|
|
12
12
|
* Add infrastructure for a static website
|
|
13
13
|
*/
|
|
14
14
|
export declare const addIdentityInfra: (tree: Tree, options: AddIdentityInfraOptions & {
|
|
15
|
-
|
|
15
|
+
iac: Iac;
|
|
16
16
|
}) => Promise<void>;
|
|
@@ -12,14 +12,14 @@ const ast_1 = require("../ast");
|
|
|
12
12
|
* Add infrastructure for a static website
|
|
13
13
|
*/
|
|
14
14
|
const addIdentityInfra = async (tree, options) => {
|
|
15
|
-
if (options.
|
|
15
|
+
if (options.iac === 'cdk') {
|
|
16
16
|
await addIdentityCdkConstructs(tree, options);
|
|
17
17
|
}
|
|
18
|
-
else if (options.
|
|
18
|
+
else if (options.iac === 'terraform') {
|
|
19
19
|
addIdentityTerraformModules(tree, options);
|
|
20
20
|
}
|
|
21
21
|
else {
|
|
22
|
-
throw new Error(`Unsupported
|
|
22
|
+
throw new Error(`Unsupported iac ${options.iac}`);
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
25
|
exports.addIdentityInfra = addIdentityInfra;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/identity-constructs/identity-constructs.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAKoB;AACpB,gFAIwC;AACxC,gCAAuC;AAQvC;;GAEG;AACI,MAAM,gBAAgB,GAAG,KAAK,EACnC,IAAU,EACV,OAA+
|
|
1
|
+
{"version":3,"file":"identity-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/identity-constructs/identity-constructs.ts"],"names":[],"mappings":"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"}
|
|
@@ -273,7 +273,7 @@ resource "aws_ecr_repository_policy" "migration_handler" {
|
|
|
273
273
|
}
|
|
274
274
|
|
|
275
275
|
data "external" "docker_digest" {
|
|
276
|
-
program = ["sh", "-c", "echo '{\"digest\":\"'$(<%=
|
|
276
|
+
program = ["sh", "-c", "echo '{\"digest\":\"'$(<%= containers %> inspect ${var.docker_image_tag} --format '{{.Id}}')'\"}' "]
|
|
277
277
|
}
|
|
278
278
|
|
|
279
279
|
resource "null_resource" "docker_publish" {
|
|
@@ -285,9 +285,9 @@ resource "null_resource" "docker_publish" {
|
|
|
285
285
|
|
|
286
286
|
provisioner "local-exec" {
|
|
287
287
|
command = <<-EOT
|
|
288
|
-
aws ecr get-login-password --region ${data.aws_region.current.region} | <%=
|
|
289
|
-
<%=
|
|
290
|
-
<%=
|
|
288
|
+
aws ecr get-login-password --region ${data.aws_region.current.region} | <%= containers %> login --username AWS --password-stdin ${self.triggers.repository_url}
|
|
289
|
+
<%= containers %> tag ${self.triggers.docker_image_tag} ${self.triggers.repository_url}:latest
|
|
290
|
+
<%= containers %> push ${self.triggers.repository_url}:latest
|
|
291
291
|
EOT
|
|
292
292
|
}
|
|
293
293
|
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
import { Tree } from '@nx/devkit';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { Iac } from '../iac';
|
|
7
|
+
import { Containers } from '../containers';
|
|
8
8
|
export interface AddRdbConstructOptions {
|
|
9
9
|
projectName: string;
|
|
10
10
|
nameClassName: string;
|
|
@@ -16,10 +16,10 @@ export interface AddRdbConstructOptions {
|
|
|
16
16
|
migrationBundleDir: string;
|
|
17
17
|
createDbUserBundleDir: string;
|
|
18
18
|
dockerImageTag: string;
|
|
19
|
-
|
|
19
|
+
containers: Containers;
|
|
20
20
|
}
|
|
21
21
|
export declare const addRdbInfra: (tree: Tree, options: AddRdbConstructOptions & {
|
|
22
|
-
|
|
22
|
+
iac: Iac;
|
|
23
23
|
}) => Promise<void>;
|
|
24
24
|
export declare const addRdbCdkConstructs: (tree: Tree, options: AddRdbConstructOptions) => Promise<void>;
|
|
25
25
|
export declare const addRdbTerraformModules: (tree: Tree, options: AddRdbConstructOptions) => void;
|
|
@@ -9,18 +9,16 @@ const devkit_1 = require("@nx/devkit");
|
|
|
9
9
|
const shared_constructs_constants_1 = require("../shared-constructs-constants");
|
|
10
10
|
const ast_1 = require("../ast");
|
|
11
11
|
const addRdbInfra = async (tree, options) => {
|
|
12
|
-
if (options.
|
|
12
|
+
if (options.iac === 'cdk') {
|
|
13
13
|
await (0, exports.addRdbCdkConstructs)(tree, options);
|
|
14
14
|
}
|
|
15
|
-
else if (options.
|
|
15
|
+
else if (options.iac === 'terraform') {
|
|
16
16
|
(0, exports.addRdbTerraformModules)(tree, options);
|
|
17
17
|
}
|
|
18
18
|
else {
|
|
19
|
-
throw new Error(`Unsupported
|
|
19
|
+
throw new Error(`Unsupported iac ${options.iac}`);
|
|
20
20
|
}
|
|
21
|
-
(0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, options.
|
|
22
|
-
? shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR
|
|
23
|
-
: shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'project.json'), (config) => {
|
|
21
|
+
(0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, options.iac === 'cdk' ? shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR : shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'project.json'), (config) => {
|
|
24
22
|
if (!config.targets) {
|
|
25
23
|
config.targets = {};
|
|
26
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rdb-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/rdb-constructs/rdb-constructs.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAOoB;AACpB,gFAIwC;AACxC,gCAAuC;AAkBhC,MAAM,WAAW,GAAG,KAAK,EAC9B,IAAU,EACV,
|
|
1
|
+
{"version":3,"file":"rdb-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/rdb-constructs/rdb-constructs.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
import { Tree } from '@nx/devkit';
|
|
6
|
-
import {
|
|
6
|
+
import { Iac } from './iac';
|
|
7
7
|
export interface SharedConstructsGeneratorOptions {
|
|
8
|
-
|
|
8
|
+
iac: Iac;
|
|
9
9
|
}
|
|
10
10
|
export declare function sharedConstructsGenerator(tree: Tree, options: SharedConstructsGeneratorOptions): Promise<void>;
|
|
@@ -16,10 +16,10 @@ const pkg_manager_1 = require("./pkg-manager");
|
|
|
16
16
|
const shared_constructs_constants_1 = require("./shared-constructs-constants");
|
|
17
17
|
const utils_1 = require("./config/utils");
|
|
18
18
|
async function sharedConstructsGenerator(tree, options) {
|
|
19
|
-
const {
|
|
19
|
+
const { iac } = options;
|
|
20
20
|
const npmScopePrefix = (0, npm_scope_1.getNpmScopePrefix)(tree);
|
|
21
21
|
updateGitignore(tree);
|
|
22
|
-
if (
|
|
22
|
+
if (iac === 'cdk') {
|
|
23
23
|
if (!tree.exists((0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'project.json'))) {
|
|
24
24
|
await (0, generator_1.default)(tree, {
|
|
25
25
|
name: shared_constructs_constants_1.SHARED_CONSTRUCTS_NAME,
|
|
@@ -46,7 +46,7 @@ async function sharedConstructsGenerator(tree, options) {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
// Handle Terraform provider
|
|
49
|
-
if (
|
|
49
|
+
if (iac === 'terraform') {
|
|
50
50
|
const terraformLibPath = (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_TERRAFORM_DIR);
|
|
51
51
|
if (!tree.exists((0, devkit_1.joinPathFragments)(terraformLibPath, 'project.json'))) {
|
|
52
52
|
await (0, generator_2.default)(tree, {
|