@aws/nx-plugin 0.16.0 → 0.18.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.
Files changed (84) hide show
  1. package/LICENSE-THIRD-PARTY +4282 -5581
  2. package/generators.json +30 -9
  3. package/package.json +11 -11
  4. package/src/cloudscape-website/app/__snapshots__/generator.spec.ts.snap +15 -21
  5. package/src/cloudscape-website/app/files/common/constructs/src/core/static-website.ts.template +1 -0
  6. package/src/cloudscape-website/app/generator.d.ts +2 -0
  7. package/src/cloudscape-website/app/generator.js +20 -11
  8. package/src/cloudscape-website/app/generator.js.map +1 -1
  9. package/src/cloudscape-website/cognito-auth/__snapshots__/generator.spec.ts.snap +2 -0
  10. package/src/cloudscape-website/cognito-auth/generator.d.ts +2 -0
  11. package/src/cloudscape-website/cognito-auth/generator.js +10 -4
  12. package/src/cloudscape-website/cognito-auth/generator.js.map +1 -1
  13. package/src/cloudscape-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -1
  14. package/src/cloudscape-website/runtime-config/generator.d.ts +2 -0
  15. package/src/cloudscape-website/runtime-config/generator.js +5 -0
  16. package/src/cloudscape-website/runtime-config/generator.js.map +1 -1
  17. package/src/infra/app/__snapshots__/generator.spec.ts.snap +49 -56
  18. package/src/infra/app/files/app/src/main.ts.template +2 -3
  19. package/src/infra/app/generator.d.ts +2 -0
  20. package/src/infra/app/generator.js +12 -5
  21. package/src/infra/app/generator.js.map +1 -1
  22. package/src/license/generator.d.ts +2 -0
  23. package/src/license/generator.js +5 -0
  24. package/src/license/generator.js.map +1 -1
  25. package/src/license/sync/generator.d.ts +1 -1
  26. package/src/license/sync/generator.js +3 -1
  27. package/src/license/sync/generator.js.map +1 -1
  28. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +0 -2
  29. package/src/py/fast-api/generator.d.ts +2 -0
  30. package/src/py/fast-api/generator.js +12 -7
  31. package/src/py/fast-api/generator.js.map +1 -1
  32. package/src/py/fast-api/react/generator.d.ts +2 -0
  33. package/src/py/fast-api/react/generator.js +8 -4
  34. package/src/py/fast-api/react/generator.js.map +1 -1
  35. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +66 -0
  36. package/src/py/lambda-function/files/common/constructs/src/app/lambda-functions/__constructFunctionKebabCase__.ts.template +24 -0
  37. package/src/py/lambda-function/files/handler/__lambdaFunctionSnakeCase__.py.template +34 -0
  38. package/src/py/lambda-function/files/tests/test___lambdaFunctionSnakeCase__.py.template +2 -0
  39. package/src/py/lambda-function/generator.d.ts +27 -0
  40. package/src/py/lambda-function/generator.js +143 -0
  41. package/src/py/lambda-function/generator.js.map +1 -0
  42. package/src/py/lambda-function/schema.d.ts +53 -0
  43. package/src/py/lambda-function/schema.json +83 -0
  44. package/src/py/project/generator.d.ts +2 -0
  45. package/src/py/project/generator.js +8 -3
  46. package/src/py/project/generator.js.map +1 -1
  47. package/src/trpc/backend/generator.d.ts +2 -0
  48. package/src/trpc/backend/generator.js +12 -6
  49. package/src/trpc/backend/generator.js.map +1 -1
  50. package/src/trpc/react/generator.d.ts +2 -0
  51. package/src/trpc/react/generator.js +5 -0
  52. package/src/trpc/react/generator.js.map +1 -1
  53. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +13 -3
  54. package/src/ts/lib/generator.d.ts +2 -0
  55. package/src/ts/lib/generator.js +7 -3
  56. package/src/ts/lib/generator.js.map +1 -1
  57. package/src/utils/__snapshots__/shared-constructs.spec.ts.snap +90 -0
  58. package/src/utils/files/common/constructs/src/core/app.ts.template +24 -0
  59. package/src/utils/files/common/constructs/src/core/index.ts.template +1 -0
  60. package/src/utils/http-api.js +5 -5
  61. package/src/utils/http-api.js.map +1 -1
  62. package/src/utils/metrics.d.ts +13 -0
  63. package/src/utils/metrics.js +49 -0
  64. package/src/utils/metrics.js.map +1 -0
  65. package/src/utils/names.d.ts +1 -0
  66. package/src/utils/names.js +4 -1
  67. package/src/utils/names.js.map +1 -1
  68. package/src/utils/nx.d.ts +8 -6
  69. package/src/utils/nx.js +27 -8
  70. package/src/utils/nx.js.map +1 -1
  71. package/src/utils/object.d.ts +9 -0
  72. package/src/utils/object.js +15 -0
  73. package/src/utils/object.js.map +1 -0
  74. package/src/utils/shared-constructs-constants.d.ts +9 -0
  75. package/src/utils/shared-constructs-constants.js +13 -0
  76. package/src/utils/shared-constructs-constants.js.map +1 -0
  77. package/src/utils/shared-constructs.d.ts +0 -5
  78. package/src/utils/shared-constructs.js +19 -24
  79. package/src/utils/shared-constructs.js.map +1 -1
  80. package/src/utils/test.js +1 -0
  81. package/src/utils/test.js.map +1 -1
  82. package/src/utils/versions.d.ts +30 -30
  83. package/src/utils/versions.js +29 -29
  84. package/src/utils/versions.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/py/fast-api/react/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/py/fast-api/react/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`lambda-handler project generator > should match snapshot > main-snapshot 1`] = `
4
+ {
5
+ "apps/test_project/test_project/test_function.py": "import os
6
+
7
+ from aws_lambda_powertools import Logger, Metrics, Tracer
8
+ from aws_lambda_powertools.metrics import MetricUnit
9
+ from aws_lambda_powertools.utilities.typing import LambdaContext
10
+
11
+ os.environ["POWERTOOLS_METRICS_NAMESPACE"] = "TestFunction"
12
+ os.environ["POWERTOOLS_SERVICE_NAME"] = "TestFunction"
13
+
14
+ logger: Logger = Logger()
15
+ metrics: Metrics = Metrics()
16
+ tracer: Tracer = Tracer()
17
+
18
+ @tracer.capture_lambda_handler
19
+ @metrics.log_metrics
20
+ def lambda_handler(event: dict, context: LambdaContext):
21
+ logger.info("Received event", extra={"event": event })
22
+ metrics.add_metric(name="InvocationCount", unit=MetricUnit.Count, value=1)
23
+
24
+ try:
25
+ # TODO: Implement
26
+ metrics.add_metric(name="SuccessCount", unit=MetricUnit.Count, value=1)
27
+ # TODO: Implement success response if required
28
+ except Exception as e:
29
+ logger.exception(e)
30
+ metrics.add_metric(name="ErrorCount", unit=MetricUnit.Count, value=1)
31
+ # TODO: Implement error response if required
32
+ ",
33
+ "apps/test_project/tests/test_test_function.py": "def test_handler():
34
+ pass
35
+ ",
36
+ "packages/common/constructs/src/app/lambda-functions/index.ts": "export * from './test-project-test-function.js';
37
+ ",
38
+ "packages/common/constructs/src/app/lambda-functions/test-project-test-function.ts": "import { Construct } from 'constructs';
39
+ import * as url from 'url';
40
+ import { Code, Function, Runtime, Tracing } from 'aws-cdk-lib/aws-lambda';
41
+ import { Duration } from 'aws-cdk-lib';
42
+
43
+ export class TestProjectTestFunction extends Function {
44
+ constructor(scope: Construct, id: string) {
45
+ super(scope, id, {
46
+ timeout: Duration.seconds(30),
47
+ runtime: Runtime.PYTHON_3_12,
48
+ handler: 'test_project.test_function.lambda_handler',
49
+ code: Code.fromAsset(
50
+ url.fileURLToPath(
51
+ new URL(
52
+ '../../../../../../dist/apps/test_project/bundle',
53
+ import.meta.url,
54
+ ),
55
+ ),
56
+ ),
57
+ tracing: Tracing.ACTIVE,
58
+ environment: {
59
+ AWS_CONNECTION_REUSE_ENABLED: '1',
60
+ },
61
+ });
62
+ }
63
+ }
64
+ ",
65
+ }
66
+ `;
@@ -0,0 +1,24 @@
1
+ import { Construct } from 'constructs';
2
+ import * as url from 'url';
3
+ import { Code, Function, Runtime, Tracing } from 'aws-cdk-lib/aws-lambda';
4
+ import { Duration } from 'aws-cdk-lib';
5
+
6
+ export class <%= constructFunctionClassName %> extends Function {
7
+ constructor(scope: Construct, id: string) {
8
+ super(scope, id, {
9
+ timeout: Duration.seconds(30),
10
+ runtime: Runtime.PYTHON_3_12,
11
+ handler: '<%= constructHandlerFilePath %>',
12
+ code: Code.fromAsset(url.fileURLToPath(
13
+ new URL(
14
+ '../../../../../../dist/<%= dir %>/bundle',
15
+ import.meta.url
16
+ )
17
+ )),
18
+ tracing: Tracing.ACTIVE,
19
+ environment: {
20
+ AWS_CONNECTION_REUSE_ENABLED: '1',
21
+ },
22
+ });
23
+ }
24
+ }
@@ -0,0 +1,34 @@
1
+ import os
2
+
3
+ from aws_lambda_powertools import Logger, Metrics, Tracer
4
+ from aws_lambda_powertools.metrics import MetricUnit
5
+ <%_ if (eventSource !== 'Any') { _%>
6
+ from aws_lambda_powertools.utilities.parser import event_parser
7
+ from aws_lambda_powertools.utilities.parser.models import <%= eventSource %>
8
+ <%_ } _%>
9
+ from aws_lambda_powertools.utilities.typing import LambdaContext
10
+
11
+ os.environ["POWERTOOLS_METRICS_NAMESPACE"] = "<%= lambdaFunctionClassName %>"
12
+ os.environ["POWERTOOLS_SERVICE_NAME"] = "<%= lambdaFunctionClassName %>"
13
+
14
+ logger: Logger = Logger()
15
+ metrics: Metrics = Metrics()
16
+ tracer: Tracer = Tracer()
17
+
18
+ @tracer.capture_lambda_handler
19
+ @metrics.log_metrics
20
+ <%_ if (eventSource !== 'Any') { _%>
21
+ @event_parser(model=<%= eventSource %>)
22
+ <%_ } _%>
23
+ def lambda_handler(event: <%= eventSource === 'Any' ? 'dict' : eventSource %>, context: LambdaContext):
24
+ logger.info("Received event", extra={"event": event<%= eventSource === 'Any' ? '' : '.model_dump()' %> })
25
+ metrics.add_metric(name="InvocationCount", unit=MetricUnit.Count, value=1)
26
+
27
+ try:
28
+ # TODO: Implement
29
+ metrics.add_metric(name="SuccessCount", unit=MetricUnit.Count, value=1)
30
+ # TODO: Implement success response if required
31
+ except Exception as e:
32
+ logger.exception(e)
33
+ metrics.add_metric(name="ErrorCount", unit=MetricUnit.Count, value=1)
34
+ # TODO: Implement error response if required
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { GeneratorCallback, Tree } from '@nx/devkit';
6
+ import { LambdaFunctionProjectGeneratorSchema } from './schema';
7
+ import { NxGeneratorInfo } from '../../utils/nx';
8
+ export declare const LAMBDA_FUNCTION_GENERATOR_INFO: NxGeneratorInfo;
9
+ export interface LambdaFunctionDetails {
10
+ /**
11
+ * The normalized name of the lambda handler project
12
+ */
13
+ readonly normalizedFunctionName: string;
14
+ /**
15
+ * The full package name of the lambda handler construct
16
+ */
17
+ readonly fullyQualifiedFunctionName: string;
18
+ /**
19
+ * The normalized python path to the lambda handler file in dot notation (e.g. `app.lambda_functions.lambda_handler`)
20
+ */
21
+ readonly normalizedFunctionPath: string;
22
+ }
23
+ /**
24
+ * Generates a Python Lambda Function to add to a python project
25
+ */
26
+ export declare const lambdaFunctionProjectGenerator: (tree: Tree, schema: LambdaFunctionProjectGeneratorSchema) => Promise<GeneratorCallback>;
27
+ export default lambdaFunctionProjectGenerator;
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lambdaFunctionProjectGenerator = exports.LAMBDA_FUNCTION_GENERATOR_INFO = void 0;
4
+ const tslib_1 = require("tslib");
5
+ /**
6
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
+ * SPDX-License-Identifier: Apache-2.0
8
+ */
9
+ const devkit_1 = require("@nx/devkit");
10
+ const provider_1 = require("@nxlv/python/src/provider/uv/provider");
11
+ const logger_1 = require("@nxlv/python/src/executors/utils/logger");
12
+ const toml_1 = require("@iarna/toml");
13
+ const shared_constructs_1 = require("../../utils/shared-constructs");
14
+ const shared_constructs_constants_1 = require("../../utils/shared-constructs-constants");
15
+ const names_1 = require("../../utils/names");
16
+ const ast_1 = require("../../utils/ast");
17
+ const format_1 = require("../../utils/format");
18
+ const npm_scope_1 = require("../../utils/npm-scope");
19
+ const object_1 = require("../../utils/object");
20
+ const nx_1 = require("../../utils/nx");
21
+ const metrics_1 = require("../../utils/metrics");
22
+ exports.LAMBDA_FUNCTION_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
23
+ const getLambdaFunctionDetails = (tree, schema) => {
24
+ const scope = (0, names_1.toSnakeCase)((0, npm_scope_1.getNpmScope)(tree));
25
+ const normalizedFunctionName = (0, names_1.toSnakeCase)(schema.functionName);
26
+ const fullyQualifiedFunctionName = `${scope}.${normalizedFunctionName}`;
27
+ const normalizedFunctionPath = `${schema.moduleName}.${schema.functionPath ? `${(0, names_1.toDotNotation)(schema.functionPath)}.` : ''}${normalizedFunctionName}.lambda_handler`;
28
+ return {
29
+ fullyQualifiedFunctionName,
30
+ normalizedFunctionName,
31
+ normalizedFunctionPath,
32
+ };
33
+ };
34
+ /**
35
+ * Generates a Python Lambda Function to add to a python project
36
+ */
37
+ const lambdaFunctionProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
38
+ var _a, _b, _c, _d, _e, _f;
39
+ const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, schema.project);
40
+ const pyProjectPath = (0, devkit_1.joinPathFragments)(projectConfig.root, 'pyproject.toml');
41
+ // Check if the project has a pyproject.toml file
42
+ if (!pyProjectPath) {
43
+ throw new Error(`This generator does not support selected project ${schema.project}`);
44
+ }
45
+ if (!projectConfig.sourceRoot) {
46
+ throw new Error(`This project does not have a source root. Please add a source root to the project configuration before running this generator.`);
47
+ }
48
+ const dir = projectConfig.root;
49
+ const projectNameWithOutScope = schema.project.split('.').pop();
50
+ const normalizedProjectName = (0, names_1.toSnakeCase)(projectNameWithOutScope);
51
+ // Module name is the last part of the source root,
52
+ const sourceParts = projectConfig.sourceRoot.split('/');
53
+ const moduleName = sourceParts[sourceParts.length - 1];
54
+ const { fullyQualifiedFunctionName, normalizedFunctionName, normalizedFunctionPath, } = getLambdaFunctionDetails(tree, {
55
+ moduleName,
56
+ functionName: schema.functionName,
57
+ functionPath: schema.functionPath,
58
+ });
59
+ const constructFunctionName = `${normalizedProjectName}_${normalizedFunctionName}`;
60
+ const constructFunctionClassName = (0, names_1.toClassName)(constructFunctionName);
61
+ const constructFunctionKebabCase = (0, names_1.toKebabCase)(constructFunctionName);
62
+ const lambdaFunctionClassName = (0, names_1.toClassName)(schema.functionName);
63
+ const functionPath = (0, devkit_1.joinPathFragments)(projectConfig.sourceRoot, (_a = schema.functionPath) !== null && _a !== void 0 ? _a : '', `${normalizedFunctionName}.py`);
64
+ // Check that the project does not already have a lambda handler
65
+ if (tree.exists(functionPath)) {
66
+ 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
+ yield (0, shared_constructs_1.sharedConstructsGenerator)(tree);
69
+ const enhancedOptions = Object.assign(Object.assign({}, schema), { dir,
70
+ constructFunctionClassName,
71
+ constructFunctionKebabCase, constructHandlerFilePath: normalizedFunctionPath, lambdaFunctionClassName, lambdaFunctionSnakeCase: normalizedFunctionName });
72
+ // Check if the project has a bundle target and if not add it
73
+ if (!((_b = projectConfig.targets) === null || _b === void 0 ? void 0 : _b.bundle)) {
74
+ projectConfig.targets.bundle = {
75
+ cache: true,
76
+ executor: 'nx:run-commands',
77
+ outputs: [`{workspaceRoot}/dist/${dir}/bundle`],
78
+ options: {
79
+ commands: [
80
+ `uv export --frozen --no-dev --no-editable --project ${normalizedProjectName} -o dist/${dir}/bundle/requirements.txt`,
81
+ `uv pip install -n --no-installer-metadata --no-compile-bytecode --python-platform x86_64-manylinux2014 --target dist/${dir}/bundle -r dist/${dir}/bundle/requirements.txt`,
82
+ ],
83
+ parallel: false,
84
+ },
85
+ dependsOn: ['compile'],
86
+ };
87
+ }
88
+ if ((_c = projectConfig.targets) === null || _c === void 0 ? void 0 : _c.build) {
89
+ projectConfig.targets.build.dependsOn = [
90
+ ...((_d = projectConfig.targets.build.dependsOn) !== null && _d !== void 0 ? _d : []).filter((t) => t !== 'bundle'),
91
+ 'bundle',
92
+ ];
93
+ }
94
+ projectConfig.targets = (0, object_1.sortObjectKeys)(projectConfig.targets);
95
+ (0, devkit_1.updateProjectConfiguration)(tree, projectConfig.name, projectConfig);
96
+ // Generate the lambda handler file
97
+ (0, devkit_1.generateFiles)(tree, // the virtual file system
98
+ (0, devkit_1.joinPathFragments)(__dirname, 'files', 'handler'), // path to the file templates
99
+ (0, devkit_1.joinPathFragments)(projectConfig.sourceRoot, (_e = schema.functionPath) !== null && _e !== void 0 ? _e : ''), enhancedOptions, { overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite });
100
+ // Generate the lambda handler test file
101
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'tests'), (0, devkit_1.joinPathFragments)(dir, 'tests'), enhancedOptions, { overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite });
102
+ if (!tree.exists((0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'lambda-functions', `${constructFunctionKebabCase}.ts`))) {
103
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app'), (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app'), enhancedOptions, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
104
+ (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');
105
+ (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'), `./${constructFunctionKebabCase}.js`);
106
+ }
107
+ (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) => {
108
+ var _a;
109
+ if (!config.targets) {
110
+ config.targets = {};
111
+ }
112
+ if (!config.targets.build) {
113
+ config.targets.build = {};
114
+ }
115
+ config.targets.build.dependsOn = [
116
+ ...((_a = config.targets.build.dependsOn) !== null && _a !== void 0 ? _a : []).filter((t) => t !== `${fullyQualifiedFunctionName}:build`),
117
+ `${fullyQualifiedFunctionName}:build`,
118
+ ];
119
+ return config;
120
+ });
121
+ const projectToml = (0, toml_1.parse)(tree.read((0, devkit_1.joinPathFragments)(dir, 'pyproject.toml'), 'utf8'));
122
+ // Check if the project already has the dependencies and add them if not
123
+ const dependencies = ((_f = projectToml.project) === null || _f === void 0 ? void 0 : _f.dependencies) || [];
124
+ if (!dependencies.includes('aws-lambda-powertools')) {
125
+ dependencies.push('aws-lambda-powertools');
126
+ }
127
+ if (!dependencies.includes('aws-lambda-powertools[tracer]')) {
128
+ dependencies.push('aws-lambda-powertools[tracer]');
129
+ }
130
+ if (!dependencies.includes('aws-lambda-powertools[parser]')) {
131
+ dependencies.push('aws-lambda-powertools[parser]');
132
+ }
133
+ tree.write((0, devkit_1.joinPathFragments)(dir, 'pyproject.toml'), (0, toml_1.stringify)(projectToml));
134
+ yield (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [exports.LAMBDA_FUNCTION_GENERATOR_INFO]);
135
+ yield (0, format_1.formatFilesInSubtree)(tree);
136
+ return () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
137
+ yield new provider_1.UVProvider(tree.root, new logger_1.Logger(), tree).install();
138
+ (0, devkit_1.installPackagesTask)(tree);
139
+ });
140
+ });
141
+ exports.lambdaFunctionProjectGenerator = lambdaFunctionProjectGenerator;
142
+ exports.default = exports.lambdaFunctionProjectGenerator;
143
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/lambda-function/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ type EventSource =
7
+ | 'Any'
8
+ | 'AlbModel'
9
+ | 'APIGatewayProxyEventModel'
10
+ | 'ApiGatewayAuthorizerToken'
11
+ | 'ApiGatewayAuthorizerRequest'
12
+ | 'APIGatewayProxyEventV2Model'
13
+ | 'ApiGatewayAuthorizerRequestV2'
14
+ | 'APIGatewayWebSocketMessageEventModel'
15
+ | 'APIGatewayWebSocketConnectEventModel'
16
+ | 'APIGatewayWebSocketDisconnectEventModel'
17
+ | 'BedrockAgentEventModel'
18
+ | 'CloudFormationCustomResourceCreateModel'
19
+ | 'CloudFormationCustomResourceUpdateModel'
20
+ | 'CloudFormationCustomResourceDeleteModel'
21
+ | 'CloudwatchLogsModel'
22
+ | 'DynamoDBStreamModel'
23
+ | 'EventBridgeModel'
24
+ | 'IoTCoreThingEvent'
25
+ | 'IoTCoreThingTypeEvent'
26
+ | 'IoTCoreThingTypeAssociationEvent'
27
+ | 'IoTCoreThingGroupEvent'
28
+ | 'IoTCoreAddOrRemoveFromThingGroupEvent'
29
+ | 'IoTCoreAddOrDeleteFromThingGroupEvent'
30
+ | 'KafkaMskEventModel'
31
+ | 'KafkaSelfManagedEventModel'
32
+ | 'KinesisDataStreamModel'
33
+ | 'KinesisFirehoseModel'
34
+ | 'KinesisFirehoseSqsModel'
35
+ | 'LambdaFunctionUrlModel'
36
+ | 'S3BatchOperationModel'
37
+ | 'S3EventNotificationEventBridgeModel'
38
+ | 'S3Model'
39
+ | 'S3ObjectLambdaEvent'
40
+ | 'S3SqsEventNotificationModel'
41
+ | 'SesModel'
42
+ | 'SnsModel'
43
+ | 'SqsModel'
44
+ | 'TransferFamilyAuthorizer'
45
+ | 'VpcLatticeModel'
46
+ | 'VpcLatticeV2Model';
47
+
48
+ export interface LambdaFunctionProjectGeneratorSchema {
49
+ readonly project: string;
50
+ readonly functionName: string;
51
+ readonly functionPath?: string;
52
+ readonly eventSource?: EventSource;
53
+ }
@@ -0,0 +1,83 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "PyLambdaFunction",
4
+ "title": "Add a Python Lambda Function to a project",
5
+ "description": "Add a Python Lambda Function to a project",
6
+ "type": "object",
7
+ "properties": {
8
+ "project": {
9
+ "type": "string",
10
+ "description": "The project to add the lambda function to",
11
+ "$default": {
12
+ "$source": "argv",
13
+ "index": 0
14
+ },
15
+ "x-prompt": "Select the project to add the lambda function to",
16
+ "x-dropdown": "projects"
17
+ },
18
+ "functionName": {
19
+ "type": "string",
20
+ "description": "The name of the function to add",
21
+ "x-priority": "important",
22
+ "$default": {
23
+ "$source": "argv",
24
+ "index": 0
25
+ },
26
+ "x-prompt": "What name would you like your Lambda Function to have? i.e: MyFunction"
27
+ },
28
+ "functionPath": {
29
+ "type": "string",
30
+ "description": "The path within the project source directory to add the function to",
31
+ "x-prompt": "Enter the path within the project source directory to add the function to (e.g. 'lambda_functions/')"
32
+ },
33
+ "eventSource": {
34
+ "type": "string",
35
+ "description": "Optional event source model to use for the lambda function",
36
+ "enum": [
37
+ "Any",
38
+ "AlbModel",
39
+ "APIGatewayProxyEventModel",
40
+ "ApiGatewayAuthorizerToken",
41
+ "ApiGatewayAuthorizerRequest",
42
+ "APIGatewayProxyEventV2Model",
43
+ "ApiGatewayAuthorizerRequestV2",
44
+ "APIGatewayWebSocketMessageEventModel",
45
+ "APIGatewayWebSocketConnectEventModel",
46
+ "APIGatewayWebSocketDisconnectEventModel",
47
+ "BedrockAgentEventModel",
48
+ "CloudFormationCustomResourceCreateModel",
49
+ "CloudFormationCustomResourceUpdateModel",
50
+ "CloudFormationCustomResourceDeleteModel",
51
+ "CloudwatchLogsModel",
52
+ "DynamoDBStreamModel",
53
+ "EventBridgeModel",
54
+ "IoTCoreThingEvent",
55
+ "IoTCoreThingTypeEvent",
56
+ "IoTCoreThingTypeAssociationEvent",
57
+ "IoTCoreThingGroupEvent",
58
+ "IoTCoreAddOrRemoveFromThingGroupEvent",
59
+ "IoTCoreAddOrDeleteFromThingGroupEvent",
60
+ "KafkaMskEventModel",
61
+ "KafkaSelfManagedEventModel",
62
+ "KinesisDataStreamModel",
63
+ "KinesisFirehoseModel",
64
+ "KinesisFirehoseSqsModel",
65
+ "LambdaFunctionUrlModel",
66
+ "S3BatchOperationModel",
67
+ "S3EventNotificationEventBridgeModel",
68
+ "S3Model",
69
+ "S3ObjectLambdaEvent",
70
+ "S3SqsEventNotificationModel",
71
+ "SesModel",
72
+ "SnsModel",
73
+ "SqsModel",
74
+ "TransferFamilyAuthorizer",
75
+ "VpcLatticeModel",
76
+ "VpcLatticeV2Model"
77
+ ],
78
+ "default": "Any",
79
+ "x-prompt": "Enter the event source model to use for the lambda function"
80
+ }
81
+ },
82
+ "required": ["project", "functionName", "eventSource"]
83
+ }
@@ -4,6 +4,8 @@
4
4
  */
5
5
  import { GeneratorCallback, Tree } from '@nx/devkit';
6
6
  import { PyProjectGeneratorSchema } from './schema';
7
+ import { NxGeneratorInfo } from '../../utils/nx';
8
+ export declare const PY_PROJECT_GENERATOR_INFO: NxGeneratorInfo;
7
9
  export interface PyProjectDetails {
8
10
  readonly normalizedName: string;
9
11
  /**
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pyProjectGenerator = exports.getPyProjectDetails = void 0;
3
+ exports.pyProjectGenerator = exports.getPyProjectDetails = exports.PY_PROJECT_GENERATOR_INFO = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  /**
6
6
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
@@ -14,8 +14,11 @@ const logger_1 = require("@nxlv/python/src/executors/utils/logger");
14
14
  const versions_1 = require("../../utils/versions");
15
15
  const npm_scope_1 = require("../../utils/npm-scope");
16
16
  const names_1 = require("../../utils/names");
17
- const nx_1 = require("../../utils/nx");
17
+ const object_1 = require("../../utils/object");
18
18
  const git_1 = require("../../utils/git");
19
+ const nx_1 = require("../../utils/nx");
20
+ const metrics_1 = require("../../utils/metrics");
21
+ exports.PY_PROJECT_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
19
22
  /**
20
23
  * Returns details about the Python project to be created
21
24
  */
@@ -36,6 +39,7 @@ const pyProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void 0, v
36
39
  var _a, _b, _c;
37
40
  const { dir, normalizedName, normalizedModuleName, fullyQualifiedName } = (0, exports.getPyProjectDetails)(tree, schema);
38
41
  const pythonPlugin = (0, versions_1.withVersions)(['@nxlv/python']);
42
+ (0, devkit_1.addDependenciesToPackageJson)(tree, {}, pythonPlugin);
39
43
  Object.entries(pythonPlugin).forEach(([name, version]) => (0, devkit_1.ensurePackage)(name, version));
40
44
  const nxJson = (0, devkit_1.readNxJson)(tree);
41
45
  if (!((_a = nxJson.plugins) === null || _a === void 0 ? void 0 : _a.find((p) => typeof p === 'string'
@@ -93,12 +97,13 @@ const pyProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void 0, v
93
97
  outputPath,
94
98
  },
95
99
  };
96
- projectConfiguration.targets = (0, nx_1.sortObjectKeys)(projectConfiguration.targets);
100
+ projectConfiguration.targets = (0, object_1.sortObjectKeys)(projectConfiguration.targets);
97
101
  (0, devkit_1.updateProjectConfiguration)(tree, normalizedName, projectConfiguration);
98
102
  // Update root .gitignore to ignore reports directory
99
103
  (0, git_1.updateGitIgnore)(tree, '.', (patterns) => [...patterns, '/reports']);
100
104
  // Update project level .gitignore to ignore __pycache__ directories
101
105
  (0, git_1.updateGitIgnore)(tree, dir, (patterns) => [...patterns, '**/__pycache__']);
106
+ yield (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [exports.PY_PROJECT_GENERATOR_INFO]);
102
107
  return () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
103
108
  yield new provider_1.UVProvider(tree.root, new logger_1.Logger(), tree).install();
104
109
  });
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/project/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/project/generator.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,7 @@
4
4
  */
5
5
  import { Tree } from '@nx/devkit';
6
6
  import { TrpcBackendGeneratorSchema } from './schema';
7
+ import { NxGeneratorInfo } from '../../utils/nx';
8
+ export declare const TRPC_BACKEND_GENERATOR_INFO: NxGeneratorInfo;
7
9
  export declare function trpcBackendGenerator(tree: Tree, options: TrpcBackendGeneratorSchema): Promise<() => void>;
8
10
  export default trpcBackendGenerator;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TRPC_BACKEND_GENERATOR_INFO = void 0;
3
4
  exports.trpcBackendGenerator = trpcBackendGenerator;
4
5
  const tslib_1 = require("tslib");
5
6
  /**
@@ -9,6 +10,7 @@ const tslib_1 = require("tslib");
9
10
  const devkit_1 = require("@nx/devkit");
10
11
  const lodash_kebabcase_1 = tslib_1.__importDefault(require("lodash.kebabcase"));
11
12
  const shared_constructs_1 = require("../../utils/shared-constructs");
13
+ const shared_constructs_constants_1 = require("../../utils/shared-constructs-constants");
12
14
  const generator_1 = tslib_1.__importDefault(require("../../ts/lib/generator"));
13
15
  const npm_scope_1 = require("../../utils/npm-scope");
14
16
  const versions_1 = require("../../utils/versions");
@@ -16,7 +18,10 @@ const names_1 = require("../../utils/names");
16
18
  const ast_1 = require("../../utils/ast");
17
19
  const format_1 = require("../../utils/format");
18
20
  const http_api_1 = require("../../utils/http-api");
21
+ const object_1 = require("../../utils/object");
19
22
  const nx_1 = require("../../utils/nx");
23
+ const metrics_1 = require("../../utils/metrics");
24
+ exports.TRPC_BACKEND_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
20
25
  function trpcBackendGenerator(tree, options) {
21
26
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
22
27
  var _a;
@@ -44,12 +49,12 @@ function trpcBackendGenerator(tree, options) {
44
49
  directory: projectRoot,
45
50
  subDirectory: 'schema',
46
51
  });
47
- if (!tree.exists((0, devkit_1.joinPathFragments)(shared_constructs_1.PACKAGES_DIR, shared_constructs_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'http-apis', `${apiNameKebabCase}.ts`))) {
48
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', shared_constructs_1.SHARED_CONSTRUCTS_DIR, 'src', 'app'), (0, devkit_1.joinPathFragments)(shared_constructs_1.PACKAGES_DIR, shared_constructs_1.SHARED_CONSTRUCTS_DIR, 'src', 'app'), enhancedOptions, {
52
+ if (!tree.exists((0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'http-apis', `${apiNameKebabCase}.ts`))) {
53
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app'), (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app'), enhancedOptions, {
49
54
  overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
50
55
  });
51
- (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_1.PACKAGES_DIR, shared_constructs_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'index.ts'), './http-apis/index.js');
52
- (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_1.PACKAGES_DIR, shared_constructs_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'http-apis', 'index.ts'), `./${apiNameKebabCase}.js`);
56
+ (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'), './http-apis/index.js');
57
+ (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'http-apis', 'index.ts'), `./${apiNameKebabCase}.js`);
53
58
  }
54
59
  (0, http_api_1.addHttpApi)(tree, apiNameClassName);
55
60
  (0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(backendRoot, 'project.json'), (config) => {
@@ -77,10 +82,10 @@ function trpcBackendGenerator(tree, options) {
77
82
  ...((_a = config.targets.build.dependsOn) !== null && _a !== void 0 ? _a : []),
78
83
  'bundle',
79
84
  ];
80
- config.targets = (0, nx_1.sortObjectKeys)(config.targets);
85
+ config.targets = (0, object_1.sortObjectKeys)(config.targets);
81
86
  return config;
82
87
  });
83
- (0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_1.PACKAGES_DIR, shared_constructs_1.SHARED_CONSTRUCTS_DIR, 'project.json'), (config) => {
88
+ (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) => {
84
89
  var _a;
85
90
  if (!config.targets) {
86
91
  config.targets = {};
@@ -114,6 +119,7 @@ function trpcBackendGenerator(tree, options) {
114
119
  ]), (0, versions_1.withVersions)(['@types/aws-lambda', 'esbuild', 'tsx']));
115
120
  tree.delete((0, devkit_1.joinPathFragments)(backendRoot, 'package.json'));
116
121
  tree.delete((0, devkit_1.joinPathFragments)(schemaRoot, 'package.json'));
122
+ yield (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [exports.TRPC_BACKEND_GENERATOR_INFO]);
117
123
  yield (0, format_1.formatFilesInSubtree)(tree);
118
124
  return () => {
119
125
  (0, devkit_1.installPackagesTask)(tree);