@nikovirtala/projen-bundle-lambda-function-code 0.0.3 → 0.0.5
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/.projenrc.ts +2 -1
- package/lib/index.d.ts +10 -10
- package/lib/index.js +15 -13
- package/package.json +6 -1
package/.projenrc.ts
CHANGED
|
@@ -3,11 +3,12 @@ import { NpmAccess } from "projen/lib/javascript";
|
|
|
3
3
|
const project = new typescript.TypeScriptProject({
|
|
4
4
|
copyrightOwner: "Niko Virtala",
|
|
5
5
|
defaultReleaseBranch: "main",
|
|
6
|
-
deps: ["projen"],
|
|
6
|
+
deps: ["projen", "@mrgrain/cdk-esbuild"],
|
|
7
7
|
jest: false,
|
|
8
8
|
license: "MIT",
|
|
9
9
|
name: "@nikovirtala/projen-bundle-lambda-function-code",
|
|
10
10
|
npmAccess: NpmAccess.PUBLIC,
|
|
11
|
+
peerDeps: ["aws-cdk-lib@^2.51.0"],
|
|
11
12
|
prettier: true,
|
|
12
13
|
projenrcTs: true,
|
|
13
14
|
releaseToNpm: true,
|
package/lib/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export declare const TYPESCRIPT_LAMBDA_EXT = ".lambda.ts";
|
|
|
6
6
|
/**
|
|
7
7
|
* Common options for auto discovering project subcomponents.
|
|
8
8
|
*/
|
|
9
|
-
export interface
|
|
9
|
+
export interface FunctionCodeBundlerCommonOptions {
|
|
10
10
|
/**
|
|
11
11
|
* Path to the tsconfig file to use for integration tests.
|
|
12
12
|
*/
|
|
@@ -17,9 +17,9 @@ export interface AutoDiscoverCommonOptions {
|
|
|
17
17
|
readonly cdkDeps: awscdk.AwsCdkDeps;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
-
* Options for `
|
|
20
|
+
* Options for `LambdaFunctionCodeBundler`
|
|
21
21
|
*/
|
|
22
|
-
export interface
|
|
22
|
+
export interface LambdaFunctionCodeBundlerOptions extends FunctionCodeBundlerCommonOptions {
|
|
23
23
|
/**
|
|
24
24
|
* Project source tree (relative to project output directory).
|
|
25
25
|
*/
|
|
@@ -32,24 +32,24 @@ export interface LambdaAutoDiscoverOptions extends AutoDiscoverCommonOptions {
|
|
|
32
32
|
/**
|
|
33
33
|
* Creates lambdas from entry points discovered in the project's source tree.
|
|
34
34
|
*/
|
|
35
|
-
export declare class
|
|
36
|
-
constructor(project: Project, options:
|
|
35
|
+
export declare class LambdaFunctionCodeBundler extends cdk.AutoDiscoverBase {
|
|
36
|
+
constructor(project: Project, options: LambdaFunctionCodeBundlerOptions);
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
* Options for `
|
|
39
|
+
* Options for `FunctionCodeBundler`
|
|
40
40
|
*/
|
|
41
|
-
export interface
|
|
41
|
+
export interface FunctionCodeBundlerOptions extends LambdaFunctionCodeBundlerOptions {
|
|
42
42
|
/**
|
|
43
43
|
* Auto-discover lambda functions.
|
|
44
44
|
*
|
|
45
45
|
* @default true
|
|
46
46
|
*/
|
|
47
|
-
readonly
|
|
47
|
+
readonly lambdaFunctionCodeBundler?: boolean;
|
|
48
48
|
}
|
|
49
49
|
/**
|
|
50
50
|
* Discovers and creates integration tests and lambdas from code in the
|
|
51
51
|
* project's source and test trees.
|
|
52
52
|
*/
|
|
53
|
-
export declare class
|
|
54
|
-
constructor(project: Project, options:
|
|
53
|
+
export declare class FunctionCodeBundler extends Component {
|
|
54
|
+
constructor(project: Project, options: FunctionCodeBundlerOptions);
|
|
55
55
|
}
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.FunctionCodeBundler = exports.LambdaFunctionCodeBundler = exports.TYPESCRIPT_LAMBDA_EXT = void 0;
|
|
4
|
+
const cdk_esbuild_1 = require("@mrgrain/cdk-esbuild");
|
|
4
5
|
const projen_1 = require("projen");
|
|
5
6
|
/**
|
|
6
7
|
* Suffix for AWS Lambda handlers.
|
|
@@ -9,32 +10,33 @@ exports.TYPESCRIPT_LAMBDA_EXT = ".lambda.ts";
|
|
|
9
10
|
/**
|
|
10
11
|
* Creates lambdas from entry points discovered in the project's source tree.
|
|
11
12
|
*/
|
|
12
|
-
class
|
|
13
|
+
class LambdaFunctionCodeBundler extends projen_1.cdk.AutoDiscoverBase {
|
|
13
14
|
constructor(project, options) {
|
|
14
15
|
super(project, {
|
|
15
16
|
projectdir: options.srcdir,
|
|
16
17
|
extension: exports.TYPESCRIPT_LAMBDA_EXT,
|
|
17
18
|
});
|
|
18
19
|
for (const entrypoint of this.entrypoints) {
|
|
19
|
-
new
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
new cdk_esbuild_1.TypeScriptCode(entrypoint);
|
|
21
|
+
/* new awscdk.LambdaFunction(this.project, {
|
|
22
|
+
entrypoint,
|
|
23
|
+
cdkDeps: options.cdkDeps,
|
|
24
|
+
...options.lambdaOptions,
|
|
25
|
+
}); */
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
|
-
exports.
|
|
29
|
+
exports.LambdaFunctionCodeBundler = LambdaFunctionCodeBundler;
|
|
28
30
|
/**
|
|
29
31
|
* Discovers and creates integration tests and lambdas from code in the
|
|
30
32
|
* project's source and test trees.
|
|
31
33
|
*/
|
|
32
|
-
class
|
|
34
|
+
class FunctionCodeBundler extends projen_1.Component {
|
|
33
35
|
constructor(project, options) {
|
|
34
36
|
var _a;
|
|
35
37
|
super(project);
|
|
36
|
-
if ((_a = options.
|
|
37
|
-
new
|
|
38
|
+
if ((_a = options.lambdaFunctionCodeBundler) !== null && _a !== void 0 ? _a : true) {
|
|
39
|
+
new LambdaFunctionCodeBundler(this.project, {
|
|
38
40
|
cdkDeps: options.cdkDeps,
|
|
39
41
|
tsconfigPath: options.tsconfigPath,
|
|
40
42
|
srcdir: options.srcdir,
|
|
@@ -43,5 +45,5 @@ class AutoDiscover extends projen_1.Component {
|
|
|
43
45
|
}
|
|
44
46
|
}
|
|
45
47
|
}
|
|
46
|
-
exports.
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
exports.FunctionCodeBundler = FunctionCodeBundler;
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQXNEO0FBQ3RELG1DQUF5RDtBQUV6RDs7R0FFRztBQUNVLFFBQUEscUJBQXFCLEdBQUcsWUFBWSxDQUFDO0FBaUNsRDs7R0FFRztBQUNILE1BQWEseUJBQTBCLFNBQVEsWUFBRyxDQUFDLGdCQUFnQjtJQUNqRSxZQUFZLE9BQWdCLEVBQUUsT0FBeUM7UUFDckUsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNiLFVBQVUsRUFBRSxPQUFPLENBQUMsTUFBTTtZQUMxQixTQUFTLEVBQUUsNkJBQXFCO1NBQ2pDLENBQUMsQ0FBQztRQUVILEtBQUssTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzFDLElBQUksNEJBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMvQjs7OztrQkFJTTtRQUNSLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFoQkQsOERBZ0JDO0FBZUQ7OztHQUdHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxrQkFBUztJQUNoRCxZQUFZLE9BQWdCLEVBQUUsT0FBbUM7O1FBQy9ELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksTUFBQSxPQUFPLENBQUMseUJBQXlCLG1DQUFJLElBQUksRUFBRSxDQUFDO1lBQzlDLElBQUkseUJBQXlCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDMUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO2dCQUN4QixZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7Z0JBQ2xDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtnQkFDdEIsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhO2FBQ3JDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFiRCxrREFhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGVTY3JpcHRDb2RlIH0gZnJvbSBcIkBtcmdyYWluL2Nkay1lc2J1aWxkXCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIFByb2plY3QsIGF3c2NkaywgY2RrIH0gZnJvbSBcInByb2plblwiO1xuXG4vKipcbiAqIFN1ZmZpeCBmb3IgQVdTIExhbWJkYSBoYW5kbGVycy5cbiAqL1xuZXhwb3J0IGNvbnN0IFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCA9IFwiLmxhbWJkYS50c1wiO1xuXG4vKipcbiAqIENvbW1vbiBvcHRpb25zIGZvciBhdXRvIGRpc2NvdmVyaW5nIHByb2plY3Qgc3ViY29tcG9uZW50cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvbkNvZGVCdW5kbGVyQ29tbW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSB0c2NvbmZpZyBmaWxlIHRvIHVzZSBmb3IgaW50ZWdyYXRpb24gdGVzdHMuXG4gICAqL1xuICByZWFkb25seSB0c2NvbmZpZ1BhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogQVdTIENESyBkZXBlbmRlbmN5IG1hbmFnZXIuXG4gICAqL1xuICByZWFkb25seSBjZGtEZXBzOiBhd3NjZGsuQXdzQ2RrRGVwcztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgTGFtYmRhRnVuY3Rpb25Db2RlQnVuZGxlcmBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGVyT3B0aW9uc1xuICBleHRlbmRzIEZ1bmN0aW9uQ29kZUJ1bmRsZXJDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIFByb2plY3Qgc291cmNlIHRyZWUgKHJlbGF0aXZlIHRvIHByb2plY3Qgb3V0cHV0IGRpcmVjdG9yeSkuXG4gICAqL1xuICByZWFkb25seSBzcmNkaXI6IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9ucyBmb3IgQVdTIExhbWJkYSBmdW5jdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFPcHRpb25zPzogYXdzY2RrLkxhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucztcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGxhbWJkYXMgZnJvbSBlbnRyeSBwb2ludHMgZGlzY292ZXJlZCBpbiB0aGUgcHJvamVjdCdzIHNvdXJjZSB0cmVlLlxuICovXG5leHBvcnQgY2xhc3MgTGFtYmRhRnVuY3Rpb25Db2RlQnVuZGxlciBleHRlbmRzIGNkay5BdXRvRGlzY292ZXJCYXNlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogTGFtYmRhRnVuY3Rpb25Db2RlQnVuZGxlck9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCB7XG4gICAgICBwcm9qZWN0ZGlyOiBvcHRpb25zLnNyY2RpcixcbiAgICAgIGV4dGVuc2lvbjogVFlQRVNDUklQVF9MQU1CREFfRVhULFxuICAgIH0pO1xuXG4gICAgZm9yIChjb25zdCBlbnRyeXBvaW50IG9mIHRoaXMuZW50cnlwb2ludHMpIHtcbiAgICAgIG5ldyBUeXBlU2NyaXB0Q29kZShlbnRyeXBvaW50KTtcbiAgICAgIC8qICAgICAgIG5ldyBhd3NjZGsuTGFtYmRhRnVuY3Rpb24odGhpcy5wcm9qZWN0LCB7XG4gICAgICAgIGVudHJ5cG9pbnQsXG4gICAgICAgIGNka0RlcHM6IG9wdGlvbnMuY2RrRGVwcyxcbiAgICAgICAgLi4ub3B0aW9ucy5sYW1iZGFPcHRpb25zLFxuICAgICAgfSk7ICovXG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEZ1bmN0aW9uQ29kZUJ1bmRsZXJgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25Db2RlQnVuZGxlck9wdGlvbnNcbiAgZXh0ZW5kcyBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBdXRvLWRpc2NvdmVyIGxhbWJkYSBmdW5jdGlvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uQ29kZUJ1bmRsZXI/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIERpc2NvdmVycyBhbmQgY3JlYXRlcyBpbnRlZ3JhdGlvbiB0ZXN0cyBhbmQgbGFtYmRhcyBmcm9tIGNvZGUgaW4gdGhlXG4gKiBwcm9qZWN0J3Mgc291cmNlIGFuZCB0ZXN0IHRyZWVzLlxuICovXG5leHBvcnQgY2xhc3MgRnVuY3Rpb25Db2RlQnVuZGxlciBleHRlbmRzIENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEZ1bmN0aW9uQ29kZUJ1bmRsZXJPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICBpZiAob3B0aW9ucy5sYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGVyID8/IHRydWUpIHtcbiAgICAgIG5ldyBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGVyKHRoaXMucHJvamVjdCwge1xuICAgICAgICBjZGtEZXBzOiBvcHRpb25zLmNka0RlcHMsXG4gICAgICAgIHRzY29uZmlnUGF0aDogb3B0aW9ucy50c2NvbmZpZ1BhdGgsXG4gICAgICAgIHNyY2Rpcjogb3B0aW9ucy5zcmNkaXIsXG4gICAgICAgIGxhbWJkYU9wdGlvbnM6IG9wdGlvbnMubGFtYmRhT3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
"@types/node": "^18",
|
|
24
24
|
"@typescript-eslint/eslint-plugin": "^6",
|
|
25
25
|
"@typescript-eslint/parser": "^6",
|
|
26
|
+
"aws-cdk-lib": "2.51.0",
|
|
26
27
|
"constructs": "^10.0.0",
|
|
27
28
|
"eslint": "^8",
|
|
28
29
|
"eslint-config-prettier": "^9.0.0",
|
|
@@ -36,7 +37,11 @@
|
|
|
36
37
|
"ts-node": "^10.9.1",
|
|
37
38
|
"typescript": "^5.3.2"
|
|
38
39
|
},
|
|
40
|
+
"peerDependencies": {
|
|
41
|
+
"aws-cdk-lib": "^2.51.0"
|
|
42
|
+
},
|
|
39
43
|
"dependencies": {
|
|
44
|
+
"@mrgrain/cdk-esbuild": "^5.0.5",
|
|
40
45
|
"projen": "^0.77.1"
|
|
41
46
|
},
|
|
42
47
|
"main": "lib/index.js",
|
|
@@ -44,7 +49,7 @@
|
|
|
44
49
|
"publishConfig": {
|
|
45
50
|
"access": "public"
|
|
46
51
|
},
|
|
47
|
-
"version": "0.0.
|
|
52
|
+
"version": "0.0.5",
|
|
48
53
|
"types": "lib/index.d.ts",
|
|
49
54
|
"//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"."
|
|
50
55
|
}
|