@goldstack/utils-aws-lambda 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -4
- package/dist/src/generate/collectLambdasFromFiles.d.ts +14 -0
- package/dist/src/generate/collectLambdasFromFiles.d.ts.map +1 -0
- package/dist/src/generate/collectLambdasFromFiles.js +103 -0
- package/dist/src/generate/collectLambdasFromFiles.js.map +1 -0
- package/dist/src/generate/collectLambdasFromFiles.spec.d.ts +2 -0
- package/dist/src/generate/collectLambdasFromFiles.spec.d.ts.map +1 -0
- package/dist/src/generate/collectLambdasFromFiles.spec.js +26 -0
- package/dist/src/generate/collectLambdasFromFiles.spec.js.map +1 -0
- package/dist/src/utilsAwsLambda.d.ts +1 -0
- package/dist/src/utilsAwsLambda.d.ts.map +1 -1
- package/dist/src/utilsAwsLambda.js +11 -3
- package/dist/src/utilsAwsLambda.js.map +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
# Goldstack AWS
|
|
1
|
+
# Goldstack AWS Lambda Tools
|
|
2
2
|
|
|
3
|
-
This library provides a simple wrapper around the AWS CLI
|
|
4
|
-
|
|
5
|
-
See [Source Code](https://github.com/goldstack/goldstack/blob/master/workspaces/templates-lib/packages/utils-aws-cli/src/utilsAwsCli.ts)
|
|
3
|
+
This library provides a simple wrapper around the AWS CLI to deploy Lambdas.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare enum RouteType {
|
|
2
|
+
DIR = "DIR",
|
|
3
|
+
FUNCTION = "FUNCTION"
|
|
4
|
+
}
|
|
5
|
+
export interface LambdaConfig {
|
|
6
|
+
name: string;
|
|
7
|
+
type: RouteType;
|
|
8
|
+
absoluteFilePath: string;
|
|
9
|
+
relativeFilePath: string;
|
|
10
|
+
path: string;
|
|
11
|
+
route: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function readLambdaConfig(dir: string): LambdaConfig[];
|
|
14
|
+
//# sourceMappingURL=collectLambdasFromFiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collectLambdasFromFiles.d.ts","sourceRoot":"","sources":["../../../src/generate/collectLambdasFromFiles.ts"],"names":[],"mappings":"AAGA,oBAAY,SAAS;IACnB,GAAG,QAAQ;IACX,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAUD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE,CAU5D"}
|
|
@@ -0,0 +1,103 @@
|
|
|
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.readLambdaConfig = exports.RouteType = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = require("path");
|
|
9
|
+
var RouteType;
|
|
10
|
+
(function (RouteType) {
|
|
11
|
+
RouteType["DIR"] = "DIR";
|
|
12
|
+
RouteType["FUNCTION"] = "FUNCTION";
|
|
13
|
+
})(RouteType = exports.RouteType || (exports.RouteType = {}));
|
|
14
|
+
function readLambdaConfig(dir) {
|
|
15
|
+
const result = readLambdaConfigImpl(dir, dir);
|
|
16
|
+
if (!result.children) {
|
|
17
|
+
throw new Error('Invalid directory ' + dir);
|
|
18
|
+
}
|
|
19
|
+
return flattenConfig(result.children).filter((e) => e.type === RouteType.FUNCTION);
|
|
20
|
+
}
|
|
21
|
+
exports.readLambdaConfig = readLambdaConfig;
|
|
22
|
+
function flattenConfig(config) {
|
|
23
|
+
const arr = [];
|
|
24
|
+
for (const child of Object.entries(config)) {
|
|
25
|
+
const newVal = { ...child[1] };
|
|
26
|
+
newVal.children = undefined;
|
|
27
|
+
arr.push(newVal);
|
|
28
|
+
if (child[1].children) {
|
|
29
|
+
arr.push(...flattenConfig(child[1].children));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return arr;
|
|
33
|
+
}
|
|
34
|
+
function posixPath(pathstring) {
|
|
35
|
+
return pathstring.split(path_1.sep).join(path_1.posix.sep);
|
|
36
|
+
}
|
|
37
|
+
function removeExtension(path) {
|
|
38
|
+
return path.replace(/\.[^/.]+$/, '');
|
|
39
|
+
}
|
|
40
|
+
function makePath(configRoot, dir) {
|
|
41
|
+
const path = removeExtension(posixPath((0, path_1.relative)(configRoot, dir)));
|
|
42
|
+
if (path === '$index') {
|
|
43
|
+
return '/';
|
|
44
|
+
}
|
|
45
|
+
if (path.indexOf('$index') !== -1) {
|
|
46
|
+
let newPath = path.replace('$index', '');
|
|
47
|
+
// API Gateway does not accept routes like /myroute/
|
|
48
|
+
newPath = newPath.slice(0, newPath.length - 1);
|
|
49
|
+
return `/${newPath}`;
|
|
50
|
+
}
|
|
51
|
+
if (path === '$default') {
|
|
52
|
+
return '$default';
|
|
53
|
+
}
|
|
54
|
+
return `/${path}`;
|
|
55
|
+
}
|
|
56
|
+
function makeRoute(configRoot, dir) {
|
|
57
|
+
const route = makePath(configRoot, dir);
|
|
58
|
+
if (route === '$default') {
|
|
59
|
+
return '$default';
|
|
60
|
+
}
|
|
61
|
+
return `ANY ${route}`;
|
|
62
|
+
}
|
|
63
|
+
function readLambdaConfigImpl(configRoot, dir) {
|
|
64
|
+
const root = dir;
|
|
65
|
+
const rootRoute = makeRoute(configRoot, dir);
|
|
66
|
+
const configItem = {
|
|
67
|
+
name: root,
|
|
68
|
+
type: RouteType.DIR,
|
|
69
|
+
absoluteFilePath: dir,
|
|
70
|
+
path: makePath(configRoot, dir),
|
|
71
|
+
relativeFilePath: (0, path_1.relative)(configRoot, dir),
|
|
72
|
+
route: rootRoute,
|
|
73
|
+
};
|
|
74
|
+
const dirHandle = fs_1.default.opendirSync(dir);
|
|
75
|
+
let dirEntry;
|
|
76
|
+
while ((dirEntry = dirHandle.readSync()) !== null) {
|
|
77
|
+
if (!configItem.children) {
|
|
78
|
+
configItem.children = {};
|
|
79
|
+
}
|
|
80
|
+
const name = dirEntry.name;
|
|
81
|
+
const fullPath = (0, path_1.resolve)(root, name);
|
|
82
|
+
if (dirEntry.isDirectory()) {
|
|
83
|
+
configItem.children[name] = readLambdaConfigImpl(configRoot, fullPath);
|
|
84
|
+
}
|
|
85
|
+
else if (dirEntry.isFile()) {
|
|
86
|
+
const route = makeRoute(configRoot, fullPath);
|
|
87
|
+
configItem.children[name] = {
|
|
88
|
+
name: removeExtension(name),
|
|
89
|
+
type: RouteType.FUNCTION,
|
|
90
|
+
path: makePath(configRoot, fullPath),
|
|
91
|
+
absoluteFilePath: fullPath,
|
|
92
|
+
relativeFilePath: (0, path_1.relative)(configRoot, fullPath),
|
|
93
|
+
route: route,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
dirHandle.closeSync();
|
|
101
|
+
return configItem;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=collectLambdasFromFiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collectLambdasFromFiles.js","sourceRoot":"","sources":["../../../src/generate/collectLambdasFromFiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collectLambdasFromFiles.spec.d.ts","sourceRoot":"","sources":["../../../src/generate/collectLambdasFromFiles.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
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 assert_1 = __importDefault(require("assert"));
|
|
7
|
+
const collectLambdasFromFiles_1 = require("./collectLambdasFromFiles");
|
|
8
|
+
describe('Lambda utils', () => {
|
|
9
|
+
const routes = (0, collectLambdasFromFiles_1.readLambdaConfig)('./testData/routes');
|
|
10
|
+
it('Should obtain config from files', async () => {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
(0, assert_1.default)(!!routes.find((e) => e.route === '$default'));
|
|
13
|
+
(0, assert_1.default)(!!routes.find((e) => e.route === 'ANY /bird/abilities'));
|
|
14
|
+
(0, assert_1.default)(!!routes.find((e) => e.route === 'ANY /'));
|
|
15
|
+
(0, assert_1.default)(!!routes.find((e) => e.route === 'ANY /bird'));
|
|
16
|
+
(0, assert_1.default)(((_a = routes.find((e) => e.route === 'ANY /bird')) === null || _a === void 0 ? void 0 : _a.relativeFilePath) ===
|
|
17
|
+
'bird.ts');
|
|
18
|
+
(0, assert_1.default)(((_b = routes.find((e) => e.route === 'ANY /bird')) === null || _b === void 0 ? void 0 : _b.name) === 'bird');
|
|
19
|
+
});
|
|
20
|
+
it('Should be able to handle index files', async () => {
|
|
21
|
+
// console.log(JSON.stringify(routes, null, 2));
|
|
22
|
+
const indexRoute = routes.find((e) => e.route === 'ANY /dog');
|
|
23
|
+
(0, assert_1.default)(indexRoute !== undefined);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=collectLambdasFromFiles.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collectLambdasFromFiles.spec.js","sourceRoot":"","sources":["../../../src/generate/collectLambdasFromFiles.spec.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,uEAA6D;AAE7D,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,MAAM,MAAM,GAAG,IAAA,0CAAgB,EAAC,mBAAmB,CAAC,CAAC;IACrD,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;;QAC/C,IAAA,gBAAM,EAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC;QACrD,IAAA,gBAAM,EAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,qBAAqB,CAAC,CAAC,CAAC;QAChE,IAAA,gBAAM,EAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC;QAClD,IAAA,gBAAM,EAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC;QACtD,IAAA,gBAAM,EACJ,CAAA,MAAA,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,0CAAE,gBAAgB;YAC3D,SAAS,CACZ,CAAC;QACF,IAAA,gBAAM,EAAC,CAAA,MAAA,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,0CAAE,IAAI,MAAK,MAAM,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,gDAAgD;QAChD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;QAC9D,IAAA,gBAAM,EAAC,UAAU,KAAK,SAAS,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilsAwsLambda.d.ts","sourceRoot":"","sources":["../../src/utilsAwsLambda.ts"],"names":[],"mappings":"AAGA,OAAO,GAAG,MAAM,SAAS,CAAC;AAE1B,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,WACjB,oBAAoB,KAC3B,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"utilsAwsLambda.d.ts","sourceRoot":"","sources":["../../src/utilsAwsLambda.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,YAAY,GACb,MAAM,oCAAoC,CAAC;AAE5C,OAAO,GAAG,MAAM,SAAS,CAAC;AAE1B,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,WACjB,oBAAoB,KAC3B,QAAQ,GAAG,CA2Cb,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.deployFunction = void 0;
|
|
3
|
+
exports.deployFunction = exports.readLambdaConfig = void 0;
|
|
4
4
|
const utils_aws_cli_1 = require("@goldstack/utils-aws-cli");
|
|
5
5
|
const utils_sh_1 = require("@goldstack/utils-sh");
|
|
6
|
+
var collectLambdasFromFiles_1 = require("./generate/collectLambdasFromFiles");
|
|
7
|
+
Object.defineProperty(exports, "readLambdaConfig", { enumerable: true, get: function () { return collectLambdasFromFiles_1.readLambdaConfig; } });
|
|
6
8
|
const deployFunction = async (params) => {
|
|
7
9
|
const targetArchive = params.targetArchiveName || `lambda-${new Date().getTime()}.zip`;
|
|
8
10
|
await (0, utils_sh_1.rmSafe)(targetArchive);
|
|
@@ -11,9 +13,12 @@ const deployFunction = async (params) => {
|
|
|
11
13
|
target: targetArchive,
|
|
12
14
|
mode: 511,
|
|
13
15
|
});
|
|
14
|
-
const deployResult = (0, utils_aws_cli_1.awsCli)({
|
|
16
|
+
const deployResult = await (0, utils_aws_cli_1.awsCli)({
|
|
15
17
|
credentials: params.awsCredentials,
|
|
16
18
|
region: params.region,
|
|
19
|
+
options: {
|
|
20
|
+
silent: true,
|
|
21
|
+
},
|
|
17
22
|
command: `lambda update-function-code --function-name ${params.functionName} --zip-file fileb://${targetArchive}`,
|
|
18
23
|
});
|
|
19
24
|
if (!params.targetArchiveName) {
|
|
@@ -23,9 +28,12 @@ const deployFunction = async (params) => {
|
|
|
23
28
|
let counter = 0;
|
|
24
29
|
let state = '';
|
|
25
30
|
while (counter < 20 && state !== 'Active') {
|
|
26
|
-
const res = (0, utils_aws_cli_1.awsCli)({
|
|
31
|
+
const res = await (0, utils_aws_cli_1.awsCli)({
|
|
27
32
|
credentials: params.awsCredentials,
|
|
28
33
|
region: params.region,
|
|
34
|
+
options: {
|
|
35
|
+
silent: true,
|
|
36
|
+
},
|
|
29
37
|
command: `lambda get-function --function-name ${params.functionName}`,
|
|
30
38
|
});
|
|
31
39
|
const data = JSON.parse(res);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilsAwsLambda.js","sourceRoot":"","sources":["../../src/utilsAwsLambda.ts"],"names":[],"mappings":";;;AAAA,4DAAkD;AAClD,kDAAkD;
|
|
1
|
+
{"version":3,"file":"utilsAwsLambda.js","sourceRoot":"","sources":["../../src/utilsAwsLambda.ts"],"names":[],"mappings":";;;AAAA,4DAAkD;AAClD,kDAAkD;AAElD,8EAG4C;AAF1C,2HAAA,gBAAgB,OAAA;AAcX,MAAM,cAAc,GAAG,KAAK,EACjC,MAA4B,EACd,EAAE;IAChB,MAAM,aAAa,GACjB,MAAM,CAAC,iBAAiB,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IAEnE,MAAM,IAAA,iBAAM,EAAC,aAAa,CAAC,CAAC;IAC5B,MAAM,IAAA,cAAG,EAAC;QACR,SAAS,EAAE,MAAM,CAAC,gBAAgB;QAClC,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,MAAM,IAAA,sBAAM,EAAC;QAChC,WAAW,EAAE,MAAM,CAAC,cAAc;QAClC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE;YACP,MAAM,EAAE,IAAI;SACb;QACD,OAAO,EAAE,+CAA+C,MAAM,CAAC,YAAY,uBAAuB,aAAa,EAAE;KAClH,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;QAC7B,MAAM,IAAA,iBAAM,EAAC,aAAa,CAAC,CAAC;KAC7B;IAED,mCAAmC;IACnC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,OAAO,OAAO,GAAG,EAAE,IAAI,KAAK,KAAK,QAAQ,EAAE;QACzC,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAM,EAAC;YACvB,WAAW,EAAE,MAAM,CAAC,cAAc;YAClC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI;aACb;YACD,OAAO,EAAE,uCAAuC,MAAM,CAAC,YAAY,EAAE;SACtE,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACjC,OAAO,EAAE,CAAC;KACX;IACD,IAAI,OAAO,IAAI,EAAE,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,oBAAoB,CAAC,CAAC;KAC5E;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC,CAAC;AA7CW,QAAA,cAAc,kBA6CzB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goldstack/utils-aws-lambda",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Utilities for deploying AWS Lambda functions",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"goldstack",
|
|
@@ -37,13 +37,14 @@
|
|
|
37
37
|
"prepublishOnly": "yarn run build",
|
|
38
38
|
"publish": "utils-git changed --exec \"yarn npm publish $@\"",
|
|
39
39
|
"test-ci": "jest --passWithNoTests --config=./jest.config.js",
|
|
40
|
+
"test-watch": "jest --watch --passWithNoTests --config=./jest.config.js",
|
|
40
41
|
"version:apply": "utils-git changed --exec \"yarn version $@ && yarn version apply\"",
|
|
41
42
|
"version:apply:force": "yarn version $@ && yarn version apply"
|
|
42
43
|
},
|
|
43
44
|
"dependencies": {
|
|
44
|
-
"@goldstack/utils-aws-cli": "0.3.
|
|
45
|
+
"@goldstack/utils-aws-cli": "0.3.35",
|
|
45
46
|
"@goldstack/utils-log": "0.2.9",
|
|
46
|
-
"@goldstack/utils-sh": "0.4.
|
|
47
|
+
"@goldstack/utils-sh": "0.4.22",
|
|
47
48
|
"aws-sdk": "2.1001.0"
|
|
48
49
|
},
|
|
49
50
|
"devDependencies": {
|