@goldstack/template-lambda-api-cli 0.4.1 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/src/generateLambdaConfig.d.ts +5 -0
  2. package/dist/src/generateLambdaConfig.d.ts.map +1 -0
  3. package/dist/src/generateLambdaConfig.js +28 -0
  4. package/dist/src/generateLambdaConfig.js.map +1 -0
  5. package/dist/src/generateLambdaConfig.spec.d.ts +2 -0
  6. package/dist/src/generateLambdaConfig.spec.d.ts.map +1 -0
  7. package/dist/src/generateLambdaConfig.spec.js +72 -0
  8. package/dist/src/generateLambdaConfig.spec.js.map +1 -0
  9. package/dist/src/templateLambdaApiBuild.d.ts +9 -0
  10. package/dist/src/templateLambdaApiBuild.d.ts.map +1 -0
  11. package/dist/src/templateLambdaApiBuild.js +53 -0
  12. package/dist/src/templateLambdaApiBuild.js.map +1 -0
  13. package/dist/src/templateLambdaApiBuild.spec.d.ts +2 -0
  14. package/dist/src/templateLambdaApiBuild.spec.d.ts.map +1 -0
  15. package/dist/src/templateLambdaApiBuild.spec.js +50 -0
  16. package/dist/src/templateLambdaApiBuild.spec.js.map +1 -0
  17. package/dist/src/templateLambdaApiCli.d.ts +2 -0
  18. package/dist/src/templateLambdaApiCli.d.ts.map +1 -0
  19. package/dist/src/templateLambdaApiCli.js +74 -0
  20. package/dist/src/templateLambdaApiCli.js.map +1 -0
  21. package/dist/src/templateLambdaApiDeploy.d.ts +10 -0
  22. package/dist/src/templateLambdaApiDeploy.d.ts.map +1 -0
  23. package/dist/src/templateLambdaApiDeploy.js +37 -0
  24. package/dist/src/templateLambdaApiDeploy.js.map +1 -0
  25. package/dist/src/templateLambdaConsts.d.ts +2 -0
  26. package/dist/src/templateLambdaConsts.d.ts.map +1 -0
  27. package/dist/src/templateLambdaConsts.js +5 -0
  28. package/dist/src/templateLambdaConsts.js.map +1 -0
  29. package/package.json +1 -1
@@ -0,0 +1,5 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,28 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generateLambdaConfig.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateLambdaConfig.spec.d.ts","sourceRoot":"","sources":["../../src/generateLambdaConfig.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const utils_aws_lambda_1 = require("@goldstack/utils-aws-lambda");
7
+ const assert_1 = __importDefault(require("assert"));
8
+ const generateLambdaConfig_1 = require("./generateLambdaConfig");
9
+ const templateLambdaApiBuild_1 = require("./templateLambdaApiBuild");
10
+ const dummyDeployment = {
11
+ awsRegion: 'ap-east-1',
12
+ awsUser: 'dummy',
13
+ configuration: {
14
+ lambdaNamePrefix: 'test-lambdas',
15
+ apiDomain: 'domain',
16
+ hostedZoneDomain: 'domain',
17
+ lambdas: {},
18
+ },
19
+ name: 'test',
20
+ };
21
+ describe('Generate Lambda config', () => {
22
+ const routesConfig = (0, utils_aws_lambda_1.readLambdaConfig)('./testData/routes-test');
23
+ const config = (0, generateLambdaConfig_1.generateLambdaConfig)(dummyDeployment, routesConfig);
24
+ test('Should render config for Terraform', () => {
25
+ (0, assert_1.default)(config['default'].function_name);
26
+ (0, assert_1.default)(config['ANY /folder/nested'].function_name.indexOf(dummyDeployment.configuration.lambdaNamePrefix || 'fail') !== -1);
27
+ });
28
+ test('Should determine correct output dirs for dist', () => {
29
+ const nestedRoute = routesConfig.find((e) => e.path === '/folder/nested');
30
+ (0, assert_1.default)(nestedRoute);
31
+ const dir = (0, templateLambdaApiBuild_1.getOutDirForLambda)(nestedRoute);
32
+ (0, assert_1.default)(dir === './distLambda/folder/nested');
33
+ });
34
+ test('Should determine path parametmers for file names', () => {
35
+ const nestedRoute = routesConfig.find((e) => e.path === '/folder/{pathparam}');
36
+ (0, assert_1.default)(nestedRoute);
37
+ const functionName = (0, utils_aws_lambda_1.generateFunctionName)(dummyDeployment.configuration.lambdaNamePrefix, nestedRoute);
38
+ (0, assert_1.default)(functionName.indexOf('folder') !== -1);
39
+ (0, assert_1.default)(functionName.indexOf('{') === -1);
40
+ (0, assert_1.default)(functionName.indexOf('}') === -1);
41
+ });
42
+ test('Should determine path parametmers for folder names', () => {
43
+ const nestedRoute = routesConfig.find((e) => e.path === '/resource/{path}/object');
44
+ (0, assert_1.default)(nestedRoute);
45
+ const functionName = (0, utils_aws_lambda_1.generateFunctionName)(dummyDeployment.configuration.lambdaNamePrefix, nestedRoute);
46
+ (0, assert_1.default)(functionName.indexOf('object') !== -1);
47
+ (0, assert_1.default)(functionName.indexOf('resource') !== -1);
48
+ (0, assert_1.default)(functionName.indexOf('{') === -1);
49
+ (0, assert_1.default)(functionName.indexOf('}') === -1);
50
+ });
51
+ test('Should provide a correct path for a nested index file', () => {
52
+ const nestedRoute = routesConfig.find((e) => e.path === '/health');
53
+ (0, assert_1.default)(nestedRoute);
54
+ const functionName = (0, utils_aws_lambda_1.generateFunctionName)(dummyDeployment.configuration.lambdaNamePrefix, nestedRoute);
55
+ expect(functionName).toContain('health');
56
+ });
57
+ test('Should provide a correct path for a file in the API root', () => {
58
+ var _a;
59
+ const nestedRoute = routesConfig.find((e) => e.path === '/resource');
60
+ (0, assert_1.default)(nestedRoute);
61
+ const functionName = (0, utils_aws_lambda_1.generateFunctionName)(dummyDeployment.configuration.lambdaNamePrefix, nestedRoute);
62
+ (0, assert_1.default)(((_a = functionName.match(/resource/g)) === null || _a === void 0 ? void 0 : _a.length) === 1);
63
+ });
64
+ test('Should hash long names', () => {
65
+ const nestedRoute = routesConfig.find((e) => e.path === '/resource');
66
+ (0, assert_1.default)(nestedRoute);
67
+ const functionName = (0, utils_aws_lambda_1.generateFunctionName)('very_long_names_should_end_with_a_hash_and_never_be_longer_than_64_characters', nestedRoute);
68
+ expect(functionName.length <= 64).toBeTruthy();
69
+ expect(functionName.indexOf('characters') === -1).toBe(true);
70
+ });
71
+ });
72
+ //# sourceMappingURL=generateLambdaConfig.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateLambdaConfig.spec.js","sourceRoot":"","sources":["../../src/generateLambdaConfig.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,53 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=templateLambdaApiBuild.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateLambdaApiBuild.spec.d.ts","sourceRoot":"","sources":["../../src/templateLambdaApiBuild.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const utils_aws_lambda_1 = require("@goldstack/utils-aws-lambda");
7
+ const utils_sh_1 = require("@goldstack/utils-sh");
8
+ const path_1 = __importDefault(require("path"));
9
+ const templateLambdaApiBuild_1 = require("./templateLambdaApiBuild");
10
+ const fs_1 = __importDefault(require("fs"));
11
+ jest.setTimeout(30000);
12
+ describe('Testing lambda build', () => {
13
+ it('Should build lambda', async () => {
14
+ const fileToBuild = path_1.default.resolve('./testData/build-test/index.ts');
15
+ expect(fs_1.default.existsSync(fileToBuild)).toEqual(true);
16
+ await (0, templateLambdaApiBuild_1.buildLambdas)({
17
+ routesDir: './testData/build-test',
18
+ configs: [
19
+ {
20
+ path: '/index',
21
+ relativeFilePath: 'index.ts',
22
+ name: 'test-lambda-index',
23
+ absoluteFilePath: fileToBuild,
24
+ route: 'ANY /',
25
+ type: utils_aws_lambda_1.RouteType.FUNCTION,
26
+ },
27
+ ],
28
+ });
29
+ const generated = (0, utils_sh_1.read)('./distLambda/index/lambda.js');
30
+ expect(generated.length).toBeGreaterThan(100);
31
+ });
32
+ it('Should build lambda with custom esbuild config', async () => {
33
+ await (0, templateLambdaApiBuild_1.buildLambdas)({
34
+ routesDir: './testData/build-test',
35
+ configs: [
36
+ {
37
+ path: '/customBuild',
38
+ relativeFilePath: 'customBuild.ts',
39
+ name: 'test-lambda-customBuild',
40
+ absoluteFilePath: path_1.default.resolve('./testData/build-test/customBuild.ts'),
41
+ route: 'ANY /',
42
+ type: utils_aws_lambda_1.RouteType.FUNCTION,
43
+ },
44
+ ],
45
+ });
46
+ const generated = (0, utils_sh_1.read)('./distLambda/customBuild/lambda.js');
47
+ expect(generated).toContain('Custom config in operation');
48
+ });
49
+ });
50
+ //# sourceMappingURL=templateLambdaApiBuild.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateLambdaApiBuild.spec.js","sourceRoot":"","sources":["../../src/templateLambdaApiBuild.spec.ts"],"names":[],"mappings":";;;;;AAAA,kEAAwD;AACxD,kDAA2C;AAC3C,gDAAwB;AACxB,qEAAwD;AACxD,4CAAoB;AAEpB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAEvB,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;QACnE,MAAM,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,IAAA,qCAAY,EAAC;YACjB,SAAS,EAAE,uBAAuB;YAClC,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,QAAQ;oBACd,gBAAgB,EAAE,UAAU;oBAC5B,IAAI,EAAE,mBAAmB;oBACzB,gBAAgB,EAAE,WAAW;oBAC7B,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,4BAAS,CAAC,QAAQ;iBACzB;aACF;SACF,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAA,eAAI,EAAC,8BAA8B,CAAC,CAAC;QACvD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,IAAA,qCAAY,EAAC;YACjB,SAAS,EAAE,uBAAuB;YAClC,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,cAAc;oBACpB,gBAAgB,EAAE,gBAAgB;oBAClC,IAAI,EAAE,yBAAyB;oBAC/B,gBAAgB,EAAE,cAAI,CAAC,OAAO,CAC5B,sCAAsC,CACvC;oBACD,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,4BAAS,CAAC,QAAQ;iBACzB;aACF;SACF,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAA,eAAI,EAAC,oCAAoC,CAAC,CAAC;QAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const run: (args: string[]) => Promise<void>;
2
+ //# sourceMappingURL=templateLambdaApiCli.d.ts.map
@@ -0,0 +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,CAiEtD,CAAC"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.run = void 0;
7
+ const utils_package_1 = require("@goldstack/utils-package");
8
+ const utils_cli_1 = require("@goldstack/utils-cli");
9
+ const utils_terraform_1 = require("@goldstack/utils-terraform");
10
+ const templateLambdaApiDeploy_1 = require("./templateLambdaApiDeploy");
11
+ const utils_terraform_aws_1 = require("@goldstack/utils-terraform-aws");
12
+ const utils_package_config_1 = require("@goldstack/utils-package-config");
13
+ const utils_package_2 = require("@goldstack/utils-package");
14
+ const yargs_1 = __importDefault(require("yargs"));
15
+ const fs_1 = __importDefault(require("fs"));
16
+ const utils_aws_lambda_1 = require("@goldstack/utils-aws-lambda");
17
+ const generateLambdaConfig_1 = require("./generateLambdaConfig");
18
+ const templateLambdaConsts_1 = require("./templateLambdaConsts");
19
+ const templateLambdaApiBuild_1 = require("./templateLambdaApiBuild");
20
+ const run = async (args) => {
21
+ await (0, utils_cli_1.wrapCli)(async () => {
22
+ const argv = (0, utils_package_1.buildCli)({
23
+ yargs: yargs_1.default,
24
+ deployCommands: (0, utils_package_1.buildDeployCommands)(),
25
+ infraCommands: (0, utils_terraform_1.infraCommands)(),
26
+ })
27
+ .command('build [deployment]', 'Build all lambdas', () => {
28
+ return yargs_1.default.positional('deployment', {
29
+ type: 'string',
30
+ describe: 'Name of the deployment this command should be applied to',
31
+ default: '',
32
+ });
33
+ })
34
+ .help().argv;
35
+ const packageConfig = new utils_package_config_1.PackageConfig({
36
+ packagePath: './',
37
+ });
38
+ const config = packageConfig.getConfig();
39
+ // update routes
40
+ if (!fs_1.default.existsSync('./src/routes')) {
41
+ throw new Error('Please specify lambda function handlers in ./src/routes so that API Gateway route configuration can be generated.');
42
+ }
43
+ const lambdaRoutes = (0, utils_aws_lambda_1.readLambdaConfig)(templateLambdaConsts_1.defaultRoutesPath);
44
+ config.deployments = config.deployments.map((e) => {
45
+ const lambdasConfigs = (0, generateLambdaConfig_1.generateLambdaConfig)(e, lambdaRoutes);
46
+ e.configuration.lambdas = lambdasConfigs;
47
+ (0, generateLambdaConfig_1.validateDeployment)(e.configuration.lambdas);
48
+ return e;
49
+ });
50
+ (0, utils_package_2.writePackageConfig)(config);
51
+ const command = argv._[0];
52
+ const [, , , ...opArgs] = args;
53
+ if (command === 'infra') {
54
+ await (0, utils_terraform_aws_1.terraformAwsCli)(opArgs);
55
+ return;
56
+ }
57
+ if (command === 'build') {
58
+ await (0, templateLambdaApiBuild_1.buildLambdas)({
59
+ routesDir: templateLambdaConsts_1.defaultRoutesPath,
60
+ configs: lambdaRoutes,
61
+ lambdaNamePrefix: packageConfig.getDeployment(opArgs[0]).configuration
62
+ .lambdaNamePrefix,
63
+ });
64
+ return;
65
+ }
66
+ if (command === 'deploy') {
67
+ await (0, templateLambdaApiDeploy_1.deployCli)(packageConfig.getDeployment(opArgs[0]), lambdaRoutes);
68
+ return;
69
+ }
70
+ throw new Error('Unknown command: ' + command);
71
+ });
72
+ };
73
+ exports.run = run;
74
+ //# sourceMappingURL=templateLambdaApiCli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateLambdaApiCli.js","sourceRoot":"","sources":["../../src/templateLambdaApiCli.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAyE;AACzE,oDAA+C;AAC/C,gEAA2D;AAC3D,uEAAsD;AACtD,wEAAiE;AACjE,0EAAgE;AAChE,4DAA8D;AAC9D,kDAA0B;AAC1B,4CAAoB;AAKpB,kEAA+D;AAC/D,iEAGgC;AAChC,iEAA2D;AAC3D,qEAAwD;AAEjD,MAAM,GAAG,GAAG,KAAK,EAAE,IAAc,EAAiB,EAAE;IACzD,MAAM,IAAA,mBAAO,EAAC,KAAK,IAAI,EAAE;QACvB,MAAM,IAAI,GAAG,IAAA,wBAAQ,EAAC;YACpB,KAAK,EAAL,eAAK;YACL,cAAc,EAAE,IAAA,mCAAmB,GAAE;YACrC,aAAa,EAAE,IAAA,+BAAa,GAAE;SAC/B,CAAC;aACC,OAAO,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,GAAG,EAAE;YACvD,OAAO,eAAK,CAAC,UAAU,CAAC,YAAY,EAAE;gBACpC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,0DAA0D;gBACpE,OAAO,EAAE,EAAE;aACZ,CAAC,CAAC;QACL,CAAC,CAAC;aACD,IAAI,EAAE,CAAC,IAAI,CAAC;QAEf,MAAM,aAAa,GAAG,IAAI,oCAAa,CAGrC;YACA,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;QAEzC,gBAAgB;QAChB,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CACb,mHAAmH,CACpH,CAAC;SACH;QACD,MAAM,YAAY,GAAG,IAAA,mCAAgB,EAAC,wCAAiB,CAAC,CAAC;QACzD,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAChD,MAAM,cAAc,GAAG,IAAA,2CAAoB,EAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAC7D,CAAC,CAAC,aAAa,CAAC,OAAO,GAAG,cAAc,CAAC;YACzC,IAAA,yCAAkB,EAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5C,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QACH,IAAA,kCAAkB,EAAC,MAAM,CAAC,CAAC;QAE3B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,AAAD,EAAG,AAAD,EAAG,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC;QAE/B,IAAI,OAAO,KAAK,OAAO,EAAE;YACvB,MAAM,IAAA,qCAAe,EAAC,MAAM,CAAC,CAAC;YAC9B,OAAO;SACR;QAED,IAAI,OAAO,KAAK,OAAO,EAAE;YACvB,MAAM,IAAA,qCAAY,EAAC;gBACjB,SAAS,EAAE,wCAAiB;gBAC5B,OAAO,EAAE,YAAY;gBACrB,gBAAgB,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa;qBACnE,gBAAgB;aACpB,CAAC,CAAC;YACH,OAAO;SACR;QAED,IAAI,OAAO,KAAK,QAAQ,EAAE;YACxB,MAAM,IAAA,mCAAS,EAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YACtE,OAAO;SACR;QAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAjEW,QAAA,GAAG,OAiEd"}
@@ -0,0 +1,10 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,37 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ export declare const defaultRoutesPath = "./src/routes";
2
+ //# sourceMappingURL=templateLambdaConsts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateLambdaConsts.d.ts","sourceRoot":"","sources":["../../src/templateLambdaConsts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultRoutesPath = void 0;
4
+ exports.defaultRoutesPath = './src/routes';
5
+ //# sourceMappingURL=templateLambdaConsts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateLambdaConsts.js","sourceRoot":"","sources":["../../src/templateLambdaConsts.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goldstack/template-lambda-api-cli",
3
- "version": "0.4.1",
3
+ "version": "0.4.4",
4
4
  "description": "Companion for project templates for deploying Lambdas as a REST API",
5
5
  "keywords": [
6
6
  "goldstack",