@goldstack/utils-aws-lambda 0.1.4 → 0.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"generateFunctionName.d.ts","sourceRoot":"","sources":["../../../src/generate/generateFunctionName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAYzD;;GAEG;AACH,eAAO,MAAM,oBAAoB,WACvB,MAAM,GAAG,SAAS,UAClB,YAAY,KACnB,MA0BF,CAAC"}
1
+ {"version":3,"file":"generateFunctionName.d.ts","sourceRoot":"","sources":["../../../src/generate/generateFunctionName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAgBzD;;GAEG;AACH,eAAO,MAAM,oBAAoB,WACvB,MAAM,GAAG,SAAS,UAClB,YAAY,KACnB,MAoCF,CAAC"}
@@ -1,6 +1,12 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.generateFunctionName = void 0;
7
+ const crypto_1 = __importDefault(require("crypto"));
8
+ const INDEX_MARKER = '__index';
9
+ const DEFAULT_MARKER = '__default';
4
10
  const santiseFunctionName = (input) => {
5
11
  return input
6
12
  .replace(/\//g, '-')
@@ -17,15 +23,15 @@ const generateFunctionName = (prefix, config) => {
17
23
  let name = config.name;
18
24
  if (name === '$default') {
19
25
  // '$' is not a valid character in a lambda function name
20
- name = 'default_gateway_lambda_2281';
26
+ name = DEFAULT_MARKER;
21
27
  }
22
28
  if (name === '$index') {
23
- name = 'index_root_lambda_4423';
29
+ name = INDEX_MARKER;
24
30
  }
25
31
  name = santiseFunctionName(name);
26
32
  let pathPrefix = '';
27
33
  const segments = config.path.split('/');
28
- if (segments.length === 2 && name === 'index_root_lambda_4423') {
34
+ if (segments.length === 2 && name === INDEX_MARKER) {
29
35
  pathPrefix = `${segments[1]}-`;
30
36
  }
31
37
  if (segments.length > 2) {
@@ -36,6 +42,15 @@ const generateFunctionName = (prefix, config) => {
36
42
  }
37
43
  name = `${pathPrefix}${name}`;
38
44
  name = (`${prefix}-` || '') + name;
45
+ // Lambda names cannot be larger than 64 characters
46
+ // in that case shorten name and append a hash
47
+ if (name.length > 64) {
48
+ name = `${name.substring(0, 40)}-${crypto_1.default
49
+ .createHash('md5')
50
+ .update(name)
51
+ .digest('hex')
52
+ .substring(0, 20)}`;
53
+ }
39
54
  return name;
40
55
  };
41
56
  exports.generateFunctionName = generateFunctionName;
@@ -1 +1 @@
1
- {"version":3,"file":"generateFunctionName.js","sourceRoot":"","sources":["../../../src/generate/generateFunctionName.ts"],"names":[],"mappings":";;;AAEA,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAU,EAAE;IACpD,OAAO,KAAK;SACT,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF;;GAEG;AACI,MAAM,oBAAoB,GAAG,CAClC,MAA0B,EAC1B,MAAoB,EACZ,EAAE;IACV,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACvB,IAAI,IAAI,KAAK,UAAU,EAAE;QACvB,yDAAyD;QACzD,IAAI,GAAG,6BAA6B,CAAC;KACtC;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE;QACrB,IAAI,GAAG,wBAAwB,CAAC;KACjC;IACD,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEjC,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,wBAAwB,EAAE;QAC9D,UAAU,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;KAChC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,0FAA0F;QAC5G,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,8EAA8E;QAC9F,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,UAAU,GAAG,GAAG,UAAU,GAAG,CAAC;KAC/B;IAED,IAAI,GAAG,GAAG,UAAU,GAAG,IAAI,EAAE,CAAC;IAC9B,IAAI,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACnC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA7BW,QAAA,oBAAoB,wBA6B/B"}
1
+ {"version":3,"file":"generateFunctionName.js","sourceRoot":"","sources":["../../../src/generate/generateFunctionName.ts"],"names":[],"mappings":";;;;;;AACA,oDAA4B;AAE5B,MAAM,YAAY,GAAG,SAAS,CAAC;AAC/B,MAAM,cAAc,GAAG,WAAW,CAAC;AAEnC,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAU,EAAE;IACpD,OAAO,KAAK;SACT,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF;;GAEG;AACI,MAAM,oBAAoB,GAAG,CAClC,MAA0B,EAC1B,MAAoB,EACZ,EAAE;IACV,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACvB,IAAI,IAAI,KAAK,UAAU,EAAE;QACvB,yDAAyD;QACzD,IAAI,GAAG,cAAc,CAAC;KACvB;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE;QACrB,IAAI,GAAG,YAAY,CAAC;KACrB;IACD,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEjC,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,YAAY,EAAE;QAClD,UAAU,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;KAChC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,0FAA0F;QAC5G,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,8EAA8E;QAC9F,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,UAAU,GAAG,GAAG,UAAU,GAAG,CAAC;KAC/B;IAED,IAAI,GAAG,GAAG,UAAU,GAAG,IAAI,EAAE,CAAC;IAC9B,IAAI,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAEnC,mDAAmD;IACnD,8CAA8C;IAC9C,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE;QACpB,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,gBAAM;aACtC,UAAU,CAAC,KAAK,CAAC;aACjB,MAAM,CAAC,IAAI,CAAC;aACZ,MAAM,CAAC,KAAK,CAAC;aACb,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;KACvB;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAvCW,QAAA,oBAAoB,wBAuC/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goldstack/utils-aws-lambda",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Utilities for deploying AWS Lambda functions",
5
5
  "keywords": [
6
6
  "goldstack",