projalf 0.0.33 → 0.0.34

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 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
+ }
@@ -0,0 +1,6 @@
1
+ import { awscdk } from "projen";
2
+ export interface ProjalfOptions extends awscdk.AwsCdkTypeScriptAppOptions {
3
+ }
4
+ export declare class Projalf extends awscdk.AwsCdkTypeScriptApp {
5
+ constructor(options: ProjalfOptions);
6
+ }
package/lib/Projalf.js ADDED
@@ -0,0 +1,154 @@
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
+ ...options.prettierOptions?.settings
53
+ }
54
+ },
55
+ jestOptions: {
56
+ configFilePath: "jest.config.json",
57
+ jestConfig: {
58
+ testMatch: ["<rootDir>/(test/unit|src)/**/*(*.)@(spec|test).ts?(x)"],
59
+ transform: {
60
+ "^.+\\.tsx?$": new projen_1.javascript.Transform("ts-jest", {
61
+ tsconfig: "tsconfig.dev.json"
62
+ })
63
+ }
64
+ }
65
+ }
66
+ });
67
+ new files_1.Files(this, className, fileBase, inferredName);
68
+ // Enforce ESLint style: double quotes and no semicolons
69
+ this.eslint?.addRules({
70
+ "@stylistic/quotes": ["error", "double", { avoidEscape: true }],
71
+ "@stylistic/semi": ["error", "never"],
72
+ "@stylistic/consistent-quotes": ["off"],
73
+ "@stylistic/member-delimiter-style": ["off"],
74
+ "@stylistic/comma-dangle": ["error", "never"],
75
+ "@stylistic/max-len": [
76
+ "error",
77
+ {
78
+ code: 100,
79
+ ignoreUrls: true,
80
+ ignoreStrings: true,
81
+ ignoreTemplateLiterals: true,
82
+ ignoreComments: true,
83
+ ignoreRegExpLiterals: true
84
+ }
85
+ ]
86
+ });
87
+ (0, workflows_1.workflow)(this);
88
+ this.addTask("deploy:watch", {
89
+ exec: "cdk deploy --all --method=direct --outputs-file=test.output.json --watch --hotswap-fallback --require-approval=never",
90
+ receiveArgs: true
91
+ });
92
+ this.addTask("test:e2e", {
93
+ exec: "jest --config jest.e2e.config.json --runInBand --passWithNoTests"
94
+ });
95
+ new projen_1.javascript.Jest(this, {
96
+ configFilePath: "jest.integ.config.json",
97
+ jestConfig: {
98
+ collectCoverage: false,
99
+ testMatch: [
100
+ "<rootDir>/test/integ/**/*(*.)@(spec|test).ts?(x)",
101
+ "<rootDir>/(test|src)/**/*(*.)@(integ).ts?(x)"
102
+ ],
103
+ ...defaultJestConfig
104
+ }
105
+ });
106
+ new projen_1.javascript.Jest(this, {
107
+ configFilePath: "jest.e2e.config.json",
108
+ jestConfig: {
109
+ collectCoverage: false,
110
+ testMatch: [
111
+ "<rootDir>/test/e2e/**/*(*.)@(spec|test).ts?(x)",
112
+ "<rootDir>/(test|src)/**/*(*.)@(e2e).ts?(x)"
113
+ ],
114
+ ...defaultJestConfig
115
+ }
116
+ });
117
+ new projen_1.SampleFile(this, "test/setup.ts", {
118
+ contents: `jest.setTimeout(10000)
119
+ `
120
+ });
121
+ }
122
+ }
123
+ exports.Projalf = Projalf;
124
+ _a = JSII_RTTI_SYMBOL_1;
125
+ Projalf[_a] = { fqn: "projalf.Projalf", version: "0.0.0" };
126
+ function inferNameFromGit() {
127
+ try {
128
+ const remote = cp
129
+ .execSync("git config --get remote.origin.url", {
130
+ stdio: ["ignore", "pipe", "ignore"]
131
+ })
132
+ .toString()
133
+ .trim();
134
+ if (!remote)
135
+ return undefined;
136
+ const match = remote.match(/\/([^\/]+?)(?:\.git)?$/);
137
+ return match?.[1];
138
+ }
139
+ catch {
140
+ return undefined;
141
+ }
142
+ }
143
+ function inferNameFromCwd() {
144
+ return path.basename(process.cwd());
145
+ }
146
+ function toPascalCase(input) {
147
+ return input
148
+ .replace(/[^a-zA-Z0-9]+/g, " ")
149
+ .split(" ")
150
+ .filter(Boolean)
151
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase())
152
+ .join("");
153
+ }
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvamFsZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Qcm9qYWxmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0NBQW1DO0FBQ25DLDZCQUE0QjtBQUM1QixtQ0FBdUQ7QUFDdkQsbUNBQStCO0FBQy9CLDJDQUFzQztBQUV0QyxNQUFNLGlCQUFpQixHQUFpQztJQUN0RCxNQUFNLEVBQUUsU0FBUztJQUNqQixTQUFTLEVBQUU7UUFDVCxhQUFhLEVBQUUsSUFBSSxtQkFBVSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUU7WUFDakQsUUFBUSxFQUFFLG1CQUFtQjtTQUM5QixDQUFDO0tBQ0g7SUFDRCxrQkFBa0IsRUFBRSxDQUFDLHlCQUF5QixDQUFDO0NBQ2hELENBQUE7QUFJRCxNQUFhLE9BQVEsU0FBUSxlQUFNLENBQUMsbUJBQW1CO0lBQ3JELFlBQVksT0FBdUI7UUFDakMsTUFBTSxZQUFZLEdBQ2hCLE9BQU8sQ0FBQyxJQUFJLElBQUksZ0JBQWdCLEVBQUUsSUFBSSxnQkFBZ0IsRUFBRSxDQUFBO1FBQzFELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM1QyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUE7UUFFM0MsTUFBTSxhQUFhLEdBQUcsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsRUFBeUIsQ0FBQTtRQUMzRSxJQUFJLGFBQWEsQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUE7UUFDMUMsQ0FBQztRQUVELEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLElBQUksRUFBRSxZQUFZO1lBQ2xCLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxNQUFNO1lBQzVELGNBQWMsRUFDWixPQUFPLENBQUMsY0FBYyxJQUFJLG1CQUFVLENB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QUMsV0FBVyxFQUFFLENBQUM7U0FDekUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNwIGZyb20gXCJjaGlsZF9wcm9jZXNzXCJcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIlxuaW1wb3J0IHsgYXdzY2RrLCBqYXZhc2NyaXB0LCBTYW1wbGVGaWxlIH0gZnJvbSBcInByb2plblwiXG5pbXBvcnQgeyBGaWxlcyB9IGZyb20gXCIuL2ZpbGVzXCJcbmltcG9ydCB7IHdvcmtmbG93IH0gZnJvbSBcIi4vd29ya2Zsb3dzXCJcblxuY29uc3QgZGVmYXVsdEplc3RDb25maWc6IGphdmFzY3JpcHQuSmVzdENvbmZpZ09wdGlvbnMgPSB7XG4gIHByZXNldDogXCJ0cy1qZXN0XCIsXG4gIHRyYW5zZm9ybToge1xuICAgIFwiXi4rXFxcXC50c3g/JFwiOiBuZXcgamF2YXNjcmlwdC5UcmFuc2Zvcm0oXCJ0cy1qZXN0XCIsIHtcbiAgICAgIHRzY29uZmlnOiBcInRzY29uZmlnLmRldi5qc29uXCJcbiAgICB9KVxuICB9LFxuICBzZXR1cEZpbGVzQWZ0ZXJFbnY6IFtcIjxyb290RGlyPi90ZXN0L3NldHVwLnRzXCJdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvamFsZk9wdGlvbnMgZXh0ZW5kcyBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcE9wdGlvbnMge31cblxuZXhwb3J0IGNsYXNzIFByb2phbGYgZXh0ZW5kcyBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFByb2phbGZPcHRpb25zKSB7XG4gICAgY29uc3QgaW5mZXJyZWROYW1lID1cbiAgICAgIG9wdGlvbnMubmFtZSA/PyBpbmZlck5hbWVGcm9tR2l0KCkgPz8gaW5mZXJOYW1lRnJvbUN3ZCgpXG4gICAgY29uc3QgY2xhc3NOYW1lID0gdG9QYXNjYWxDYXNlKGluZmVycmVkTmFtZSlcbiAgICBjb25zdCBmaWxlQmFzZSA9IGluZmVycmVkTmFtZS50b0xvd2VyQ2FzZSgpXG5cbiAgICBjb25zdCBtZXJnZWRDb250ZXh0ID0geyAuLi4ob3B0aW9ucy5jb250ZXh0ID8/IHt9KSB9IGFzIFJlY29yZDxzdHJpbmcsIGFueT5cbiAgICBpZiAobWVyZ2VkQ29udGV4dC5zZXJ2aWNlTmFtZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBtZXJnZWRDb250ZXh0LnNlcnZpY2VOYW1lID0gaW5mZXJyZWROYW1lXG4gICAgfVxuXG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG5hbWU6IGluZmVycmVkTmFtZSxcbiAgICAgIGRlZmF1bHRSZWxlYXNlQnJhbmNoOiBvcHRpb25zLmRlZmF1bHRSZWxlYXNlQnJhbmNoID8/IFwibWFpblwiLFxuICAgICAgcGFja2FnZU1hbmFnZXI6XG4gICAgICAgIG9wdGlvbnMucGFja2FnZU1hbmFnZXIgPz8gamF2YXNjcmlwdC5Ob2RlUGFja2FnZU1hbmFnZXIuTlBNLFxuICAgICAgcHJvamVucmNUczogb3B0aW9ucy5wcm9qZW5yY1RzID8/IHRydWUsXG4gICAgICBjZGtWZXJzaW9uOiBvcHRpb25zLmNka1ZlcnNpb24gPz8gXCJeMi4xNTYuMFwiLFxuICAgICAgY29udGV4dDogbWVyZ2VkQ29udGV4dCxcbiAgICAgIGRlcHM6IG9wdGlvbnMuZGVwcyA/PyBbXSxcbiAgICAgIGRldkRlcHM6IG9wdGlvbnMuZGV2RGVwcyA/PyBbXSxcbiAgICAgIGJ1aWxkV29ya2Zsb3c6IGZhbHNlLFxuICAgICAgcmVsZWFzZTogZmFsc2UsXG4gICAgICBkZXBzVXBncmFkZTogZmFsc2UsXG4gICAgICBnaXRodWJPcHRpb25zOiB7XG4gICAgICAgIHB1bGxSZXF1ZXN0TGludDogZmFsc2VcbiAgICAgIH0sXG4gICAgICB3YXRjaEluY2x1ZGVzOiBbXCJzcmMvKiovKi50c1wiLCBcInNyYy8qKi8qLnRzeFwiXSxcblxuICAgICAgcHJldHRpZXJPcHRpb25zOiB7XG4gICAgICAgIC4uLm9wdGlvbnMucHJldHRpZXJPcHRpb25zLFxuICAgICAgICBzZXR0aW5nczoge1xuICAgICAgICAgIHNlbWk6IGZhbHNlLFxuICAgICAgICAgIHByaW50V2lkdGg6IDEwMCxcbiAgICAgICAgICBzaW5nbGVRdW90ZTogZmFsc2UsXG4gICAgICAgICAgLi4ub3B0aW9ucy5wcmV0dGllck9wdGlvbnM/LnNldHRpbmdzXG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgIGplc3RPcHRpb25zOiB7XG4gICAgICAgIGNvbmZpZ0ZpbGVQYXRoOiBcImplc3QuY29uZmlnLmpzb25cIixcbiAgICAgICAgamVzdENvbmZpZzoge1xuICAgICAgICAgIHRlc3RNYXRjaDogW1wiPHJvb3REaXI+Lyh0ZXN0L3VuaXR8c3JjKS8qKi8qKCouKUAoc3BlY3x0ZXN0KS50cz8oeClcIl0sXG4gICAgICAgICAgdHJhbnNmb3JtOiB7XG4gICAgICAgICAgICBcIl4uK1xcXFwudHN4PyRcIjogbmV3IGphdmFzY3JpcHQuVHJhbnNmb3JtKFwidHMtamVzdFwiLCB7XG4gICAgICAgICAgICAgIHRzY29uZmlnOiBcInRzY29uZmlnLmRldi5qc29uXCJcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcblxuICAgIG5ldyBGaWxlcyh0aGlzLCBjbGFzc05hbWUsIGZpbGVCYXNlLCBpbmZlcnJlZE5hbWUpXG5cbiAgICAvLyBFbmZvcmNlIEVTTGludCBzdHlsZTogZG91YmxlIHF1b3RlcyBhbmQgbm8gc2VtaWNvbG9uc1xuICAgIHRoaXMuZXNsaW50Py5hZGRSdWxlcyh7XG4gICAgICBcIkBzdHlsaXN0aWMvcXVvdGVzXCI6IFtcImVycm9yXCIsIFwiZG91YmxlXCIsIHsgYXZvaWRFc2NhcGU6IHRydWUgfV0sXG4gICAgICBcIkBzdHlsaXN0aWMvc2VtaVwiOiBbXCJlcnJvclwiLCBcIm5ldmVyXCJdLFxuICAgICAgXCJAc3R5bGlzdGljL2NvbnNpc3RlbnQtcXVvdGVzXCI6IFtcIm9mZlwiXSxcbiAgICAgIFwiQHN0eWxpc3RpYy9tZW1iZXItZGVsaW1pdGVyLXN0eWxlXCI6IFtcIm9mZlwiXSxcbiAgICAgIFwiQHN0eWxpc3RpYy9jb21tYS1kYW5nbGVcIjogW1wiZXJyb3JcIiwgXCJuZXZlclwiXSxcbiAgICAgIFwiQHN0eWxpc3RpYy9tYXgtbGVuXCI6IFtcbiAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICB7XG4gICAgICAgICAgY29kZTogMTAwLFxuICAgICAgICAgIGlnbm9yZVVybHM6IHRydWUsXG4gICAgICAgICAgaWdub3JlU3RyaW5nczogdHJ1ZSxcbiAgICAgICAgICBpZ25vcmVUZW1wbGF0ZUxpdGVyYWxzOiB0cnVlLFxuICAgICAgICAgIGlnbm9yZUNvbW1lbnRzOiB0cnVlLFxuICAgICAgICAgIGlnbm9yZVJlZ0V4cExpdGVyYWxzOiB0cnVlXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9KVxuXG4gICAgd29ya2Zsb3codGhpcylcblxuICAgIHRoaXMuYWRkVGFzayhcImRlcGxveTp3YXRjaFwiLCB7XG4gICAgICBleGVjOiBcImNkayBkZXBsb3kgLS1hbGwgLS1tZXRob2Q9ZGlyZWN0IC0tb3V0cHV0cy1maWxlPXRlc3Qub3V0cHV0Lmpzb24gLS13YXRjaCAtLWhvdHN3YXAtZmFsbGJhY2sgLS1yZXF1aXJlLWFwcHJvdmFsPW5ldmVyXCIsXG4gICAgICByZWNlaXZlQXJnczogdHJ1ZVxuICAgIH0pXG4gICAgdGhpcy5hZGRUYXNrKFwidGVzdDplMmVcIiwge1xuICAgICAgZXhlYzogXCJqZXN0IC0tY29uZmlnIGplc3QuZTJlLmNvbmZpZy5qc29uIC0tcnVuSW5CYW5kIC0tcGFzc1dpdGhOb1Rlc3RzXCJcbiAgICB9KVxuXG4gICAgbmV3IGphdmFzY3JpcHQuSmVzdCh0aGlzLCB7XG4gICAgICBjb25maWdGaWxlUGF0aDogXCJqZXN0LmludGVnLmNvbmZpZy5qc29uXCIsXG4gICAgICBqZXN0Q29uZmlnOiB7XG4gICAgICAgIGNvbGxlY3RDb3ZlcmFnZTogZmFsc2UsXG4gICAgICAgIHRlc3RNYXRjaDogW1xuICAgICAgICAgIFwiPHJvb3REaXI+L3Rlc3QvaW50ZWcvKiovKigqLilAKHNwZWN8dGVzdCkudHM/KHgpXCIsXG4gICAgICAgICAgXCI8cm9vdERpcj4vKHRlc3R8c3JjKS8qKi8qKCouKUAoaW50ZWcpLnRzPyh4KVwiXG4gICAgICAgIF0sXG4gICAgICAgIC4uLmRlZmF1bHRKZXN0Q29uZmlnXG4gICAgICB9XG4gICAgfSlcblxuICAgIG5ldyBqYXZhc2NyaXB0Lkplc3QodGhpcywge1xuICAgICAgY29uZmlnRmlsZVBhdGg6IFwiamVzdC5lMmUuY29uZmlnLmpzb25cIixcbiAgICAgIGplc3RDb25maWc6IHtcbiAgICAgICAgY29sbGVjdENvdmVyYWdlOiBmYWxzZSxcbiAgICAgICAgdGVzdE1hdGNoOiBbXG4gICAgICAgICAgXCI8cm9vdERpcj4vdGVzdC9lMmUvKiovKigqLilAKHNwZWN8dGVzdCkudHM/KHgpXCIsXG4gICAgICAgICAgXCI8cm9vdERpcj4vKHRlc3R8c3JjKS8qKi8qKCouKUAoZTJlKS50cz8oeClcIlxuICAgICAgICBdLFxuICAgICAgICAuLi5kZWZhdWx0SmVzdENvbmZpZ1xuICAgICAgfVxuICAgIH0pXG5cbiAgICBuZXcgU2FtcGxlRmlsZSh0aGlzLCBcInRlc3Qvc2V0dXAudHNcIiwge1xuICAgICAgY29udGVudHM6IGBqZXN0LnNldFRpbWVvdXQoMTAwMDApXG5gXG4gICAgfSlcbiAgfVxufVxuXG5mdW5jdGlvbiBpbmZlck5hbWVGcm9tR2l0KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHRyeSB7XG4gICAgY29uc3QgcmVtb3RlID0gY3BcbiAgICAgIC5leGVjU3luYyhcImdpdCBjb25maWcgLS1nZXQgcmVtb3RlLm9yaWdpbi51cmxcIiwge1xuICAgICAgICBzdGRpbzogW1wiaWdub3JlXCIsIFwicGlwZVwiLCBcImlnbm9yZVwiXVxuICAgICAgfSlcbiAgICAgIC50b1N0cmluZygpXG4gICAgICAudHJpbSgpXG4gICAgaWYgKCFyZW1vdGUpIHJldHVybiB1bmRlZmluZWRcbiAgICBjb25zdCBtYXRjaCA9IHJlbW90ZS5tYXRjaCgvXFwvKFteXFwvXSs/KSg/OlxcLmdpdCk/JC8pXG4gICAgcmV0dXJuIG1hdGNoPy5bMV1cbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG59XG5cbmZ1bmN0aW9uIGluZmVyTmFtZUZyb21Dd2QoKTogc3RyaW5nIHtcbiAgcmV0dXJuIHBhdGguYmFzZW5hbWUocHJvY2Vzcy5jd2QoKSlcbn1cblxuZnVuY3Rpb24gdG9QYXNjYWxDYXNlKGlucHV0OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gaW5wdXRcbiAgICAucmVwbGFjZSgvW15hLXpBLVowLTldKy9nLCBcIiBcIilcbiAgICAuc3BsaXQoXCIgXCIpXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5tYXAoKHBhcnQpID0+IHBhcnQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBwYXJ0LnNsaWNlKDEpLnRvTG93ZXJDYXNlKCkpXG4gICAgLmpvaW4oXCJcIilcbn1cbiJdfQ==
package/lib/files.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import { Component } from "projen";
2
+ import { Projalf } from "./Projalf";
3
+ export declare class Files extends Component {
4
+ private appProject;
5
+ constructor(appProject: Projalf, className: string, fileBase: string, inferredName: string);
6
+ }
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
@@ -0,0 +1,2 @@
1
+ import { Projalf } from "./Projalf";
2
+ export declare function workflow(project: Projalf): void;
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3dzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3dvcmtmbG93cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLDRCQTJJQztBQTlJRCx1RUFBaUU7QUFHakUsU0FBZ0IsUUFBUSxDQUFDLE9BQWdCO0lBQ3ZDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxNQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBRXpELFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDZCxXQUFXLEVBQUUsRUFBRTtRQUNmLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFO0tBQzdCLENBQUMsQ0FBQTtJQUVGLE1BQU0sV0FBVyxHQUFHO1FBQ2xCLE1BQU0sRUFBRSxDQUFDLGVBQWUsQ0FBQztRQUN6QixXQUFXLEVBQUU7WUFDWCxRQUFRLEVBQUUsK0JBQWEsQ0FBQyxLQUFLO1lBQzdCLE9BQU8sRUFBRSwrQkFBYSxDQUFDLEtBQUs7U0FDN0I7UUFDRCxLQUFLLEVBQUU7WUFDTCxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFO1lBQ2pEO2dCQUNFLElBQUksRUFBRSxlQUFlO2dCQUNyQixJQUFJLEVBQUUsdUJBQXVCO2dCQUM3QixJQUFJLEVBQUUsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFO2FBQy9CO1lBQ0QsRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRTtTQUNoRDtLQUNGLENBQUE7SUFFRCxZQUFZLENBQUMsT0FBTyxDQUFDO1FBQ25CLElBQUksRUFBRTtZQUNKLEdBQUcsV0FBVztZQUNkLEtBQUssRUFBRTtnQkFDTCxHQUFHLFdBQVcsQ0FBQyxLQUFLO2dCQUNwQjtvQkFDRSxJQUFJLEVBQUUsa0NBQWtDO29CQUN4QyxJQUFJLEVBQUUsMENBQTBDO29CQUNoRCxJQUFJLEVBQUU7d0JBQ0osbUJBQW1CLEVBQUUsdUNBQXVDO3dCQUM1RCx1QkFBdUIsRUFDckIsMkNBQTJDO3dCQUM3QyxZQUFZLEVBQUUsNkNBQTZDO3FCQUM1RDtpQkFDRjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsMEJBQTBCO29CQUNoQyxFQUFFLEVBQUUsT0FBTztvQkFDWCxHQUFHLEVBQUUsb0VBQW9FO2lCQUMxRTtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsbUJBQW1CO29CQUN6QixHQUFHLEVBQUUseUhBQXlIO29CQUM5SCxHQUFHLEVBQUU7d0JBQ0gsa0JBQWtCLEVBQUUsaUNBQWlDO3dCQUNyRCxpQkFBaUIsRUFBRSw2Q0FBNkM7cUJBQ2pFO2lCQUNGO2dCQUNEO29CQUNFLElBQUksRUFBRSw0Q0FBNEM7b0JBQ2xELElBQUksRUFBRSwwQ0FBMEM7b0JBQ2hELElBQUksRUFBRTt3QkFDSixnQkFBZ0IsRUFDZCx1RUFBdUU7d0JBQ3pFLFlBQVksRUFBRSw2Q0FBNkM7cUJBQzVEO2lCQUNGO2dCQUNEO29CQUNFLElBQUksRUFBRSx3QkFBd0I7b0JBQzlCLEdBQUcsRUFBRSw2QkFBNkI7aUJBQ25DO2dCQUNEO29CQUNFLElBQUksRUFBRSw0QkFBNEI7b0JBQ2xDLEdBQUcsRUFBRSx3REFBd0Q7aUJBQzlEO2dCQUNEO29CQUNFLElBQUksRUFBRSxlQUFlO29CQUNyQixHQUFHLEVBQUUsa0JBQWtCO29CQUN2QixHQUFHLEVBQUU7d0JBQ0gsS0FBSyxFQUFFLHFDQUFxQztxQkFDN0M7aUJBQ0Y7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLG9CQUFvQjtvQkFDMUIsRUFBRSxFQUFFLFVBQVU7b0JBQ2QsR0FBRyxFQUFFLHlFQUF5RTtvQkFDOUUsR0FBRyxFQUFFO3dCQUNILGtCQUFrQixFQUFFLGlDQUFpQzt3QkFDckQsaUJBQWlCLEVBQUUsNkNBQTZDO3FCQUNqRTtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxVQUFVLEVBQUU7WUFDVixHQUFHLFdBQVc7WUFDZCxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDZixFQUFFLEVBQUUscUNBQXFDO1lBQ3pDLEtBQUssRUFBRTtnQkFDTCxHQUFHLFdBQVcsQ0FBQyxLQUFLO2dCQUNwQjtvQkFDRSxJQUFJLEVBQUUsMkJBQTJCO29CQUNqQyxJQUFJLEVBQUUsMENBQTBDO29CQUNoRCxJQUFJLEVBQUU7d0JBQ0osbUJBQW1CLEVBQUUsa0NBQWtDO3dCQUN2RCx1QkFBdUIsRUFBRSxzQ0FBc0M7d0JBQy9ELFlBQVksRUFBRSw2Q0FBNkM7cUJBQzVEO2lCQUNGO2dCQUNEO29CQUNFLElBQUksRUFBRSxZQUFZO29CQUNsQixHQUFHLEVBQUUseUZBQXlGO29CQUM5RixHQUFHLEVBQUU7d0JBQ0gsa0JBQWtCLEVBQUUsZ0NBQWdDO3dCQUNwRCxpQkFBaUIsRUFBRSw2Q0FBNkM7cUJBQ2pFO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELFdBQVcsRUFBRTtZQUNYLEdBQUcsV0FBVztZQUNkLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNmLEVBQUUsRUFBRSxnRUFBZ0U7WUFDcEUsS0FBSyxFQUFFO2dCQUNMLEdBQUcsV0FBVyxDQUFDLEtBQUs7Z0JBQ3BCO29CQUNFLElBQUksRUFBRSwyQkFBMkI7b0JBQ2pDLElBQUksRUFBRSwwQ0FBMEM7b0JBQ2hELElBQUksRUFBRTt3QkFDSixtQkFBbUIsRUFBRSxrQ0FBa0M7d0JBQ3ZELHVCQUF1QixFQUFFLHNDQUFzQzt3QkFDL0QsWUFBWSxFQUFFLDZDQUE2QztxQkFDNUQ7aUJBQ0Y7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLGFBQWE7b0JBQ25CLEdBQUcsRUFBRSwwRkFBMEY7b0JBQy9GLEdBQUcsRUFBRTt3QkFDSCxrQkFBa0IsRUFBRSxpQ0FBaUM7d0JBQ3JELGlCQUFpQixFQUFFLDZDQUE2QztxQkFDakU7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEpvYlBlcm1pc3Npb24gfSBmcm9tIFwicHJvamVuL2xpYi9naXRodWIvd29ya2Zsb3dzLW1vZGVsXCJcbmltcG9ydCB7IFByb2phbGYgfSBmcm9tIFwiLi9Qcm9qYWxmXCJcblxuZXhwb3J0IGZ1bmN0aW9uIHdvcmtmbG93KHByb2plY3Q6IFByb2phbGYpIHtcbiAgY29uc3QgY2ljZFdvcmtmbG93ID0gcHJvamVjdC5naXRodWIhLmFkZFdvcmtmbG93KFwiY2ktY2RcIilcblxuICBjaWNkV29ya2Zsb3cub24oe1xuICAgIHB1bGxSZXF1ZXN0OiB7fSxcbiAgICBwdXNoOiB7IGJyYW5jaGVzOiBbXCJtYWluXCJdIH1cbiAgfSlcblxuICBjb25zdCBqb2JEZWZhdWx0cyA9IHtcbiAgICBydW5zT246IFtcInVidW50dS1sYXRlc3RcIl0sXG4gICAgcGVybWlzc2lvbnM6IHtcbiAgICAgIGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgaWRUb2tlbjogSm9iUGVybWlzc2lvbi5XUklURVxuICAgIH0sXG4gICAgc3RlcHM6IFtcbiAgICAgIHsgbmFtZTogXCJDaGVja291dFwiLCB1c2VzOiBcImFjdGlvbnMvY2hlY2tvdXRAdjRcIiB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIlNldHVwIE5vZGUuanNcIixcbiAgICAgICAgdXNlczogXCJhY3Rpb25zL3NldHVwLW5vZGVAdjRcIixcbiAgICAgICAgd2l0aDogeyBcIm5vZGUtdmVyc2lvblwiOiBcIjIwXCIgfVxuICAgICAgfSxcbiAgICAgIHsgbmFtZTogXCJJbnN0YWxsIGRlcGVuZGVuY2llc1wiLCBydW46IFwibnBtIGNpXCIgfVxuICAgIF1cbiAgfVxuXG4gIGNpY2RXb3JrZmxvdy5hZGRKb2JzKHtcbiAgICB0ZXN0OiB7XG4gICAgICAuLi5qb2JEZWZhdWx0cyxcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIC4uLmpvYkRlZmF1bHRzLnN0ZXBzLFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJDb25maWd1cmUgQVdTIGNyZWRlbnRpYWxzICh0ZXN0KVwiLFxuICAgICAgICAgIHVzZXM6IFwiYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0B2NFwiLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgIFwiYXdzLWFjY2Vzcy1rZXktaWRcIjogXCIke3sgc2VjcmV0cy5URVNUX0FXU19BQ0NFU1NfS0VZX0lEIH19XCIsXG4gICAgICAgICAgICBcImF3cy1zZWNyZXQtYWNjZXNzLWtleVwiOlxuICAgICAgICAgICAgICBcIiR7eyBzZWNyZXRzLlRFU1RfQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZIH19XCIsXG4gICAgICAgICAgICBcImF3cy1yZWdpb25cIjogXCIke3sgc2VjcmV0cy5BV1NfUkVHSU9OIHx8ICdldS1jZW50cmFsLTEnIH19XCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcIkdlbmVyYXRlIHJhbmRvbSBzdGFnZSBJRFwiLFxuICAgICAgICAgIGlkOiBcInN0YWdlXCIsXG4gICAgICAgICAgcnVuOiAnZWNobyBcIlNUQUdFX0lEPXRlc3QtJChzaHVmIC1pIDEwMDAwLTk5OTk5IC1uIDEpXCIgPj4gJEdJVEhVQl9PVVRQVVQnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcIkRlcGxveSBUZXN0IFN0YWNrXCIsXG4gICAgICAgICAgcnVuOiBcIm5wbSBydW4gZGVwbG95IC0tIC1jIHN0YWdlPSR7eyBzdGVwcy5zdGFnZS5vdXRwdXRzLlNUQUdFX0lEIH19IC0tcmVxdWlyZS1hcHByb3ZhbCBuZXZlciAtLW91dHB1dHMtZmlsZT10ZXN0Lm91dHB1dC5qc29uXCIsXG4gICAgICAgICAgZW52OiB7XG4gICAgICAgICAgICBDREtfREVQTE9ZX0FDQ09VTlQ6IFwiJHt7IHNlY3JldHMuQVdTX1RFU1RfQUNDT1VOVCB9fVwiLFxuICAgICAgICAgICAgQ0RLX0RFUExPWV9SRUdJT046IFwiJHt7IHNlY3JldHMuQVdTX1JFR0lPTiB8fCAnZXUtY2VudHJhbC0xJyB9fVwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJDb25maWd1cmUgQVdTIGNyZWRlbnRpYWxzIGZvciB0ZXN0IGFjY291bnRcIixcbiAgICAgICAgICB1c2VzOiBcImF3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAdjFcIixcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICBcInJvbGUtdG8tYXNzdW1lXCI6XG4gICAgICAgICAgICAgIFwiYXJuOmF3czppYW06OiR7eyBzZWNyZXRzLkFXU19URVNUX0FDQ09VTlQgfX06cm9sZS9naXRodWItYWN0aW9ucy1yb2xlXCIsXG4gICAgICAgICAgICBcImF3cy1yZWdpb25cIjogXCIke3sgc2VjcmV0cy5BV1NfUkVHSU9OIHx8ICdldS1jZW50cmFsLTEnIH19XCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcIlZlcmlmeSBpZGVudGl0eSAoVEVTVClcIixcbiAgICAgICAgICBydW46IFwiYXdzIHN0cyBnZXQtY2FsbGVyLWlkZW50aXR5XCJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiVmVyaWZ5IElvVCBlbmRwb2ludCAoVEVTVClcIixcbiAgICAgICAgICBydW46IFwiYXdzIGlvdCBkZXNjcmliZS1lbmRwb2ludCAtLWVuZHBvaW50LXR5cGUgaW90OkRhdGEtQVRTXCJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiUnVuIEUyRSBUZXN0c1wiLFxuICAgICAgICAgIHJ1bjogXCJucG0gcnVuIHRlc3Q6ZTJlXCIsXG4gICAgICAgICAgZW52OiB7XG4gICAgICAgICAgICBTVEFHRTogXCIke3sgc3RlcHMuc3RhZ2Uub3V0cHV0cy5TVEFHRV9JRCB9fVwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJEZXN0cm95IFRlc3QgU3RhY2tcIixcbiAgICAgICAgICBpZjogXCJhbHdheXMoKVwiLFxuICAgICAgICAgIHJ1bjogXCJucG0gcnVuIGRlc3Ryb3kgLS0gLWMgc3RhZ2U9JHt7IHN0ZXBzLnN0YWdlLm91dHB1dHMuU1RBR0VfSUQgfX0gLS1mb3JjZVwiLFxuICAgICAgICAgIGVudjoge1xuICAgICAgICAgICAgQ0RLX0RFUExPWV9BQ0NPVU5UOiBcIiR7eyBzZWNyZXRzLkFXU19URVNUX0FDQ09VTlQgfX1cIixcbiAgICAgICAgICAgIENES19ERVBMT1lfUkVHSU9OOiBcIiR7eyBzZWNyZXRzLkFXU19SRUdJT04gfHwgJ2V1LWNlbnRyYWwtMScgfX1cIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAgZGVwbG95X2Rldjoge1xuICAgICAgLi4uam9iRGVmYXVsdHMsXG4gICAgICBuZWVkczogW1widGVzdFwiXSxcbiAgICAgIGlmOiBcImdpdGh1Yi5ldmVudF9uYW1lID09ICdwdWxsX3JlcXVlc3QnXCIsXG4gICAgICBzdGVwczogW1xuICAgICAgICAuLi5qb2JEZWZhdWx0cy5zdGVwcyxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiQ29uZmlndXJlIEFXUyBjcmVkZW50aWFsc1wiLFxuICAgICAgICAgIHVzZXM6IFwiYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0B2NFwiLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgIFwiYXdzLWFjY2Vzcy1rZXktaWRcIjogXCIke3sgc2VjcmV0cy5BV1NfQUNDRVNTX0tFWV9JRCB9fVwiLFxuICAgICAgICAgICAgXCJhd3Mtc2VjcmV0LWFjY2Vzcy1rZXlcIjogXCIke3sgc2VjcmV0cy5BV1NfU0VDUkVUX0FDQ0VTU19LRVkgfX1cIixcbiAgICAgICAgICAgIFwiYXdzLXJlZ2lvblwiOiBcIiR7eyBzZWNyZXRzLkFXU19SRUdJT04gfHwgJ2V1LWNlbnRyYWwtMScgfX1cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiRGVwbG95IERldlwiLFxuICAgICAgICAgIHJ1bjogXCJucG0gcnVuIGRlcGxveSAtLSAtYyBzdGFnZT1kZXYgLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyIC0tb3V0cHV0cy1maWxlPXRlc3Qub3V0cHV0Lmpzb25cIixcbiAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgIENES19ERVBMT1lfQUNDT1VOVDogXCIke3sgc2VjcmV0cy5BV1NfREVWX0FDQ09VTlQgfX1cIixcbiAgICAgICAgICAgIENES19ERVBMT1lfUkVHSU9OOiBcIiR7eyBzZWNyZXRzLkFXU19SRUdJT04gfHwgJ2V1LWNlbnRyYWwtMScgfX1cIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAgZGVwbG95X3Byb2Q6IHtcbiAgICAgIC4uLmpvYkRlZmF1bHRzLFxuICAgICAgbmVlZHM6IFtcInRlc3RcIl0sXG4gICAgICBpZjogXCJnaXRodWIucmVmID09ICdyZWZzL2hlYWRzL21haW4nICYmIGdpdGh1Yi5ldmVudF9uYW1lID09ICdwdXNoJ1wiLFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAgLi4uam9iRGVmYXVsdHMuc3RlcHMsXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcIkNvbmZpZ3VyZSBBV1MgY3JlZGVudGlhbHNcIixcbiAgICAgICAgICB1c2VzOiBcImF3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAdjRcIixcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICBcImF3cy1hY2Nlc3Mta2V5LWlkXCI6IFwiJHt7IHNlY3JldHMuQVdTX0FDQ0VTU19LRVlfSUQgfX1cIixcbiAgICAgICAgICAgIFwiYXdzLXNlY3JldC1hY2Nlc3Mta2V5XCI6IFwiJHt7IHNlY3JldHMuQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZIH19XCIsXG4gICAgICAgICAgICBcImF3cy1yZWdpb25cIjogXCIke3sgc2VjcmV0cy5BV1NfUkVHSU9OIHx8ICdldS1jZW50cmFsLTEnIH19XCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcIkRlcGxveSBQcm9kXCIsXG4gICAgICAgICAgcnVuOiBcIm5wbSBydW4gZGVwbG95IC0tIC1jIHN0YWdlPXByb2QgLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyIC0tb3V0cHV0cy1maWxlPXRlc3Qub3V0cHV0Lmpzb25cIixcbiAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgIENES19ERVBMT1lfQUNDT1VOVDogXCIke3sgc2VjcmV0cy5BV1NfUFJPRF9BQ0NPVU5UIH19XCIsXG4gICAgICAgICAgICBDREtfREVQTE9ZX1JFR0lPTjogXCIke3sgc2VjcmV0cy5BV1NfUkVHSU9OIHx8ICdldS1jZW50cmFsLTEnIH19XCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9XG4gIH0pXG59XG4iXX0=
package/package.json CHANGED
@@ -65,7 +65,7 @@
65
65
  "publishConfig": {
66
66
  "access": "public"
67
67
  },
68
- "version": "0.0.33",
68
+ "version": "0.0.34",
69
69
  "jest": {
70
70
  "coverageProvider": "v8",
71
71
  "testMatch": [