projalf 0.0.10 → 0.0.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/.jsii CHANGED
@@ -119,7 +119,7 @@
119
119
  },
120
120
  "locationInModule": {
121
121
  "filename": "src/Projalf.ts",
122
- "line": 9
122
+ "line": 10
123
123
  },
124
124
  "parameters": [
125
125
  {
@@ -133,7 +133,7 @@
133
133
  "kind": "class",
134
134
  "locationInModule": {
135
135
  "filename": "src/Projalf.ts",
136
- "line": 8
136
+ "line": 9
137
137
  },
138
138
  "name": "Projalf",
139
139
  "symbolId": "src/Projalf:Projalf"
@@ -151,12 +151,12 @@
151
151
  "kind": "interface",
152
152
  "locationInModule": {
153
153
  "filename": "src/Projalf.ts",
154
- "line": 6
154
+ "line": 7
155
155
  },
156
156
  "name": "ProjalfOptions",
157
157
  "symbolId": "src/Projalf:ProjalfOptions"
158
158
  }
159
159
  },
160
160
  "version": "0.0.0",
161
- "fingerprint": "uysqT9WQFFtB5OEgulZj4lIA+ewTw3z5iKeXG/N1Yac="
161
+ "fingerprint": "u+bypU/yuJXqtKAPubAQYXSMnL/N7nBh0wRCh9OWiHw="
162
162
  }
package/lib/Projalf.js CHANGED
@@ -7,6 +7,7 @@ const cp = require("child_process");
7
7
  const path = require("path");
8
8
  const projen_1 = require("projen");
9
9
  const files_1 = require("./files");
10
+ const workflows_1 = require("./workflows");
10
11
  class Projalf extends projen_1.awscdk.AwsCdkTypeScriptApp {
11
12
  constructor(options) {
12
13
  const inferredName = options.name ?? inferNameFromGit() ?? inferNameFromCwd();
@@ -26,6 +27,9 @@ class Projalf extends projen_1.awscdk.AwsCdkTypeScriptApp {
26
27
  context: mergedContext,
27
28
  deps: options.deps ?? [],
28
29
  devDeps: options.devDeps ?? [],
30
+ githubOptions: {
31
+ workflows: false,
32
+ },
29
33
  prettierOptions: {
30
34
  ...options.prettierOptions,
31
35
  settings: {
@@ -41,7 +45,9 @@ class Projalf extends projen_1.awscdk.AwsCdkTypeScriptApp {
41
45
  this.eslint?.addRules({
42
46
  "@stylistic/quotes": ["error", "double", { avoidEscape: true }],
43
47
  "@stylistic/semi": ["error", "never"],
48
+ "@stylistic/consistent-quotes": ["off"],
44
49
  });
50
+ (0, workflows_1.workflow)(this, inferredName);
45
51
  }
46
52
  }
47
53
  exports.Projalf = Projalf;
@@ -75,4 +81,4 @@ function toPascalCase(input) {
75
81
  .map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase())
76
82
  .join("");
77
83
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvamFsZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Qcm9qYWxmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0NBQW9DO0FBQ3BDLDZCQUE2QjtBQUM3QixtQ0FBNEM7QUFDNUMsbUNBQWdDO0FBSWhDLE1BQWEsT0FBUSxTQUFRLGVBQU0sQ0FBQyxtQkFBbUI7SUFDckQsWUFBWSxPQUF1QjtRQUNqQyxNQUFNLFlBQVksR0FDaEIsT0FBTyxDQUFDLElBQUksSUFBSSxnQkFBZ0IsRUFBRSxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDM0QsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdDLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU1QyxNQUFNLGFBQWEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxFQUF5QixDQUFDO1FBQzVFLElBQUksYUFBYSxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM1QyxhQUFhLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQztRQUMzQyxDQUFDO1FBRUQsS0FBSyxDQUFDO1lBQ0osR0FBRyxPQUFPO1lBQ1YsSUFBSSxFQUFFLFlBQVk7WUFDbEIsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixJQUFJLE1BQU07WUFDNUQsY0FBYyxFQUNaLE9BQU8sQ0FBQyxjQUFjLElBQUksbUJBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHO1lBQzdELFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxJQUFJLElBQUk7WUFDdEMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksU0FBUztZQUMzQyxPQUFPLEVBQUUsYUFBYTtZQUN0QixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFO1lBQ3hCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUU7WUFFOUIsZUFBZSxFQUFFO2dCQUNmLEdBQUcsT0FBTyxDQUFDLGVBQWU7Z0JBQzFCLFFBQVEsRUFBRTtvQkFDUixJQUFJLEVBQUUsS0FBSztvQkFDWCxVQUFVLEVBQUUsR0FBRztvQkFDZixXQUFXLEVBQUUsS0FBSztvQkFDbEIsR0FBRyxPQUFPLENBQUMsZUFBZSxFQUFFLFFBQVE7aUJBQ3JDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLGFBQUssQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUVuRCx3REFBd0Q7UUFDeEQsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7WUFDcEIsbUJBQW1CLEVBQUUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQy9ELGlCQUFpQixFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQztTQUN0QyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQTFDSCwwQkEyQ0M7OztBQUVELFNBQVMsZ0JBQWdCO0lBQ3ZCLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLEVBQUU7YUFDZCxRQUFRLENBQUMsb0NBQW9DLEVBQUU7WUFDOUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUM7U0FDcEMsQ0FBQzthQUNELFFBQVEsRUFBRTthQUNWLElBQUksRUFBRSxDQUFDO1FBQ1YsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUM5QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDckQsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQjtJQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLEtBQWE7SUFDakMsT0FBTyxLQUFLO1NBQ1QsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQztTQUM5QixLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsTUFBTSxDQUFDLE9BQU8sQ0FBQztTQUNmLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3pFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcCBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgYXdzY2RrLCBqYXZhc2NyaXB0IH0gZnJvbSBcInByb2plblwiO1xuaW1wb3J0IHsgRmlsZXMgfSBmcm9tIFwiLi9maWxlc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb2phbGZPcHRpb25zIGV4dGVuZHMgYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zIHt9XG5cbmV4cG9ydCBjbGFzcyBQcm9qYWxmIGV4dGVuZHMgYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHAge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBQcm9qYWxmT3B0aW9ucykge1xuICAgIGNvbnN0IGluZmVycmVkTmFtZSA9XG4gICAgICBvcHRpb25zLm5hbWUgPz8gaW5mZXJOYW1lRnJvbUdpdCgpID8/IGluZmVyTmFtZUZyb21Dd2QoKTtcbiAgICBjb25zdCBjbGFzc05hbWUgPSB0b1Bhc2NhbENhc2UoaW5mZXJyZWROYW1lKTtcbiAgICBjb25zdCBmaWxlQmFzZSA9IGluZmVycmVkTmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgY29uc3QgbWVyZ2VkQ29udGV4dCA9IHsgLi4uKG9wdGlvbnMuY29udGV4dCA/PyB7fSkgfSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGlmIChtZXJnZWRDb250ZXh0LnNlcnZpY2VOYW1lID09PSB1bmRlZmluZWQpIHtcbiAgICAgIG1lcmdlZENvbnRleHQuc2VydmljZU5hbWUgPSBpbmZlcnJlZE5hbWU7XG4gICAgfVxuXG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG5hbWU6IGluZmVycmVkTmFtZSxcbiAgICAgIGRlZmF1bHRSZWxlYXNlQnJhbmNoOiBvcHRpb25zLmRlZmF1bHRSZWxlYXNlQnJhbmNoID8/IFwibWFpblwiLFxuICAgICAgcGFja2FnZU1hbmFnZXI6XG4gICAgICAgIG9wdGlvbnMucGFja2FnZU1hbmFnZXIgPz8gamF2YXNjcmlwdC5Ob2RlUGFja2FnZU1hbmFnZXIuTlBNLFxuICAgICAgcHJvamVucmNUczogb3B0aW9ucy5wcm9qZW5yY1RzID8/IHRydWUsXG4gICAgICBjZGtWZXJzaW9uOiBvcHRpb25zLmNka1ZlcnNpb24gPz8gXCIyLjE1Ni4wXCIsXG4gICAgICBjb250ZXh0OiBtZXJnZWRDb250ZXh0LFxuICAgICAgZGVwczogb3B0aW9ucy5kZXBzID8/IFtdLFxuICAgICAgZGV2RGVwczogb3B0aW9ucy5kZXZEZXBzID8/IFtdLFxuXG4gICAgICBwcmV0dGllck9wdGlvbnM6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5wcmV0dGllck9wdGlvbnMsXG4gICAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgICAgc2VtaTogZmFsc2UsXG4gICAgICAgICAgcHJpbnRXaWR0aDogMTAwLFxuICAgICAgICAgIHNpbmdsZVF1b3RlOiBmYWxzZSxcbiAgICAgICAgICAuLi5vcHRpb25zLnByZXR0aWVyT3B0aW9ucz8uc2V0dGluZ3MsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgbmV3IEZpbGVzKHRoaXMsIGNsYXNzTmFtZSwgZmlsZUJhc2UsIGluZmVycmVkTmFtZSk7XG5cbiAgICAvLyBFbmZvcmNlIEVTTGludCBzdHlsZTogZG91YmxlIHF1b3RlcyBhbmQgbm8gc2VtaWNvbG9uc1xuICAgIHRoaXMuZXNsaW50Py5hZGRSdWxlcyh7XG4gICAgICBcIkBzdHlsaXN0aWMvcXVvdGVzXCI6IFtcImVycm9yXCIsIFwiZG91YmxlXCIsIHsgYXZvaWRFc2NhcGU6IHRydWUgfV0sXG4gICAgICBcIkBzdHlsaXN0aWMvc2VtaVwiOiBbXCJlcnJvclwiLCBcIm5ldmVyXCJdLFxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGluZmVyTmFtZUZyb21HaXQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgdHJ5IHtcbiAgICBjb25zdCByZW1vdGUgPSBjcFxuICAgICAgLmV4ZWNTeW5jKFwiZ2l0IGNvbmZpZyAtLWdldCByZW1vdGUub3JpZ2luLnVybFwiLCB7XG4gICAgICAgIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJwaXBlXCIsIFwiaWdub3JlXCJdLFxuICAgICAgfSlcbiAgICAgIC50b1N0cmluZygpXG4gICAgICAudHJpbSgpO1xuICAgIGlmICghcmVtb3RlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IG1hdGNoID0gcmVtb3RlLm1hdGNoKC9cXC8oW15cXC9dKz8pKD86XFwuZ2l0KT8kLyk7XG4gICAgcmV0dXJuIG1hdGNoPy5bMV07XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5mZXJOYW1lRnJvbUN3ZCgpOiBzdHJpbmcge1xuICByZXR1cm4gcGF0aC5iYXNlbmFtZShwcm9jZXNzLmN3ZCgpKTtcbn1cblxuZnVuY3Rpb24gdG9QYXNjYWxDYXNlKGlucHV0OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gaW5wdXRcbiAgICAucmVwbGFjZSgvW15hLXpBLVowLTldKy9nLCBcIiBcIilcbiAgICAuc3BsaXQoXCIgXCIpXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5tYXAoKHBhcnQpID0+IHBhcnQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBwYXJ0LnNsaWNlKDEpLnRvTG93ZXJDYXNlKCkpXG4gICAgLmpvaW4oXCJcIik7XG59XG4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvamFsZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Qcm9qYWxmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0NBQW1DO0FBQ25DLDZCQUE0QjtBQUM1QixtQ0FBMkM7QUFDM0MsbUNBQStCO0FBQy9CLDJDQUFzQztBQUl0QyxNQUFhLE9BQVEsU0FBUSxlQUFNLENBQUMsbUJBQW1CO0lBQ3JELFlBQVksT0FBdUI7UUFDakMsTUFBTSxZQUFZLEdBQ2hCLE9BQU8sQ0FBQyxJQUFJLElBQUksZ0JBQWdCLEVBQUUsSUFBSSxnQkFBZ0IsRUFBRSxDQUFBO1FBQzFELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM1QyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUE7UUFFM0MsTUFBTSxhQUFhLEdBQUcsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsRUFBeUIsQ0FBQTtRQUMzRSxJQUFJLGFBQWEsQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUE7UUFDMUMsQ0FBQztRQUVELEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLElBQUksRUFBRSxZQUFZO1lBQ2xCLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxNQUFNO1lBQzVELGNBQWMsRUFDWixPQUFPLENBQUMsY0FBYyxJQUFJLG1CQUFVLENBQUMsa0JBQWtCLENBQUMsR0FBRztZQUM3RCxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsSUFBSSxJQUFJO1lBQ3RDLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxJQUFJLFNBQVM7WUFDM0MsT0FBTyxFQUFFLGFBQWE7WUFDdEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRTtZQUN4QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFO1lBQzlCLGFBQWEsRUFBRTtnQkFDYixTQUFTLEVBQUUsS0FBSzthQUNqQjtZQUVELGVBQWUsRUFBRTtnQkFDZixHQUFHLE9BQU8sQ0FBQyxlQUFlO2dCQUMxQixRQUFRLEVBQUU7b0JBQ1IsSUFBSSxFQUFFLEtBQUs7b0JBQ1gsVUFBVSxFQUFFLEdBQUc7b0JBQ2YsV0FBVyxFQUFFLEtBQUs7b0JBQ2xCLEdBQUcsT0FBTyxDQUFDLGVBQWUsRUFBRSxRQUFRO2lCQUNyQzthQUNGO1NBQ0YsQ0FBQyxDQUFBO1FBRUYsSUFBSSxhQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUE7UUFFbEQsd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1lBQ3BCLG1CQUFtQixFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUMvRCxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7WUFDckMsOEJBQThCLEVBQUUsQ0FBQyxLQUFLLENBQUM7U0FDeEMsQ0FBQyxDQUFBO1FBRUYsSUFBQSxvQkFBUSxFQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQTtJQUM5QixDQUFDOztBQWhESCwwQkFpREM7OztBQUVELFNBQVMsZ0JBQWdCO0lBQ3ZCLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLEVBQUU7YUFDZCxRQUFRLENBQUMsb0NBQW9DLEVBQUU7WUFDOUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUM7U0FDcEMsQ0FBQzthQUNELFFBQVEsRUFBRTthQUNWLElBQUksRUFBRSxDQUFBO1FBQ1QsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLFNBQVMsQ0FBQTtRQUM3QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDcEQsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNuQixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQjtJQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUE7QUFDckMsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLEtBQWE7SUFDakMsT0FBTyxLQUFLO1NBQ1QsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQztTQUM5QixLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsTUFBTSxDQUFDLE9BQU8sQ0FBQztTQUNmLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3pFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcCBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCB7IGF3c2NkaywgamF2YXNjcmlwdCB9IGZyb20gXCJwcm9qZW5cIlxuaW1wb3J0IHsgRmlsZXMgfSBmcm9tIFwiLi9maWxlc1wiXG5pbXBvcnQgeyB3b3JrZmxvdyB9IGZyb20gXCIuL3dvcmtmbG93c1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvamFsZk9wdGlvbnMgZXh0ZW5kcyBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcE9wdGlvbnMge31cblxuZXhwb3J0IGNsYXNzIFByb2phbGYgZXh0ZW5kcyBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFByb2phbGZPcHRpb25zKSB7XG4gICAgY29uc3QgaW5mZXJyZWROYW1lID1cbiAgICAgIG9wdGlvbnMubmFtZSA/PyBpbmZlck5hbWVGcm9tR2l0KCkgPz8gaW5mZXJOYW1lRnJvbUN3ZCgpXG4gICAgY29uc3QgY2xhc3NOYW1lID0gdG9QYXNjYWxDYXNlKGluZmVycmVkTmFtZSlcbiAgICBjb25zdCBmaWxlQmFzZSA9IGluZmVycmVkTmFtZS50b0xvd2VyQ2FzZSgpXG5cbiAgICBjb25zdCBtZXJnZWRDb250ZXh0ID0geyAuLi4ob3B0aW9ucy5jb250ZXh0ID8/IHt9KSB9IGFzIFJlY29yZDxzdHJpbmcsIGFueT5cbiAgICBpZiAobWVyZ2VkQ29udGV4dC5zZXJ2aWNlTmFtZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBtZXJnZWRDb250ZXh0LnNlcnZpY2VOYW1lID0gaW5mZXJyZWROYW1lXG4gICAgfVxuXG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG5hbWU6IGluZmVycmVkTmFtZSxcbiAgICAgIGRlZmF1bHRSZWxlYXNlQnJhbmNoOiBvcHRpb25zLmRlZmF1bHRSZWxlYXNlQnJhbmNoID8/IFwibWFpblwiLFxuICAgICAgcGFja2FnZU1hbmFnZXI6XG4gICAgICAgIG9wdGlvbnMucGFja2FnZU1hbmFnZXIgPz8gamF2YXNjcmlwdC5Ob2RlUGFja2FnZU1hbmFnZXIuTlBNLFxuICAgICAgcHJvamVucmNUczogb3B0aW9ucy5wcm9qZW5yY1RzID8/IHRydWUsXG4gICAgICBjZGtWZXJzaW9uOiBvcHRpb25zLmNka1ZlcnNpb24gPz8gXCIyLjE1Ni4wXCIsXG4gICAgICBjb250ZXh0OiBtZXJnZWRDb250ZXh0LFxuICAgICAgZGVwczogb3B0aW9ucy5kZXBzID8/IFtdLFxuICAgICAgZGV2RGVwczogb3B0aW9ucy5kZXZEZXBzID8/IFtdLFxuICAgICAgZ2l0aHViT3B0aW9uczoge1xuICAgICAgICB3b3JrZmxvd3M6IGZhbHNlLFxuICAgICAgfSxcblxuICAgICAgcHJldHRpZXJPcHRpb25zOiB7XG4gICAgICAgIC4uLm9wdGlvbnMucHJldHRpZXJPcHRpb25zLFxuICAgICAgICBzZXR0aW5nczoge1xuICAgICAgICAgIHNlbWk6IGZhbHNlLFxuICAgICAgICAgIHByaW50V2lkdGg6IDEwMCxcbiAgICAgICAgICBzaW5nbGVRdW90ZTogZmFsc2UsXG4gICAgICAgICAgLi4ub3B0aW9ucy5wcmV0dGllck9wdGlvbnM/LnNldHRpbmdzLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgbmV3IEZpbGVzKHRoaXMsIGNsYXNzTmFtZSwgZmlsZUJhc2UsIGluZmVycmVkTmFtZSlcblxuICAgIC8vIEVuZm9yY2UgRVNMaW50IHN0eWxlOiBkb3VibGUgcXVvdGVzIGFuZCBubyBzZW1pY29sb25zXG4gICAgdGhpcy5lc2xpbnQ/LmFkZFJ1bGVzKHtcbiAgICAgIFwiQHN0eWxpc3RpYy9xdW90ZXNcIjogW1wiZXJyb3JcIiwgXCJkb3VibGVcIiwgeyBhdm9pZEVzY2FwZTogdHJ1ZSB9XSxcbiAgICAgIFwiQHN0eWxpc3RpYy9zZW1pXCI6IFtcImVycm9yXCIsIFwibmV2ZXJcIl0sXG4gICAgICBcIkBzdHlsaXN0aWMvY29uc2lzdGVudC1xdW90ZXNcIjogW1wib2ZmXCJdLFxuICAgIH0pXG5cbiAgICB3b3JrZmxvdyh0aGlzLCBpbmZlcnJlZE5hbWUpXG4gIH1cbn1cblxuZnVuY3Rpb24gaW5mZXJOYW1lRnJvbUdpdCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICB0cnkge1xuICAgIGNvbnN0IHJlbW90ZSA9IGNwXG4gICAgICAuZXhlY1N5bmMoXCJnaXQgY29uZmlnIC0tZ2V0IHJlbW90ZS5vcmlnaW4udXJsXCIsIHtcbiAgICAgICAgc3RkaW86IFtcImlnbm9yZVwiLCBcInBpcGVcIiwgXCJpZ25vcmVcIl0sXG4gICAgICB9KVxuICAgICAgLnRvU3RyaW5nKClcbiAgICAgIC50cmltKClcbiAgICBpZiAoIXJlbW90ZSkgcmV0dXJuIHVuZGVmaW5lZFxuICAgIGNvbnN0IG1hdGNoID0gcmVtb3RlLm1hdGNoKC9cXC8oW15cXC9dKz8pKD86XFwuZ2l0KT8kLylcbiAgICByZXR1cm4gbWF0Y2g/LlsxXVxuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cbn1cblxuZnVuY3Rpb24gaW5mZXJOYW1lRnJvbUN3ZCgpOiBzdHJpbmcge1xuICByZXR1cm4gcGF0aC5iYXNlbmFtZShwcm9jZXNzLmN3ZCgpKVxufVxuXG5mdW5jdGlvbiB0b1Bhc2NhbENhc2UoaW5wdXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBpbnB1dFxuICAgIC5yZXBsYWNlKC9bXmEtekEtWjAtOV0rL2csIFwiIFwiKVxuICAgIC5zcGxpdChcIiBcIilcbiAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgLm1hcCgocGFydCkgPT4gcGFydC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHBhcnQuc2xpY2UoMSkudG9Mb3dlckNhc2UoKSlcbiAgICAuam9pbihcIlwiKVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ import { Projalf } from "./Projalf";
2
+ export declare function workflow(project: Projalf, stackName: string): void;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.workflow = workflow;
4
+ const workflows_model_1 = require("projen/lib/github/workflows-model");
5
+ function workflow(project, stackName) {
6
+ const deployWorkflow = project.github.addWorkflow("deploy");
7
+ // Trigger on PR and push to main
8
+ deployWorkflow.on({
9
+ pullRequest: {},
10
+ push: { branches: ["main"] },
11
+ });
12
+ // Reusable job template
13
+ const jobDefaults = {
14
+ runsOn: ["ubuntu-latest"],
15
+ permissions: {
16
+ contents: workflows_model_1.JobPermission.WRITE,
17
+ idToken: workflows_model_1.JobPermission.WRITE,
18
+ },
19
+ steps: [
20
+ { name: "Checkout", uses: "actions/checkout@v4" },
21
+ {
22
+ name: "Setup Node.js",
23
+ uses: "actions/setup-node@v4",
24
+ with: { "node-version": "20" },
25
+ },
26
+ { name: "Install dependencies", run: "yarn install --frozen-lockfile" },
27
+ { name: "Build", run: "yarn build" },
28
+ {
29
+ name: "Configure AWS credentials",
30
+ uses: "aws-actions/configure-aws-credentials@v4",
31
+ with: {
32
+ "role-to-assume": "${{ secrets.AWS_ROLE_ARN }}",
33
+ "aws-region": "${{ secrets.AWS_REGION || 'us-east-1' }}",
34
+ },
35
+ },
36
+ { name: "CDK Bootstrap", run: "npx cdk bootstrap" },
37
+ ],
38
+ };
39
+ // Job: deploy dev on PR
40
+ deployWorkflow.addJobs({
41
+ deploy_dev: {
42
+ ...jobDefaults,
43
+ if: "github.event_name == 'pull_request'",
44
+ steps: [
45
+ ...jobDefaults.steps,
46
+ {
47
+ name: "Deploy Dev",
48
+ run: `npx cdk deploy ${stackName} --require-approval never`,
49
+ env: {
50
+ CDK_DEPLOY_ACCOUNT: "${{ secrets.AWS_DEV_ACCOUNT }}",
51
+ CDK_DEPLOY_REGION: "${{ secrets.AWS_REGION || 'us-east-1' }}",
52
+ },
53
+ },
54
+ ],
55
+ },
56
+ deploy_prod: {
57
+ ...jobDefaults,
58
+ if: "github.ref == 'refs/heads/main' && github.event_name == 'push'",
59
+ steps: [
60
+ ...jobDefaults.steps,
61
+ {
62
+ name: "Deploy Prod",
63
+ run: `npx cdk deploy ${stackName} --require-approval never`,
64
+ env: {
65
+ CDK_DEPLOY_ACCOUNT: "${{ secrets.AWS_PROD_ACCOUNT }}",
66
+ CDK_DEPLOY_REGION: "${{ secrets.AWS_REGION || 'us-east-1' }}",
67
+ },
68
+ },
69
+ ],
70
+ },
71
+ });
72
+ }
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3dzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3dvcmtmbG93cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLDRCQXNFQztBQXpFRCx1RUFBaUU7QUFHakUsU0FBZ0IsUUFBUSxDQUFDLE9BQWdCLEVBQUUsU0FBaUI7SUFDMUQsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLE1BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFNUQsaUNBQWlDO0lBQ2pDLGNBQWMsQ0FBQyxFQUFFLENBQUM7UUFDaEIsV0FBVyxFQUFFLEVBQUU7UUFDZixJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRTtLQUM3QixDQUFDLENBQUE7SUFFRix3QkFBd0I7SUFDeEIsTUFBTSxXQUFXLEdBQUc7UUFDbEIsTUFBTSxFQUFFLENBQUMsZUFBZSxDQUFDO1FBQ3pCLFdBQVcsRUFBRTtZQUNYLFFBQVEsRUFBRSwrQkFBYSxDQUFDLEtBQUs7WUFDN0IsT0FBTyxFQUFFLCtCQUFhLENBQUMsS0FBSztTQUM3QjtRQUNELEtBQUssRUFBRTtZQUNMLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUU7WUFDakQ7Z0JBQ0UsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLElBQUksRUFBRSx1QkFBdUI7Z0JBQzdCLElBQUksRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUU7YUFDL0I7WUFDRCxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxHQUFHLEVBQUUsZ0NBQWdDLEVBQUU7WUFDdkUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUU7WUFDcEM7Z0JBQ0UsSUFBSSxFQUFFLDJCQUEyQjtnQkFDakMsSUFBSSxFQUFFLDBDQUEwQztnQkFDaEQsSUFBSSxFQUFFO29CQUNKLGdCQUFnQixFQUFFLDZCQUE2QjtvQkFDL0MsWUFBWSxFQUFFLDBDQUEwQztpQkFDekQ7YUFDRjtZQUNELEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQUUsbUJBQW1CLEVBQUU7U0FDcEQ7S0FDRixDQUFBO0lBRUQsd0JBQXdCO0lBQ3hCLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFDckIsVUFBVSxFQUFFO1lBQ1YsR0FBRyxXQUFXO1lBQ2QsRUFBRSxFQUFFLHFDQUFxQztZQUN6QyxLQUFLLEVBQUU7Z0JBQ0wsR0FBRyxXQUFXLENBQUMsS0FBSztnQkFDcEI7b0JBQ0UsSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLEdBQUcsRUFBRSxrQkFBa0IsU0FBUywyQkFBMkI7b0JBQzNELEdBQUcsRUFBRTt3QkFDSCxrQkFBa0IsRUFBRSxnQ0FBZ0M7d0JBQ3BELGlCQUFpQixFQUFFLDBDQUEwQztxQkFDOUQ7aUJBQ0Y7YUFDRjtTQUNGO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsR0FBRyxXQUFXO1lBQ2QsRUFBRSxFQUFFLGdFQUFnRTtZQUNwRSxLQUFLLEVBQUU7Z0JBQ0wsR0FBRyxXQUFXLENBQUMsS0FBSztnQkFDcEI7b0JBQ0UsSUFBSSxFQUFFLGFBQWE7b0JBQ25CLEdBQUcsRUFBRSxrQkFBa0IsU0FBUywyQkFBMkI7b0JBQzNELEdBQUcsRUFBRTt3QkFDSCxrQkFBa0IsRUFBRSxpQ0FBaUM7d0JBQ3JELGlCQUFpQixFQUFFLDBDQUEwQztxQkFDOUQ7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEpvYlBlcm1pc3Npb24gfSBmcm9tIFwicHJvamVuL2xpYi9naXRodWIvd29ya2Zsb3dzLW1vZGVsXCJcbmltcG9ydCB7IFByb2phbGYgfSBmcm9tIFwiLi9Qcm9qYWxmXCJcblxuZXhwb3J0IGZ1bmN0aW9uIHdvcmtmbG93KHByb2plY3Q6IFByb2phbGYsIHN0YWNrTmFtZTogc3RyaW5nKSB7XG4gIGNvbnN0IGRlcGxveVdvcmtmbG93ID0gcHJvamVjdC5naXRodWIhLmFkZFdvcmtmbG93KFwiZGVwbG95XCIpXG5cbiAgLy8gVHJpZ2dlciBvbiBQUiBhbmQgcHVzaCB0byBtYWluXG4gIGRlcGxveVdvcmtmbG93Lm9uKHtcbiAgICBwdWxsUmVxdWVzdDoge30sXG4gICAgcHVzaDogeyBicmFuY2hlczogW1wibWFpblwiXSB9LFxuICB9KVxuXG4gIC8vIFJldXNhYmxlIGpvYiB0ZW1wbGF0ZVxuICBjb25zdCBqb2JEZWZhdWx0cyA9IHtcbiAgICBydW5zT246IFtcInVidW50dS1sYXRlc3RcIl0sXG4gICAgcGVybWlzc2lvbnM6IHtcbiAgICAgIGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgaWRUb2tlbjogSm9iUGVybWlzc2lvbi5XUklURSxcbiAgICB9LFxuICAgIHN0ZXBzOiBbXG4gICAgICB7IG5hbWU6IFwiQ2hlY2tvdXRcIiwgdXNlczogXCJhY3Rpb25zL2NoZWNrb3V0QHY0XCIgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJTZXR1cCBOb2RlLmpzXCIsXG4gICAgICAgIHVzZXM6IFwiYWN0aW9ucy9zZXR1cC1ub2RlQHY0XCIsXG4gICAgICAgIHdpdGg6IHsgXCJub2RlLXZlcnNpb25cIjogXCIyMFwiIH0sXG4gICAgICB9LFxuICAgICAgeyBuYW1lOiBcIkluc3RhbGwgZGVwZW5kZW5jaWVzXCIsIHJ1bjogXCJ5YXJuIGluc3RhbGwgLS1mcm96ZW4tbG9ja2ZpbGVcIiB9LFxuICAgICAgeyBuYW1lOiBcIkJ1aWxkXCIsIHJ1bjogXCJ5YXJuIGJ1aWxkXCIgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJDb25maWd1cmUgQVdTIGNyZWRlbnRpYWxzXCIsXG4gICAgICAgIHVzZXM6IFwiYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0B2NFwiLFxuICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgXCJyb2xlLXRvLWFzc3VtZVwiOiBcIiR7eyBzZWNyZXRzLkFXU19ST0xFX0FSTiB9fVwiLFxuICAgICAgICAgIFwiYXdzLXJlZ2lvblwiOiBcIiR7eyBzZWNyZXRzLkFXU19SRUdJT04gfHwgJ3VzLWVhc3QtMScgfX1cIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7IG5hbWU6IFwiQ0RLIEJvb3RzdHJhcFwiLCBydW46IFwibnB4IGNkayBib290c3RyYXBcIiB9LFxuICAgIF0sXG4gIH1cblxuICAvLyBKb2I6IGRlcGxveSBkZXYgb24gUFJcbiAgZGVwbG95V29ya2Zsb3cuYWRkSm9icyh7XG4gICAgZGVwbG95X2Rldjoge1xuICAgICAgLi4uam9iRGVmYXVsdHMsXG4gICAgICBpZjogXCJnaXRodWIuZXZlbnRfbmFtZSA9PSAncHVsbF9yZXF1ZXN0J1wiLFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAgLi4uam9iRGVmYXVsdHMuc3RlcHMsXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcIkRlcGxveSBEZXZcIixcbiAgICAgICAgICBydW46IGBucHggY2RrIGRlcGxveSAke3N0YWNrTmFtZX0gLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyYCxcbiAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgIENES19ERVBMT1lfQUNDT1VOVDogXCIke3sgc2VjcmV0cy5BV1NfREVWX0FDQ09VTlQgfX1cIixcbiAgICAgICAgICAgIENES19ERVBMT1lfUkVHSU9OOiBcIiR7eyBzZWNyZXRzLkFXU19SRUdJT04gfHwgJ3VzLWVhc3QtMScgfX1cIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIGRlcGxveV9wcm9kOiB7XG4gICAgICAuLi5qb2JEZWZhdWx0cyxcbiAgICAgIGlmOiBcImdpdGh1Yi5yZWYgPT0gJ3JlZnMvaGVhZHMvbWFpbicgJiYgZ2l0aHViLmV2ZW50X25hbWUgPT0gJ3B1c2gnXCIsXG4gICAgICBzdGVwczogW1xuICAgICAgICAuLi5qb2JEZWZhdWx0cy5zdGVwcyxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiRGVwbG95IFByb2RcIixcbiAgICAgICAgICBydW46IGBucHggY2RrIGRlcGxveSAke3N0YWNrTmFtZX0gLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyYCxcbiAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgIENES19ERVBMT1lfQUNDT1VOVDogXCIke3sgc2VjcmV0cy5BV1NfUFJPRF9BQ0NPVU5UIH19XCIsXG4gICAgICAgICAgICBDREtfREVQTE9ZX1JFR0lPTjogXCIke3sgc2VjcmV0cy5BV1NfUkVHSU9OIHx8ICd1cy1lYXN0LTEnIH19XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSlcbn1cbiJdfQ==
package/package.json CHANGED
@@ -64,7 +64,7 @@
64
64
  "publishConfig": {
65
65
  "access": "public"
66
66
  },
67
- "version": "0.0.10",
67
+ "version": "0.0.11",
68
68
  "jest": {
69
69
  "coverageProvider": "v8",
70
70
  "testMatch": [