@webda/aws 4.0.0-beta.3 → 4.0.0-beta.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/lib/deployers/awsdeployer.d.ts +340 -0
- package/lib/deployers/awsdeployer.d.ts.map +1 -0
- package/lib/deployers/awsdeployer.js +673 -0
- package/lib/deployers/awsdeployer.js.map +1 -0
- package/lib/deployers/cloudformation.service.d.ts +438 -0
- package/lib/deployers/cloudformation.service.d.ts.map +1 -0
- package/lib/deployers/cloudformation.service.js +889 -0
- package/lib/deployers/cloudformation.service.js.map +1 -0
- package/lib/deployers/index.d.ts +5 -0
- package/lib/deployers/index.d.ts.map +1 -0
- package/lib/deployers/index.js +5 -0
- package/lib/deployers/index.js.map +1 -0
- package/lib/deployers/lambda-entrypoint.d.ts +34 -0
- package/lib/deployers/lambda-entrypoint.d.ts.map +1 -0
- package/lib/deployers/lambda-entrypoint.js +47 -0
- package/lib/deployers/lambda-entrypoint.js.map +1 -0
- package/lib/deployers/lambdapackager.service.d.ts +123 -0
- package/lib/deployers/lambdapackager.service.d.ts.map +1 -0
- package/lib/deployers/lambdapackager.service.js +149 -0
- package/lib/deployers/lambdapackager.service.js.map +1 -0
- package/lib/deployers/zip.d.ts +42 -0
- package/lib/deployers/zip.d.ts.map +1 -0
- package/lib/deployers/zip.js +129 -0
- package/lib/deployers/zip.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/services/contributors.d.ts +1 -2
- package/lib/services/contributors.d.ts.map +1 -1
- package/lib/services/dynamodb.service.d.ts +2 -1
- package/lib/services/dynamodb.service.d.ts.map +1 -1
- package/lib/services/dynamodb.service.js +5 -4
- package/lib/services/dynamodb.service.js.map +1 -1
- package/lib/services/s3binary.service.d.ts.map +1 -1
- package/lib/services/s3binary.service.js +21 -20
- package/lib/services/s3binary.service.js.map +1 -1
- package/package.json +12 -14
- package/webda.module.json +698 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudformation.service.js","sourceRoot":"","sources":["../../src/deployers/cloudformation.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/deployers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/deployers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { InstanceStorage } from "@webda/core";
|
|
2
|
+
import type { Context as LambdaContext } from "aws-lambda";
|
|
3
|
+
import { LambdaServer } from "../services/lambdaserver.service.js";
|
|
4
|
+
/**
|
|
5
|
+
* A booted packaged application
|
|
6
|
+
*/
|
|
7
|
+
export interface LambdaApplication {
|
|
8
|
+
/**
|
|
9
|
+
* The LambdaServer handling the invocations
|
|
10
|
+
*/
|
|
11
|
+
lambda: LambdaServer;
|
|
12
|
+
/**
|
|
13
|
+
* The instance storage the application was booted in, every invocation runs within it
|
|
14
|
+
*/
|
|
15
|
+
instance: InstanceStorage;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Boot the packaged application in its own instance storage and return its LambdaServer
|
|
19
|
+
*
|
|
20
|
+
* @param appPath - the packaged application folder
|
|
21
|
+
* @returns the LambdaServer service and its instance storage
|
|
22
|
+
*/
|
|
23
|
+
export declare function bootLambdaServer(appPath?: string): Promise<LambdaApplication>;
|
|
24
|
+
/**
|
|
25
|
+
* Lambda handler: the default `Handler` of the CloudFormation deployer
|
|
26
|
+
*
|
|
27
|
+
* The application is booted once, every invocation runs within its instance storage
|
|
28
|
+
*
|
|
29
|
+
* @param event - the Lambda event
|
|
30
|
+
* @param context - the Lambda context
|
|
31
|
+
* @returns the API Gateway result for HTTP requests
|
|
32
|
+
*/
|
|
33
|
+
export declare function handler(event: any, context: LambdaContext): Promise<any>;
|
|
34
|
+
//# sourceMappingURL=lambda-entrypoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lambda-entrypoint.d.ts","sourceRoot":"","sources":["../../src/deployers/lambda-entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,eAAe,EAA8C,MAAM,aAAa,CAAC;AAC7G,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IACrB;;OAEG;IACH,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAOD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE,MAAyD,GACjE,OAAO,CAAC,iBAAiB,CAAC,CAe5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAQ9E"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Application, Core, runWithInstanceStorage, useInstanceStorage } from "@webda/core";
|
|
2
|
+
import { LambdaServer } from "../services/lambdaserver.service.js";
|
|
3
|
+
/**
|
|
4
|
+
* The packaged application, booted on the first invocation
|
|
5
|
+
*/
|
|
6
|
+
let booted;
|
|
7
|
+
/**
|
|
8
|
+
* Boot the packaged application in its own instance storage and return its LambdaServer
|
|
9
|
+
*
|
|
10
|
+
* @param appPath - the packaged application folder
|
|
11
|
+
* @returns the LambdaServer service and its instance storage
|
|
12
|
+
*/
|
|
13
|
+
export function bootLambdaServer(appPath = process.env["LAMBDA_TASK_ROOT"] || process.cwd()) {
|
|
14
|
+
return runWithInstanceStorage({}, async () => {
|
|
15
|
+
const app = new Application(appPath);
|
|
16
|
+
useInstanceStorage().application = app;
|
|
17
|
+
await app.load();
|
|
18
|
+
const core = new Core(app);
|
|
19
|
+
await core.init();
|
|
20
|
+
const services = Object.values(core.getServices());
|
|
21
|
+
const lambda = (services.find(service => service instanceof LambdaServer) ??
|
|
22
|
+
services.find(service => service?.constructor?.name === "LambdaServer"));
|
|
23
|
+
if (!lambda) {
|
|
24
|
+
throw new Error("No LambdaServer service found in the packaged application");
|
|
25
|
+
}
|
|
26
|
+
return { lambda, instance: useInstanceStorage() };
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Lambda handler: the default `Handler` of the CloudFormation deployer
|
|
31
|
+
*
|
|
32
|
+
* The application is booted once, every invocation runs within its instance storage
|
|
33
|
+
*
|
|
34
|
+
* @param event - the Lambda event
|
|
35
|
+
* @param context - the Lambda context
|
|
36
|
+
* @returns the API Gateway result for HTTP requests
|
|
37
|
+
*/
|
|
38
|
+
export async function handler(event, context) {
|
|
39
|
+
booted ?? (booted = bootLambdaServer().catch(err => {
|
|
40
|
+
// Allow a later invocation to retry the boot
|
|
41
|
+
booted = undefined;
|
|
42
|
+
throw err;
|
|
43
|
+
}));
|
|
44
|
+
const { lambda, instance } = await booted;
|
|
45
|
+
return runWithInstanceStorage(instance, () => lambda.handleRequest(event, context));
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=lambda-entrypoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lambda-entrypoint.js","sourceRoot":"","sources":["../../src/deployers/lambda-entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,IAAI,EAAmB,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE7G,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAgBnE;;GAEG;AACH,IAAI,MAA8C,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAO,GAAW,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE;IAElE,OAAO,sBAAsB,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QACrC,kBAAkB,EAAE,CAAC,WAAW,GAAG,GAAG,CAAC;QACvC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,YAAY,CAAC;YACvE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,KAAK,cAAc,CAAC,CAAiB,CAAC;QAC3F,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAU,EAAE,OAAsB;IAC9D,MAAM,KAAN,MAAM,GAAK,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACxC,6CAA6C;QAC7C,MAAM,GAAG,SAAS,CAAC;QACnB,MAAM,GAAG,CAAC;IACZ,CAAC,CAAC,EAAC;IACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC;IAC1C,OAAO,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AACtF,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Application, Deployer, PackageOptions, Service, ServiceParameters } from "@webda/core";
|
|
2
|
+
/**
|
|
3
|
+
* Type of the service handling the Lambda invocations in the package
|
|
4
|
+
*/
|
|
5
|
+
export declare const LAMBDA_SERVER_TYPE = "Webda/LambdaServer";
|
|
6
|
+
/**
|
|
7
|
+
* Options to build a Lambda package
|
|
8
|
+
*/
|
|
9
|
+
export interface LambdaPackageOptions {
|
|
10
|
+
/**
|
|
11
|
+
* Path of the zip to create
|
|
12
|
+
*
|
|
13
|
+
* @default "dist/lambda.zip"
|
|
14
|
+
*/
|
|
15
|
+
zipPath?: string;
|
|
16
|
+
/**
|
|
17
|
+
* File to add as `entrypoint.js` at the root of the package
|
|
18
|
+
*
|
|
19
|
+
* The default handler is `node_modules/@webda/aws/lib/deployers/lambda-entrypoint.handler`
|
|
20
|
+
* so it is not needed
|
|
21
|
+
*/
|
|
22
|
+
entrypoint?: string;
|
|
23
|
+
/**
|
|
24
|
+
* The application includes its own aws-sdk v2: by default `aws-sdk` is excluded
|
|
25
|
+
*
|
|
26
|
+
* @default false
|
|
27
|
+
*/
|
|
28
|
+
customAwsSdk?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* How to select the files of the application
|
|
31
|
+
*/
|
|
32
|
+
package?: PackageOptions;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Result of a Lambda package
|
|
36
|
+
*/
|
|
37
|
+
export interface LambdaPackageResult {
|
|
38
|
+
/**
|
|
39
|
+
* Path of the zip
|
|
40
|
+
*/
|
|
41
|
+
zipPath: string;
|
|
42
|
+
/**
|
|
43
|
+
* Number of files in the zip
|
|
44
|
+
*/
|
|
45
|
+
files: number;
|
|
46
|
+
/**
|
|
47
|
+
* Size of the zip in bytes
|
|
48
|
+
*/
|
|
49
|
+
size: number;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Default handler of the Lambda function
|
|
53
|
+
*/
|
|
54
|
+
export declare const LAMBDA_DEFAULT_HANDLER = "node_modules/@webda/aws/lib/deployers/lambda-entrypoint.handler";
|
|
55
|
+
/**
|
|
56
|
+
* Create the Lambda zip of the application
|
|
57
|
+
*
|
|
58
|
+
* The package contains the application files, its production dependencies and the
|
|
59
|
+
* configuration of the current deployment. A `LambdaServer` service is added to the
|
|
60
|
+
* configuration if none is defined, as the default handler relies on it.
|
|
61
|
+
*
|
|
62
|
+
* @param app - the application
|
|
63
|
+
* @param options - the package options
|
|
64
|
+
* @returns the zip information
|
|
65
|
+
*/
|
|
66
|
+
export declare function createLambdaPackage(app: Application, options?: LambdaPackageOptions): Promise<LambdaPackageResult>;
|
|
67
|
+
/**
|
|
68
|
+
* Lambda Packager parameters
|
|
69
|
+
*/
|
|
70
|
+
export declare class LambdaPackagerParameters extends ServiceParameters implements LambdaPackageOptions {
|
|
71
|
+
/**
|
|
72
|
+
* Name of the unit
|
|
73
|
+
*/
|
|
74
|
+
name?: string;
|
|
75
|
+
/**
|
|
76
|
+
* Path of the zip to create
|
|
77
|
+
*
|
|
78
|
+
* @default "dist/lambda-${package.version}.zip"
|
|
79
|
+
*/
|
|
80
|
+
zipPath?: string;
|
|
81
|
+
/**
|
|
82
|
+
* File to add as `entrypoint.js` at the root of the package
|
|
83
|
+
*/
|
|
84
|
+
entrypoint?: string;
|
|
85
|
+
/**
|
|
86
|
+
* The application includes its own aws-sdk v2
|
|
87
|
+
*
|
|
88
|
+
* @default false
|
|
89
|
+
*/
|
|
90
|
+
customAwsSdk?: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* How to select the files of the application
|
|
93
|
+
*/
|
|
94
|
+
package?: PackageOptions;
|
|
95
|
+
/**
|
|
96
|
+
* @override
|
|
97
|
+
* @param params - raw parameters
|
|
98
|
+
* @returns this
|
|
99
|
+
*/
|
|
100
|
+
load(params?: any): this;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Package the application as an AWS Lambda zip
|
|
104
|
+
*
|
|
105
|
+
* Declared as a unit of a deployment, `webda -d <deployment> aws package` creates the zip
|
|
106
|
+
* with the configuration of the deployment.
|
|
107
|
+
*
|
|
108
|
+
* @WebdaModda
|
|
109
|
+
*/
|
|
110
|
+
export declare class LambdaPackager<T extends LambdaPackagerParameters = LambdaPackagerParameters> extends Service<T> implements Deployer {
|
|
111
|
+
/**
|
|
112
|
+
* Application to package
|
|
113
|
+
* @returns the current application
|
|
114
|
+
*/
|
|
115
|
+
protected getApplication(): Application;
|
|
116
|
+
/**
|
|
117
|
+
* Create the Lambda zip
|
|
118
|
+
*
|
|
119
|
+
* @returns the zip information
|
|
120
|
+
*/
|
|
121
|
+
package(): Promise<LambdaPackageResult>;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=lambdapackager.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lambdapackager.service.d.ts","sourceRoot":"","sources":["../../src/deployers/lambdapackager.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,QAAQ,EAIR,cAAc,EAEd,OAAO,EACP,iBAAiB,EAElB,MAAM,aAAa,CAAC;AAKrB;;GAEG;AACH,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,oEAAoE,CAAC;AAExG;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,WAAW,EAChB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA6B9B;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,iBAAkB,YAAW,oBAAoB;IAC7F;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IAEzB;;;;OAIG;IACH,IAAI,CAAC,MAAM,GAAE,GAAQ,GAAG,IAAI,CAI3B;CACF;AAED;;;;;;;GAOG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,CACvF,SAAQ,OAAO,CAAC,CAAC,CACjB,YAAW,QAAQ;IAEnB;;;OAGG;IACH,SAAS,CAAC,cAAc,IAAI,WAAW,CAEtC;IAED;;;;OAIG;IAKG,OAAO,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAM5C;CACF"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
2
|
+
var useValue = arguments.length > 2;
|
|
3
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
4
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
5
|
+
}
|
|
6
|
+
return useValue ? value : void 0;
|
|
7
|
+
};
|
|
8
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
9
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
10
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
11
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
12
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
13
|
+
var _, done = false;
|
|
14
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
15
|
+
var context = {};
|
|
16
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
17
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
18
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
19
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
20
|
+
if (kind === "accessor") {
|
|
21
|
+
if (result === void 0) continue;
|
|
22
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
23
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
24
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
25
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
26
|
+
}
|
|
27
|
+
else if (_ = accept(result)) {
|
|
28
|
+
if (kind === "field") initializers.unshift(_);
|
|
29
|
+
else descriptor[key] = _;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
33
|
+
done = true;
|
|
34
|
+
};
|
|
35
|
+
import { Command, getDeploymentVariables, PACKAGED_CONFIGURATION, packageApplication, resolveDeploymentVariables, Service, ServiceParameters, useApplication } from "@webda/core";
|
|
36
|
+
import { statSync } from "node:fs";
|
|
37
|
+
import * as path from "node:path";
|
|
38
|
+
import { writeZip } from "./zip.js";
|
|
39
|
+
/**
|
|
40
|
+
* Type of the service handling the Lambda invocations in the package
|
|
41
|
+
*/
|
|
42
|
+
export const LAMBDA_SERVER_TYPE = "Webda/LambdaServer";
|
|
43
|
+
/**
|
|
44
|
+
* Default handler of the Lambda function
|
|
45
|
+
*/
|
|
46
|
+
export const LAMBDA_DEFAULT_HANDLER = "node_modules/@webda/aws/lib/deployers/lambda-entrypoint.handler";
|
|
47
|
+
/**
|
|
48
|
+
* Create the Lambda zip of the application
|
|
49
|
+
*
|
|
50
|
+
* The package contains the application files, its production dependencies and the
|
|
51
|
+
* configuration of the current deployment. A `LambdaServer` service is added to the
|
|
52
|
+
* configuration if none is defined, as the default handler relies on it.
|
|
53
|
+
*
|
|
54
|
+
* @param app - the application
|
|
55
|
+
* @param options - the package options
|
|
56
|
+
* @returns the zip information
|
|
57
|
+
*/
|
|
58
|
+
export async function createLambdaPackage(app, options = {}) {
|
|
59
|
+
const zipPath = path.resolve(app.applicationPath, options.zipPath ?? "dist/lambda.zip");
|
|
60
|
+
const packageOptions = {
|
|
61
|
+
...options.package,
|
|
62
|
+
// Do not package a previous package
|
|
63
|
+
ignores: [...(options.package?.ignores ?? []), path.relative(app.applicationPath, zipPath).split(path.sep)[0]],
|
|
64
|
+
modules: {
|
|
65
|
+
includes: options.package?.modules?.includes ?? [],
|
|
66
|
+
excludes: [...(options.package?.modules?.excludes ?? []), ...(options.customAwsSdk ? [] : ["aws-sdk"])]
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
const { files, configuration } = await packageApplication(app, packageOptions);
|
|
70
|
+
configuration.services ?? (configuration.services = {});
|
|
71
|
+
const hasLambdaServer = Object.values(configuration.services).some(service => service?.type === LAMBDA_SERVER_TYPE || service?.type === "LambdaServer");
|
|
72
|
+
if (!hasLambdaServer) {
|
|
73
|
+
configuration.services["LambdaServer"] = { type: LAMBDA_SERVER_TYPE };
|
|
74
|
+
}
|
|
75
|
+
const entries = files.map(file => file.target === PACKAGED_CONFIGURATION
|
|
76
|
+
? { target: file.target, content: JSON.stringify(configuration, undefined, 2) }
|
|
77
|
+
: { target: file.target, source: file.source, content: file.content, mode: file.mode });
|
|
78
|
+
if (options.entrypoint) {
|
|
79
|
+
entries.push({ target: "entrypoint.js", source: path.resolve(app.applicationPath, options.entrypoint) });
|
|
80
|
+
}
|
|
81
|
+
writeZip(zipPath, entries);
|
|
82
|
+
return { zipPath, files: entries.length, size: statSync(zipPath).size };
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Lambda Packager parameters
|
|
86
|
+
*/
|
|
87
|
+
export class LambdaPackagerParameters extends ServiceParameters {
|
|
88
|
+
/**
|
|
89
|
+
* @override
|
|
90
|
+
* @param params - raw parameters
|
|
91
|
+
* @returns this
|
|
92
|
+
*/
|
|
93
|
+
load(params = {}) {
|
|
94
|
+
super.load(params);
|
|
95
|
+
this.zipPath ?? (this.zipPath = "dist/lambda-${package.version}.zip");
|
|
96
|
+
return this;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Package the application as an AWS Lambda zip
|
|
101
|
+
*
|
|
102
|
+
* Declared as a unit of a deployment, `webda -d <deployment> aws package` creates the zip
|
|
103
|
+
* with the configuration of the deployment.
|
|
104
|
+
*
|
|
105
|
+
* @WebdaModda
|
|
106
|
+
*/
|
|
107
|
+
let LambdaPackager = (() => {
|
|
108
|
+
var _a;
|
|
109
|
+
let _classSuper = Service;
|
|
110
|
+
let _instanceExtraInitializers = [];
|
|
111
|
+
let _package_decorators;
|
|
112
|
+
return _a = class LambdaPackager extends _classSuper {
|
|
113
|
+
/**
|
|
114
|
+
* Application to package
|
|
115
|
+
* @returns the current application
|
|
116
|
+
*/
|
|
117
|
+
getApplication() {
|
|
118
|
+
return useApplication();
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Create the Lambda zip
|
|
122
|
+
*
|
|
123
|
+
* @returns the zip information
|
|
124
|
+
*/
|
|
125
|
+
async package() {
|
|
126
|
+
const raw = JSON.parse(JSON.stringify(this.getParameters()));
|
|
127
|
+
const options = resolveDeploymentVariables(raw, getDeploymentVariables(this));
|
|
128
|
+
const result = await createLambdaPackage(this.getApplication(), options);
|
|
129
|
+
this.log("INFO", `Lambda package ${result.zipPath} created: ${result.files} files, ${result.size} bytes`);
|
|
130
|
+
return result;
|
|
131
|
+
}
|
|
132
|
+
constructor() {
|
|
133
|
+
super(...arguments);
|
|
134
|
+
__runInitializers(this, _instanceExtraInitializers);
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
(() => {
|
|
138
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
139
|
+
_package_decorators = [Command("aws package", {
|
|
140
|
+
description: "Package the application as an AWS Lambda zip",
|
|
141
|
+
phase: "resolved"
|
|
142
|
+
})];
|
|
143
|
+
__esDecorate(_a, null, _package_decorators, { kind: "method", name: "package", static: false, private: false, access: { has: obj => "package" in obj, get: obj => obj.package }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
144
|
+
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
145
|
+
})(),
|
|
146
|
+
_a;
|
|
147
|
+
})();
|
|
148
|
+
export { LambdaPackager };
|
|
149
|
+
//# sourceMappingURL=lambdapackager.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lambdapackager.service.js","sourceRoot":"","sources":["../../src/deployers/lambdapackager.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A file to add to a zip archive
|
|
3
|
+
*/
|
|
4
|
+
export interface ZipEntry {
|
|
5
|
+
/**
|
|
6
|
+
* Posix path of the file within the archive
|
|
7
|
+
*/
|
|
8
|
+
target: string;
|
|
9
|
+
/**
|
|
10
|
+
* Path of the file to read, when there is no content
|
|
11
|
+
*/
|
|
12
|
+
source?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Content of the file
|
|
15
|
+
*/
|
|
16
|
+
content?: string | Buffer;
|
|
17
|
+
/**
|
|
18
|
+
* Unix file mode
|
|
19
|
+
*
|
|
20
|
+
* @default 0o644
|
|
21
|
+
*/
|
|
22
|
+
mode?: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Compute the CRC32 of a buffer
|
|
26
|
+
* @param data - the buffer
|
|
27
|
+
* @returns the unsigned CRC32
|
|
28
|
+
*/
|
|
29
|
+
export declare function crc32(data: Buffer): number;
|
|
30
|
+
/**
|
|
31
|
+
* Write a zip archive
|
|
32
|
+
*
|
|
33
|
+
* The archive is deterministic: entries are written in the given order with a fixed date,
|
|
34
|
+
* so the same files give the same archive (and the same S3 ETag).
|
|
35
|
+
* Zip64 is not supported: at most 65535 entries and 4GB.
|
|
36
|
+
*
|
|
37
|
+
* @param zipPath - the archive to write
|
|
38
|
+
* @param entries - the files
|
|
39
|
+
* @returns the size of the archive
|
|
40
|
+
*/
|
|
41
|
+
export declare function writeZip(zipPath: string, entries: ZipEntry[]): number;
|
|
42
|
+
//# sourceMappingURL=zip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip.d.ts","sourceRoot":"","sources":["../../src/deployers/zip.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAiBD;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM1C;AAWD;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CA8ErE"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { closeSync, mkdirSync, openSync, readFileSync, writeSync } from "node:fs";
|
|
2
|
+
import { dirname } from "node:path";
|
|
3
|
+
import { deflateRawSync } from "node:zlib";
|
|
4
|
+
/**
|
|
5
|
+
* CRC32 lookup table
|
|
6
|
+
*/
|
|
7
|
+
const CRC_TABLE = (() => {
|
|
8
|
+
const table = new Int32Array(256);
|
|
9
|
+
for (let n = 0; n < 256; n++) {
|
|
10
|
+
let c = n;
|
|
11
|
+
for (let k = 0; k < 8; k++) {
|
|
12
|
+
c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1;
|
|
13
|
+
}
|
|
14
|
+
table[n] = c;
|
|
15
|
+
}
|
|
16
|
+
return table;
|
|
17
|
+
})();
|
|
18
|
+
/**
|
|
19
|
+
* Compute the CRC32 of a buffer
|
|
20
|
+
* @param data - the buffer
|
|
21
|
+
* @returns the unsigned CRC32
|
|
22
|
+
*/
|
|
23
|
+
export function crc32(data) {
|
|
24
|
+
let crc = -1;
|
|
25
|
+
for (let i = 0; i < data.length; i++) {
|
|
26
|
+
crc = CRC_TABLE[(crc ^ data[i]) & 0xff] ^ (crc >>> 8);
|
|
27
|
+
}
|
|
28
|
+
return (crc ^ -1) >>> 0;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* DOS date of 1980-01-01: entries have a fixed date so the same content gives the same archive
|
|
32
|
+
*/
|
|
33
|
+
const DOS_DATE = (0 << 9) | (1 << 5) | 1;
|
|
34
|
+
/**
|
|
35
|
+
* Flag of the UTF-8 file names
|
|
36
|
+
*/
|
|
37
|
+
const UTF8_FLAG = 0x0800;
|
|
38
|
+
/**
|
|
39
|
+
* Write a zip archive
|
|
40
|
+
*
|
|
41
|
+
* The archive is deterministic: entries are written in the given order with a fixed date,
|
|
42
|
+
* so the same files give the same archive (and the same S3 ETag).
|
|
43
|
+
* Zip64 is not supported: at most 65535 entries and 4GB.
|
|
44
|
+
*
|
|
45
|
+
* @param zipPath - the archive to write
|
|
46
|
+
* @param entries - the files
|
|
47
|
+
* @returns the size of the archive
|
|
48
|
+
*/
|
|
49
|
+
export function writeZip(zipPath, entries) {
|
|
50
|
+
if (entries.length > 0xffff) {
|
|
51
|
+
throw new Error(`Too many files for a zip archive: ${entries.length}`);
|
|
52
|
+
}
|
|
53
|
+
mkdirSync(dirname(zipPath), { recursive: true });
|
|
54
|
+
const fd = openSync(zipPath, "w");
|
|
55
|
+
let offset = 0;
|
|
56
|
+
const central = [];
|
|
57
|
+
const write = (buffer) => {
|
|
58
|
+
writeSync(fd, buffer);
|
|
59
|
+
offset += buffer.length;
|
|
60
|
+
};
|
|
61
|
+
try {
|
|
62
|
+
for (const entry of entries) {
|
|
63
|
+
const data = entry.source !== undefined ? readFileSync(entry.source) : Buffer.from(entry.content ?? "");
|
|
64
|
+
const deflated = deflateRawSync(data);
|
|
65
|
+
// Store the file if compression does not help
|
|
66
|
+
const method = deflated.length < data.length ? 8 : 0;
|
|
67
|
+
const body = method === 8 ? deflated : data;
|
|
68
|
+
const crc = crc32(data);
|
|
69
|
+
const name = Buffer.from(entry.target, "utf8");
|
|
70
|
+
if (offset + body.length + 30 + name.length > 0xffffffff) {
|
|
71
|
+
throw new Error("Zip archive larger than 4GB is not supported");
|
|
72
|
+
}
|
|
73
|
+
const local = Buffer.alloc(30);
|
|
74
|
+
local.writeUInt32LE(0x04034b50, 0);
|
|
75
|
+
local.writeUInt16LE(20, 4);
|
|
76
|
+
local.writeUInt16LE(UTF8_FLAG, 6);
|
|
77
|
+
local.writeUInt16LE(method, 8);
|
|
78
|
+
local.writeUInt16LE(0, 10);
|
|
79
|
+
local.writeUInt16LE(DOS_DATE, 12);
|
|
80
|
+
local.writeUInt32LE(crc, 14);
|
|
81
|
+
local.writeUInt32LE(body.length, 18);
|
|
82
|
+
local.writeUInt32LE(data.length, 22);
|
|
83
|
+
local.writeUInt16LE(name.length, 26);
|
|
84
|
+
local.writeUInt16LE(0, 28);
|
|
85
|
+
const header = Buffer.alloc(46);
|
|
86
|
+
header.writeUInt32LE(0x02014b50, 0);
|
|
87
|
+
// Made by unix (3) so the file mode is kept
|
|
88
|
+
header.writeUInt16LE((3 << 8) | 20, 4);
|
|
89
|
+
header.writeUInt16LE(20, 6);
|
|
90
|
+
header.writeUInt16LE(UTF8_FLAG, 8);
|
|
91
|
+
header.writeUInt16LE(method, 10);
|
|
92
|
+
header.writeUInt16LE(0, 12);
|
|
93
|
+
header.writeUInt16LE(DOS_DATE, 14);
|
|
94
|
+
header.writeUInt32LE(crc, 16);
|
|
95
|
+
header.writeUInt32LE(body.length, 20);
|
|
96
|
+
header.writeUInt32LE(data.length, 24);
|
|
97
|
+
header.writeUInt16LE(name.length, 28);
|
|
98
|
+
header.writeUInt16LE(0, 30);
|
|
99
|
+
header.writeUInt16LE(0, 32);
|
|
100
|
+
header.writeUInt16LE(0, 34);
|
|
101
|
+
header.writeUInt16LE(0, 36);
|
|
102
|
+
header.writeUInt32LE((((entry.mode ?? 0o644) & 0xffff) | 0o100000) * 0x10000, 38);
|
|
103
|
+
header.writeUInt32LE(offset, 42);
|
|
104
|
+
central.push(header, name);
|
|
105
|
+
write(local);
|
|
106
|
+
write(name);
|
|
107
|
+
write(body);
|
|
108
|
+
}
|
|
109
|
+
const centralOffset = offset;
|
|
110
|
+
for (const buffer of central) {
|
|
111
|
+
write(buffer);
|
|
112
|
+
}
|
|
113
|
+
const end = Buffer.alloc(22);
|
|
114
|
+
end.writeUInt32LE(0x06054b50, 0);
|
|
115
|
+
end.writeUInt16LE(0, 4);
|
|
116
|
+
end.writeUInt16LE(0, 6);
|
|
117
|
+
end.writeUInt16LE(entries.length, 8);
|
|
118
|
+
end.writeUInt16LE(entries.length, 10);
|
|
119
|
+
end.writeUInt32LE(offset - centralOffset, 12);
|
|
120
|
+
end.writeUInt32LE(centralOffset, 16);
|
|
121
|
+
end.writeUInt16LE(0, 20);
|
|
122
|
+
write(end);
|
|
123
|
+
}
|
|
124
|
+
finally {
|
|
125
|
+
closeSync(fd);
|
|
126
|
+
}
|
|
127
|
+
return offset;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=zip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip.js","sourceRoot":"","sources":["../../src/deployers/zip.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
|