@goldstack/template-lambda-api-cli 0.4.10 → 0.4.11
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/dist/src/templateLambdaApiCli.d.ts.map +1 -1
- package/dist/src/templateLambdaApiCli.js +15 -10
- package/dist/src/templateLambdaApiCli.js.map +1 -1
- package/package.json +19 -22
- package/dist/src/generateLambdaConfig.d.ts +0 -5
- package/dist/src/generateLambdaConfig.d.ts.map +0 -1
- package/dist/src/generateLambdaConfig.js +0 -28
- package/dist/src/generateLambdaConfig.js.map +0 -1
- package/dist/src/templateLambdaApiBuild.d.ts +0 -9
- package/dist/src/templateLambdaApiBuild.d.ts.map +0 -1
- package/dist/src/templateLambdaApiBuild.js +0 -53
- package/dist/src/templateLambdaApiBuild.js.map +0 -1
- package/dist/src/templateLambdaApiDeploy.d.ts +0 -10
- package/dist/src/templateLambdaApiDeploy.d.ts.map +0 -1
- package/dist/src/templateLambdaApiDeploy.js +0 -37
- package/dist/src/templateLambdaApiDeploy.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templateLambdaApiCli.d.ts","sourceRoot":"","sources":["../../src/templateLambdaApiCli.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,GAAG,SAAgB,MAAM,EAAE,KAAG,QAAQ,IAAI,
|
|
1
|
+
{"version":3,"file":"templateLambdaApiCli.d.ts","sourceRoot":"","sources":["../../src/templateLambdaApiCli.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,GAAG,SAAgB,MAAM,EAAE,KAAG,QAAQ,IAAI,CA6EtD,CAAC"}
|
|
@@ -7,16 +7,13 @@ exports.run = void 0;
|
|
|
7
7
|
const utils_package_1 = require("@goldstack/utils-package");
|
|
8
8
|
const utils_cli_1 = require("@goldstack/utils-cli");
|
|
9
9
|
const utils_terraform_1 = require("@goldstack/utils-terraform");
|
|
10
|
-
const templateLambdaApiDeploy_1 = require("./templateLambdaApiDeploy");
|
|
11
10
|
const utils_terraform_aws_1 = require("@goldstack/utils-terraform-aws");
|
|
12
11
|
const utils_package_config_1 = require("@goldstack/utils-package-config");
|
|
13
12
|
const utils_package_2 = require("@goldstack/utils-package");
|
|
14
13
|
const yargs_1 = __importDefault(require("yargs"));
|
|
15
14
|
const fs_1 = __importDefault(require("fs"));
|
|
16
15
|
const utils_aws_lambda_1 = require("@goldstack/utils-aws-lambda");
|
|
17
|
-
const generateLambdaConfig_1 = require("./generateLambdaConfig");
|
|
18
16
|
const templateLambdaConsts_1 = require("./templateLambdaConsts");
|
|
19
|
-
const templateLambdaApiBuild_1 = require("./templateLambdaApiBuild");
|
|
20
17
|
const run = async (args) => {
|
|
21
18
|
await (0, utils_cli_1.wrapCli)(async () => {
|
|
22
19
|
const argv = await (0, utils_package_1.buildCli)({
|
|
@@ -38,25 +35,28 @@ const run = async (args) => {
|
|
|
38
35
|
});
|
|
39
36
|
const config = packageConfig.getConfig();
|
|
40
37
|
// update routes
|
|
41
|
-
if (!fs_1.default.existsSync(
|
|
42
|
-
throw new Error(
|
|
38
|
+
if (!fs_1.default.existsSync(templateLambdaConsts_1.defaultRoutesPath)) {
|
|
39
|
+
throw new Error(`Please specify lambda function handlers in ${templateLambdaConsts_1.defaultRoutesPath} so that API Gateway route configuration can be generated.`);
|
|
43
40
|
}
|
|
44
41
|
const lambdaRoutes = (0, utils_aws_lambda_1.readLambdaConfig)(templateLambdaConsts_1.defaultRoutesPath);
|
|
45
42
|
config.deployments = config.deployments.map((e) => {
|
|
46
|
-
const lambdasConfigs = (0,
|
|
43
|
+
const lambdasConfigs = (0, utils_aws_lambda_1.generateLambdaConfig)(e.configuration, lambdaRoutes);
|
|
47
44
|
e.configuration.lambdas = lambdasConfigs;
|
|
48
|
-
(0,
|
|
45
|
+
(0, utils_aws_lambda_1.validateDeployment)(e.configuration.lambdas);
|
|
49
46
|
return e;
|
|
50
47
|
});
|
|
51
48
|
(0, utils_package_2.writePackageConfig)(config);
|
|
52
49
|
const command = argv._[0];
|
|
53
50
|
const [, , , ...opArgs] = args;
|
|
54
51
|
if (command === 'infra') {
|
|
55
|
-
await (0, utils_terraform_aws_1.terraformAwsCli)(opArgs
|
|
52
|
+
await (0, utils_terraform_aws_1.terraformAwsCli)(opArgs, {
|
|
53
|
+
// temporary workaround for https://github.com/goldstack/goldstack/issues/40
|
|
54
|
+
parallelism: 1,
|
|
55
|
+
});
|
|
56
56
|
return;
|
|
57
57
|
}
|
|
58
58
|
if (command === 'build') {
|
|
59
|
-
await (0,
|
|
59
|
+
await (0, utils_aws_lambda_1.buildFunctions)({
|
|
60
60
|
routesDir: templateLambdaConsts_1.defaultRoutesPath,
|
|
61
61
|
configs: lambdaRoutes,
|
|
62
62
|
lambdaNamePrefix: packageConfig.getDeployment(opArgs[0]).configuration
|
|
@@ -65,7 +65,12 @@ const run = async (args) => {
|
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
67
|
if (command === 'deploy') {
|
|
68
|
-
await (0,
|
|
68
|
+
await (0, utils_aws_lambda_1.deployFunctions)({
|
|
69
|
+
routesPath: templateLambdaConsts_1.defaultRoutesPath,
|
|
70
|
+
configuration: packageConfig.getDeployment(opArgs[0]).configuration,
|
|
71
|
+
deployment: packageConfig.getDeployment(opArgs[0]),
|
|
72
|
+
config: lambdaRoutes,
|
|
73
|
+
});
|
|
69
74
|
return;
|
|
70
75
|
}
|
|
71
76
|
throw new Error('Unknown command: ' + command);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templateLambdaApiCli.js","sourceRoot":"","sources":["../../src/templateLambdaApiCli.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAyE;AACzE,oDAA+C;AAC/C,gEAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"templateLambdaApiCli.js","sourceRoot":"","sources":["../../src/templateLambdaApiCli.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goldstack/template-lambda-api-cli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.11",
|
|
4
4
|
"description": "Companion for project templates for deploying Lambdas as a REST API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"goldstack",
|
|
@@ -45,31 +45,28 @@
|
|
|
45
45
|
"version:apply:force": "yarn version $@ && yarn version apply"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@goldstack/infra": "0.3.
|
|
49
|
-
"@goldstack/infra-aws": "0.3.
|
|
50
|
-
"@goldstack/template-lambda-api": "0.4.
|
|
51
|
-
"@goldstack/utils-aws-lambda": "0.1.
|
|
52
|
-
"@goldstack/utils-cli": "0.2.
|
|
53
|
-
"@goldstack/utils-config": "0.3.
|
|
54
|
-
"@goldstack/utils-docker": "0.3.
|
|
55
|
-
"@goldstack/utils-log": "0.2.
|
|
56
|
-
"@goldstack/utils-package": "0.3.
|
|
57
|
-
"@goldstack/utils-package-config": "0.3.
|
|
58
|
-
"@goldstack/utils-s3-deployment": "0.3.
|
|
59
|
-
"@goldstack/utils-sh": "0.4.
|
|
60
|
-
"@goldstack/utils-template": "0.3.
|
|
61
|
-
"@goldstack/utils-terraform": "0.3.
|
|
62
|
-
"@goldstack/utils-terraform-aws": "0.3.
|
|
63
|
-
"@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.1",
|
|
64
|
-
"archiver": "^5.3.1",
|
|
65
|
-
"esbuild": "^0.14.34",
|
|
48
|
+
"@goldstack/infra": "0.3.38",
|
|
49
|
+
"@goldstack/infra-aws": "0.3.47",
|
|
50
|
+
"@goldstack/template-lambda-api": "0.4.46",
|
|
51
|
+
"@goldstack/utils-aws-lambda": "0.1.32",
|
|
52
|
+
"@goldstack/utils-cli": "0.2.15",
|
|
53
|
+
"@goldstack/utils-config": "0.3.35",
|
|
54
|
+
"@goldstack/utils-docker": "0.3.40",
|
|
55
|
+
"@goldstack/utils-log": "0.2.16",
|
|
56
|
+
"@goldstack/utils-package": "0.3.41",
|
|
57
|
+
"@goldstack/utils-package-config": "0.3.42",
|
|
58
|
+
"@goldstack/utils-s3-deployment": "0.3.58",
|
|
59
|
+
"@goldstack/utils-sh": "0.4.33",
|
|
60
|
+
"@goldstack/utils-template": "0.3.37",
|
|
61
|
+
"@goldstack/utils-terraform": "0.3.71",
|
|
62
|
+
"@goldstack/utils-terraform-aws": "0.3.70",
|
|
66
63
|
"source-map-support": "^0.5.21",
|
|
67
64
|
"yargs": "^17.5.1"
|
|
68
65
|
},
|
|
69
66
|
"devDependencies": {
|
|
70
67
|
"@goldstack/utils-docs-cli": "0.3.11",
|
|
71
|
-
"@goldstack/utils-git": "0.1.
|
|
72
|
-
"@goldstack/utils-package-config-generate": "0.2.
|
|
68
|
+
"@goldstack/utils-git": "0.1.36",
|
|
69
|
+
"@goldstack/utils-package-config-generate": "0.2.17",
|
|
73
70
|
"@types/aws-lambda": "^8.10.88",
|
|
74
71
|
"@types/jest": "^27.5.1",
|
|
75
72
|
"@types/node": "^17.0.33",
|
|
@@ -80,7 +77,7 @@
|
|
|
80
77
|
"ts-jest": "^28.0.2",
|
|
81
78
|
"ts-json-schema-generator": "^1.0.0",
|
|
82
79
|
"ts-node": "^10.8.0",
|
|
83
|
-
"typescript": "^4.
|
|
80
|
+
"typescript": "^4.7.4"
|
|
84
81
|
},
|
|
85
82
|
"publishConfig": {
|
|
86
83
|
"main": "dist/src/templateLambdaApiCli.js"
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { LambdaConfig } from '@goldstack/utils-aws-lambda';
|
|
2
|
-
import { LambdaRoutesConfig, LambdaApiDeployment } from '@goldstack/template-lambda-api';
|
|
3
|
-
export declare const generateLambdaConfig: (deployment: LambdaApiDeployment, config: LambdaConfig[]) => LambdaRoutesConfig;
|
|
4
|
-
export declare const validateDeployment: (config: LambdaRoutesConfig) => boolean;
|
|
5
|
-
//# sourceMappingURL=generateLambdaConfig.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateLambdaConfig.d.ts","sourceRoot":"","sources":["../../src/generateLambdaConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEb,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,gCAAgC,CAAC;AAExC,eAAO,MAAM,oBAAoB,eACnB,mBAAmB,UACvB,YAAY,EAAE,KACrB,kBAeF,CAAC;AAEF,eAAO,MAAM,kBAAkB,WAAY,kBAAkB,KAAG,OAO/D,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateDeployment = exports.generateLambdaConfig = void 0;
|
|
4
|
-
const utils_aws_lambda_1 = require("@goldstack/utils-aws-lambda");
|
|
5
|
-
const generateLambdaConfig = (deployment, config) => {
|
|
6
|
-
return config.reduce((last, curr) => {
|
|
7
|
-
let id = curr.route;
|
|
8
|
-
if (id === '$default') {
|
|
9
|
-
id = 'default';
|
|
10
|
-
}
|
|
11
|
-
last[`${id}`] = {
|
|
12
|
-
function_name: (0, utils_aws_lambda_1.generateFunctionName)(deployment.configuration.lambdaNamePrefix, curr),
|
|
13
|
-
route: curr.route,
|
|
14
|
-
};
|
|
15
|
-
return last;
|
|
16
|
-
}, {});
|
|
17
|
-
};
|
|
18
|
-
exports.generateLambdaConfig = generateLambdaConfig;
|
|
19
|
-
const validateDeployment = (config) => {
|
|
20
|
-
let valid = true;
|
|
21
|
-
for (const e of Object.entries(config)) {
|
|
22
|
-
valid = valid && e[0].length > 0;
|
|
23
|
-
valid = valid && !!e[1].function_name && e[1].function_name.length > 0;
|
|
24
|
-
}
|
|
25
|
-
return valid;
|
|
26
|
-
};
|
|
27
|
-
exports.validateDeployment = validateDeployment;
|
|
28
|
-
//# sourceMappingURL=generateLambdaConfig.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateLambdaConfig.js","sourceRoot":"","sources":["../../src/generateLambdaConfig.ts"],"names":[],"mappings":";;;AAAA,kEAGqC;AAM9B,MAAM,oBAAoB,GAAG,CAClC,UAA+B,EAC/B,MAAsB,EACF,EAAE;IACtB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QAClC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACpB,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,SAAS,CAAC;SAChB;QACD,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG;YACd,aAAa,EAAE,IAAA,uCAAoB,EACjC,UAAU,CAAC,aAAa,CAAC,gBAAgB,EACzC,IAAI,CACL;YACD,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AAlBW,QAAA,oBAAoB,wBAkB/B;AAEK,MAAM,kBAAkB,GAAG,CAAC,MAA0B,EAAW,EAAE;IACxE,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACtC,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACjC,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;KACxE;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAPW,QAAA,kBAAkB,sBAO7B"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { LambdaConfig } from '@goldstack/utils-aws-lambda';
|
|
2
|
-
export declare const getOutDirForLambda: (config: LambdaConfig) => string;
|
|
3
|
-
export declare const getOutFileForLambda: (config: LambdaConfig) => string;
|
|
4
|
-
export declare const buildLambdas: ({ routesDir, configs, lambdaNamePrefix, }: {
|
|
5
|
-
routesDir: string;
|
|
6
|
-
configs: LambdaConfig[];
|
|
7
|
-
lambdaNamePrefix?: string | undefined;
|
|
8
|
-
}) => Promise<void>;
|
|
9
|
-
//# sourceMappingURL=templateLambdaApiBuild.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"templateLambdaApiBuild.d.ts","sourceRoot":"","sources":["../../src/templateLambdaApiBuild.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,YAAY,EACb,MAAM,6BAA6B,CAAC;AASrC,eAAO,MAAM,kBAAkB,WAAY,YAAY,KAAG,MAKzD,CAAC;AAEF,eAAO,MAAM,mBAAmB,WAAY,YAAY,KAAG,MAE1D,CAAC;AAEF,eAAO,MAAM,YAAY;eAKZ,MAAM;aACR,YAAY,EAAE;;MAErB,QAAQ,IAAI,CAwCf,CAAC"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildLambdas = exports.getOutFileForLambda = exports.getOutDirForLambda = void 0;
|
|
4
|
-
const esbuild_1 = require("esbuild");
|
|
5
|
-
const esbuild_plugin_pnp_1 = require("@yarnpkg/esbuild-plugin-pnp");
|
|
6
|
-
const utils_aws_lambda_1 = require("@goldstack/utils-aws-lambda");
|
|
7
|
-
const utils_sh_1 = require("@goldstack/utils-sh");
|
|
8
|
-
const getOutDirForLambda = (config) => {
|
|
9
|
-
if (config.path === '$default') {
|
|
10
|
-
return `./distLambda/${config.path}`;
|
|
11
|
-
}
|
|
12
|
-
return `./distLambda${config.path}`;
|
|
13
|
-
};
|
|
14
|
-
exports.getOutDirForLambda = getOutDirForLambda;
|
|
15
|
-
const getOutFileForLambda = (config) => {
|
|
16
|
-
return `${(0, exports.getOutDirForLambda)(config)}/lambda.js`;
|
|
17
|
-
};
|
|
18
|
-
exports.getOutFileForLambda = getOutFileForLambda;
|
|
19
|
-
const buildLambdas = async ({ routesDir, configs, lambdaNamePrefix, }) => {
|
|
20
|
-
const esbuildConfig = (0, utils_sh_1.readToType)('./esbuild.config.json');
|
|
21
|
-
await (0, utils_sh_1.rmSafe)('./distLambda');
|
|
22
|
-
(0, utils_sh_1.mkdir)('-p', './distLambda/zips');
|
|
23
|
-
for await (const config of configs) {
|
|
24
|
-
(0, utils_sh_1.mkdir)('-p', (0, exports.getOutDirForLambda)(config));
|
|
25
|
-
const esbuildLocalPath = (0, utils_sh_1.changeExtension)(`${routesDir}/${config.relativeFilePath}`, '.esbuild.config.json');
|
|
26
|
-
const functionName = (0, utils_aws_lambda_1.generateFunctionName)(lambdaNamePrefix, config);
|
|
27
|
-
const localEsbuildConfig = (0, utils_sh_1.readToType)(esbuildLocalPath);
|
|
28
|
-
const res = await (0, esbuild_1.build)({
|
|
29
|
-
plugins: [(0, esbuild_plugin_pnp_1.pnpPlugin)()],
|
|
30
|
-
bundle: true,
|
|
31
|
-
entryPoints: [`${routesDir}/${config.relativeFilePath}`],
|
|
32
|
-
external: [
|
|
33
|
-
'aws-sdk', // included in Lambda runtime environment
|
|
34
|
-
],
|
|
35
|
-
minify: true,
|
|
36
|
-
platform: 'node',
|
|
37
|
-
format: 'cjs',
|
|
38
|
-
target: 'node16.0',
|
|
39
|
-
treeShaking: true,
|
|
40
|
-
sourcemap: true,
|
|
41
|
-
outfile: (0, exports.getOutFileForLambda)(config),
|
|
42
|
-
metafile: true,
|
|
43
|
-
...esbuildConfig,
|
|
44
|
-
...localEsbuildConfig,
|
|
45
|
-
});
|
|
46
|
-
if (!res.metafile) {
|
|
47
|
-
throw new Error(`Metafile for ${functionName} not defined.`);
|
|
48
|
-
}
|
|
49
|
-
(0, utils_sh_1.write)(JSON.stringify(res.metafile), `./distLambda/zips/${functionName}.meta.json`);
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
exports.buildLambdas = buildLambdas;
|
|
53
|
-
//# sourceMappingURL=templateLambdaApiBuild.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"templateLambdaApiBuild.js","sourceRoot":"","sources":["../../src/templateLambdaApiBuild.ts"],"names":[],"mappings":";;;AAAA,qCAA8C;AAC9C,oEAAwD;AACxD,kEAGqC;AACrC,kDAM6B;AAEtB,MAAM,kBAAkB,GAAG,CAAC,MAAoB,EAAU,EAAE;IACjE,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;QAC9B,OAAO,gBAAgB,MAAM,CAAC,IAAI,EAAE,CAAC;KACtC;IACD,OAAO,eAAe,MAAM,CAAC,IAAI,EAAE,CAAC;AACtC,CAAC,CAAC;AALW,QAAA,kBAAkB,sBAK7B;AAEK,MAAM,mBAAmB,GAAG,CAAC,MAAoB,EAAU,EAAE;IAClE,OAAO,GAAG,IAAA,0BAAkB,EAAC,MAAM,CAAC,YAAY,CAAC;AACnD,CAAC,CAAC;AAFW,QAAA,mBAAmB,uBAE9B;AAEK,MAAM,YAAY,GAAG,KAAK,EAAE,EACjC,SAAS,EACT,OAAO,EACP,gBAAgB,GAKjB,EAAiB,EAAE;IAClB,MAAM,aAAa,GAAG,IAAA,qBAAU,EAAe,uBAAuB,CAAC,CAAC;IAExE,MAAM,IAAA,iBAAM,EAAC,cAAc,CAAC,CAAC;IAC7B,IAAA,gBAAK,EAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IACjC,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,OAAO,EAAE;QAClC,IAAA,gBAAK,EAAC,IAAI,EAAE,IAAA,0BAAkB,EAAC,MAAM,CAAC,CAAC,CAAC;QACxC,MAAM,gBAAgB,GAAG,IAAA,0BAAe,EACtC,GAAG,SAAS,IAAI,MAAM,CAAC,gBAAgB,EAAE,EACzC,sBAAsB,CACvB,CAAC;QACF,MAAM,YAAY,GAAG,IAAA,uCAAoB,EAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACpE,MAAM,kBAAkB,GAAG,IAAA,qBAAU,EAAe,gBAAgB,CAAC,CAAC;QAEtE,MAAM,GAAG,GAAG,MAAM,IAAA,eAAK,EAAC;YACtB,OAAO,EAAE,CAAC,IAAA,8BAAS,GAAE,CAAC;YACtB,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,CAAC,GAAG,SAAS,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACxD,QAAQ,EAAE;gBACR,SAAS,EAAE,yCAAyC;aACrD;YACD,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAA,2BAAmB,EAAC,MAAM,CAAC;YACpC,QAAQ,EAAE,IAAI;YACd,GAAG,aAAa;YAChB,GAAG,kBAAkB;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,gBAAgB,YAAY,eAAe,CAAC,CAAC;SAC9D;QACD,IAAA,gBAAK,EACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAC5B,qBAAqB,YAAY,YAAY,CAC9C,CAAC;KACH;AACH,CAAC,CAAC;AAhDW,QAAA,YAAY,gBAgDvB"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { LambdaApiDeployment } from '@goldstack/template-lambda-api';
|
|
2
|
-
import { LambdaConfig } from '@goldstack/utils-aws-lambda';
|
|
3
|
-
interface DeployLambdaParams {
|
|
4
|
-
deployment: LambdaApiDeployment;
|
|
5
|
-
config: LambdaConfig[];
|
|
6
|
-
}
|
|
7
|
-
export declare const deployLambdas: (params: DeployLambdaParams) => Promise<void>;
|
|
8
|
-
export declare const deployCli: (deployment: LambdaApiDeployment, config: LambdaConfig[]) => Promise<void>;
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=templateLambdaApiDeploy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"templateLambdaApiDeploy.d.ts","sourceRoot":"","sources":["../../src/templateLambdaApiDeploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAEL,YAAY,EAEb,MAAM,6BAA6B,CAAC;AAQrC,UAAU,kBAAkB;IAC1B,UAAU,EAAE,mBAAmB,CAAC;IAChC,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,WAChB,kBAAkB,KACzB,QAAQ,IAAI,CAsBd,CAAC;AAEF,eAAO,MAAM,SAAS,eACR,mBAAmB,UACvB,YAAY,EAAE,KACrB,QAAQ,IAAI,CAKd,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.deployCli = exports.deployLambdas = void 0;
|
|
4
|
-
const infra_aws_1 = require("@goldstack/infra-aws");
|
|
5
|
-
const utils_aws_lambda_1 = require("@goldstack/utils-aws-lambda");
|
|
6
|
-
const utils_aws_lambda_2 = require("@goldstack/utils-aws-lambda");
|
|
7
|
-
const templateLambdaConsts_1 = require("./templateLambdaConsts");
|
|
8
|
-
const utils_sh_1 = require("@goldstack/utils-sh");
|
|
9
|
-
const templateLambdaApiBuild_1 = require("./templateLambdaApiBuild");
|
|
10
|
-
const deployLambdas = async (params) => {
|
|
11
|
-
const lambdaConfig = (0, utils_aws_lambda_2.readLambdaConfig)(templateLambdaConsts_1.defaultRoutesPath);
|
|
12
|
-
const operations = lambdaConfig.map(async (config) => {
|
|
13
|
-
const functionName = (0, utils_aws_lambda_1.generateFunctionName)(params.deployment.configuration.lambdaNamePrefix, config);
|
|
14
|
-
console.log(`[${functionName}]: Starting deployment`);
|
|
15
|
-
const functionDir = (0, templateLambdaApiBuild_1.getOutDirForLambda)(config);
|
|
16
|
-
(0, utils_sh_1.mkdir)('-p', functionDir);
|
|
17
|
-
const targetArchive = `./distLambda/zips/${functionName}.zip`;
|
|
18
|
-
await (0, utils_aws_lambda_1.deployFunction)({
|
|
19
|
-
targetArchiveName: targetArchive,
|
|
20
|
-
lambdaPackageDir: functionDir,
|
|
21
|
-
awsCredentials: await (0, infra_aws_1.getAWSUser)(params.deployment.awsUser),
|
|
22
|
-
region: params.deployment.awsRegion,
|
|
23
|
-
functionName,
|
|
24
|
-
});
|
|
25
|
-
console.log(`[${functionName}]: Deployment completed`);
|
|
26
|
-
});
|
|
27
|
-
await Promise.all(operations);
|
|
28
|
-
};
|
|
29
|
-
exports.deployLambdas = deployLambdas;
|
|
30
|
-
const deployCli = async (deployment, config) => {
|
|
31
|
-
await (0, exports.deployLambdas)({
|
|
32
|
-
deployment,
|
|
33
|
-
config,
|
|
34
|
-
});
|
|
35
|
-
};
|
|
36
|
-
exports.deployCli = deployCli;
|
|
37
|
-
//# sourceMappingURL=templateLambdaApiDeploy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"templateLambdaApiDeploy.js","sourceRoot":"","sources":["../../src/templateLambdaApiDeploy.ts"],"names":[],"mappings":";;;AACA,oDAAkD;AAClD,kEAIqC;AAErC,kEAA+D;AAC/D,iEAA2D;AAE3D,kDAA4C;AAC5C,qEAA8D;AAOvD,MAAM,aAAa,GAAG,KAAK,EAChC,MAA0B,EACX,EAAE;IACjB,MAAM,YAAY,GAAG,IAAA,mCAAgB,EAAC,wCAAiB,CAAC,CAAC;IAEzD,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACnD,MAAM,YAAY,GAAG,IAAA,uCAAoB,EACvC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,EAChD,MAAM,CACP,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,IAAI,YAAY,wBAAwB,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,IAAA,2CAAkB,EAAC,MAAM,CAAC,CAAC;QAC/C,IAAA,gBAAK,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACzB,MAAM,aAAa,GAAG,qBAAqB,YAAY,MAAM,CAAC;QAC9D,MAAM,IAAA,iCAAc,EAAC;YACnB,iBAAiB,EAAE,aAAa;YAChC,gBAAgB,EAAE,WAAW;YAC7B,cAAc,EAAE,MAAM,IAAA,sBAAU,EAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;YAC3D,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS;YACnC,YAAY;SACb,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,IAAI,YAAY,yBAAyB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAChC,CAAC,CAAC;AAxBW,QAAA,aAAa,iBAwBxB;AAEK,MAAM,SAAS,GAAG,KAAK,EAC5B,UAA+B,EAC/B,MAAsB,EACP,EAAE;IACjB,MAAM,IAAA,qBAAa,EAAC;QAClB,UAAU;QACV,MAAM;KACP,CAAC,CAAC;AACL,CAAC,CAAC;AARW,QAAA,SAAS,aAQpB"}
|