projalf 0.0.33 → 0.0.35
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 +162 -0
- package/lib/Projalf.d.ts +6 -0
- package/lib/Projalf.js +155 -0
- package/lib/files.d.ts +6 -0
- package/lib/files.js +45 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +18 -0
- package/lib/workflows.d.ts +2 -0
- package/lib/workflows.js +140 -0
- package/package.json +4 -2
package/.jsii
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
{
|
|
2
|
+
"author": {
|
|
3
|
+
"email": "alfgoto@gmail.com",
|
|
4
|
+
"name": "Alf",
|
|
5
|
+
"roles": [
|
|
6
|
+
"author"
|
|
7
|
+
]
|
|
8
|
+
},
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"projen": ">=0.96.1 <1.0.0"
|
|
11
|
+
},
|
|
12
|
+
"dependencyClosure": {
|
|
13
|
+
"constructs": {
|
|
14
|
+
"targets": {
|
|
15
|
+
"dotnet": {
|
|
16
|
+
"namespace": "Constructs",
|
|
17
|
+
"packageId": "Constructs"
|
|
18
|
+
},
|
|
19
|
+
"go": {
|
|
20
|
+
"moduleName": "github.com/aws/constructs-go"
|
|
21
|
+
},
|
|
22
|
+
"java": {
|
|
23
|
+
"maven": {
|
|
24
|
+
"artifactId": "constructs",
|
|
25
|
+
"groupId": "software.constructs"
|
|
26
|
+
},
|
|
27
|
+
"package": "software.constructs"
|
|
28
|
+
},
|
|
29
|
+
"js": {
|
|
30
|
+
"npm": "constructs"
|
|
31
|
+
},
|
|
32
|
+
"python": {
|
|
33
|
+
"distName": "constructs",
|
|
34
|
+
"module": "constructs"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"projen": {
|
|
39
|
+
"submodules": {
|
|
40
|
+
"projen.awscdk": {},
|
|
41
|
+
"projen.build": {},
|
|
42
|
+
"projen.cdk": {},
|
|
43
|
+
"projen.cdk8s": {},
|
|
44
|
+
"projen.cdktf": {},
|
|
45
|
+
"projen.circleci": {},
|
|
46
|
+
"projen.github": {},
|
|
47
|
+
"projen.github.workflows": {},
|
|
48
|
+
"projen.gitlab": {},
|
|
49
|
+
"projen.java": {},
|
|
50
|
+
"projen.javascript": {},
|
|
51
|
+
"projen.javascript.biome_config": {},
|
|
52
|
+
"projen.python": {},
|
|
53
|
+
"projen.release": {},
|
|
54
|
+
"projen.typescript": {},
|
|
55
|
+
"projen.vscode": {},
|
|
56
|
+
"projen.web": {}
|
|
57
|
+
},
|
|
58
|
+
"targets": {
|
|
59
|
+
"go": {
|
|
60
|
+
"moduleName": "github.com/projen/projen-go"
|
|
61
|
+
},
|
|
62
|
+
"java": {
|
|
63
|
+
"maven": {
|
|
64
|
+
"artifactId": "projen",
|
|
65
|
+
"groupId": "io.github.cdklabs"
|
|
66
|
+
},
|
|
67
|
+
"package": "io.github.cdklabs.projen"
|
|
68
|
+
},
|
|
69
|
+
"js": {
|
|
70
|
+
"npm": "projen"
|
|
71
|
+
},
|
|
72
|
+
"python": {
|
|
73
|
+
"distName": "projen",
|
|
74
|
+
"module": "projen"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"description": "A projen project made to help use the aws-cdk",
|
|
80
|
+
"docs": {
|
|
81
|
+
"stability": "stable"
|
|
82
|
+
},
|
|
83
|
+
"homepage": "git@github.com:AlfGoto/projalf.git",
|
|
84
|
+
"jsiiVersion": "5.8.18 (build f5c30fc)",
|
|
85
|
+
"license": "Apache-2.0",
|
|
86
|
+
"metadata": {
|
|
87
|
+
"jsii": {
|
|
88
|
+
"pacmak": {
|
|
89
|
+
"hasDefaultInterfaces": true
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"tscRootDir": "src"
|
|
93
|
+
},
|
|
94
|
+
"name": "projalf",
|
|
95
|
+
"readme": {
|
|
96
|
+
"markdown": "This is a projen project made to help use the aws-cdk"
|
|
97
|
+
},
|
|
98
|
+
"repository": {
|
|
99
|
+
"type": "git",
|
|
100
|
+
"url": "git@github.com:AlfGoto/projalf.git"
|
|
101
|
+
},
|
|
102
|
+
"schema": "jsii/0.10.0",
|
|
103
|
+
"targets": {
|
|
104
|
+
"js": {
|
|
105
|
+
"npm": "projalf"
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"types": {
|
|
109
|
+
"projalf.Projalf": {
|
|
110
|
+
"assembly": "projalf",
|
|
111
|
+
"base": "projen.awscdk.AwsCdkTypeScriptApp",
|
|
112
|
+
"docs": {
|
|
113
|
+
"stability": "stable"
|
|
114
|
+
},
|
|
115
|
+
"fqn": "projalf.Projalf",
|
|
116
|
+
"initializer": {
|
|
117
|
+
"docs": {
|
|
118
|
+
"stability": "stable"
|
|
119
|
+
},
|
|
120
|
+
"locationInModule": {
|
|
121
|
+
"filename": "src/Projalf.ts",
|
|
122
|
+
"line": 20
|
|
123
|
+
},
|
|
124
|
+
"parameters": [
|
|
125
|
+
{
|
|
126
|
+
"name": "options",
|
|
127
|
+
"type": {
|
|
128
|
+
"fqn": "projalf.ProjalfOptions"
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
"kind": "class",
|
|
134
|
+
"locationInModule": {
|
|
135
|
+
"filename": "src/Projalf.ts",
|
|
136
|
+
"line": 19
|
|
137
|
+
},
|
|
138
|
+
"name": "Projalf",
|
|
139
|
+
"symbolId": "src/Projalf:Projalf"
|
|
140
|
+
},
|
|
141
|
+
"projalf.ProjalfOptions": {
|
|
142
|
+
"assembly": "projalf",
|
|
143
|
+
"datatype": true,
|
|
144
|
+
"docs": {
|
|
145
|
+
"stability": "stable"
|
|
146
|
+
},
|
|
147
|
+
"fqn": "projalf.ProjalfOptions",
|
|
148
|
+
"interfaces": [
|
|
149
|
+
"projen.awscdk.AwsCdkTypeScriptAppOptions"
|
|
150
|
+
],
|
|
151
|
+
"kind": "interface",
|
|
152
|
+
"locationInModule": {
|
|
153
|
+
"filename": "src/Projalf.ts",
|
|
154
|
+
"line": 17
|
|
155
|
+
},
|
|
156
|
+
"name": "ProjalfOptions",
|
|
157
|
+
"symbolId": "src/Projalf:ProjalfOptions"
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
"version": "0.0.0",
|
|
161
|
+
"fingerprint": "VfmPJNWcpQZSayiAkfxqSqPACqb2R9Mxljysj7gEGL4="
|
|
162
|
+
}
|
package/lib/Projalf.d.ts
ADDED
package/lib/Projalf.js
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Projalf = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const cp = require("child_process");
|
|
7
|
+
const path = require("path");
|
|
8
|
+
const projen_1 = require("projen");
|
|
9
|
+
const files_1 = require("./files");
|
|
10
|
+
const workflows_1 = require("./workflows");
|
|
11
|
+
const defaultJestConfig = {
|
|
12
|
+
preset: "ts-jest",
|
|
13
|
+
transform: {
|
|
14
|
+
"^.+\\.tsx?$": new projen_1.javascript.Transform("ts-jest", {
|
|
15
|
+
tsconfig: "tsconfig.dev.json"
|
|
16
|
+
})
|
|
17
|
+
},
|
|
18
|
+
setupFilesAfterEnv: ["<rootDir>/test/setup.ts"]
|
|
19
|
+
};
|
|
20
|
+
class Projalf extends projen_1.awscdk.AwsCdkTypeScriptApp {
|
|
21
|
+
constructor(options) {
|
|
22
|
+
const inferredName = options.name ?? inferNameFromGit() ?? inferNameFromCwd();
|
|
23
|
+
const className = toPascalCase(inferredName);
|
|
24
|
+
const fileBase = inferredName.toLowerCase();
|
|
25
|
+
const mergedContext = { ...(options.context ?? {}) };
|
|
26
|
+
if (mergedContext.serviceName === undefined) {
|
|
27
|
+
mergedContext.serviceName = inferredName;
|
|
28
|
+
}
|
|
29
|
+
super({
|
|
30
|
+
...options,
|
|
31
|
+
name: inferredName,
|
|
32
|
+
defaultReleaseBranch: options.defaultReleaseBranch ?? "main",
|
|
33
|
+
packageManager: options.packageManager ?? projen_1.javascript.NodePackageManager.NPM,
|
|
34
|
+
projenrcTs: options.projenrcTs ?? true,
|
|
35
|
+
cdkVersion: options.cdkVersion ?? "^2.156.0",
|
|
36
|
+
context: mergedContext,
|
|
37
|
+
deps: options.deps ?? [],
|
|
38
|
+
devDeps: options.devDeps ?? [],
|
|
39
|
+
buildWorkflow: false,
|
|
40
|
+
release: false,
|
|
41
|
+
depsUpgrade: false,
|
|
42
|
+
githubOptions: {
|
|
43
|
+
pullRequestLint: false
|
|
44
|
+
},
|
|
45
|
+
watchIncludes: ["src/**/*.ts", "src/**/*.tsx"],
|
|
46
|
+
prettierOptions: {
|
|
47
|
+
...options.prettierOptions,
|
|
48
|
+
settings: {
|
|
49
|
+
semi: false,
|
|
50
|
+
printWidth: 100,
|
|
51
|
+
singleQuote: false,
|
|
52
|
+
trailingComma: projen_1.javascript.TrailingComma.NONE,
|
|
53
|
+
...options.prettierOptions?.settings
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
jestOptions: {
|
|
57
|
+
configFilePath: "jest.config.json",
|
|
58
|
+
jestConfig: {
|
|
59
|
+
testMatch: ["<rootDir>/(test/unit|src)/**/*(*.)@(spec|test).ts?(x)"],
|
|
60
|
+
transform: {
|
|
61
|
+
"^.+\\.tsx?$": new projen_1.javascript.Transform("ts-jest", {
|
|
62
|
+
tsconfig: "tsconfig.dev.json"
|
|
63
|
+
})
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
new files_1.Files(this, className, fileBase, inferredName);
|
|
69
|
+
// Enforce ESLint style: double quotes and no semicolons
|
|
70
|
+
// this.eslint?.addRules({
|
|
71
|
+
// "@stylistic/quotes": ["error", "double", { avoidEscape: true }],
|
|
72
|
+
// "@stylistic/semi": ["error", "never"],
|
|
73
|
+
// "@stylistic/consistent-quotes": ["off"],
|
|
74
|
+
// "@stylistic/member-delimiter-style": ["off"],
|
|
75
|
+
// "@stylistic/comma-dangle": ["error", "never"],
|
|
76
|
+
// "@stylistic/max-len": [
|
|
77
|
+
// "error",
|
|
78
|
+
// {
|
|
79
|
+
// code: 100,
|
|
80
|
+
// ignoreUrls: true,
|
|
81
|
+
// ignoreStrings: true,
|
|
82
|
+
// ignoreTemplateLiterals: true,
|
|
83
|
+
// ignoreComments: true,
|
|
84
|
+
// ignoreRegExpLiterals: true
|
|
85
|
+
// }
|
|
86
|
+
// ]
|
|
87
|
+
// })
|
|
88
|
+
(0, workflows_1.workflow)(this);
|
|
89
|
+
this.addTask("deploy:watch", {
|
|
90
|
+
exec: "cdk deploy --all --method=direct --outputs-file=test.output.json --watch --hotswap-fallback --require-approval=never",
|
|
91
|
+
receiveArgs: true
|
|
92
|
+
});
|
|
93
|
+
this.addTask("test:e2e", {
|
|
94
|
+
exec: "jest --config jest.e2e.config.json --runInBand --passWithNoTests"
|
|
95
|
+
});
|
|
96
|
+
new projen_1.javascript.Jest(this, {
|
|
97
|
+
configFilePath: "jest.integ.config.json",
|
|
98
|
+
jestConfig: {
|
|
99
|
+
collectCoverage: false,
|
|
100
|
+
testMatch: [
|
|
101
|
+
"<rootDir>/test/integ/**/*(*.)@(spec|test).ts?(x)",
|
|
102
|
+
"<rootDir>/(test|src)/**/*(*.)@(integ).ts?(x)"
|
|
103
|
+
],
|
|
104
|
+
...defaultJestConfig
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
new projen_1.javascript.Jest(this, {
|
|
108
|
+
configFilePath: "jest.e2e.config.json",
|
|
109
|
+
jestConfig: {
|
|
110
|
+
collectCoverage: false,
|
|
111
|
+
testMatch: [
|
|
112
|
+
"<rootDir>/test/e2e/**/*(*.)@(spec|test).ts?(x)",
|
|
113
|
+
"<rootDir>/(test|src)/**/*(*.)@(e2e).ts?(x)"
|
|
114
|
+
],
|
|
115
|
+
...defaultJestConfig
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
new projen_1.SampleFile(this, "test/setup.ts", {
|
|
119
|
+
contents: `jest.setTimeout(10000)
|
|
120
|
+
`
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
exports.Projalf = Projalf;
|
|
125
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
126
|
+
Projalf[_a] = { fqn: "projalf.Projalf", version: "0.0.0" };
|
|
127
|
+
function inferNameFromGit() {
|
|
128
|
+
try {
|
|
129
|
+
const remote = cp
|
|
130
|
+
.execSync("git config --get remote.origin.url", {
|
|
131
|
+
stdio: ["ignore", "pipe", "ignore"]
|
|
132
|
+
})
|
|
133
|
+
.toString()
|
|
134
|
+
.trim();
|
|
135
|
+
if (!remote)
|
|
136
|
+
return undefined;
|
|
137
|
+
const match = remote.match(/\/([^\/]+?)(?:\.git)?$/);
|
|
138
|
+
return match?.[1];
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
return undefined;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function inferNameFromCwd() {
|
|
145
|
+
return path.basename(process.cwd());
|
|
146
|
+
}
|
|
147
|
+
function toPascalCase(input) {
|
|
148
|
+
return input
|
|
149
|
+
.replace(/[^a-zA-Z0-9]+/g, " ")
|
|
150
|
+
.split(" ")
|
|
151
|
+
.filter(Boolean)
|
|
152
|
+
.map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase())
|
|
153
|
+
.join("");
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvamFsZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Qcm9qYWxmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0NBQW1DO0FBQ25DLDZCQUE0QjtBQUM1QixtQ0FBdUQ7QUFDdkQsbUNBQStCO0FBQy9CLDJDQUFzQztBQUV0QyxNQUFNLGlCQUFpQixHQUFpQztJQUN0RCxNQUFNLEVBQUUsU0FBUztJQUNqQixTQUFTLEVBQUU7UUFDVCxhQUFhLEVBQUUsSUFBSSxtQkFBVSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUU7WUFDakQsUUFBUSxFQUFFLG1CQUFtQjtTQUM5QixDQUFDO0tBQ0g7SUFDRCxrQkFBa0IsRUFBRSxDQUFDLHlCQUF5QixDQUFDO0NBQ2hELENBQUE7QUFJRCxNQUFhLE9BQVEsU0FBUSxlQUFNLENBQUMsbUJBQW1CO0lBQ3JELFlBQVksT0FBdUI7UUFDakMsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxnQkFBZ0IsRUFBRSxJQUFJLGdCQUFnQixFQUFFLENBQUE7UUFDN0UsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQzVDLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUUzQyxNQUFNLGFBQWEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxFQUF5QixDQUFBO1FBQzNFLElBQUksYUFBYSxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM1QyxhQUFhLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQTtRQUMxQyxDQUFDO1FBRUQsS0FBSyxDQUFDO1lBQ0osR0FBRyxPQUFPO1lBQ1YsSUFBSSxFQUFFLFlBQVk7WUFDbEIsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixJQUFJLE1BQU07WUFDNUQsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjLElBQUksbUJBQVUsQ0FB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QUFJLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxFQUFFO2FBQ2QsUUFBUSxDQUFDLG9DQUFvQyxFQUFFO1lBQzlDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDO1NBQ3BDLENBQUM7YUFDRCxRQUFRLEVBQUU7YUFDVixJQUFJLEVBQUUsQ0FBQTtRQUNULElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxTQUFTLENBQUE7UUFDN0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBQ3BELE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDbkIsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxnQkFBZ0I7SUFDdkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFBO0FBQ3JDLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxLQUFhO0lBQ2pDLE9BQU8sS0FBSztTQUNULE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUM7U0FDOUIsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNWLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDZixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN6RSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3AgZnJvbSBcImNoaWxkX3Byb2Nlc3NcIlxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiXG5pbXBvcnQgeyBhd3NjZGssIGphdmFzY3JpcHQsIFNhbXBsZUZpbGUgfSBmcm9tIFwicHJvamVuXCJcbmltcG9ydCB7IEZpbGVzIH0gZnJvbSBcIi4vZmlsZXNcIlxuaW1wb3J0IHsgd29ya2Zsb3cgfSBmcm9tIFwiLi93b3JrZmxvd3NcIlxuXG5jb25zdCBkZWZhdWx0SmVzdENvbmZpZzogamF2YXNjcmlwdC5KZXN0Q29uZmlnT3B0aW9ucyA9IHtcbiAgcHJlc2V0OiBcInRzLWplc3RcIixcbiAgdHJhbnNmb3JtOiB7XG4gICAgXCJeLitcXFxcLnRzeD8kXCI6IG5ldyBqYXZhc2NyaXB0LlRyYW5zZm9ybShcInRzLWplc3RcIiwge1xuICAgICAgdHNjb25maWc6IFwidHNjb25maWcuZGV2Lmpzb25cIlxuICAgIH0pXG4gIH0sXG4gIHNldHVwRmlsZXNBZnRlckVudjogW1wiPHJvb3REaXI+L3Rlc3Qvc2V0dXAudHNcIl1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9qYWxmT3B0aW9ucyBleHRlbmRzIGF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwT3B0aW9ucyB7fVxuXG5leHBvcnQgY2xhc3MgUHJvamFsZiBleHRlbmRzIGF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwIHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogUHJvamFsZk9wdGlvbnMpIHtcbiAgICBjb25zdCBpbmZlcnJlZE5hbWUgPSBvcHRpb25zLm5hbWUgPz8gaW5mZXJOYW1lRnJvbUdpdCgpID8/IGluZmVyTmFtZUZyb21Dd2QoKVxuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRvUGFzY2FsQ2FzZShpbmZlcnJlZE5hbWUpXG4gICAgY29uc3QgZmlsZUJhc2UgPSBpbmZlcnJlZE5hbWUudG9Mb3dlckNhc2UoKVxuXG4gICAgY29uc3QgbWVyZ2VkQ29udGV4dCA9IHsgLi4uKG9wdGlvbnMuY29udGV4dCA/PyB7fSkgfSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgaWYgKG1lcmdlZENvbnRleHQuc2VydmljZU5hbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbWVyZ2VkQ29udGV4dC5zZXJ2aWNlTmFtZSA9IGluZmVycmVkTmFtZVxuICAgIH1cblxuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBuYW1lOiBpbmZlcnJlZE5hbWUsXG4gICAgICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogb3B0aW9ucy5kZWZhdWx0UmVsZWFzZUJyYW5jaCA/PyBcIm1haW5cIixcbiAgICAgIHBhY2thZ2VNYW5hZ2VyOiBvcHRpb25zLnBhY2thZ2VNYW5hZ2VyID8/IGphdmFzY3JpcHQuTm9kZVBhY2thZ2VNYW5hZ2VyLk5QTSxcbiAgICAgIHByb2plbnJjVHM6IG9wdGlvbnMucHJvamVucmNUcyA/PyB0cnVlLFxuICAgICAgY2RrVmVyc2lvbjogb3B0aW9ucy5jZGtWZXJzaW9uID8/IFwiXjIuMTU2LjBcIixcbiAgICAgIGNvbnRleHQ6IG1lcmdlZENvbnRleHQsXG4gICAgICBkZXBzOiBvcHRpb25zLmRlcHMgPz8gW10sXG4gICAgICBkZXZEZXBzOiBvcHRpb25zLmRldkRlcHMgPz8gW10sXG4gICAgICBidWlsZFdvcmtmbG93OiBmYWxzZSxcbiAgICAgIHJlbGVhc2U6IGZhbHNlLFxuICAgICAgZGVwc1VwZ3JhZGU6IGZhbHNlLFxuICAgICAgZ2l0aHViT3B0aW9uczoge1xuICAgICAgICBwdWxsUmVxdWVzdExpbnQ6IGZhbHNlXG4gICAgICB9LFxuICAgICAgd2F0Y2hJbmNsdWRlczogW1wic3JjLyoqLyoudHNcIiwgXCJzcmMvKiovKi50c3hcIl0sXG5cbiAgICAgIHByZXR0aWVyT3B0aW9uczoge1xuICAgICAgICAuLi5vcHRpb25zLnByZXR0aWVyT3B0aW9ucyxcbiAgICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgICBzZW1pOiBmYWxzZSxcbiAgICAgICAgICBwcmludFdpZHRoOiAxMDAsXG4gICAgICAgICAgc2luZ2xlUXVvdGU6IGZhbHNlLFxuICAgICAgICAgIHRyYWlsaW5nQ29tbWE6IGphdmFzY3JpcHQuVHJhaWxpbmdDb21tYS5OT05FLFxuICAgICAgICAgIC4uLm9wdGlvbnMucHJldHRpZXJPcHRpb25zPy5zZXR0aW5nc1xuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICBqZXN0T3B0aW9uczoge1xuICAgICAgICBjb25maWdGaWxlUGF0aDogXCJqZXN0LmNvbmZpZy5qc29uXCIsXG4gICAgICAgIGplc3RDb25maWc6IHtcbiAgICAgICAgICB0ZXN0TWF0Y2g6IFtcIjxyb290RGlyPi8odGVzdC91bml0fHNyYykvKiovKigqLilAKHNwZWN8dGVzdCkudHM/KHgpXCJdLFxuICAgICAgICAgIHRyYW5zZm9ybToge1xuICAgICAgICAgICAgXCJeLitcXFxcLnRzeD8kXCI6IG5ldyBqYXZhc2NyaXB0LlRyYW5zZm9ybShcInRzLWplc3RcIiwge1xuICAgICAgICAgICAgICB0c2NvbmZpZzogXCJ0c2NvbmZpZy5kZXYuanNvblwiXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG5cbiAgICBuZXcgRmlsZXModGhpcywgY2xhc3NOYW1lLCBmaWxlQmFzZSwgaW5mZXJyZWROYW1lKVxuXG4gICAgLy8gRW5mb3JjZSBFU0xpbnQgc3R5bGU6IGRvdWJsZSBxdW90ZXMgYW5kIG5vIHNlbWljb2xvbnNcbiAgICAvLyB0aGlzLmVzbGludD8uYWRkUnVsZXMoe1xuICAgIC8vICAgXCJAc3R5bGlzdGljL3F1b3Rlc1wiOiBbXCJlcnJvclwiLCBcImRvdWJsZVwiLCB7IGF2b2lkRXNjYXBlOiB0cnVlIH1dLFxuICAgIC8vICAgXCJAc3R5bGlzdGljL3NlbWlcIjogW1wiZXJyb3JcIiwgXCJuZXZlclwiXSxcbiAgICAvLyAgIFwiQHN0eWxpc3RpYy9jb25zaXN0ZW50LXF1b3Rlc1wiOiBbXCJvZmZcIl0sXG4gICAgLy8gICBcIkBzdHlsaXN0aWMvbWVtYmVyLWRlbGltaXRlci1zdHlsZVwiOiBbXCJvZmZcIl0sXG4gICAgLy8gICBcIkBzdHlsaXN0aWMvY29tbWEtZGFuZ2xlXCI6IFtcImVycm9yXCIsIFwibmV2ZXJcIl0sXG4gICAgLy8gICBcIkBzdHlsaXN0aWMvbWF4LWxlblwiOiBbXG4gICAgLy8gICAgIFwiZXJyb3JcIixcbiAgICAvLyAgICAge1xuICAgIC8vICAgICAgIGNvZGU6IDEwMCxcbiAgICAvLyAgICAgICBpZ25vcmVVcmxzOiB0cnVlLFxuICAgIC8vICAgICAgIGlnbm9yZVN0cmluZ3M6IHRydWUsXG4gICAgLy8gICAgICAgaWdub3JlVGVtcGxhdGVMaXRlcmFsczogdHJ1ZSxcbiAgICAvLyAgICAgICBpZ25vcmVDb21tZW50czogdHJ1ZSxcbiAgICAvLyAgICAgICBpZ25vcmVSZWdFeHBMaXRlcmFsczogdHJ1ZVxuICAgIC8vICAgICB9XG4gICAgLy8gICBdXG4gICAgLy8gfSlcblxuICAgIHdvcmtmbG93KHRoaXMpXG5cbiAgICB0aGlzLmFkZFRhc2soXCJkZXBsb3k6d2F0Y2hcIiwge1xuICAgICAgZXhlYzogXCJjZGsgZGVwbG95IC0tYWxsIC0tbWV0aG9kPWRpcmVjdCAtLW91dHB1dHMtZmlsZT10ZXN0Lm91dHB1dC5qc29uIC0td2F0Y2ggLS1ob3Rzd2FwLWZhbGxiYWNrIC0tcmVxdWlyZS1hcHByb3ZhbD1uZXZlclwiLFxuICAgICAgcmVjZWl2ZUFyZ3M6IHRydWVcbiAgICB9KVxuICAgIHRoaXMuYWRkVGFzayhcInRlc3Q6ZTJlXCIsIHtcbiAgICAgIGV4ZWM6IFwiamVzdCAtLWNvbmZpZyBqZXN0LmUyZS5jb25maWcuanNvbiAtLXJ1bkluQmFuZCAtLXBhc3NXaXRoTm9UZXN0c1wiXG4gICAgfSlcblxuICAgIG5ldyBqYXZhc2NyaXB0Lkplc3QodGhpcywge1xuICAgICAgY29uZmlnRmlsZVBhdGg6IFwiamVzdC5pbnRlZy5jb25maWcuanNvblwiLFxuICAgICAgamVzdENvbmZpZzoge1xuICAgICAgICBjb2xsZWN0Q292ZXJhZ2U6IGZhbHNlLFxuICAgICAgICB0ZXN0TWF0Y2g6IFtcbiAgICAgICAgICBcIjxyb290RGlyPi90ZXN0L2ludGVnLyoqLyooKi4pQChzcGVjfHRlc3QpLnRzPyh4KVwiLFxuICAgICAgICAgIFwiPHJvb3REaXI+Lyh0ZXN0fHNyYykvKiovKigqLilAKGludGVnKS50cz8oeClcIlxuICAgICAgICBdLFxuICAgICAgICAuLi5kZWZhdWx0SmVzdENvbmZpZ1xuICAgICAgfVxuICAgIH0pXG5cbiAgICBuZXcgamF2YXNjcmlwdC5KZXN0KHRoaXMsIHtcbiAgICAgIGNvbmZpZ0ZpbGVQYXRoOiBcImplc3QuZTJlLmNvbmZpZy5qc29uXCIsXG4gICAgICBqZXN0Q29uZmlnOiB7XG4gICAgICAgIGNvbGxlY3RDb3ZlcmFnZTogZmFsc2UsXG4gICAgICAgIHRlc3RNYXRjaDogW1xuICAgICAgICAgIFwiPHJvb3REaXI+L3Rlc3QvZTJlLyoqLyooKi4pQChzcGVjfHRlc3QpLnRzPyh4KVwiLFxuICAgICAgICAgIFwiPHJvb3REaXI+Lyh0ZXN0fHNyYykvKiovKigqLilAKGUyZSkudHM/KHgpXCJcbiAgICAgICAgXSxcbiAgICAgICAgLi4uZGVmYXVsdEplc3RDb25maWdcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgbmV3IFNhbXBsZUZpbGUodGhpcywgXCJ0ZXN0L3NldHVwLnRzXCIsIHtcbiAgICAgIGNvbnRlbnRzOiBgamVzdC5zZXRUaW1lb3V0KDEwMDAwKVxuYFxuICAgIH0pXG4gIH1cbn1cblxuZnVuY3Rpb24gaW5mZXJOYW1lRnJvbUdpdCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICB0cnkge1xuICAgIGNvbnN0IHJlbW90ZSA9IGNwXG4gICAgICAuZXhlY1N5bmMoXCJnaXQgY29uZmlnIC0tZ2V0IHJlbW90ZS5vcmlnaW4udXJsXCIsIHtcbiAgICAgICAgc3RkaW86IFtcImlnbm9yZVwiLCBcInBpcGVcIiwgXCJpZ25vcmVcIl1cbiAgICAgIH0pXG4gICAgICAudG9TdHJpbmcoKVxuICAgICAgLnRyaW0oKVxuICAgIGlmICghcmVtb3RlKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgY29uc3QgbWF0Y2ggPSByZW1vdGUubWF0Y2goL1xcLyhbXlxcL10rPykoPzpcXC5naXQpPyQvKVxuICAgIHJldHVybiBtYXRjaD8uWzFdXG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxufVxuXG5mdW5jdGlvbiBpbmZlck5hbWVGcm9tQ3dkKCk6IHN0cmluZyB7XG4gIHJldHVybiBwYXRoLmJhc2VuYW1lKHByb2Nlc3MuY3dkKCkpXG59XG5cbmZ1bmN0aW9uIHRvUGFzY2FsQ2FzZShpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGlucHV0XG4gICAgLnJlcGxhY2UoL1teYS16QS1aMC05XSsvZywgXCIgXCIpXG4gICAgLnNwbGl0KFwiIFwiKVxuICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAubWFwKChwYXJ0KSA9PiBwYXJ0LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgcGFydC5zbGljZSgxKS50b0xvd2VyQ2FzZSgpKVxuICAgIC5qb2luKFwiXCIpXG59XG4iXX0=
|
package/lib/files.d.ts
ADDED
package/lib/files.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Files = void 0;
|
|
4
|
+
const projen_1 = require("projen");
|
|
5
|
+
class Files extends projen_1.Component {
|
|
6
|
+
constructor(appProject, className, fileBase, inferredName) {
|
|
7
|
+
super(appProject);
|
|
8
|
+
this.appProject = appProject;
|
|
9
|
+
this.appProject = appProject;
|
|
10
|
+
new projen_1.SampleFile(this.appProject, `src/${fileBase}.ts`, {
|
|
11
|
+
contents: `import * as cdk from 'aws-cdk-lib';
|
|
12
|
+
import { Construct } from 'constructs';
|
|
13
|
+
|
|
14
|
+
export interface ${className}Props extends cdk.StackProps {
|
|
15
|
+
serviceName: string;
|
|
16
|
+
stage: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export class ${className} extends cdk.Stack {
|
|
20
|
+
constructor(scope: Construct, id: string, props: ${className}Props) {
|
|
21
|
+
super(scope, id, props);
|
|
22
|
+
// Add your infra here...
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
`
|
|
26
|
+
});
|
|
27
|
+
this.appProject.tryRemoveFile("src/main.ts");
|
|
28
|
+
new projen_1.SampleFile(this.appProject, "src/main.ts", {
|
|
29
|
+
contents: `
|
|
30
|
+
import * as cdk from 'aws-cdk-lib';
|
|
31
|
+
import { ${className} } from './${fileBase}';
|
|
32
|
+
const env = {
|
|
33
|
+
account: process.env.CDK_DEPLOY_ACCOUNT ?? process.env.CDK_DEFAULT_ACCOUNT,
|
|
34
|
+
region: process.env.CDK_DEPLOY_REGION ?? process.env.CDK_DEFAULT_REGION,
|
|
35
|
+
};
|
|
36
|
+
const app = new cdk.App();
|
|
37
|
+
const serviceName = '${inferredName}';
|
|
38
|
+
new ${className}(app, serviceName, { env, serviceName });
|
|
39
|
+
app.synth();
|
|
40
|
+
`
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.Files = Files;
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQThDO0FBRzlDLE1BQWEsS0FBTSxTQUFRLGtCQUFTO0lBQ2xDLFlBQ1UsVUFBbUIsRUFDM0IsU0FBaUIsRUFDakIsUUFBZ0IsRUFDaEIsWUFBb0I7UUFFcEIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBTFQsZUFBVSxHQUFWLFVBQVUsQ0FBUztRQU0zQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQTtRQUU1QixJQUFJLG1CQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLFFBQVEsS0FBSyxFQUFFO1lBQ3BELFFBQVEsRUFBRTs7O21CQUdHLFNBQVM7Ozs7O2VBS2IsU0FBUztxREFDNkIsU0FBUzs7Ozs7Q0FLN0Q7U0FDSSxDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUM1QyxJQUFJLG1CQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUU7WUFDN0MsUUFBUSxFQUFFOztpQkFFQyxTQUFTLGNBQWMsUUFBUTs7Ozs7OzZCQU1uQixZQUFZO1lBQzdCLFNBQVM7O09BRWQ7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0Y7QUE1Q0Qsc0JBNENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBTYW1wbGVGaWxlIH0gZnJvbSBcInByb2plblwiXG5pbXBvcnQgeyBQcm9qYWxmIH0gZnJvbSBcIi4vUHJvamFsZlwiXG5cbmV4cG9ydCBjbGFzcyBGaWxlcyBleHRlbmRzIENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXBwUHJvamVjdDogUHJvamFsZixcbiAgICBjbGFzc05hbWU6IHN0cmluZyxcbiAgICBmaWxlQmFzZTogc3RyaW5nLFxuICAgIGluZmVycmVkTmFtZTogc3RyaW5nXG4gICkge1xuICAgIHN1cGVyKGFwcFByb2plY3QpXG4gICAgdGhpcy5hcHBQcm9qZWN0ID0gYXBwUHJvamVjdFxuXG4gICAgbmV3IFNhbXBsZUZpbGUodGhpcy5hcHBQcm9qZWN0LCBgc3JjLyR7ZmlsZUJhc2V9LnRzYCwge1xuICAgICAgY29udGVudHM6IGBpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgJHtjbGFzc05hbWV9UHJvcHMgZXh0ZW5kcyBjZGsuU3RhY2tQcm9wcyB7XG4gIHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIHN0YWdlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyAke2NsYXNzTmFtZX0gZXh0ZW5kcyBjZGsuU3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogJHtjbGFzc05hbWV9UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICAvLyBBZGQgeW91ciBpbmZyYSBoZXJlLi4uXG4gIH1cbn1cbmBcbiAgICB9KVxuXG4gICAgdGhpcy5hcHBQcm9qZWN0LnRyeVJlbW92ZUZpbGUoXCJzcmMvbWFpbi50c1wiKVxuICAgIG5ldyBTYW1wbGVGaWxlKHRoaXMuYXBwUHJvamVjdCwgXCJzcmMvbWFpbi50c1wiLCB7XG4gICAgICBjb250ZW50czogYFxuICAgICAgaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbiAgICAgIGltcG9ydCB7ICR7Y2xhc3NOYW1lfSB9IGZyb20gJy4vJHtmaWxlQmFzZX0nO1xuICAgICAgY29uc3QgZW52ID0ge1xuICAgICAgICBhY2NvdW50OiBwcm9jZXNzLmVudi5DREtfREVQTE9ZX0FDQ09VTlQgPz8gcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfQUNDT1VOVCxcbiAgICAgICAgcmVnaW9uOiBwcm9jZXNzLmVudi5DREtfREVQTE9ZX1JFR0lPTiA/PyBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9SRUdJT04sXG4gICAgICB9O1xuICAgICAgY29uc3QgYXBwID0gbmV3IGNkay5BcHAoKTtcbiAgICAgIGNvbnN0IHNlcnZpY2VOYW1lID0gJyR7aW5mZXJyZWROYW1lfSc7XG4gICAgICBuZXcgJHtjbGFzc05hbWV9KGFwcCwgc2VydmljZU5hbWUsIHsgZW52LCBzZXJ2aWNlTmFtZSB9KTtcbiAgICAgIGFwcC5zeW50aCgpO1xuICAgICAgYFxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Projalf";
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./Projalf"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL1Byb2phbGZcIlxuIl19
|
package/lib/workflows.js
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
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) {
|
|
6
|
+
const cicdWorkflow = project.github.addWorkflow("ci-cd");
|
|
7
|
+
cicdWorkflow.on({
|
|
8
|
+
pullRequest: {},
|
|
9
|
+
push: { branches: ["main"] }
|
|
10
|
+
});
|
|
11
|
+
const jobDefaults = {
|
|
12
|
+
runsOn: ["ubuntu-latest"],
|
|
13
|
+
permissions: {
|
|
14
|
+
contents: workflows_model_1.JobPermission.WRITE,
|
|
15
|
+
idToken: workflows_model_1.JobPermission.WRITE
|
|
16
|
+
},
|
|
17
|
+
steps: [
|
|
18
|
+
{ name: "Checkout", uses: "actions/checkout@v4" },
|
|
19
|
+
{
|
|
20
|
+
name: "Setup Node.js",
|
|
21
|
+
uses: "actions/setup-node@v4",
|
|
22
|
+
with: { "node-version": "20" }
|
|
23
|
+
},
|
|
24
|
+
{ name: "Install dependencies", run: "npm ci" }
|
|
25
|
+
]
|
|
26
|
+
};
|
|
27
|
+
cicdWorkflow.addJobs({
|
|
28
|
+
test: {
|
|
29
|
+
...jobDefaults,
|
|
30
|
+
steps: [
|
|
31
|
+
...jobDefaults.steps,
|
|
32
|
+
{
|
|
33
|
+
name: "Configure AWS credentials (test)",
|
|
34
|
+
uses: "aws-actions/configure-aws-credentials@v4",
|
|
35
|
+
with: {
|
|
36
|
+
"aws-access-key-id": "${{ secrets.TEST_AWS_ACCESS_KEY_ID }}",
|
|
37
|
+
"aws-secret-access-key": "${{ secrets.TEST_AWS_SECRET_ACCESS_KEY }}",
|
|
38
|
+
"aws-region": "${{ secrets.AWS_REGION || 'eu-central-1' }}"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: "Generate random stage ID",
|
|
43
|
+
id: "stage",
|
|
44
|
+
run: 'echo "STAGE_ID=test-$(shuf -i 10000-99999 -n 1)" >> $GITHUB_OUTPUT'
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: "Deploy Test Stack",
|
|
48
|
+
run: "npm run deploy -- -c stage=${{ steps.stage.outputs.STAGE_ID }} --require-approval never --outputs-file=test.output.json",
|
|
49
|
+
env: {
|
|
50
|
+
CDK_DEPLOY_ACCOUNT: "${{ secrets.AWS_TEST_ACCOUNT }}",
|
|
51
|
+
CDK_DEPLOY_REGION: "${{ secrets.AWS_REGION || 'eu-central-1' }}"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: "Configure AWS credentials for test account",
|
|
56
|
+
uses: "aws-actions/configure-aws-credentials@v1",
|
|
57
|
+
with: {
|
|
58
|
+
"role-to-assume": "arn:aws:iam::${{ secrets.AWS_TEST_ACCOUNT }}:role/github-actions-role",
|
|
59
|
+
"aws-region": "${{ secrets.AWS_REGION || 'eu-central-1' }}"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: "Verify identity (TEST)",
|
|
64
|
+
run: "aws sts get-caller-identity"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: "Verify IoT endpoint (TEST)",
|
|
68
|
+
run: "aws iot describe-endpoint --endpoint-type iot:Data-ATS"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: "Run E2E Tests",
|
|
72
|
+
run: "npm run test:e2e",
|
|
73
|
+
env: {
|
|
74
|
+
STAGE: "${{ steps.stage.outputs.STAGE_ID }}"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
name: "Destroy Test Stack",
|
|
79
|
+
if: "always()",
|
|
80
|
+
run: "npm run destroy -- -c stage=${{ steps.stage.outputs.STAGE_ID }} --force",
|
|
81
|
+
env: {
|
|
82
|
+
CDK_DEPLOY_ACCOUNT: "${{ secrets.AWS_TEST_ACCOUNT }}",
|
|
83
|
+
CDK_DEPLOY_REGION: "${{ secrets.AWS_REGION || 'eu-central-1' }}"
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
deploy_dev: {
|
|
89
|
+
...jobDefaults,
|
|
90
|
+
needs: ["test"],
|
|
91
|
+
if: "github.event_name == 'pull_request'",
|
|
92
|
+
steps: [
|
|
93
|
+
...jobDefaults.steps,
|
|
94
|
+
{
|
|
95
|
+
name: "Configure AWS credentials",
|
|
96
|
+
uses: "aws-actions/configure-aws-credentials@v4",
|
|
97
|
+
with: {
|
|
98
|
+
"aws-access-key-id": "${{ secrets.AWS_ACCESS_KEY_ID }}",
|
|
99
|
+
"aws-secret-access-key": "${{ secrets.AWS_SECRET_ACCESS_KEY }}",
|
|
100
|
+
"aws-region": "${{ secrets.AWS_REGION || 'eu-central-1' }}"
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
name: "Deploy Dev",
|
|
105
|
+
run: "npm run deploy -- -c stage=dev --require-approval never --outputs-file=test.output.json",
|
|
106
|
+
env: {
|
|
107
|
+
CDK_DEPLOY_ACCOUNT: "${{ secrets.AWS_DEV_ACCOUNT }}",
|
|
108
|
+
CDK_DEPLOY_REGION: "${{ secrets.AWS_REGION || 'eu-central-1' }}"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
deploy_prod: {
|
|
114
|
+
...jobDefaults,
|
|
115
|
+
needs: ["test"],
|
|
116
|
+
if: "github.ref == 'refs/heads/main' && github.event_name == 'push'",
|
|
117
|
+
steps: [
|
|
118
|
+
...jobDefaults.steps,
|
|
119
|
+
{
|
|
120
|
+
name: "Configure AWS credentials",
|
|
121
|
+
uses: "aws-actions/configure-aws-credentials@v4",
|
|
122
|
+
with: {
|
|
123
|
+
"aws-access-key-id": "${{ secrets.AWS_ACCESS_KEY_ID }}",
|
|
124
|
+
"aws-secret-access-key": "${{ secrets.AWS_SECRET_ACCESS_KEY }}",
|
|
125
|
+
"aws-region": "${{ secrets.AWS_REGION || 'eu-central-1' }}"
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
name: "Deploy Prod",
|
|
130
|
+
run: "npm run deploy -- -c stage=prod --require-approval never --outputs-file=test.output.json",
|
|
131
|
+
env: {
|
|
132
|
+
CDK_DEPLOY_ACCOUNT: "${{ secrets.AWS_PROD_ACCOUNT }}",
|
|
133
|
+
CDK_DEPLOY_REGION: "${{ secrets.AWS_REGION || 'eu-central-1' }}"
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3dzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3dvcmtmbG93cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLDRCQTBJQztBQTdJRCx1RUFBaUU7QUFHakUsU0FBZ0IsUUFBUSxDQUFDLE9BQWdCO0lBQ3ZDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxNQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBRXpELFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDZCxXQUFXLEVBQUUsRUFBRTtRQUNmLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFO0tBQzdCLENBQUMsQ0FBQTtJQUVGLE1BQU0sV0FBVyxHQUFHO1FBQ2xCLE1BQU0sRUFBRSxDQUFDLGVBQWUsQ0FBQztRQUN6QixXQUFXLEVBQUU7WUFDWCxRQUFRLEVBQUUsK0JBQWEsQ0FBQyxLQUFLO1lBQzdCLE9BQU8sRUFBRSwrQkFBYSxDQUFDLEtBQUs7U0FDN0I7UUFDRCxLQUFLLEVBQUU7WUFDTCxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFO1lBQ2pEO2dCQUNFLElBQUksRUFBRSxlQUFlO2dCQUNyQixJQUFJLEVBQUUsdUJBQXVCO2dCQUM3QixJQUFJLEVBQUUsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFO2FBQy9CO1lBQ0QsRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRTtTQUNoRDtLQUNGLENBQUE7SUFFRCxZQUFZLENBQUMsT0FBTyxDQUFDO1FBQ25CLElBQUksRUFBRTtZQUNKLEdBQUcsV0FBVztZQUNkLEtBQUssRUFBRTtnQkFDTCxHQUFHLFdBQVcsQ0FBQyxLQUFLO2dCQUNwQjtvQkFDRSxJQUFJLEVBQUUsa0NBQWtDO29CQUN4QyxJQUFJLEVBQUUsMENBQTBDO29CQUNoRCxJQUFJLEVBQUU7d0JBQ0osbUJBQW1CLEVBQUUsdUNBQXVDO3dCQUM1RCx1QkFBdUIsRUFBRSwyQ0FBMkM7d0JBQ3BFLFlBQVksRUFBRSw2Q0FBNkM7cUJBQzVEO2lCQUNGO2dCQUNEO29CQUNFLElBQUksRUFBRSwwQkFBMEI7b0JBQ2hDLEVBQUUsRUFBRSxPQUFPO29CQUNYLEdBQUcsRUFBRSxvRUFBb0U7aUJBQzFFO2dCQUNEO29CQUNFLElBQUksRUFBRSxtQkFBbUI7b0JBQ3pCLEdBQUcsRUFBRSx5SEFBeUg7b0JBQzlILEdBQUcsRUFBRTt3QkFDSCxrQkFBa0IsRUFBRSxpQ0FBaUM7d0JBQ3JELGlCQUFpQixFQUFFLDZDQUE2QztxQkFDakU7aUJBQ0Y7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLDRDQUE0QztvQkFDbEQsSUFBSSxFQUFFLDBDQUEwQztvQkFDaEQsSUFBSSxFQUFFO3dCQUNKLGdCQUFnQixFQUNkLHVFQUF1RTt3QkFDekUsWUFBWSxFQUFFLDZDQUE2QztxQkFDNUQ7aUJBQ0Y7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLHdCQUF3QjtvQkFDOUIsR0FBRyxFQUFFLDZCQUE2QjtpQkFDbkM7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLDRCQUE0QjtvQkFDbEMsR0FBRyxFQUFFLHdEQUF3RDtpQkFDOUQ7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLGVBQWU7b0JBQ3JCLEdBQUcsRUFBRSxrQkFBa0I7b0JBQ3ZCLEdBQUcsRUFBRTt3QkFDSCxLQUFLLEVBQUUscUNBQXFDO3FCQUM3QztpQkFDRjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsb0JBQW9CO29CQUMxQixFQUFFLEVBQUUsVUFBVTtvQkFDZCxHQUFHLEVBQUUseUVBQXlFO29CQUM5RSxHQUFHLEVBQUU7d0JBQ0gsa0JBQWtCLEVBQUUsaUNBQWlDO3dCQUNyRCxpQkFBaUIsRUFBRSw2Q0FBNkM7cUJBQ2pFO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELFVBQVUsRUFBRTtZQUNWLEdBQUcsV0FBVztZQUNkLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNmLEVBQUUsRUFBRSxxQ0FBcUM7WUFDekMsS0FBSyxFQUFFO2dCQUNMLEdBQUcsV0FBVyxDQUFDLEtBQUs7Z0JBQ3BCO29CQUNFLElBQUksRUFBRSwyQkFBMkI7b0JBQ2pDLElBQUksRUFBRSwwQ0FBMEM7b0JBQ2hELElBQUksRUFBRTt3QkFDSixtQkFBbUIsRUFBRSxrQ0FBa0M7d0JBQ3ZELHVCQUF1QixFQUFFLHNDQUFzQzt3QkFDL0QsWUFBWSxFQUFFLDZDQUE2QztxQkFDNUQ7aUJBQ0Y7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLEdBQUcsRUFBRSx5RkFBeUY7b0JBQzlGLEdBQUcsRUFBRTt3QkFDSCxrQkFBa0IsRUFBRSxnQ0FBZ0M7d0JBQ3BELGlCQUFpQixFQUFFLDZDQUE2QztxQkFDakU7aUJBQ0Y7YUFDRjtTQUNGO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsR0FBRyxXQUFXO1lBQ2QsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2YsRUFBRSxFQUFFLGdFQUFnRTtZQUNwRSxLQUFLLEVBQUU7Z0JBQ0wsR0FBRyxXQUFXLENBQUMsS0FBSztnQkFDcEI7b0JBQ0UsSUFBSSxFQUFFLDJCQUEyQjtvQkFDakMsSUFBSSxFQUFFLDBDQUEwQztvQkFDaEQsSUFBSSxFQUFFO3dCQUNKLG1CQUFtQixFQUFFLGtDQUFrQzt3QkFDdkQsdUJBQXVCLEVBQUUsc0NBQXNDO3dCQUMvRCxZQUFZLEVBQUUsNkNBQTZDO3FCQUM1RDtpQkFDRjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsYUFBYTtvQkFDbkIsR0FBRyxFQUFFLDBGQUEwRjtvQkFDL0YsR0FBRyxFQUFFO3dCQUNILGtCQUFrQixFQUFFLGlDQUFpQzt3QkFDckQsaUJBQWlCLEVBQUUsNkNBQTZDO3FCQUNqRTtpQkFDRjthQUNGO1NBQ0Y7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSm9iUGVybWlzc2lvbiB9IGZyb20gXCJwcm9qZW4vbGliL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWxcIlxuaW1wb3J0IHsgUHJvamFsZiB9IGZyb20gXCIuL1Byb2phbGZcIlxuXG5leHBvcnQgZnVuY3Rpb24gd29ya2Zsb3cocHJvamVjdDogUHJvamFsZikge1xuICBjb25zdCBjaWNkV29ya2Zsb3cgPSBwcm9qZWN0LmdpdGh1YiEuYWRkV29ya2Zsb3coXCJjaS1jZFwiKVxuXG4gIGNpY2RXb3JrZmxvdy5vbih7XG4gICAgcHVsbFJlcXVlc3Q6IHt9LFxuICAgIHB1c2g6IHsgYnJhbmNoZXM6IFtcIm1haW5cIl0gfVxuICB9KVxuXG4gIGNvbnN0IGpvYkRlZmF1bHRzID0ge1xuICAgIHJ1bnNPbjogW1widWJ1bnR1LWxhdGVzdFwiXSxcbiAgICBwZXJtaXNzaW9uczoge1xuICAgICAgY29udGVudHM6IEpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgICBpZFRva2VuOiBKb2JQZXJtaXNzaW9uLldSSVRFXG4gICAgfSxcbiAgICBzdGVwczogW1xuICAgICAgeyBuYW1lOiBcIkNoZWNrb3V0XCIsIHVzZXM6IFwiYWN0aW9ucy9jaGVja291dEB2NFwiIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiU2V0dXAgTm9kZS5qc1wiLFxuICAgICAgICB1c2VzOiBcImFjdGlvbnMvc2V0dXAtbm9kZUB2NFwiLFxuICAgICAgICB3aXRoOiB7IFwibm9kZS12ZXJzaW9uXCI6IFwiMjBcIiB9XG4gICAgICB9LFxuICAgICAgeyBuYW1lOiBcIkluc3RhbGwgZGVwZW5kZW5jaWVzXCIsIHJ1bjogXCJucG0gY2lcIiB9XG4gICAgXVxuICB9XG5cbiAgY2ljZFdvcmtmbG93LmFkZEpvYnMoe1xuICAgIHRlc3Q6IHtcbiAgICAgIC4uLmpvYkRlZmF1bHRzLFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAgLi4uam9iRGVmYXVsdHMuc3RlcHMsXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcIkNvbmZpZ3VyZSBBV1MgY3JlZGVudGlhbHMgKHRlc3QpXCIsXG4gICAgICAgICAgdXNlczogXCJhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHY0XCIsXG4gICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgXCJhd3MtYWNjZXNzLWtleS1pZFwiOiBcIiR7eyBzZWNyZXRzLlRFU1RfQVdTX0FDQ0VTU19LRVlfSUQgfX1cIixcbiAgICAgICAgICAgIFwiYXdzLXNlY3JldC1hY2Nlc3Mta2V5XCI6IFwiJHt7IHNlY3JldHMuVEVTVF9BV1NfU0VDUkVUX0FDQ0VTU19LRVkgfX1cIixcbiAgICAgICAgICAgIFwiYXdzLXJlZ2lvblwiOiBcIiR7eyBzZWNyZXRzLkFXU19SRUdJT04gfHwgJ2V1LWNlbnRyYWwtMScgfX1cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiR2VuZXJhdGUgcmFuZG9tIHN0YWdlIElEXCIsXG4gICAgICAgICAgaWQ6IFwic3RhZ2VcIixcbiAgICAgICAgICBydW46ICdlY2hvIFwiU1RBR0VfSUQ9dGVzdC0kKHNodWYgLWkgMTAwMDAtOTk5OTkgLW4gMSlcIiA+PiAkR0lUSFVCX09VVFBVVCdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiRGVwbG95IFRlc3QgU3RhY2tcIixcbiAgICAgICAgICBydW46IFwibnBtIHJ1biBkZXBsb3kgLS0gLWMgc3RhZ2U9JHt7IHN0ZXBzLnN0YWdlLm91dHB1dHMuU1RBR0VfSUQgfX0gLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyIC0tb3V0cHV0cy1maWxlPXRlc3Qub3V0cHV0Lmpzb25cIixcbiAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgIENES19ERVBMT1lfQUNDT1VOVDogXCIke3sgc2VjcmV0cy5BV1NfVEVTVF9BQ0NPVU5UIH19XCIsXG4gICAgICAgICAgICBDREtfREVQTE9ZX1JFR0lPTjogXCIke3sgc2VjcmV0cy5BV1NfUkVHSU9OIHx8ICdldS1jZW50cmFsLTEnIH19XCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcIkNvbmZpZ3VyZSBBV1MgY3JlZGVudGlhbHMgZm9yIHRlc3QgYWNjb3VudFwiLFxuICAgICAgICAgIHVzZXM6IFwiYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0B2MVwiLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgIFwicm9sZS10by1hc3N1bWVcIjpcbiAgICAgICAgICAgICAgXCJhcm46YXdzOmlhbTo6JHt7IHNlY3JldHMuQVdTX1RFU1RfQUNDT1VOVCB9fTpyb2xlL2dpdGh1Yi1hY3Rpb25zLXJvbGVcIixcbiAgICAgICAgICAgIFwiYXdzLXJlZ2lvblwiOiBcIiR7eyBzZWNyZXRzLkFXU19SRUdJT04gfHwgJ2V1LWNlbnRyYWwtMScgfX1cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiVmVyaWZ5IGlkZW50aXR5IChURVNUKVwiLFxuICAgICAgICAgIHJ1bjogXCJhd3Mgc3RzIGdldC1jYWxsZXItaWRlbnRpdHlcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJWZXJpZnkgSW9UIGVuZHBvaW50IChURVNUKVwiLFxuICAgICAgICAgIHJ1bjogXCJhd3MgaW90IGRlc2NyaWJlLWVuZHBvaW50IC0tZW5kcG9pbnQtdHlwZSBpb3Q6RGF0YS1BVFNcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJSdW4gRTJFIFRlc3RzXCIsXG4gICAgICAgICAgcnVuOiBcIm5wbSBydW4gdGVzdDplMmVcIixcbiAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgIFNUQUdFOiBcIiR7eyBzdGVwcy5zdGFnZS5vdXRwdXRzLlNUQUdFX0lEIH19XCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcIkRlc3Ryb3kgVGVzdCBTdGFja1wiLFxuICAgICAgICAgIGlmOiBcImFsd2F5cygpXCIsXG4gICAgICAgICAgcnVuOiBcIm5wbSBydW4gZGVzdHJveSAtLSAtYyBzdGFnZT0ke3sgc3RlcHMuc3RhZ2Uub3V0cHV0cy5TVEFHRV9JRCB9fSAtLWZvcmNlXCIsXG4gICAgICAgICAgZW52OiB7XG4gICAgICAgICAgICBDREtfREVQTE9ZX0FDQ09VTlQ6IFwiJHt7IHNlY3JldHMuQVdTX1RFU1RfQUNDT1VOVCB9fVwiLFxuICAgICAgICAgICAgQ0RLX0RFUExPWV9SRUdJT046IFwiJHt7IHNlY3JldHMuQVdTX1JFR0lPTiB8fCAnZXUtY2VudHJhbC0xJyB9fVwiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSxcbiAgICBkZXBsb3lfZGV2OiB7XG4gICAgICAuLi5qb2JEZWZhdWx0cyxcbiAgICAgIG5lZWRzOiBbXCJ0ZXN0XCJdLFxuICAgICAgaWY6IFwiZ2l0aHViLmV2ZW50X25hbWUgPT0gJ3B1bGxfcmVxdWVzdCdcIixcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIC4uLmpvYkRlZmF1bHRzLnN0ZXBzLFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJDb25maWd1cmUgQVdTIGNyZWRlbnRpYWxzXCIsXG4gICAgICAgICAgdXNlczogXCJhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHY0XCIsXG4gICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgXCJhd3MtYWNjZXNzLWtleS1pZFwiOiBcIiR7eyBzZWNyZXRzLkFXU19BQ0NFU1NfS0VZX0lEIH19XCIsXG4gICAgICAgICAgICBcImF3cy1zZWNyZXQtYWNjZXNzLWtleVwiOiBcIiR7eyBzZWNyZXRzLkFXU19TRUNSRVRfQUNDRVNTX0tFWSB9fVwiLFxuICAgICAgICAgICAgXCJhd3MtcmVnaW9uXCI6IFwiJHt7IHNlY3JldHMuQVdTX1JFR0lPTiB8fCAnZXUtY2VudHJhbC0xJyB9fVwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJEZXBsb3kgRGV2XCIsXG4gICAgICAgICAgcnVuOiBcIm5wbSBydW4gZGVwbG95IC0tIC1jIHN0YWdlPWRldiAtLXJlcXVpcmUtYXBwcm92YWwgbmV2ZXIgLS1vdXRwdXRzLWZpbGU9dGVzdC5vdXRwdXQuanNvblwiLFxuICAgICAgICAgIGVudjoge1xuICAgICAgICAgICAgQ0RLX0RFUExPWV9BQ0NPVU5UOiBcIiR7eyBzZWNyZXRzLkFXU19ERVZfQUNDT1VOVCB9fVwiLFxuICAgICAgICAgICAgQ0RLX0RFUExPWV9SRUdJT046IFwiJHt7IHNlY3JldHMuQVdTX1JFR0lPTiB8fCAnZXUtY2VudHJhbC0xJyB9fVwiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSxcbiAgICBkZXBsb3lfcHJvZDoge1xuICAgICAgLi4uam9iRGVmYXVsdHMsXG4gICAgICBuZWVkczogW1widGVzdFwiXSxcbiAgICAgIGlmOiBcImdpdGh1Yi5yZWYgPT0gJ3JlZnMvaGVhZHMvbWFpbicgJiYgZ2l0aHViLmV2ZW50X25hbWUgPT0gJ3B1c2gnXCIsXG4gICAgICBzdGVwczogW1xuICAgICAgICAuLi5qb2JEZWZhdWx0cy5zdGVwcyxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiQ29uZmlndXJlIEFXUyBjcmVkZW50aWFsc1wiLFxuICAgICAgICAgIHVzZXM6IFwiYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0B2NFwiLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgIFwiYXdzLWFjY2Vzcy1rZXktaWRcIjogXCIke3sgc2VjcmV0cy5BV1NfQUNDRVNTX0tFWV9JRCB9fVwiLFxuICAgICAgICAgICAgXCJhd3Mtc2VjcmV0LWFjY2Vzcy1rZXlcIjogXCIke3sgc2VjcmV0cy5BV1NfU0VDUkVUX0FDQ0VTU19LRVkgfX1cIixcbiAgICAgICAgICAgIFwiYXdzLXJlZ2lvblwiOiBcIiR7eyBzZWNyZXRzLkFXU19SRUdJT04gfHwgJ2V1LWNlbnRyYWwtMScgfX1cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiRGVwbG95IFByb2RcIixcbiAgICAgICAgICBydW46IFwibnBtIHJ1biBkZXBsb3kgLS0gLWMgc3RhZ2U9cHJvZCAtLXJlcXVpcmUtYXBwcm92YWwgbmV2ZXIgLS1vdXRwdXRzLWZpbGU9dGVzdC5vdXRwdXQuanNvblwiLFxuICAgICAgICAgIGVudjoge1xuICAgICAgICAgICAgQ0RLX0RFUExPWV9BQ0NPVU5UOiBcIiR7eyBzZWNyZXRzLkFXU19QUk9EX0FDQ09VTlQgfX1cIixcbiAgICAgICAgICAgIENES19ERVBMT1lfUkVHSU9OOiBcIiR7eyBzZWNyZXRzLkFXU19SRUdJT04gfHwgJ2V1LWNlbnRyYWwtMScgfX1cIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH1cbiAgfSlcbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -35,7 +35,6 @@
|
|
|
35
35
|
"organization": false
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@stylistic/eslint-plugin": "^2",
|
|
39
38
|
"@types/jest": "^30.0.0",
|
|
40
39
|
"@types/node": "^12",
|
|
41
40
|
"@typescript-eslint/eslint-plugin": "^8",
|
|
@@ -43,8 +42,10 @@
|
|
|
43
42
|
"commit-and-tag-version": "^12",
|
|
44
43
|
"constructs": "^10.0.0",
|
|
45
44
|
"eslint": "^9",
|
|
45
|
+
"eslint-config-prettier": "^10.1.8",
|
|
46
46
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
47
47
|
"eslint-plugin-import": "^2.32.0",
|
|
48
|
+
"eslint-plugin-prettier": "^5.5.5",
|
|
48
49
|
"jest": "^30.0.5",
|
|
49
50
|
"jest-junit": "^16",
|
|
50
51
|
"jsii": "~5.8.0",
|
|
@@ -52,6 +53,7 @@
|
|
|
52
53
|
"jsii-docgen": "^10.5.0",
|
|
53
54
|
"jsii-pacmak": "^1.114.1",
|
|
54
55
|
"jsii-rosetta": "~5.8.0",
|
|
56
|
+
"prettier": "^3.8.1",
|
|
55
57
|
"projen": "^0.96.1",
|
|
56
58
|
"ts-jest": "^29.4.1",
|
|
57
59
|
"ts-node": "^9",
|
|
@@ -65,7 +67,7 @@
|
|
|
65
67
|
"publishConfig": {
|
|
66
68
|
"access": "public"
|
|
67
69
|
},
|
|
68
|
-
"version": "0.0.
|
|
70
|
+
"version": "0.0.35",
|
|
69
71
|
"jest": {
|
|
70
72
|
"coverageProvider": "v8",
|
|
71
73
|
"testMatch": [
|