@sylvesterllc/aws-constructs 1.1.29 → 1.1.30

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.
@@ -18,6 +18,7 @@ const createBasicLambda = (scope, props) => {
18
18
  exports.createBasicLambda = createBasicLambda;
19
19
  const createBasicLambdaProps = (props) => {
20
20
  let resolvedEntry;
21
+ let depsLockFilePath = props.depsLockFilePath;
21
22
  if (props.codePath && path.isAbsolute(props.codePath)) {
22
23
  resolvedEntry = props.codePath;
23
24
  }
@@ -37,6 +38,17 @@ const createBasicLambdaProps = (props) => {
37
38
  // Default path without projectRoot
38
39
  resolvedEntry = path.join(`./resources/lambdas/${props.functionName}/main.mts`);
39
40
  }
41
+ // When projectRoot is provided, override depsLockFilePath to point to the projectRoot's lock file
42
+ if (props.projectRoot && !depsLockFilePath) {
43
+ const lockFiles = ["pnpm-lock.yaml", "yarn.lock", "package-lock.json"];
44
+ for (const lockFile of lockFiles) {
45
+ const lockPath = path.join(props.projectRoot, lockFile);
46
+ if (require("fs").existsSync(lockPath)) {
47
+ depsLockFilePath = lockPath;
48
+ break;
49
+ }
50
+ }
51
+ }
40
52
  const lambdaProp = {
41
53
  entry: resolvedEntry,
42
54
  functionName: `${props.appPrefix ? `${props.appPrefix}-` : ""}${props.functionName}`,
@@ -57,8 +69,8 @@ const createBasicLambdaProps = (props) => {
57
69
  ...props.envs,
58
70
  },
59
71
  ...(props.projectRoot && { projectRoot: props.projectRoot }),
60
- ...(props.depsLockFilePath && {
61
- depsLockFilePath: props.depsLockFilePath,
72
+ ...(depsLockFilePath && {
73
+ depsLockFilePath: depsLockFilePath,
62
74
  }),
63
75
  },
64
76
  role: props.role,
@@ -82,4 +94,4 @@ const addLambdaLayers = (scope, lambda, functionName, layerArns) => {
82
94
  });
83
95
  }
84
96
  };
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWJhc2ljLWxhbWJkYS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzb3VyY2VzL2xhbWJkYS9jcmVhdGUtYmFzaWMtbGFtYmRhLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBdUM7QUFFdkMsdURBQStEO0FBQy9ELHFFQUl1QztBQUN2QyxtREFBcUQ7QUFDckQsNkJBQThCO0FBRzlCLDJEQUFpRDtBQUUxQyxNQUFNLGlCQUFpQixHQUFHLENBQy9CLEtBQWdCLEVBQ2hCLEtBQWtCLEVBQ0YsRUFBRTtJQUNsQixNQUFNLFdBQVcsR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVsRCxNQUFNLFlBQVksR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVyRSxJQUFJLGNBQWMsR0FBRyxJQUFJLGtDQUFjLENBQ3JDLEtBQUssRUFDTCxZQUFZLEVBQ1osV0FBVyxDQUNaLENBQUM7SUFFRix5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUV2RixlQUFlLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTNFLE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQW5CVyxRQUFBLGlCQUFpQixxQkFtQjVCO0FBRUYsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEtBQWtCLEVBQXVCLEVBQUU7SUFDekUsSUFBSSxhQUFxQixDQUFDO0lBRTFCLElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3RELGFBQWEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO0lBQ2pD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QUFDLENBQUM7SUFDTCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxlQUFlLEdBQUcsQ0FDdEIsS0FBZ0IsRUFDaEIsTUFBc0IsRUFDdEIsWUFBb0IsRUFDcEIsU0FBb0IsRUFDcEIsRUFBRTtJQUNGLElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdEMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBRSxHQUFXLEVBQUUsRUFBRTtZQUM3QyxNQUFNLEtBQUssR0FBRyx5QkFBWSxDQUFDLG1CQUFtQixDQUM1QyxLQUFLLEVBQ0wsZ0JBQWdCLEdBQUcsRUFBRSxFQUNyQixHQUFHLENBQ0osQ0FBQztZQUVGLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IFNlcnZpY2VQcmluY2lwYWwgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHsgTGF5ZXJWZXJzaW9uLCBSdW50aW1lIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7XG4gIE5vZGVqc0Z1bmN0aW9uLFxuICBOb2RlanNGdW5jdGlvblByb3BzLFxuICBTb3VyY2VNYXBNb2RlLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanNcIjtcbmltcG9ydCB7IFJldGVudGlvbkRheXMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxvZ3NcIjtcbmltcG9ydCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG5pbXBvcnQgeyBMYW1iZGFQcm9wcyB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL2xhbWJkYVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQmFzaWNMYW1iZGEgPSAoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIHByb3BzOiBMYW1iZGFQcm9wc1xuKTogTm9kZWpzRnVuY3Rpb24gPT4ge1xuICBjb25zdCBsYW1iZGFQcm9wcyA9IGNyZWF0ZUJhc2ljTGFtYmRhUHJvcHMocHJvcHMpO1xuXG4gIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IGAke3Byb3BzLmFwcFByZWZpeCB8fCBcIlwifSR7cHJvcHMuZnVuY3Rpb25OYW1lfWA7XG5cbiAgbGV0IGxhbWJkYUZ1bmN0aW9uID0gbmV3IE5vZGVqc0Z1bmN0aW9uKFxuICAgIHNjb3BlLFxuICAgIGZ1bmN0aW9uTmFtZSxcbiAgICBsYW1iZGFQcm9wc1xuICApO1xuXG4gIGdyYW50QWNjZXNzVG9EeW5hbW9UYWJsZXMoc2NvcGUsIGxhbWJkYUZ1bmN0aW9uLCBmdW5jdGlvbk5hbWUsIHByb3BzLmR5bmFtb1RhYmxlTmFtZXMpO1xuXG4gIGFkZExhbWJkYUxheWVycyhzY29wZSwgbGFtYmRhRnVuY3Rpb24sIGZ1bmN0aW9uTmFtZSwgcHJvcHMubGFtYmRhTGF5ZXJBcm4pO1xuXG4gIHJldHVybiBsYW1iZGFGdW5jdGlvbjtcbn07XG5cbmNvbnN0IGNyZWF0ZUJhc2ljTGFtYmRhUHJvcHMgPSAocHJvcHM6IExhbWJkYVByb3BzKTogTm9kZWpzRnVuY3Rpb25Qcm9wcyA9PiB7XG4gIGxldCByZXNvbHZlZEVudHJ5OiBzdHJpbmc7XG5cbiAgaWYgKHByb3BzLmNvZGVQYXRoICYmIHBhdGguaXNBYnNvbHV0ZShwcm9wcy5jb2RlUGF0aCkpIHtcbiAgICByZXNvbHZlZEVudHJ5ID0gcHJvcHMuY29kZVBhdGg7XG4gIH0gZWxzZSBpZiAocHJvcHMuY29kZVBhdGggJiYgcHJvcHMucHJvamVjdFJvb3QpIHtcbiAgICAvLyBjb2RlUGF0aCBpcyByZWxhdGl2ZSwgcmVzb2x2ZSBmcm9tIGN1cnJlbnQgZGlyZWN0b3J5ICsgcHJvamVjdFJvb3RcbiAgICByZXNvbHZlZEVudHJ5ID0gcGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksIHByb3BzLmNvZGVQYXRoKTtcbiAgfSBlbHNlIGlmIChwcm9wcy5wcm9qZWN0Um9vdCkge1xuICAgIC8vIE5vIGNvZGVQYXRoLCB1c2UgZGVmYXVsdCBwYXRoIHdpdGggcHJvamVjdFJvb3RcbiAgICByZXNvbHZlZEVudHJ5ID0gcGF0aC5yZXNvbHZlKFxuICAgICAgcHJvY2Vzcy5jd2QoKSxcbiAgICAgIHByb3BzLnByb2plY3RSb290LFxuICAgICAgYHJlc291cmNlcy9sYW1iZGFzLyR7cHJvcHMuZnVuY3Rpb25OYW1lfS9tYWluLm10c2BcbiAgICApO1xuICB9IGVsc2UgaWYgKHByb3BzLmNvZGVQYXRoKSB7XG4gICAgLy8gY29kZVBhdGggd2l0aG91dCBwcm9qZWN0Um9vdFxuICAgIHJlc29sdmVkRW50cnkgPSBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgcHJvcHMuY29kZVBhdGgpO1xuICB9IGVsc2Uge1xuICAgIC8vIERlZmF1bHQgcGF0aCB3aXRob3V0IHByb2plY3RSb290XG4gICAgcmVzb2x2ZWRFbnRyeSA9IHBhdGguam9pbihcbiAgICAgIGAuL3Jlc291cmNlcy9sYW1iZGFzLyR7cHJvcHMuZnVuY3Rpb25OYW1lfS9tYWluLm10c2BcbiAgICApO1xuICB9XG5cbiAgY29uc3QgbGFtYmRhUHJvcDogTm9kZWpzRnVuY3Rpb25Qcm9wcyA9IHtcbiAgICBlbnRyeTogcmVzb2x2ZWRFbnRyeSxcbiAgICBmdW5jdGlvbk5hbWU6IGAke3Byb3BzLmFwcFByZWZpeCA/IGAke3Byb3BzLmFwcFByZWZpeH0tYCA6IFwiXCJ9JHtcbiAgICAgIHByb3BzLmZ1bmN0aW9uTmFtZVxuICAgIH1gLFxuICAgIGhhbmRsZXI6IFwibWFpbi50c1wiLFxuICAgIGxvZ1JldGVudGlvbjogUmV0ZW50aW9uRGF5cy5UV09fV0VFS1MsXG4gICAgcnVudGltZTogUnVudGltZS5OT0RFSlNfTEFURVNULFxuICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoXG4gICAgICBwcm9wcy50aW1lb3V0SW5NaW51dGVzID8gcHJvcHMudGltZW91dEluTWludXRlcyA6IDFcbiAgICApLFxuICAgIG1lbW9yeVNpemU6IHByb3BzLm1lbW9yeSxcbiAgICBlbnZpcm9ubWVudDoge1xuICAgICAgLi4ucHJvcHMuZW52cyxcbiAgICB9LFxuICAgIGJ1bmRsaW5nOiB7XG4gICAgICBtaW5pZnk6IHRydWUsXG4gICAgICB0YXJnZXQ6IGBlc25leHRgLFxuICAgICAgc291cmNlTWFwOiB0cnVlLFxuICAgICAgc291cmNlTWFwTW9kZTogU291cmNlTWFwTW9kZS5FWFRFUk5BTCxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIC4uLnByb3BzLmVudnMsXG4gICAgICB9LFxuICAgICAgLi4uKHByb3BzLnByb2plY3RSb290ICYmIHsgcHJvamVjdFJvb3Q6IHByb3BzLnByb2plY3RSb290IH0pLFxuICAgICAgLi4uKHByb3BzLmRlcHNMb2NrRmlsZVBhdGggJiYge1xuICAgICAgICBkZXBzTG9ja0ZpbGVQYXRoOiBwcm9wcy5kZXBzTG9ja0ZpbGVQYXRoLFxuICAgICAgfSksXG4gICAgfSxcbiAgICByb2xlOiBwcm9wcy5yb2xlLFxuICAgIGxheWVyczogdW5kZWZpbmVkLFxuICB9O1xuXG4gIHJldHVybiBsYW1iZGFQcm9wO1xufTtcblxuY29uc3QgZ3JhbnRBY2Nlc3NUb0R5bmFtb1RhYmxlcyA9IChcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgbGFtYmRhOiBOb2RlanNGdW5jdGlvbixcbiAgZnVuY3Rpb25OYW1lOiBzdHJpbmcsXG4gIHRhYmxlTmFtZXM/OiBzdHJpbmdbXSxcbikgPT4ge1xuICBpZiAodGFibGVOYW1lcyAmJiB0YWJsZU5hbWVzLmxlbmd0aCA+IDApIHtcbiAgICB0YWJsZU5hbWVzLmZvckVhY2goKHRhYmxlTmFtZSwgaWR4KSA9PiB7XG4gICAgICBjb25zdCB0YWJsZSA9IFRhYmxlLmZyb21UYWJsZU5hbWUoc2NvcGUsIGAke3RhYmxlTmFtZX0tdGFibGUtJHtpZHh9YCwgdGFibGVOYW1lKTtcblxuICAgICAgdGFibGUuZ3JhbnRSZWFkV3JpdGVEYXRhKGxhbWJkYSk7XG4gICAgfSk7XG4gIH1cbn07XG5cbmNvbnN0IGFkZExhbWJkYUxheWVycyA9IChcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgbGFtYmRhOiBOb2RlanNGdW5jdGlvbixcbiAgZnVuY3Rpb25OYW1lOiBzdHJpbmcsXG4gIGxheWVyQXJucz86IHN0cmluZ1tdXG4pID0+IHtcbiAgaWYgKGxheWVyQXJucyAmJiBsYXllckFybnMubGVuZ3RoID4gMCkge1xuICAgIGxheWVyQXJucy5mb3JFYWNoKChhcm46IHN0cmluZywgaWR4OiBudW1iZXIpID0+IHtcbiAgICAgIGNvbnN0IGxheWVyID0gTGF5ZXJWZXJzaW9uLmZyb21MYXllclZlcnNpb25Bcm4oXG4gICAgICAgIHNjb3BlLFxuICAgICAgICBgY29tbW9uLWxheWVyLSR7aWR4fWAsXG4gICAgICAgIGFyblxuICAgICAgKTtcblxuICAgICAgbGFtYmRhLmFkZExheWVycyhsYXllcik7XG4gICAgfSk7XG4gIH1cbn07XG4iXX0=
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWJhc2ljLWxhbWJkYS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzb3VyY2VzL2xhbWJkYS9jcmVhdGUtYmFzaWMtbGFtYmRhLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBdUM7QUFFdkMsdURBQStEO0FBQy9ELHFFQUl1QztBQUN2QyxtREFBcUQ7QUFDckQsNkJBQThCO0FBRzlCLDJEQUFpRDtBQUUxQyxNQUFNLGlCQUFpQixHQUFHLENBQy9CLEtBQWdCLEVBQ2hCLEtBQWtCLEVBQ0YsRUFBRTtJQUNsQixNQUFNLFdBQVcsR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVsRCxNQUFNLFlBQVksR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVyRSxJQUFJLGNBQWMsR0FBRyxJQUFJLGtDQUFjLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUUxRSx5QkFBeUIsQ0FDdkIsS0FBSyxFQUNMLGNBQWMsRUFDZCxZQUFZLEVBQ1osS0FBSyxDQUFDLGdCQUFnQixDQUN2QixDQUFDO0lBRUYsZUFBZSxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUUzRSxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDLENBQUM7QUFwQlcsUUFBQSxpQkFBaUIscUJBb0I1QjtBQUVGLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxLQUFrQixFQUF1QixFQUFFO0lBQ3pFLElBQUksYUFBcUIsQ0FBQztJQUMxQixJQUFJLGdCQUFnQixHQUF1QixLQUFLLENBQUMsZ0JBQWdCLENBQUM7SUFFbEUsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFF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QUNoQixNQUFNLEVBQUUsU0FBUztLQUNsQixDQUFDO0lBRUYsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSx5QkFBeUIsR0FBRyxDQUNoQyxLQUFnQixFQUNoQixNQUFzQixFQUN0QixZQUFvQixFQUNwQixVQUFxQixFQUNyQixFQUFFO0lBQ0YsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN4QyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3BDLE1BQU0sS0FBSyxHQUFHLG9CQUFLLENBQUMsYUFBYSxDQUMvQixLQUFLLEVBQ0wsR0FBRyxTQUFTLFVBQVUsR0FBRyxFQUFFLEVBQzNCLFNBQVMsQ0FDVixDQUFDO1lBRUYsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHLENBQ3RCLEtBQWdCLEVBQ2hCLE1BQXNCLEVBQ3RCLFlBQW9CLEVBQ3BCLFNBQW9CLEVBQ3BCLEVBQUU7SUFDRixJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3RDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFXLEVBQUUsR0FBVyxFQUFFLEVBQUU7WUFDN0MsTUFBTSxLQUFLLEdBQUcseUJBQVksQ0FBQyxtQkFBbUIsQ0FDNUMsS0FBSyxFQUNMLGdCQUFnQixHQUFHLEVBQUUsRUFDckIsR0FBRyxDQUNKLENBQUM7WUFFRixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBTZXJ2aWNlUHJpbmNpcGFsIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiwgUnVudGltZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQge1xuICBOb2RlanNGdW5jdGlvbixcbiAgTm9kZWpzRnVuY3Rpb25Qcm9wcyxcbiAgU291cmNlTWFwTW9kZSxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzXCI7XG5pbXBvcnQgeyBSZXRlbnRpb25EYXlzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCI7XG5pbXBvcnQgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xuaW1wb3J0IHsgTGFtYmRhUHJvcHMgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9sYW1iZGFcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGJcIjtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUJhc2ljTGFtYmRhID0gKFxuICBzY29wZTogQ29uc3RydWN0LFxuICBwcm9wczogTGFtYmRhUHJvcHNcbik6IE5vZGVqc0Z1bmN0aW9uID0+IHtcbiAgY29uc3QgbGFtYmRhUHJvcHMgPSBjcmVhdGVCYXNpY0xhbWJkYVByb3BzKHByb3BzKTtcblxuICBjb25zdCBmdW5jdGlvbk5hbWUgPSBgJHtwcm9wcy5hcHBQcmVmaXggfHwgXCJcIn0ke3Byb3BzLmZ1bmN0aW9uTmFtZX1gO1xuXG4gIGxldCBsYW1iZGFGdW5jdGlvbiA9IG5ldyBOb2RlanNGdW5jdGlvbihzY29wZSwgZnVuY3Rpb25OYW1lLCBsYW1iZGFQcm9wcyk7XG5cbiAgZ3JhbnRBY2Nlc3NUb0R5bmFtb1RhYmxlcyhcbiAgICBzY29wZSxcbiAgICBsYW1iZGFGdW5jdGlvbixcbiAgICBmdW5jdGlvbk5hbWUsXG4gICAgcHJvcHMuZHluYW1vVGFibGVOYW1lc1xuICApO1xuXG4gIGFkZExhbWJkYUxheWVycyhzY29wZSwgbGFtYmRhRnVuY3Rpb24sIGZ1bmN0aW9uTmFtZSwgcHJvcHMubGFtYmRhTGF5ZXJBcm4pO1xuXG4gIHJldHVybiBsYW1iZGFGdW5jdGlvbjtcbn07XG5cbmNvbnN0IGNyZWF0ZUJhc2ljTGFtYmRhUHJvcHMgPSAocHJvcHM6IExhbWJkYVByb3BzKTogTm9kZWpzRnVuY3Rpb25Qcm9wcyA9PiB7XG4gIGxldCByZXNvbHZlZEVudHJ5OiBzdHJpbmc7XG4gIGxldCBkZXBzTG9ja0ZpbGVQYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBwcm9wcy5kZXBzTG9ja0ZpbGVQYXRoO1xuXG4gIGlmIChwcm9wcy5jb2RlUGF0aCAmJiBwYXRoLmlzQWJzb2x1dGUocHJvcHMuY29kZVBhdGgpKSB7XG4gICAgcmVzb2x2ZWRFbnRyeSA9IHByb3BzLmNvZGVQYXRoO1xuICB9IGVsc2UgaWYgKHByb3BzLmNvZGVQYXRoICYmIHByb3BzLnByb2plY3RSb290KSB7XG4gICAgLy8gY29kZVBhdGggaXMgcmVsYXRpdmUsIHJlc29sdmUgZnJvbSBjdXJyZW50IGRpcmVjdG9yeSArIHByb2plY3RSb290XG4gICAgcmVzb2x2ZWRFbnRyeSA9IHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBwcm9wcy5jb2RlUGF0aCk7XG4gIH0gZWxzZSBpZiAocHJvcHMucHJvamVjdFJvb3QpIHtcbiAgICAvLyBObyBjb2RlUGF0aCwgdXNlIGRlZmF1bHQgcGF0aCB3aXRoIHByb2plY3RSb290XG4gICAgcmVzb2x2ZWRFbnRyeSA9IHBhdGgucmVzb2x2ZShcbiAgICAgIHByb2Nlc3MuY3dkKCksXG4gICAgICBwcm9wcy5wcm9qZWN0Um9vdCxcbiAgICAgIGByZXNvdXJjZXMvbGFtYmRhcy8ke3Byb3BzLmZ1bmN0aW9uTmFtZX0vbWFpbi5tdHNgXG4gICAgKTtcbiAgfSBlbHNlIGlmIChwcm9wcy5jb2RlUGF0aCkge1xuICAgIC8vIGNvZGVQYXRoIHdpdGhvdXQgcHJvamVjdFJvb3RcbiAgICByZXNvbHZlZEVudHJ5ID0gcGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksIHByb3BzLmNvZGVQYXRoKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBEZWZhdWx0IHBhdGggd2l0aG91dCBwcm9qZWN0Um9vdFxuICAgIHJlc29sdmVkRW50cnkgPSBwYXRoLmpvaW4oXG4gICAgICBgLi9yZXNvdXJjZXMvbGFtYmRhcy8ke3Byb3BzLmZ1bmN0aW9uTmFtZX0vbWFpbi5tdHNgXG4gICAgKTtcbiAgfVxuXG4gIC8vIFdoZW4gcHJvamVjdFJvb3QgaXMgcHJvdmlkZWQsIG92ZXJyaWRlIGRlcHNMb2NrRmlsZVBhdGggdG8gcG9pbnQgdG8gdGhlIHByb2plY3RSb290J3MgbG9jayBmaWxlXG4gIGlmIChwcm9wcy5wcm9qZWN0Um9vdCAmJiAhZGVwc0xvY2tGaWxlUGF0aCkge1xuICAgIGNvbnN0IGxvY2tGaWxlcyA9IFtcInBucG0tbG9jay55YW1sXCIsIFwieWFybi5sb2NrXCIsIFwicGFja2FnZS1sb2NrLmpzb25cIl07XG4gICAgZm9yIChjb25zdCBsb2NrRmlsZSBvZiBsb2NrRmlsZXMpIHtcbiAgICAgIGNvbnN0IGxvY2tQYXRoID0gcGF0aC5qb2luKHByb3BzLnByb2plY3RSb290LCBsb2NrRmlsZSk7XG4gICAgICBpZiAocmVxdWlyZShcImZzXCIpLmV4aXN0c1N5bmMobG9ja1BhdGgpKSB7XG4gICAgICAgIGRlcHNMb2NrRmlsZVBhdGggPSBsb2NrUGF0aDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgbGFtYmRhUHJvcDogTm9kZWpzRnVuY3Rpb25Qcm9wcyA9IHtcbiAgICBlbnRyeTogcmVzb2x2ZWRFbnRyeSxcbiAgICBmdW5jdGlvbk5hbWU6IGAke3Byb3BzLmFwcFByZWZpeCA/IGAke3Byb3BzLmFwcFByZWZpeH0tYCA6IFwiXCJ9JHtcbiAgICAgIHByb3BzLmZ1bmN0aW9uTmFtZVxuICAgIH1gLFxuICAgIGhhbmRsZXI6IFwibWFpbi50c1wiLFxuICAgIGxvZ1JldGVudGlvbjogUmV0ZW50aW9uRGF5cy5UV09fV0VFS1MsXG4gICAgcnVudGltZTogUnVudGltZS5OT0RFSlNfTEFURVNULFxuICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoXG4gICAgICBwcm9wcy50aW1lb3V0SW5NaW51dGVzID8gcHJvcHMudGltZW91dEluTWludXRlcyA6IDFcbiAgICApLFxuICAgIG1lbW9yeVNpemU6IHByb3BzLm1lbW9yeSxcbiAgICBlbnZpcm9ubWVudDoge1xuICAgICAgLi4ucHJvcHMuZW52cyxcbiAgICB9LFxuICAgIGJ1bmRsaW5nOiB7XG4gICAgICBtaW5pZnk6IHRydWUsXG4gICAgICB0YXJnZXQ6IGBlc25leHRgLFxuICAgICAgc291cmNlTWFwOiB0cnVlLFxuICAgICAgc291cmNlTWFwTW9kZTogU291cmNlTWFwTW9kZS5FWFRFUk5BTCxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIC4uLnByb3BzLmVudnMsXG4gICAgICB9LFxuICAgICAgLi4uKHByb3BzLnByb2plY3RSb290ICYmIHsgcHJvamVjdFJvb3Q6IHByb3BzLnByb2plY3RSb290IH0pLFxuICAgICAgLi4uKGRlcHNMb2NrRmlsZVBhdGggJiYge1xuICAgICAgICBkZXBzTG9ja0ZpbGVQYXRoOiBkZXBzTG9ja0ZpbGVQYXRoLFxuICAgICAgfSksXG4gICAgfSxcbiAgICByb2xlOiBwcm9wcy5yb2xlLFxuICAgIGxheWVyczogdW5kZWZpbmVkLFxuICB9O1xuXG4gIHJldHVybiBsYW1iZGFQcm9wO1xufTtcblxuY29uc3QgZ3JhbnRBY2Nlc3NUb0R5bmFtb1RhYmxlcyA9IChcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgbGFtYmRhOiBOb2RlanNGdW5jdGlvbixcbiAgZnVuY3Rpb25OYW1lOiBzdHJpbmcsXG4gIHRhYmxlTmFtZXM/OiBzdHJpbmdbXVxuKSA9PiB7XG4gIGlmICh0YWJsZU5hbWVzICYmIHRhYmxlTmFtZXMubGVuZ3RoID4gMCkge1xuICAgIHRhYmxlTmFtZXMuZm9yRWFjaCgodGFibGVOYW1lLCBpZHgpID0+IHtcbiAgICAgIGNvbnN0IHRhYmxlID0gVGFibGUuZnJvbVRhYmxlTmFtZShcbiAgICAgICAgc2NvcGUsXG4gICAgICAgIGAke3RhYmxlTmFtZX0tdGFibGUtJHtpZHh9YCxcbiAgICAgICAgdGFibGVOYW1lXG4gICAgICApO1xuXG4gICAgICB0YWJsZS5ncmFudFJlYWRXcml0ZURhdGEobGFtYmRhKTtcbiAgICB9KTtcbiAgfVxufTtcblxuY29uc3QgYWRkTGFtYmRhTGF5ZXJzID0gKFxuICBzY29wZTogQ29uc3RydWN0LFxuICBsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uLFxuICBmdW5jdGlvbk5hbWU6IHN0cmluZyxcbiAgbGF5ZXJBcm5zPzogc3RyaW5nW11cbikgPT4ge1xuICBpZiAobGF5ZXJBcm5zICYmIGxheWVyQXJucy5sZW5ndGggPiAwKSB7XG4gICAgbGF5ZXJBcm5zLmZvckVhY2goKGFybjogc3RyaW5nLCBpZHg6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgbGF5ZXIgPSBMYXllclZlcnNpb24uZnJvbUxheWVyVmVyc2lvbkFybihcbiAgICAgICAgc2NvcGUsXG4gICAgICAgIGBjb21tb24tbGF5ZXItJHtpZHh9YCxcbiAgICAgICAgYXJuXG4gICAgICApO1xuXG4gICAgICBsYW1iZGEuYWRkTGF5ZXJzKGxheWVyKTtcbiAgICB9KTtcbiAgfVxufTtcbiJdfQ==
@@ -25,6 +25,7 @@ const createBasicLambdaTimerJob = (scope, props) => {
25
25
  exports.createBasicLambdaTimerJob = createBasicLambdaTimerJob;
26
26
  const createBasicLambdaProps = (props) => {
27
27
  let resolvedEntry;
28
+ let depsLockFilePath = props.depsLockFilePath;
28
29
  if (props.codePath && path.isAbsolute(props.codePath)) {
29
30
  resolvedEntry = props.codePath;
30
31
  }
@@ -44,6 +45,17 @@ const createBasicLambdaProps = (props) => {
44
45
  // Default path without projectRoot
45
46
  resolvedEntry = path.join(`./resources/lambdas/timer-jobs/${props.functionName}/main.mts`);
46
47
  }
48
+ // When projectRoot is provided, override depsLockFilePath to point to the projectRoot's lock file
49
+ if (props.projectRoot && !depsLockFilePath) {
50
+ const lockFiles = ["pnpm-lock.yaml", "yarn.lock", "package-lock.json"];
51
+ for (const lockFile of lockFiles) {
52
+ const lockPath = path.join(props.projectRoot, lockFile);
53
+ if (require("fs").existsSync(lockPath)) {
54
+ depsLockFilePath = lockPath;
55
+ break;
56
+ }
57
+ }
58
+ }
47
59
  const lambdaProp = {
48
60
  entry: resolvedEntry,
49
61
  functionName: `${props.appPrefix ? `${props.appPrefix}-` : ""}${props.functionName}`,
@@ -64,8 +76,8 @@ const createBasicLambdaProps = (props) => {
64
76
  ...props.envs,
65
77
  },
66
78
  ...(props.projectRoot && { projectRoot: props.projectRoot }),
67
- ...(props.depsLockFilePath && {
68
- depsLockFilePath: props.depsLockFilePath,
79
+ ...(depsLockFilePath && {
80
+ depsLockFilePath: depsLockFilePath,
69
81
  }),
70
82
  },
71
83
  role: props.role,
@@ -100,4 +112,4 @@ const addLambdaLayers = (scope, lambda, layerArns) => {
100
112
  });
101
113
  }
102
114
  };
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWJhc2ljLWxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNvdXJjZXMvbGFtYmRhL2NyZWF0ZS1iYXNpYy1sYW1iZGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXVDO0FBQ3ZDLGlEQUF1RDtBQUN2RCx1REFBK0Q7QUFDL0QscUVBSXVDO0FBQ3ZDLG1EQUFxRDtBQUNyRCw2QkFBOEI7QUFHOUIscUdBQW9GO0FBQ3BGLHVEQUFxRTtBQUNyRSx1RUFBZ0U7QUFDaEUsMkRBQWlEO0FBRTFDLE1BQU0seUJBQXlCLEdBQUcsQ0FDdkMsS0FBZ0IsRUFDaEIsS0FBb0IsRUFDSixFQUFFO0lBQ2xCLE1BQU0sV0FBVyxHQUFHLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWxELE1BQU0sWUFBWSxHQUFHLEdBQUcsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFL0QsSUFBSSxjQUFjLEdBQUcsSUFBSSxrQ0FBYyxDQUNyQyxLQUFLLEVBQ0wsWUFBWSxFQUNaLFdBQVcsQ0FDWixDQUFDO0lBRUYsb0NBQW9DLENBQUMsY0FBYyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBRW5FLE1BQU0sU0FBUyxHQUFHLHdCQUF3QixDQUN4QyxLQUFLLEVBQ0wsY0FBYyxFQUNkLEtBQUssQ0FBQyxXQUFXLENBQ2xCLENBQUM7SUFFRixTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksbUNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBRXhELHlCQUF5QixDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFekUsZUFBZSxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTdELE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQTdCVyxRQUFBLHlCQUF5Qiw2QkE2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QUNyQixHQUFHLENBQ0osQ0FBQztZQUVGLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IFNlcnZpY2VQcmluY2lwYWwgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHsgTGF5ZXJWZXJzaW9uLCBSdW50aW1lIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7XG4gIE5vZGVqc0Z1bmN0aW9uLFxuICBOb2RlanNGdW5jdGlvblByb3BzLFxuICBTb3VyY2VNYXBNb2RlLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanNcIjtcbmltcG9ydCB7IFJldGVudGlvbkRheXMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxvZ3NcIjtcbmltcG9ydCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG5pbXBvcnQgeyBUaW1lckpvYlByb3BzIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvdGltZXItam9iXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgU0VSVklDRV9QUklOQ0lQQUwgfSBmcm9tIFwiLi4vLi4vY29uc3RhbnRzL2F3cy1zZXJ2aWNlLXByaW5jaXBhbC1jb25zdGFudHNcIjtcbmltcG9ydCB7IENyb25PcHRpb25zLCBSdWxlLCBTY2hlZHVsZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZXZlbnRzXCI7XG5pbXBvcnQgeyBMYW1iZGFGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZXZlbnRzLXRhcmdldHNcIjtcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQmFzaWNMYW1iZGFUaW1lckpvYiA9IChcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgcHJvcHM6IFRpbWVySm9iUHJvcHNcbik6IE5vZGVqc0Z1bmN0aW9uID0+IHtcbiAgY29uc3QgbGFtYmRhUHJvcHMgPSBjcmVhdGVCYXNpY0xhbWJkYVByb3BzKHByb3BzKTtcblxuICBjb25zdCBmdW5jdGlvbk5hbWUgPSBgJHtwcm9wcy5hcHBQcmVmaXh9JHtwcm9wcy5mdW5jdGlvbk5hbWV9YDtcblxuICBsZXQgbGFtYmRhRnVuY3Rpb24gPSBuZXcgTm9kZWpzRnVuY3Rpb24oXG4gICAgc2NvcGUsXG4gICAgZnVuY3Rpb25OYW1lLFxuICAgIGxhbWJkYVByb3BzXG4gICk7XG5cbiAgYWRkSW52b2tlUGVybWlzc2lvblRvTGFtYmRhRm9yRXZlbnRzKGxhbWJkYUZ1bmN0aW9uLCBmdW5jdGlvbk5hbWUpO1xuXG4gIGNvbnN0IGV2ZW50UnVsZSA9IGNyZWF0ZUV2ZW50UnVsZUZvckxhbWJkYShcbiAgICBzY29wZSxcbiAgICBsYW1iZGFGdW5jdGlvbixcbiAgICBwcm9wcy5jcm9uT3B0aW9uc1xuICApO1xuXG4gIGV2ZW50UnVsZS5hZGRUYXJnZXQobmV3IExhbWJkYUZ1bmN0aW9uKGxhbWJkYUZ1bmN0aW9uKSk7XG5cbiAgZ3JhbnRBY2Nlc3NUb0R5bmFtb1RhYmxlcyhzY29wZSwgbGFtYmRhRnVuY3Rpb24sIHByb3BzLmR5bmFtb1RhYmxlTmFtZXMpO1xuXG4gIGFkZExhbWJkYUxheWVycyhzY29wZSwgbGFtYmRhRnVuY3Rpb24sIHByb3BzLmxhbWJkYUxheWVyQXJuKTtcblxuICByZXR1cm4gbGFtYmRhRnVuY3Rpb247XG59O1xuXG5jb25zdCBjcmVhdGVCYXNpY0xhbWJkYVByb3BzID0gKHByb3BzOiBUaW1lckpvYlByb3BzKTogTm9kZWpzRnVuY3Rpb25Qcm9wcyA9PiB7XG4gIGxldCByZXNvbHZlZEVudHJ5OiBzdHJpbmc7XG5cbiAgaWYgKHByb3BzLmNvZGVQYXRoICYmIHBhdGguaXNBYnNvbHV0ZShwcm9wcy5jb2RlUGF0aCkpIHtcbiAgICByZXNvbHZlZEVudHJ5ID0gcHJvcHMuY29kZVBhdGg7XG4gIH0gZWxzZSBpZiAocHJvcHMuY29kZVBhdGggJiYgcHJvcHMucHJvamVjdFJvb3QpIHtcbiAgICAvLyBjb2RlUGF0aCBpcyByZWxhdGl2ZSwgcmVzb2x2ZSBmcm9tIGN1cnJlbnQgZGlyZWN0b3J5ICsgcHJvamVjdFJvb3RcbiAgICByZXNvbHZlZEVudHJ5ID0gcGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksIHByb3BzLmNvZGVQYXRoKTtcbiAgfSBlbHNlIGlmIChwcm9wcy5wcm9qZWN0Um9vdCkge1xuICAgIC8vIE5vIGNvZGVQYXRoLCB1c2UgZGVmYXVsdCBwYXRoIHdpdGggcHJvamVjdFJvb3RcbiAgICByZXNvbHZlZEVudHJ5ID0gcGF0aC5yZXNvbHZlKFxuICAgICAgcHJvY2Vzcy5jd2QoKSxcbiAgICAgIHByb3BzLnByb2plY3RSb290LFxuICAgICAgYHJlc291cmNlcy9sYW1iZGFzL3RpbWVyLWpvYnMvJHtwcm9wcy5mdW5jdGlvbk5hbWV9L21haW4ubXRzYFxuICAgICk7XG4gIH0gZWxzZSBpZiAocHJvcHMuY29kZVBhdGgpIHtcbiAgICAvLyBjb2RlUGF0aCB3aXRob3V0IHByb2plY3RSb290XG4gICAgcmVzb2x2ZWRFbnRyeSA9IHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBwcm9wcy5jb2RlUGF0aCk7XG4gIH0gZWxzZSB7XG4gICAgLy8gRGVmYXVsdCBwYXRoIHdpdGhvdXQgcHJvamVjdFJvb3RcbiAgICByZXNvbHZlZEVudHJ5ID0gcGF0aC5qb2luKFxuICAgICAgYC4vcmVzb3VyY2VzL2xhbWJkYXMvdGltZXItam9icy8ke3Byb3BzLmZ1bmN0aW9uTmFtZX0vbWFpbi5tdHNgXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGxhbWJkYVByb3A6IE5vZGVqc0Z1bmN0aW9uUHJvcHMgPSB7XG4gICAgZW50cnk6IHJlc29sdmVkRW50cnksXG4gICAgZnVuY3Rpb25OYW1lOiBgJHtwcm9wcy5hcHBQcmVmaXggPyBgJHtwcm9wcy5hcHBQcmVmaXh9LWAgOiBcIlwifSR7XG4gICAgICBwcm9wcy5mdW5jdGlvbk5hbWVcbiAgICB9YCxcbiAgICBoYW5kbGVyOiBcIm1haW4udHNcIixcbiAgICBsb2dSZXRlbnRpb246IFJldGVudGlvbkRheXMuVFdPX1dFRUtTLFxuICAgIHJ1bnRpbWU6IFJ1bnRpbWUuTk9ERUpTX0xBVEVTVCxcbiAgICB0aW1lb3V0OiBEdXJhdGlvbi5taW51dGVzKFxuICAgICAgcHJvcHMudGltZW91dEluTWludXRlcyA/IHByb3BzLnRpbWVvdXRJbk1pbnV0ZXMgOiAxXG4gICAgKSxcbiAgICBtZW1vcnlTaXplOiBwcm9wcy5tZW1vcnksXG4gICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgIC4uLnByb3BzLmVudnMsXG4gICAgfSxcbiAgICBidW5kbGluZzoge1xuICAgICAgbWluaWZ5OiB0cnVlLFxuICAgICAgdGFyZ2V0OiBgZXNuZXh0YCxcbiAgICAgIHNvdXJjZU1hcDogdHJ1ZSxcbiAgICAgIHNvdXJjZU1hcE1vZGU6IFNvdXJjZU1hcE1vZGUuRVhURVJOQUwsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAuLi5wcm9wcy5lbnZzLFxuICAgICAgfSxcbiAgICAgIC4uLihwcm9wcy5wcm9qZWN0Um9vdCAmJiB7IHByb2plY3RSb290OiBwcm9wcy5wcm9qZWN0Um9vdCB9KSxcbiAgICAgIC4uLihwcm9wcy5kZXBzTG9ja0ZpbGVQYXRoICYmIHtcbiAgICAgICAgZGVwc0xvY2tGaWxlUGF0aDogcHJvcHMuZGVwc0xvY2tGaWxlUGF0aCxcbiAgICAgIH0pLFxuICAgIH0sXG4gICAgcm9sZTogcHJvcHMucm9sZSxcbiAgICBsYXllcnM6IHVuZGVmaW5lZCxcbiAgfTtcblxuICByZXR1cm4gbGFtYmRhUHJvcDtcbn07XG5cbmNvbnN0IGFkZEludm9rZVBlcm1pc3Npb25Ub0xhbWJkYUZvckV2ZW50cyA9IChsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uLCBmdW5jdGlvbk5hbWU6IHN0cmluZykgPT4ge1xuICBsYW1iZGEuYWRkUGVybWlzc2lvbihgSW52b2tlUGVybWlzc2lvbi0ke2Z1bmN0aW9uTmFtZX1gLCB7XG4gICAgcHJpbmNpcGFsOiBuZXcgU2VydmljZVByaW5jaXBhbChTRVJWSUNFX1BSSU5DSVBBTC5FVkVOVFMpLFxuICB9KTtcbn07XG5cbmNvbnN0IGNyZWF0ZUV2ZW50UnVsZUZvckxhbWJkYSA9IChcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgbGFtYmRhOiBOb2RlanNGdW5jdGlvbixcbiAgb3B0aW9uczogQ3Jvbk9wdGlvbnNcbikgPT4ge1xuICBjb25zdCBldmVudFJ1bGUgPSBuZXcgUnVsZShcbiAgICBzY29wZSxcbiAgICBgc2NoZWR1bGVSdWxlLSR7bGFtYmRhPy5ub2RlLmlkIHx8IFwiMDEwXCJ9YCxcbiAgICB7XG4gICAgICBzY2hlZHVsZTogU2NoZWR1bGUuY3JvbihvcHRpb25zKSxcbiAgICB9XG4gICk7XG5cbiAgcmV0dXJuIGV2ZW50UnVsZTtcbn07XG5cbmNvbnN0IGdyYW50QWNjZXNzVG9EeW5hbW9UYWJsZXMgPSAoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGxhbWJkYTogTm9kZWpzRnVuY3Rpb24sXG4gIHRhYmxlTmFtZXM/OiBzdHJpbmdbXVxuKSA9PiB7XG4gIGlmICh0YWJsZU5hbWVzICYmIHRhYmxlTmFtZXMubGVuZ3RoID4gMCkge1xuICAgIHRhYmxlTmFtZXMuZm9yRWFjaCgodGFibGVOYW1lKSA9PiB7XG4gICAgICBjb25zdCB0YWJsZSA9IFRhYmxlLmZyb21UYWJsZU5hbWUoc2NvcGUsIGAke3RhYmxlTmFtZX0tdGFibGVgLCB0YWJsZU5hbWUpO1xuXG4gICAgICB0YWJsZS5ncmFudFJlYWRXcml0ZURhdGEobGFtYmRhKTtcbiAgICB9KTtcbiAgfVxufTtcblxuY29uc3QgYWRkTGFtYmRhTGF5ZXJzID0gKFxuICBzY29wZTogQ29uc3RydWN0LFxuICBsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uLFxuICBsYXllckFybnM/OiBzdHJpbmdbXVxuKSA9PiB7XG4gIGlmIChsYXllckFybnMgJiYgbGF5ZXJBcm5zLmxlbmd0aCA+IDApIHtcbiAgICBsYXllckFybnMuZm9yRWFjaCgoYXJuOiBzdHJpbmcsIGlkeDogbnVtYmVyKSA9PiB7XG4gICAgICBjb25zdCBsYXllciA9IExheWVyVmVyc2lvbi5mcm9tTGF5ZXJWZXJzaW9uQXJuKFxuICAgICAgICBzY29wZSxcbiAgICAgICAgYGNvbW1vbi1sYXllci0ke2lkeH1gLFxuICAgICAgICBhcm5cbiAgICAgICk7XG5cbiAgICAgIGxhbWJkYS5hZGRMYXllcnMobGF5ZXIpO1xuICAgIH0pO1xuICB9XG59O1xuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWJhc2ljLWxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNvdXJjZXMvbGFtYmRhL2NyZWF0ZS1iYXNpYy1sYW1iZGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXVDO0FBQ3ZDLGlEQUF1RDtBQUN2RCx1REFBK0Q7QUFDL0QscUVBSXVDO0FBQ3ZDLG1EQUFxRDtBQUNyRCw2QkFBOEI7QUFHOUIscUdBQW9GO0FBQ3BGLHVEQUFxRTtBQUNyRSx1RUFBZ0U7QUFDaEUsMkRBQWlEO0FBRTFDLE1BQU0seUJBQXlCLEdBQUcsQ0FDdkMsS0FBZ0IsRUFDaEIsS0FBb0IsRUFDSixFQUFFO0lBQ2xCLE1BQU0sV0FBVyxHQUFHLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWxELE1BQU0sWUFBWSxHQUFHLEdBQUcsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFL0QsSUFBSSxjQUFjLEdBQUcsSUFBSSxrQ0FBYyxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFMUUsb0NBQW9DLENBQUMsY0FBYyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBRW5FLE1BQU0sU0FBUyxHQUFHLHdCQUF3QixDQUN4QyxLQUFLLEVBQ0wsY0FBYyxFQUNkLEtBQUssQ0FBQyxXQUFXLENBQ2xCLENBQUM7SUFFRixTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksbUNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBRXhELHlCQUF5QixDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFekUsZUFBZSxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTdELE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQXpCVyxRQUFBLHlCQUF5Qiw2QkF5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LEdBQUcsb0JBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEdBQUcsU0FBUyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFFMUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHLENBQ3RCLEtBQWdCLEVBQ2hCLE1BQXNCLEVBQ3RCLFNBQW9CLEVBQ3BCLEVBQUU7SUFDRixJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3RDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFXLEVBQUUsR0FBVyxFQUFFLEVBQUU7WUFDN0MsTUFBTSxLQUFLLEdBQUcseUJBQVksQ0FBQyxtQkFBbUIsQ0FDNUMsS0FBSyxFQUNMLGdCQUFnQixHQUFHLEVBQUUsRUFDckIsR0FBRyxDQUNKLENBQUM7WUFFRixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBTZXJ2aWNlUHJpbmNpcGFsIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiwgUnVudGltZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQge1xuICBOb2RlanNGdW5jdGlvbixcbiAgTm9kZWpzRnVuY3Rpb25Qcm9wcyxcbiAgU291cmNlTWFwTW9kZSxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzXCI7XG5pbXBvcnQgeyBSZXRlbnRpb25EYXlzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCI7XG5pbXBvcnQgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xuaW1wb3J0IHsgVGltZXJKb2JQcm9wcyB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL3RpbWVyLWpvYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFNFUlZJQ0VfUFJJTkNJUEFMIH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50cy9hd3Mtc2VydmljZS1wcmluY2lwYWwtY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBDcm9uT3B0aW9ucywgUnVsZSwgU2NoZWR1bGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWV2ZW50c1wiO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWV2ZW50cy10YXJnZXRzXCI7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGJcIjtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUJhc2ljTGFtYmRhVGltZXJKb2IgPSAoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIHByb3BzOiBUaW1lckpvYlByb3BzXG4pOiBOb2RlanNGdW5jdGlvbiA9PiB7XG4gIGNvbnN0IGxhbWJkYVByb3BzID0gY3JlYXRlQmFzaWNMYW1iZGFQcm9wcyhwcm9wcyk7XG5cbiAgY29uc3QgZnVuY3Rpb25OYW1lID0gYCR7cHJvcHMuYXBwUHJlZml4fSR7cHJvcHMuZnVuY3Rpb25OYW1lfWA7XG5cbiAgbGV0IGxhbWJkYUZ1bmN0aW9uID0gbmV3IE5vZGVqc0Z1bmN0aW9uKHNjb3BlLCBmdW5jdGlvbk5hbWUsIGxhbWJkYVByb3BzKTtcblxuICBhZGRJbnZva2VQZXJtaXNzaW9uVG9MYW1iZGFGb3JFdmVudHMobGFtYmRhRnVuY3Rpb24sIGZ1bmN0aW9uTmFtZSk7XG5cbiAgY29uc3QgZXZlbnRSdWxlID0gY3JlYXRlRXZlbnRSdWxlRm9yTGFtYmRhKFxuICAgIHNjb3BlLFxuICAgIGxhbWJkYUZ1bmN0aW9uLFxuICAgIHByb3BzLmNyb25PcHRpb25zXG4gICk7XG5cbiAgZXZlbnRSdWxlLmFkZFRhcmdldChuZXcgTGFtYmRhRnVuY3Rpb24obGFtYmRhRnVuY3Rpb24pKTtcblxuICBncmFudEFjY2Vzc1RvRHluYW1vVGFibGVzKHNjb3BlLCBsYW1iZGFGdW5jdGlvbiwgcHJvcHMuZHluYW1vVGFibGVOYW1lcyk7XG5cbiAgYWRkTGFtYmRhTGF5ZXJzKHNjb3BlLCBsYW1iZGFGdW5jdGlvbiwgcHJvcHMubGFtYmRhTGF5ZXJBcm4pO1xuXG4gIHJldHVybiBsYW1iZGFGdW5jdGlvbjtcbn07XG5cbmNvbnN0IGNyZWF0ZUJhc2ljTGFtYmRhUHJvcHMgPSAocHJvcHM6IFRpbWVySm9iUHJvcHMpOiBOb2RlanNGdW5jdGlvblByb3BzID0+IHtcbiAgbGV0IHJlc29sdmVkRW50cnk6IHN0cmluZztcbiAgbGV0IGRlcHNMb2NrRmlsZVBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHByb3BzLmRlcHNMb2NrRmlsZVBhdGg7XG5cbiAgaWYgKHByb3BzLmNvZGVQYXRoICYmIHBhdGguaXNBYnNvbHV0ZShwcm9wcy5jb2RlUGF0aCkpIHtcbiAgICByZXNvbHZlZEVudHJ5ID0gcHJvcHMuY29kZVBhdGg7XG4gIH0gZWxzZSBpZiAocHJvcHMuY29kZVBhdGggJiYgcHJvcHMucHJvamVjdFJvb3QpIHtcbiAgICAvLyBjb2RlUGF0aCBpcyByZWxhdGl2ZSwgcmVzb2x2ZSBmcm9tIGN1cnJlbnQgZGlyZWN0b3J5ICsgcHJvamVjdFJvb3RcbiAgICByZXNvbHZlZEVudHJ5ID0gcGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksIHByb3BzLmNvZGVQYXRoKTtcbiAgfSBlbHNlIGlmIChwcm9wcy5wcm9qZWN0Um9vdCkge1xuICAgIC8vIE5vIGNvZGVQYXRoLCB1c2UgZGVmYXVsdCBwYXRoIHdpdGggcHJvamVjdFJvb3RcbiAgICByZXNvbHZlZEVudHJ5ID0gcGF0aC5yZXNvbHZlKFxuICAgICAgcHJvY2Vzcy5jd2QoKSxcbiAgICAgIHByb3BzLnByb2plY3RSb290LFxuICAgICAgYHJlc291cmNlcy9sYW1iZGFzL3RpbWVyLWpvYnMvJHtwcm9wcy5mdW5jdGlvbk5hbWV9L21haW4ubXRzYFxuICAgICk7XG4gIH0gZWxzZSBpZiAocHJvcHMuY29kZVBhdGgpIHtcbiAgICAvLyBjb2RlUGF0aCB3aXRob3V0IHByb2plY3RSb290XG4gICAgcmVzb2x2ZWRFbnRyeSA9IHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBwcm9wcy5jb2RlUGF0aCk7XG4gIH0gZWxzZSB7XG4gICAgLy8gRGVmYXVsdCBwYXRoIHdpdGhvdXQgcHJvamVjdFJvb3RcbiAgICByZXNvbHZlZEVudHJ5ID0gcGF0aC5qb2luKFxuICAgICAgYC4vcmVzb3VyY2VzL2xhbWJkYXMvdGltZXItam9icy8ke3Byb3BzLmZ1bmN0aW9uTmFtZX0vbWFpbi5tdHNgXG4gICAgKTtcbiAgfVxuXG4gIC8vIFdoZW4gcHJvamVjdFJvb3QgaXMgcHJvdmlkZWQsIG92ZXJyaWRlIGRlcHNMb2NrRmlsZVBhdGggdG8gcG9pbnQgdG8gdGhlIHByb2plY3RSb290J3MgbG9jayBmaWxlXG4gIGlmIChwcm9wcy5wcm9qZWN0Um9vdCAmJiAhZGVwc0xvY2tGaWxlUGF0aCkge1xuICAgIGNvbnN0IGxvY2tGaWxlcyA9IFtcInBucG0tbG9jay55YW1sXCIsIFwieWFybi5sb2NrXCIsIFwicGFja2FnZS1sb2NrLmpzb25cIl07XG4gICAgZm9yIChjb25zdCBsb2NrRmlsZSBvZiBsb2NrRmlsZXMpIHtcbiAgICAgIGNvbnN0IGxvY2tQYXRoID0gcGF0aC5qb2luKHByb3BzLnByb2plY3RSb290LCBsb2NrRmlsZSk7XG4gICAgICBpZiAocmVxdWlyZShcImZzXCIpLmV4aXN0c1N5bmMobG9ja1BhdGgpKSB7XG4gICAgICAgIGRlcHNMb2NrRmlsZVBhdGggPSBsb2NrUGF0aDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgbGFtYmRhUHJvcDogTm9kZWpzRnVuY3Rpb25Qcm9wcyA9IHtcbiAgICBlbnRyeTogcmVzb2x2ZWRFbnRyeSxcbiAgICBmdW5jdGlvbk5hbWU6IGAke3Byb3BzLmFwcFByZWZpeCA/IGAke3Byb3BzLmFwcFByZWZpeH0tYCA6IFwiXCJ9JHtcbiAgICAgIHByb3BzLmZ1bmN0aW9uTmFtZVxuICAgIH1gLFxuICAgIGhhbmRsZXI6IFwibWFpbi50c1wiLFxuICAgIGxvZ1JldGVudGlvbjogUmV0ZW50aW9uRGF5cy5UV09fV0VFS1MsXG4gICAgcnVudGltZTogUnVudGltZS5OT0RFSlNfTEFURVNULFxuICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoXG4gICAgICBwcm9wcy50aW1lb3V0SW5NaW51dGVzID8gcHJvcHMudGltZW91dEluTWludXRlcyA6IDFcbiAgICApLFxuICAgIG1lbW9yeVNpemU6IHByb3BzLm1lbW9yeSxcbiAgICBlbnZpcm9ubWVudDoge1xuICAgICAgLi4ucHJvcHMuZW52cyxcbiAgICB9LFxuICAgIGJ1bmRsaW5nOiB7XG4gICAgICBtaW5pZnk6IHRydWUsXG4gICAgICB0YXJnZXQ6IGBlc25leHRgLFxuICAgICAgc291cmNlTWFwOiB0cnVlLFxuICAgICAgc291cmNlTWFwTW9kZTogU291cmNlTWFwTW9kZS5FWFRFUk5BTCxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIC4uLnByb3BzLmVudnMsXG4gICAgICB9LFxuICAgICAgLi4uKHByb3BzLnByb2plY3RSb290ICYmIHsgcHJvamVjdFJvb3Q6IHByb3BzLnByb2plY3RSb290IH0pLFxuICAgICAgLi4uKGRlcHNMb2NrRmlsZVBhdGggJiYge1xuICAgICAgICBkZXBzTG9ja0ZpbGVQYXRoOiBkZXBzTG9ja0ZpbGVQYXRoLFxuICAgICAgfSksXG4gICAgfSxcbiAgICByb2xlOiBwcm9wcy5yb2xlLFxuICAgIGxheWVyczogdW5kZWZpbmVkLFxuICB9O1xuXG4gIHJldHVybiBsYW1iZGFQcm9wO1xufTtcblxuY29uc3QgYWRkSW52b2tlUGVybWlzc2lvblRvTGFtYmRhRm9yRXZlbnRzID0gKFxuICBsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uLFxuICBmdW5jdGlvbk5hbWU6IHN0cmluZ1xuKSA9PiB7XG4gIGxhbWJkYS5hZGRQZXJtaXNzaW9uKGBJbnZva2VQZXJtaXNzaW9uLSR7ZnVuY3Rpb25OYW1lfWAsIHtcbiAgICBwcmluY2lwYWw6IG5ldyBTZXJ2aWNlUHJpbmNpcGFsKFNFUlZJQ0VfUFJJTkNJUEFMLkVWRU5UUyksXG4gIH0pO1xufTtcblxuY29uc3QgY3JlYXRlRXZlbnRSdWxlRm9yTGFtYmRhID0gKFxuICBzY29wZTogQ29uc3RydWN0LFxuICBsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uLFxuICBvcHRpb25zOiBDcm9uT3B0aW9uc1xuKSA9PiB7XG4gIGNvbnN0IGV2ZW50UnVsZSA9IG5ldyBSdWxlKFxuICAgIHNjb3BlLFxuICAgIGBzY2hlZHVsZVJ1bGUtJHtsYW1iZGE/Lm5vZGUuaWQgfHwgXCIwMTBcIn1gLFxuICAgIHtcbiAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5jcm9uKG9wdGlvbnMpLFxuICAgIH1cbiAgKTtcblxuICByZXR1cm4gZXZlbnRSdWxlO1xufTtcblxuY29uc3QgZ3JhbnRBY2Nlc3NUb0R5bmFtb1RhYmxlcyA9IChcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgbGFtYmRhOiBOb2RlanNGdW5jdGlvbixcbiAgdGFibGVOYW1lcz86IHN0cmluZ1tdXG4pID0+IHtcbiAgaWYgKHRhYmxlTmFtZXMgJiYgdGFibGVOYW1lcy5sZW5ndGggPiAwKSB7XG4gICAgdGFibGVOYW1lcy5mb3JFYWNoKCh0YWJsZU5hbWUpID0+IHtcbiAgICAgIGNvbnN0IHRhYmxlID0gVGFibGUuZnJvbVRhYmxlTmFtZShzY29wZSwgYCR7dGFibGVOYW1lfS10YWJsZWAsIHRhYmxlTmFtZSk7XG5cbiAgICAgIHRhYmxlLmdyYW50UmVhZFdyaXRlRGF0YShsYW1iZGEpO1xuICAgIH0pO1xuICB9XG59O1xuXG5jb25zdCBhZGRMYW1iZGFMYXllcnMgPSAoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGxhbWJkYTogTm9kZWpzRnVuY3Rpb24sXG4gIGxheWVyQXJucz86IHN0cmluZ1tdXG4pID0+IHtcbiAgaWYgKGxheWVyQXJucyAmJiBsYXllckFybnMubGVuZ3RoID4gMCkge1xuICAgIGxheWVyQXJucy5mb3JFYWNoKChhcm46IHN0cmluZywgaWR4OiBudW1iZXIpID0+IHtcbiAgICAgIGNvbnN0IGxheWVyID0gTGF5ZXJWZXJzaW9uLmZyb21MYXllclZlcnNpb25Bcm4oXG4gICAgICAgIHNjb3BlLFxuICAgICAgICBgY29tbW9uLWxheWVyLSR7aWR4fWAsXG4gICAgICAgIGFyblxuICAgICAgKTtcblxuICAgICAgbGFtYmRhLmFkZExheWVycyhsYXllcik7XG4gICAgfSk7XG4gIH1cbn07XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sylvesterllc/aws-constructs",
3
- "version": "1.1.29",
3
+ "version": "1.1.30",
4
4
  "description": "AWS Constructs",
5
5
  "main": "dist/index.js",
6
6
  "keywords": [
@@ -20,14 +20,15 @@ export const createBasicLambda = (
20
20
 
21
21
  const functionName = `${props.appPrefix || ""}${props.functionName}`;
22
22
 
23
- let lambdaFunction = new NodejsFunction(
23
+ let lambdaFunction = new NodejsFunction(scope, functionName, lambdaProps);
24
+
25
+ grantAccessToDynamoTables(
24
26
  scope,
27
+ lambdaFunction,
25
28
  functionName,
26
- lambdaProps
29
+ props.dynamoTableNames
27
30
  );
28
31
 
29
- grantAccessToDynamoTables(scope, lambdaFunction, functionName, props.dynamoTableNames);
30
-
31
32
  addLambdaLayers(scope, lambdaFunction, functionName, props.lambdaLayerArn);
32
33
 
33
34
  return lambdaFunction;
@@ -35,6 +36,7 @@ export const createBasicLambda = (
35
36
 
36
37
  const createBasicLambdaProps = (props: LambdaProps): NodejsFunctionProps => {
37
38
  let resolvedEntry: string;
39
+ let depsLockFilePath: string | undefined = props.depsLockFilePath;
38
40
 
39
41
  if (props.codePath && path.isAbsolute(props.codePath)) {
40
42
  resolvedEntry = props.codePath;
@@ -58,6 +60,18 @@ const createBasicLambdaProps = (props: LambdaProps): NodejsFunctionProps => {
58
60
  );
59
61
  }
60
62
 
63
+ // When projectRoot is provided, override depsLockFilePath to point to the projectRoot's lock file
64
+ if (props.projectRoot && !depsLockFilePath) {
65
+ const lockFiles = ["pnpm-lock.yaml", "yarn.lock", "package-lock.json"];
66
+ for (const lockFile of lockFiles) {
67
+ const lockPath = path.join(props.projectRoot, lockFile);
68
+ if (require("fs").existsSync(lockPath)) {
69
+ depsLockFilePath = lockPath;
70
+ break;
71
+ }
72
+ }
73
+ }
74
+
61
75
  const lambdaProp: NodejsFunctionProps = {
62
76
  entry: resolvedEntry,
63
77
  functionName: `${props.appPrefix ? `${props.appPrefix}-` : ""}${
@@ -82,8 +96,8 @@ const createBasicLambdaProps = (props: LambdaProps): NodejsFunctionProps => {
82
96
  ...props.envs,
83
97
  },
84
98
  ...(props.projectRoot && { projectRoot: props.projectRoot }),
85
- ...(props.depsLockFilePath && {
86
- depsLockFilePath: props.depsLockFilePath,
99
+ ...(depsLockFilePath && {
100
+ depsLockFilePath: depsLockFilePath,
87
101
  }),
88
102
  },
89
103
  role: props.role,
@@ -97,11 +111,15 @@ const grantAccessToDynamoTables = (
97
111
  scope: Construct,
98
112
  lambda: NodejsFunction,
99
113
  functionName: string,
100
- tableNames?: string[],
114
+ tableNames?: string[]
101
115
  ) => {
102
116
  if (tableNames && tableNames.length > 0) {
103
117
  tableNames.forEach((tableName, idx) => {
104
- const table = Table.fromTableName(scope, `${tableName}-table-${idx}`, tableName);
118
+ const table = Table.fromTableName(
119
+ scope,
120
+ `${tableName}-table-${idx}`,
121
+ tableName
122
+ );
105
123
 
106
124
  table.grantReadWriteData(lambda);
107
125
  });
@@ -23,11 +23,7 @@ export const createBasicLambdaTimerJob = (
23
23
 
24
24
  const functionName = `${props.appPrefix}${props.functionName}`;
25
25
 
26
- let lambdaFunction = new NodejsFunction(
27
- scope,
28
- functionName,
29
- lambdaProps
30
- );
26
+ let lambdaFunction = new NodejsFunction(scope, functionName, lambdaProps);
31
27
 
32
28
  addInvokePermissionToLambdaForEvents(lambdaFunction, functionName);
33
29
 
@@ -48,6 +44,7 @@ export const createBasicLambdaTimerJob = (
48
44
 
49
45
  const createBasicLambdaProps = (props: TimerJobProps): NodejsFunctionProps => {
50
46
  let resolvedEntry: string;
47
+ let depsLockFilePath: string | undefined = props.depsLockFilePath;
51
48
 
52
49
  if (props.codePath && path.isAbsolute(props.codePath)) {
53
50
  resolvedEntry = props.codePath;
@@ -71,6 +68,18 @@ const createBasicLambdaProps = (props: TimerJobProps): NodejsFunctionProps => {
71
68
  );
72
69
  }
73
70
 
71
+ // When projectRoot is provided, override depsLockFilePath to point to the projectRoot's lock file
72
+ if (props.projectRoot && !depsLockFilePath) {
73
+ const lockFiles = ["pnpm-lock.yaml", "yarn.lock", "package-lock.json"];
74
+ for (const lockFile of lockFiles) {
75
+ const lockPath = path.join(props.projectRoot, lockFile);
76
+ if (require("fs").existsSync(lockPath)) {
77
+ depsLockFilePath = lockPath;
78
+ break;
79
+ }
80
+ }
81
+ }
82
+
74
83
  const lambdaProp: NodejsFunctionProps = {
75
84
  entry: resolvedEntry,
76
85
  functionName: `${props.appPrefix ? `${props.appPrefix}-` : ""}${
@@ -95,8 +104,8 @@ const createBasicLambdaProps = (props: TimerJobProps): NodejsFunctionProps => {
95
104
  ...props.envs,
96
105
  },
97
106
  ...(props.projectRoot && { projectRoot: props.projectRoot }),
98
- ...(props.depsLockFilePath && {
99
- depsLockFilePath: props.depsLockFilePath,
107
+ ...(depsLockFilePath && {
108
+ depsLockFilePath: depsLockFilePath,
100
109
  }),
101
110
  },
102
111
  role: props.role,
@@ -106,7 +115,10 @@ const createBasicLambdaProps = (props: TimerJobProps): NodejsFunctionProps => {
106
115
  return lambdaProp;
107
116
  };
108
117
 
109
- const addInvokePermissionToLambdaForEvents = (lambda: NodejsFunction, functionName: string) => {
118
+ const addInvokePermissionToLambdaForEvents = (
119
+ lambda: NodejsFunction,
120
+ functionName: string
121
+ ) => {
110
122
  lambda.addPermission(`InvokePermission-${functionName}`, {
111
123
  principal: new ServicePrincipal(SERVICE_PRINCIPAL.EVENTS),
112
124
  });