@aws/nx-plugin 0.17.0 → 0.18.2
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/README.md +128 -37
- package/generators.json +30 -9
- package/package.json +1 -1
- package/src/cloudscape-website/app/__snapshots__/generator.spec.ts.snap +2 -0
- package/src/cloudscape-website/app/files/common/constructs/src/core/static-website.ts.template +1 -0
- package/src/cloudscape-website/app/generator.d.ts +2 -0
- package/src/cloudscape-website/app/generator.js +19 -10
- package/src/cloudscape-website/app/generator.js.map +1 -1
- package/src/cloudscape-website/cognito-auth/__snapshots__/generator.spec.ts.snap +2 -0
- package/src/cloudscape-website/cognito-auth/generator.d.ts +2 -0
- package/src/cloudscape-website/cognito-auth/generator.js +10 -4
- package/src/cloudscape-website/cognito-auth/generator.js.map +1 -1
- package/src/cloudscape-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -1
- package/src/cloudscape-website/runtime-config/generator.d.ts +2 -0
- package/src/cloudscape-website/runtime-config/generator.js +5 -0
- package/src/cloudscape-website/runtime-config/generator.js.map +1 -1
- package/src/infra/app/__snapshots__/generator.spec.ts.snap +15 -20
- package/src/infra/app/files/app/src/main.ts.template +2 -3
- package/src/infra/app/generator.d.ts +2 -0
- package/src/infra/app/generator.js +12 -5
- package/src/infra/app/generator.js.map +1 -1
- package/src/license/generator.d.ts +2 -0
- package/src/license/generator.js +5 -0
- package/src/license/generator.js.map +1 -1
- package/src/license/sync/generator.d.ts +1 -1
- package/src/license/sync/generator.js +3 -1
- package/src/license/sync/generator.js.map +1 -1
- package/src/py/fast-api/generator.d.ts +2 -0
- package/src/py/fast-api/generator.js +12 -7
- package/src/py/fast-api/generator.js.map +1 -1
- package/src/py/fast-api/react/generator.d.ts +2 -0
- package/src/py/fast-api/react/generator.js +8 -4
- package/src/py/fast-api/react/generator.js.map +1 -1
- package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +66 -0
- package/src/py/lambda-function/files/common/constructs/src/app/lambda-functions/__constructFunctionKebabCase__.ts.template +24 -0
- package/src/py/lambda-function/files/handler/__lambdaFunctionSnakeCase__.py.template +34 -0
- package/src/py/lambda-function/files/tests/test___lambdaFunctionSnakeCase__.py.template +2 -0
- package/src/py/lambda-function/generator.d.ts +27 -0
- package/src/py/lambda-function/generator.js +143 -0
- package/src/py/lambda-function/generator.js.map +1 -0
- package/src/py/lambda-function/schema.d.ts +53 -0
- package/src/py/lambda-function/schema.json +83 -0
- package/src/py/project/generator.d.ts +2 -0
- package/src/py/project/generator.js +8 -3
- package/src/py/project/generator.js.map +1 -1
- package/src/trpc/backend/generator.d.ts +2 -0
- package/src/trpc/backend/generator.js +12 -6
- package/src/trpc/backend/generator.js.map +1 -1
- package/src/trpc/react/generator.d.ts +2 -0
- package/src/trpc/react/generator.js +5 -0
- package/src/trpc/react/generator.js.map +1 -1
- package/src/ts/lib/generator.d.ts +2 -0
- package/src/ts/lib/generator.js +6 -2
- package/src/ts/lib/generator.js.map +1 -1
- package/src/utils/__snapshots__/shared-constructs.spec.ts.snap +90 -0
- package/src/utils/files/common/constructs/src/core/app.ts.template +24 -0
- package/src/utils/files/common/constructs/src/core/index.ts.template +1 -0
- package/src/utils/http-api.js +5 -5
- package/src/utils/http-api.js.map +1 -1
- package/src/utils/metrics.d.ts +13 -0
- package/src/utils/metrics.js +49 -0
- package/src/utils/metrics.js.map +1 -0
- package/src/utils/names.d.ts +1 -0
- package/src/utils/names.js +4 -1
- package/src/utils/names.js.map +1 -1
- package/src/utils/nx.d.ts +8 -6
- package/src/utils/nx.js +27 -8
- package/src/utils/nx.js.map +1 -1
- package/src/utils/object.d.ts +9 -0
- package/src/utils/object.js +15 -0
- package/src/utils/object.js.map +1 -0
- package/src/utils/shared-constructs-constants.d.ts +9 -0
- package/src/utils/shared-constructs-constants.js +13 -0
- package/src/utils/shared-constructs-constants.js.map +1 -0
- package/src/utils/shared-constructs.d.ts +0 -5
- package/src/utils/shared-constructs.js +19 -24
- package/src/utils/shared-constructs.js.map +1 -1
- package/src/utils/versions.d.ts +2 -2
- package/src/utils/versions.js +1 -1
- package/src/utils/versions.js.map +1 -1
|
@@ -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
|
|
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,
|
|
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":";;;;AAAA;;;GAGG;AACH,
|
|
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)(
|
|
48
|
-
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files',
|
|
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)(
|
|
52
|
-
(0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(
|
|
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,
|
|
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)(
|
|
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);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/trpc/backend/generator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/trpc/backend/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Tree } from '@nx/devkit';
|
|
6
6
|
import { ReactGeneratorSchema } from './schema';
|
|
7
|
+
import { NxGeneratorInfo } from '../../utils/nx';
|
|
8
|
+
export declare const TRPC_REACT_GENERATOR_INFO: NxGeneratorInfo;
|
|
7
9
|
export declare function reactGenerator(tree: Tree, options: ReactGeneratorSchema): Promise<() => void>;
|
|
8
10
|
export default reactGenerator;
|