@nikovirtala/projen-constructs 0.0.2 → 0.0.4

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.
Files changed (52) hide show
  1. package/.jsii +4114 -18
  2. package/API.md +257 -257
  3. package/README.md +137 -23
  4. package/lib/components/bundle-lambda-function-code.d.ts +62 -0
  5. package/lib/components/bundle-lambda-function-code.js +175 -0
  6. package/lib/components/colima.d.ts +5 -0
  7. package/lib/components/colima.js +22 -0
  8. package/lib/components/homebrew.d.ts +12 -0
  9. package/lib/components/homebrew.js +42 -0
  10. package/lib/components/index.d.ts +7 -0
  11. package/lib/components/index.js +24 -0
  12. package/lib/components/lambda-function-construct-generator.d.ts +30 -0
  13. package/lib/components/lambda-function-construct-generator.js +195 -0
  14. package/lib/components/localstack.d.ts +11 -0
  15. package/lib/components/localstack.js +42 -0
  16. package/lib/components/typedoc-config.d.ts +78 -0
  17. package/lib/components/typedoc-config.js +93 -0
  18. package/lib/components/typedoc.d.ts +18 -0
  19. package/lib/components/typedoc.js +58 -0
  20. package/lib/components/vitest-bundled-define-config.d.ts +1 -0
  21. package/lib/components/vitest-bundled-define-config.js +6 -0
  22. package/lib/components/vitest.d.ts +87 -0
  23. package/lib/components/vitest.js +204 -0
  24. package/lib/config.d.ts +61 -76
  25. package/lib/config.js +28 -7
  26. package/lib/index.d.ts +1 -4
  27. package/lib/index.js +2 -5
  28. package/lib/projects/awscdk-app.js +38 -0
  29. package/lib/{awscdk-construct-project.d.ts → projects/awscdk-construct.d.ts} +1 -1
  30. package/lib/projects/awscdk-construct.js +38 -0
  31. package/lib/projects/index.d.ts +4 -0
  32. package/lib/projects/index.js +21 -0
  33. package/lib/projects/jsii.js +38 -0
  34. package/lib/projects/typescript.js +39 -0
  35. package/node_modules/case/LICENSE +22 -0
  36. package/node_modules/case/README.md +139 -0
  37. package/node_modules/case/case.d.ts +43 -0
  38. package/node_modules/case/dist/Case.js +171 -0
  39. package/node_modules/case/dist/Case.min.js +5 -0
  40. package/node_modules/case/dist/Case.min.js.map +1 -0
  41. package/node_modules/case/dist/Case.plus.js +189 -0
  42. package/node_modules/case/dist/Case.plus.min.js +5 -0
  43. package/node_modules/case/dist/Case.plus.min.js.map +1 -0
  44. package/node_modules/case/package.json +58 -0
  45. package/package.json +10 -2
  46. package/lib/awscdk-app-project.js +0 -38
  47. package/lib/awscdk-construct-project.js +0 -38
  48. package/lib/jsii-project.js +0 -38
  49. package/lib/typescript-project.js +0 -39
  50. /package/lib/{awscdk-app-project.d.ts → projects/awscdk-app.d.ts} +0 -0
  51. /package/lib/{jsii-project.d.ts → projects/jsii.d.ts} +0 -0
  52. /package/lib/{typescript-project.d.ts → projects/typescript.d.ts} +0 -0
@@ -0,0 +1,87 @@
1
+ import { Component } from "projen/lib/component";
2
+ import { type NodeProject } from "projen/lib/javascript";
3
+ export declare enum Environment {
4
+ EDGE_RUNTIME = "edge-runtime",
5
+ HAPPY_DOM = "happy-dom",
6
+ JSDOM = "jsdom",
7
+ NODE = "node"
8
+ }
9
+ export declare enum Pool {
10
+ FORKS = "forks",
11
+ THREADS = "threads",
12
+ VMFORKS = "vmforks",
13
+ VMTHREADS = "vmthreads"
14
+ }
15
+ export declare enum CoverageProvider {
16
+ ISTANBUL = "istanbul",
17
+ V8 = "v8"
18
+ }
19
+ export declare enum CoverageReporter {
20
+ CLOVER = "clover",
21
+ HTML = "html",
22
+ JSON = "json",
23
+ LCOV = "lcov",
24
+ TEXT = "text"
25
+ }
26
+ export interface VitestConfigOptions {
27
+ readonly include?: Array<string>;
28
+ readonly exclude?: Array<string>;
29
+ readonly environment?: Environment;
30
+ readonly isolate?: boolean;
31
+ readonly pool?: Pool;
32
+ readonly globals?: boolean;
33
+ readonly coverageEnabled?: boolean;
34
+ readonly coverageProvider?: CoverageProvider;
35
+ readonly coverageReporters?: Array<CoverageReporter>;
36
+ readonly coverageDirectory?: string;
37
+ readonly typecheckEnabled?: boolean;
38
+ readonly typecheckChecker?: string;
39
+ readonly typecheckTsconfig?: string;
40
+ readonly passWithNoTests?: boolean;
41
+ readonly bail?: number;
42
+ readonly updateSnapshots?: boolean;
43
+ readonly printConsoleTrace?: boolean;
44
+ readonly slowTestThreshold?: number;
45
+ }
46
+ export interface VitestOptions {
47
+ readonly configFilePath?: string;
48
+ readonly config?: VitestConfigOptions;
49
+ readonly vitestVersion?: string;
50
+ }
51
+ export declare class Vitest extends Component {
52
+ static of(project: NodeProject): Vitest | undefined;
53
+ private readonly configFilePath;
54
+ private readonly include;
55
+ private readonly exclude;
56
+ private readonly isolate;
57
+ private readonly pool;
58
+ private readonly coverageEnabled;
59
+ private readonly typecheckEnabled;
60
+ private readonly typecheckChecker;
61
+ private readonly typecheckTsconfig;
62
+ private readonly passWithNoTests;
63
+ private readonly bail;
64
+ private readonly updateSnapshots;
65
+ private environment;
66
+ private globals;
67
+ private coverageProvider;
68
+ private coverageReporters;
69
+ private coverageDirectory;
70
+ private version;
71
+ private readonly printConsoleTrace;
72
+ private readonly slowTestThreshold;
73
+ constructor(project: NodeProject, options?: VitestOptions);
74
+ preSynthesize(): void;
75
+ addInclude(pattern: string): void;
76
+ addExclude(pattern: string): void;
77
+ configureEnvironment(environment: Environment): void;
78
+ configureCoverageProvider(provider: CoverageProvider): void;
79
+ configureCoverageReporters(reporters: Array<CoverageReporter>): void;
80
+ configureGlobals(): void;
81
+ private updateTsConfig;
82
+ private isTypescriptProject;
83
+ private addTestCommand;
84
+ private synthesizeConfig;
85
+ private renderConfig;
86
+ private renderTestOptions;
87
+ }
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Vitest = exports.CoverageReporter = exports.CoverageProvider = exports.Pool = exports.Environment = void 0;
4
+ const path = require("node:path");
5
+ const component_1 = require("projen/lib/component");
6
+ const dependencies_1 = require("projen/lib/dependencies");
7
+ const javascript_1 = require("projen/lib/javascript");
8
+ const textfile_1 = require("projen/lib/textfile");
9
+ var Environment;
10
+ (function (Environment) {
11
+ Environment["EDGE_RUNTIME"] = "edge-runtime";
12
+ Environment["HAPPY_DOM"] = "happy-dom";
13
+ Environment["JSDOM"] = "jsdom";
14
+ Environment["NODE"] = "node";
15
+ })(Environment || (exports.Environment = Environment = {}));
16
+ var Pool;
17
+ (function (Pool) {
18
+ Pool["FORKS"] = "forks";
19
+ Pool["THREADS"] = "threads";
20
+ Pool["VMFORKS"] = "vmforks";
21
+ Pool["VMTHREADS"] = "vmthreads";
22
+ })(Pool || (exports.Pool = Pool = {}));
23
+ var CoverageProvider;
24
+ (function (CoverageProvider) {
25
+ CoverageProvider["ISTANBUL"] = "istanbul";
26
+ CoverageProvider["V8"] = "v8";
27
+ })(CoverageProvider || (exports.CoverageProvider = CoverageProvider = {}));
28
+ var CoverageReporter;
29
+ (function (CoverageReporter) {
30
+ CoverageReporter["CLOVER"] = "clover";
31
+ CoverageReporter["HTML"] = "html";
32
+ CoverageReporter["JSON"] = "json";
33
+ CoverageReporter["LCOV"] = "lcov";
34
+ CoverageReporter["TEXT"] = "text";
35
+ })(CoverageReporter || (exports.CoverageReporter = CoverageReporter = {}));
36
+ class Vitest extends component_1.Component {
37
+ static of(project) {
38
+ const isVitest = (c) => c instanceof Vitest;
39
+ return project.components.find(isVitest);
40
+ }
41
+ constructor(project, options = {}) {
42
+ super(project);
43
+ this.configFilePath = options.configFilePath ?? "vitest.config.ts";
44
+ this.include = new Set(options.config?.include ?? ["**/*.{test,spec}.?(c|m)[jt]s?(x)"]);
45
+ this.exclude = new Set(options.config?.exclude ?? [
46
+ "**/node_modules/**",
47
+ "**/dist/**",
48
+ "**/cypress/**",
49
+ "**/.{idea,git,cache,output,temp}/**",
50
+ "**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*",
51
+ ]);
52
+ this.isolate = options.config?.isolate ?? true;
53
+ this.pool = options.config?.pool ?? Pool.FORKS;
54
+ this.coverageEnabled = options.config?.coverageEnabled ?? true;
55
+ this.typecheckEnabled = options.config?.typecheckEnabled ?? this.isTypescriptProject();
56
+ this.typecheckChecker = options.config?.typecheckChecker ?? "tsc --noEmit";
57
+ this.typecheckTsconfig = options.config?.typecheckTsconfig ?? "tsconfig.dev.json";
58
+ this.passWithNoTests = options.config?.passWithNoTests ?? true;
59
+ this.bail = options.config?.bail ?? 0;
60
+ this.environment = options.config?.environment ?? Environment.NODE;
61
+ this.globals = options.config?.globals ?? false;
62
+ this.coverageProvider = options.config?.coverageProvider ?? CoverageProvider.V8;
63
+ this.coverageReporters = options.config?.coverageReporters ?? [CoverageReporter.TEXT, CoverageReporter.LCOV];
64
+ this.coverageDirectory = options.config?.coverageDirectory ?? "coverage";
65
+ this.version = options.vitestVersion ?? "^4";
66
+ this.updateSnapshots = options.config?.updateSnapshots ?? true;
67
+ this.printConsoleTrace = options.config?.printConsoleTrace ?? true;
68
+ this.slowTestThreshold = options.config?.slowTestThreshold ?? 300;
69
+ project.addDevDeps(`vitest@${this.version}`);
70
+ this.configureCoverageProvider(this.coverageProvider);
71
+ if (this.globals && this.isTypescriptProject() && this.project.tryFindObjectFile(this.typecheckTsconfig)) {
72
+ this.configureGlobals();
73
+ }
74
+ const coverageDirectoryPath = path.posix.join("/", this.coverageDirectory, "/");
75
+ project.npmignore?.exclude(coverageDirectoryPath);
76
+ project.gitignore.exclude(coverageDirectoryPath);
77
+ this.addTestCommand();
78
+ this.synthesizeConfig();
79
+ }
80
+ preSynthesize() {
81
+ super.preSynthesize();
82
+ for (const component of this.project.components) {
83
+ if (component instanceof javascript_1.Jest) {
84
+ throw new Error("vitest cannot be used together with jest");
85
+ }
86
+ }
87
+ }
88
+ addInclude(pattern) {
89
+ this.include.add(pattern);
90
+ this.synthesizeConfig();
91
+ }
92
+ addExclude(pattern) {
93
+ this.exclude.add(pattern);
94
+ this.synthesizeConfig();
95
+ }
96
+ configureEnvironment(environment) {
97
+ this.environment = environment;
98
+ this.synthesizeConfig();
99
+ }
100
+ configureCoverageProvider(provider) {
101
+ const providerPackages = {
102
+ [CoverageProvider.V8]: `@vitest/coverage-v8@${this.version}`,
103
+ [CoverageProvider.ISTANBUL]: `@vitest/coverage-istanbul@${this.version}`,
104
+ };
105
+ for (const providerPackage of Object.values(providerPackages)) {
106
+ try {
107
+ this.project.deps.removeDependency(providerPackage);
108
+ }
109
+ catch {
110
+ // ignore
111
+ }
112
+ }
113
+ this.project.deps.addDependency(providerPackages[provider], dependencies_1.DependencyType.DEVENV);
114
+ this.coverageProvider = provider;
115
+ this.synthesizeConfig();
116
+ }
117
+ configureCoverageReporters(reporters) {
118
+ this.coverageReporters = reporters;
119
+ this.synthesizeConfig();
120
+ }
121
+ configureGlobals() {
122
+ this.updateTsConfig();
123
+ this.synthesizeConfig();
124
+ }
125
+ updateTsConfig() {
126
+ const tsconfig = this.project.tryFindObjectFile(this.typecheckTsconfig);
127
+ if (!tsconfig) {
128
+ throw new Error("unable to find tsconfig");
129
+ }
130
+ tsconfig.addToArray("compilerOptions.types", "vitest/globals");
131
+ }
132
+ isTypescriptProject() {
133
+ return this.project.deps.tryGetDependency("typescript") !== undefined;
134
+ }
135
+ addTestCommand() {
136
+ this.project.testTask.exec("vitest run", {
137
+ receiveArgs: true,
138
+ });
139
+ const testWatch = this.project.tasks.tryFind("test:watch");
140
+ if (!testWatch) {
141
+ this.project.addTask("test:watch", {
142
+ exec: "vitest watch",
143
+ receiveArgs: true,
144
+ });
145
+ }
146
+ const testUpdateSnapshots = this.project.tasks.tryFind("test:update");
147
+ if (!testUpdateSnapshots) {
148
+ this.project.addTask("test:update", {
149
+ exec: "vitest --update",
150
+ receiveArgs: true,
151
+ });
152
+ }
153
+ }
154
+ synthesizeConfig() {
155
+ this.project.tryRemoveFile(this.configFilePath);
156
+ new textfile_1.TextFile(this, this.configFilePath, {
157
+ lines: this.renderConfig(),
158
+ });
159
+ }
160
+ renderConfig() {
161
+ const project = this.project;
162
+ const packageName = project.package.packageName;
163
+ const defineConfigImport = packageName === "@nikovirtala/projen-vitest"
164
+ ? 'import { defineConfig } from "vitest/config";'
165
+ : 'import { defineConfig } from "@nikovirtala/projen-vitest/lib/bundled-define-config";';
166
+ return [
167
+ defineConfigImport,
168
+ "",
169
+ "export default defineConfig({",
170
+ " test: {",
171
+ ...this.renderTestOptions(),
172
+ " },",
173
+ "});",
174
+ ];
175
+ }
176
+ renderTestOptions() {
177
+ const lines = [];
178
+ lines.push(` bail: ${this.bail},`);
179
+ lines.push(" coverage: {");
180
+ lines.push(` enabled: ${this.coverageEnabled},`);
181
+ lines.push(` provider: "${this.coverageProvider}",`);
182
+ lines.push(` reporter: ${JSON.stringify(this.coverageReporters)},`);
183
+ lines.push(` reportsDirectory: "${this.coverageDirectory}",`);
184
+ lines.push(" },");
185
+ lines.push(` environment: "${this.environment}",`);
186
+ lines.push(` exclude: ${JSON.stringify(Array.from(this.exclude))},`);
187
+ lines.push(` globals: ${this.globals},`);
188
+ lines.push(` include: ${JSON.stringify(Array.from(this.include))},`);
189
+ lines.push(` isolate: ${this.isolate},`);
190
+ lines.push(` passWithNoTests: ${this.passWithNoTests},`);
191
+ lines.push(` printConsoleTrace: ${this.printConsoleTrace},`);
192
+ lines.push(` pool: "${this.pool}",`);
193
+ lines.push(` slowTestThreshold: ${this.slowTestThreshold},`);
194
+ lines.push(" typecheck: {");
195
+ lines.push(` enabled: ${this.typecheckEnabled},`);
196
+ lines.push(` checker: "${this.typecheckChecker}",`);
197
+ lines.push(` tsconfig: "${this.typecheckTsconfig}",`);
198
+ lines.push(" },");
199
+ lines.push(` update: ${this.updateSnapshots},`);
200
+ return lines;
201
+ }
202
+ }
203
+ exports.Vitest = Vitest;
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvdml0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGtDQUFrQztBQUNsQyxvREFBaUQ7QUFDakQsMERBQXlEO0FBQ3pELHNEQUErRDtBQUMvRCxrREFBK0M7QUFFL0MsSUFBWSxXQUtYO0FBTEQsV0FBWSxXQUFXO0lBQ25CLDRDQUE2QixDQUFBO0lBQzdCLHNDQUF1QixDQUFBO0lBQ3ZCLDhCQUFlLENBQUE7SUFDZiw0QkFBYSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxXQUFXLDJCQUFYLFdBQVcsUUFLdEI7QUFFRCxJQUFZLElBS1g7QUFMRCxXQUFZLElBQUk7SUFDWix1QkFBZSxDQUFBO0lBQ2YsMkJBQW1CLENBQUE7SUFDbkIsMkJBQW1CLENBQUE7SUFDbkIsK0JBQXVCLENBQUE7QUFDM0IsQ0FBQyxFQUxXLElBQUksb0JBQUosSUFBSSxRQUtmO0FBRUQsSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQ3hCLHlDQUFxQixDQUFBO0lBQ3JCLDZCQUFTLENBQUE7QUFDYixDQUFDLEVBSFcsZ0JBQWdCLGdDQUFoQixnQkFBZ0IsUUFHM0I7QUFFRCxJQUFZLGdCQU1YO0FBTkQsV0FBWSxnQkFBZ0I7SUFDeEIscUNBQWlCLENBQUE7SUFDakIsaUNBQWEsQ0FBQTtJQUNiLGlDQUFhLENBQUE7SUFDYixpQ0FBYSxDQUFBO0lBQ2IsaUNBQWEsQ0FBQTtBQUNqQixDQUFDLEVBTlcsZ0JBQWdCLGdDQUFoQixnQkFBZ0IsUUFNM0I7QUE2QkQsTUFBYSxNQUFPLFNBQVEscUJBQVM7SUFDMUIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFvQjtRQUNqQyxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQVksRUFBZSxFQUFFLENBQUMsQ0FBQyxZQUFZLE1BQU0sQ0FBQztRQUNwRSxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FB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QyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckIsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBRW5ELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSjtBQTNORCx3QkEyTkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJwcm9qZW4vbGliL2NvbXBvbmVudFwiO1xuaW1wb3J0IHsgRGVwZW5kZW5jeVR5cGUgfSBmcm9tIFwicHJvamVuL2xpYi9kZXBlbmRlbmNpZXNcIjtcbmltcG9ydCB7IEplc3QsIHR5cGUgTm9kZVByb2plY3QgfSBmcm9tIFwicHJvamVuL2xpYi9qYXZhc2NyaXB0XCI7XG5pbXBvcnQgeyBUZXh0RmlsZSB9IGZyb20gXCJwcm9qZW4vbGliL3RleHRmaWxlXCI7XG5cbmV4cG9ydCBlbnVtIEVudmlyb25tZW50IHtcbiAgICBFREdFX1JVTlRJTUUgPSBcImVkZ2UtcnVudGltZVwiLFxuICAgIEhBUFBZX0RPTSA9IFwiaGFwcHktZG9tXCIsXG4gICAgSlNET00gPSBcImpzZG9tXCIsXG4gICAgTk9ERSA9IFwibm9kZVwiLFxufVxuXG5leHBvcnQgZW51bSBQb29sIHtcbiAgICBGT1JLUyA9IFwiZm9ya3NcIixcbiAgICBUSFJFQURTID0gXCJ0aHJlYWRzXCIsXG4gICAgVk1GT1JLUyA9IFwidm1mb3Jrc1wiLFxuICAgIFZNVEhSRUFEUyA9IFwidm10aHJlYWRzXCIsXG59XG5cbmV4cG9ydCBlbnVtIENvdmVyYWdlUHJvdmlkZXIge1xuICAgIElTVEFOQlVMID0gXCJpc3RhbmJ1bFwiLFxuICAgIFY4ID0gXCJ2OFwiLFxufVxuXG5leHBvcnQgZW51bSBDb3ZlcmFnZVJlcG9ydGVyIHtcbiAgICBDTE9WRVIgPSBcImNsb3ZlclwiLFxuICAgIEhUTUwgPSBcImh0bWxcIixcbiAgICBKU09OID0gXCJqc29uXCIsXG4gICAgTENPViA9IFwibGNvdlwiLFxuICAgIFRFWFQgPSBcInRleHRcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaXRlc3RDb25maWdPcHRpb25zIHtcbiAgICByZWFkb25seSBpbmNsdWRlPzogQXJyYXk8c3RyaW5nPjtcbiAgICByZWFkb25seSBleGNsdWRlPzogQXJyYXk8c3RyaW5nPjtcbiAgICByZWFkb25seSBlbnZpcm9ubWVudD86IEVudmlyb25tZW50O1xuICAgIHJlYWRvbmx5IGlzb2xhdGU/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IHBvb2w/OiBQb29sO1xuICAgIHJlYWRvbmx5IGdsb2JhbHM/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGNvdmVyYWdlRW5hYmxlZD86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgY292ZXJhZ2VQcm92aWRlcj86IENvdmVyYWdlUHJvdmlkZXI7XG4gICAgcmVhZG9ubHkgY292ZXJhZ2VSZXBvcnRlcnM/OiBBcnJheTxDb3ZlcmFnZVJlcG9ydGVyPjtcbiAgICByZWFkb25seSBjb3ZlcmFnZURpcmVjdG9yeT86IHN0cmluZztcbiAgICByZWFkb25seSB0eXBlY2hlY2tFbmFibGVkPzogYm9vbGVhbjtcbiAgICByZWFkb25seSB0eXBlY2hlY2tDaGVja2VyPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHR5cGVjaGVja1RzY29uZmlnPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHBhc3NXaXRoTm9UZXN0cz86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgYmFpbD86IG51bWJlcjtcbiAgICByZWFkb25seSB1cGRhdGVTbmFwc2hvdHM/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IHByaW50Q29uc29sZVRyYWNlPzogYm9vbGVhbjtcbiAgICByZWFkb25seSBzbG93VGVzdFRocmVzaG9sZD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaXRlc3RPcHRpb25zIHtcbiAgICByZWFkb25seSBjb25maWdGaWxlUGF0aD86IHN0cmluZztcbiAgICByZWFkb25seSBjb25maWc/OiBWaXRlc3RDb25maWdPcHRpb25zO1xuICAgIHJlYWRvbmx5IHZpdGVzdFZlcnNpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBWaXRlc3QgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIHB1YmxpYyBzdGF0aWMgb2YocHJvamVjdDogTm9kZVByb2plY3QpOiBWaXRlc3QgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBpc1ZpdGVzdCA9IChjOiBDb21wb25lbnQpOiBjIGlzIFZpdGVzdCA9PiBjIGluc3RhbmNlb2YgVml0ZXN0O1xuICAgICAgICByZXR1cm4gcHJvamVjdC5jb21wb25lbnRzLmZpbmQoaXNWaXRlc3QpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnRmlsZVBhdGg6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluY2x1ZGU6IFNldDxzdHJpbmc+O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZXhjbHVkZTogU2V0PHN0cmluZz47XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc29sYXRlOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9vbDogUG9vbDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvdmVyYWdlRW5hYmxlZDogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHR5cGVjaGVja0VuYWJsZWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSB0eXBlY2hlY2tDaGVja2VyOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0eXBlY2hlY2tUc2NvbmZpZzogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFzc1dpdGhOb1Rlc3RzOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYmFpbDogbnVtYmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXBkYXRlU25hcHNob3RzOiBib29sZWFuO1xuICAgIHByaXZhdGUgZW52aXJvbm1lbnQ6IHN0cmluZztcbiAgICBwcml2YXRlIGdsb2JhbHM6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBjb3ZlcmFnZVByb3ZpZGVyOiBDb3ZlcmFnZVByb3ZpZGVyO1xuICAgIHByaXZhdGUgY292ZXJhZ2VSZXBvcnRlcnM6IEFycmF5PENvdmVyYWdlUmVwb3J0ZXI+O1xuICAgIHByaXZhdGUgY292ZXJhZ2VEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHZlcnNpb246IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByaW50Q29uc29sZVRyYWNlOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2xvd1Rlc3RUaHJlc2hvbGQ6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKHByb2plY3Q6IE5vZGVQcm9qZWN0LCBvcHRpb25zOiBWaXRlc3RPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICAgICAgdGhpcy5jb25maWdGaWxlUGF0aCA9IG9wdGlvbnMuY29uZmlnRmlsZVBhdGggPz8gXCJ2aXRlc3QuY29uZmlnLnRzXCI7XG4gICAgICAgIHRoaXMuaW5jbHVkZSA9IG5ldyBTZXQob3B0aW9ucy5jb25maWc/LmluY2x1ZGUgPz8gW1wiKiovKi57dGVzdCxzcGVjfS4/KGN8bSlbanRdcz8oeClcIl0pO1xuICAgICAgICB0aGlzLmV4Y2x1ZGUgPSBuZXcgU2V0KFxuICAgICAgICAgICAgb3B0aW9ucy5jb25maWc/LmV4Y2x1ZGUgPz8gW1xuICAgICAgICAgICAgICAgIFwiKiovbm9kZV9tb2R1bGVzLyoqXCIsXG4gICAgICAgICAgICAgICAgXCIqKi9kaXN0LyoqXCIsXG4gICAgICAgICAgICAgICAgXCIqKi9jeXByZXNzLyoqXCIsXG4gICAgICAgICAgICAgICAgXCIqKi8ue2lkZWEsZ2l0LGNhY2hlLG91dHB1dCx0ZW1wfS8qKlwiLFxuICAgICAgICAgICAgICAgIFwiKiove2thcm1hLHJvbGx1cCx3ZWJwYWNrLHZpdGUsdml0ZXN0LGplc3QsYXZhLGJhYmVsLG55YyxjeXByZXNzLHRzdXAsYnVpbGQsZXNsaW50LHByZXR0aWVyfS5jb25maWcuKlwiLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5pc29sYXRlID0gb3B0aW9ucy5jb25maWc/Lmlzb2xhdGUgPz8gdHJ1ZTtcbiAgICAgICAgdGhpcy5wb29sID0gb3B0aW9ucy5jb25maWc/LnBvb2wgPz8gUG9vbC5GT1JLUztcbiAgICAgICAgdGhpcy5jb3ZlcmFnZUVuYWJsZWQgPSBvcHRpb25zLmNvbmZpZz8uY292ZXJhZ2VFbmFibGVkID8/IHRydWU7XG4gICAgICAgIHRoaXMudHlwZWNoZWNrRW5hYmxlZCA9IG9wdGlvbnMuY29uZmlnPy50eXBlY2hlY2tFbmFibGVkID8/IHRoaXMuaXNUeXBlc2NyaXB0UHJvamVjdCgpO1xuICAgICAgICB0aGlzLnR5cGVjaGVja0NoZWNrZXIgPSBvcHRpb25zLmNvbmZpZz8udHlwZWNoZWNrQ2hlY2tlciA/PyBcInRzYyAtLW5vRW1pdFwiO1xuICAgICAgICB0aGlzLnR5cGVjaGVja1RzY29uZmlnID0gb3B0aW9ucy5jb25maWc/LnR5cGVjaGVja1RzY29uZmlnID8/IFwidHNjb25maWcuZGV2Lmpzb25cIjtcbiAgICAgICAgdGhpcy5wYXNzV2l0aE5vVGVzdHMgPSBvcHRpb25zLmNvbmZpZz8ucGFzc1dpdGhOb1Rlc3RzID8/IHRydWU7XG4gICAgICAgIHRoaXMuYmFpbCA9IG9wdGlvbnMuY29uZmlnPy5iYWlsID8/IDA7XG4gICAgICAgIHRoaXMuZW52aXJvbm1lbnQgPSBvcHRpb25zLmNvbmZpZz8uZW52aXJvbm1lbnQgPz8gRW52aXJvbm1lbnQuTk9ERTtcbiAgICAgICAgdGhpcy5nbG9iYWxzID0gb3B0aW9ucy5jb25maWc/Lmdsb2JhbHMgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuY292ZXJhZ2VQcm92aWRlciA9IG9wdGlvbnMuY29uZmlnPy5jb3ZlcmFnZVByb3ZpZGVyID8/IENvdmVyYWdlUHJvdmlkZXIuVjg7XG4gICAgICAgIHRoaXMuY292ZXJhZ2VSZXBvcnRlcnMgPSBvcHRpb25zLmNvbmZpZz8uY292ZXJhZ2VSZXBvcnRlcnMgPz8gW0NvdmVyYWdlUmVwb3J0ZXIuVEVYVCwgQ292ZXJhZ2VSZXBvcnRlci5MQ09WXTtcbiAgICAgICAgdGhpcy5jb3ZlcmFnZURpcmVjdG9yeSA9IG9wdGlvbnMuY29uZmlnPy5jb3ZlcmFnZURpcmVjdG9yeSA/PyBcImNvdmVyYWdlXCI7XG4gICAgICAgIHRoaXMudmVyc2lvbiA9IG9wdGlvbnMudml0ZXN0VmVyc2lvbiA/PyBcIl40XCI7XG4gICAgICAgIHRoaXMudXBkYXRlU25hcHNob3RzID0gb3B0aW9ucy5jb25maWc/LnVwZGF0ZVNuYXBzaG90cyA/PyB0cnVlO1xuICAgICAgICB0aGlzLnByaW50Q29uc29sZVRyYWNlID0gb3B0aW9ucy5jb25maWc/LnByaW50Q29uc29sZVRyYWNlID8/IHRydWU7XG4gICAgICAgIHRoaXMuc2xvd1Rlc3RUaHJlc2hvbGQgPSBvcHRpb25zLmNvbmZpZz8uc2xvd1Rlc3RUaHJlc2hvbGQgPz8gMzAwO1xuXG4gICAgICAgIHByb2plY3QuYWRkRGV2RGVwcyhgdml0ZXN0QCR7dGhpcy52ZXJzaW9ufWApO1xuICAgICAgICB0aGlzLmNvbmZpZ3VyZUNvdmVyYWdlUHJvdmlkZXIodGhpcy5jb3ZlcmFnZVByb3ZpZGVyKTtcblxuICAgICAgICBpZiAodGhpcy5nbG9iYWxzICYmIHRoaXMuaXNUeXBlc2NyaXB0UHJvamVjdCgpICYmIHRoaXMucHJvamVjdC50cnlGaW5kT2JqZWN0RmlsZSh0aGlzLnR5cGVjaGVja1RzY29uZmlnKSkge1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmVHbG9iYWxzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb3ZlcmFnZURpcmVjdG9yeVBhdGggPSBwYXRoLnBvc2l4LmpvaW4oXCIvXCIsIHRoaXMuY292ZXJhZ2VEaXJlY3RvcnksIFwiL1wiKTtcbiAgICAgICAgcHJvamVjdC5ucG1pZ25vcmU/LmV4Y2x1ZGUoY292ZXJhZ2VEaXJlY3RvcnlQYXRoKTtcbiAgICAgICAgcHJvamVjdC5naXRpZ25vcmUuZXhjbHVkZShjb3ZlcmFnZURpcmVjdG9yeVBhdGgpO1xuXG4gICAgICAgIHRoaXMuYWRkVGVzdENvbW1hbmQoKTtcbiAgICAgICAgdGhpcy5zeW50aGVzaXplQ29uZmlnKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIHByZVN5bnRoZXNpemUoKSB7XG4gICAgICAgIHN1cGVyLnByZVN5bnRoZXNpemUoKTtcblxuICAgICAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiB0aGlzLnByb2plY3QuY29tcG9uZW50cykge1xuICAgICAgICAgICAgaWYgKGNvbXBvbmVudCBpbnN0YW5jZW9mIEplc3QpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ2aXRlc3QgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBqZXN0XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFkZEluY2x1ZGUocGF0dGVybjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5jbHVkZS5hZGQocGF0dGVybik7XG4gICAgICAgIHRoaXMuc3ludGhlc2l6ZUNvbmZpZygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRFeGNsdWRlKHBhdHRlcm46IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmV4Y2x1ZGUuYWRkKHBhdHRlcm4pO1xuICAgICAgICB0aGlzLnN5bnRoZXNpemVDb25maWcoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29uZmlndXJlRW52aXJvbm1lbnQoZW52aXJvbm1lbnQ6IEVudmlyb25tZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudDtcbiAgICAgICAgdGhpcy5zeW50aGVzaXplQ29uZmlnKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbmZpZ3VyZUNvdmVyYWdlUHJvdmlkZXIocHJvdmlkZXI6IENvdmVyYWdlUHJvdmlkZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJvdmlkZXJQYWNrYWdlcyA9IHtcbiAgICAgICAgICAgIFtDb3ZlcmFnZVByb3ZpZGVyLlY4XTogYEB2aXRlc3QvY292ZXJhZ2UtdjhAJHt0aGlzLnZlcnNpb259YCxcbiAgICAgICAgICAgIFtDb3ZlcmFnZVByb3ZpZGVyLklTVEFOQlVMXTogYEB2aXRlc3QvY292ZXJhZ2UtaXN0YW5idWxAJHt0aGlzLnZlcnNpb259YCxcbiAgICAgICAgfTtcblxuICAgICAgICBmb3IgKGNvbnN0IHByb3ZpZGVyUGFja2FnZSBvZiBPYmplY3QudmFsdWVzKHByb3ZpZGVyUGFja2FnZXMpKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvamVjdC5kZXBzLnJlbW92ZURlcGVuZGVuY3kocHJvdmlkZXJQYWNrYWdlKTtcbiAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICAgIC8vIGlnbm9yZVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcm9qZWN0LmRlcHMuYWRkRGVwZW5kZW5jeShwcm92aWRlclBhY2thZ2VzW3Byb3ZpZGVyXSwgRGVwZW5kZW5jeVR5cGUuREVWRU5WKTtcbiAgICAgICAgdGhpcy5jb3ZlcmFnZVByb3ZpZGVyID0gcHJvdmlkZXI7XG4gICAgICAgIHRoaXMuc3ludGhlc2l6ZUNvbmZpZygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb25maWd1cmVDb3ZlcmFnZVJlcG9ydGVycyhyZXBvcnRlcnM6IEFycmF5PENvdmVyYWdlUmVwb3J0ZXI+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY292ZXJhZ2VSZXBvcnRlcnMgPSByZXBvcnRlcnM7XG4gICAgICAgIHRoaXMuc3ludGhlc2l6ZUNvbmZpZygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb25maWd1cmVHbG9iYWxzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVRzQ29uZmlnKCk7XG4gICAgICAgIHRoaXMuc3ludGhlc2l6ZUNvbmZpZygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVHNDb25maWcoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRzY29uZmlnID0gdGhpcy5wcm9qZWN0LnRyeUZpbmRPYmplY3RGaWxlKHRoaXMudHlwZWNoZWNrVHNjb25maWcpO1xuXG4gICAgICAgIGlmICghdHNjb25maWcpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInVuYWJsZSB0byBmaW5kIHRzY29uZmlnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdHNjb25maWcuYWRkVG9BcnJheShcImNvbXBpbGVyT3B0aW9ucy50eXBlc1wiLCBcInZpdGVzdC9nbG9iYWxzXCIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNUeXBlc2NyaXB0UHJvamVjdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvamVjdC5kZXBzLnRyeUdldERlcGVuZGVuY3koXCJ0eXBlc2NyaXB0XCIpICE9PSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRUZXN0Q29tbWFuZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9qZWN0LnRlc3RUYXNrLmV4ZWMoXCJ2aXRlc3QgcnVuXCIsIHtcbiAgICAgICAgICAgIHJlY2VpdmVBcmdzOiB0cnVlLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCB0ZXN0V2F0Y2ggPSB0aGlzLnByb2plY3QudGFza3MudHJ5RmluZChcInRlc3Q6d2F0Y2hcIik7XG4gICAgICAgIGlmICghdGVzdFdhdGNoKSB7XG4gICAgICAgICAgICB0aGlzLnByb2plY3QuYWRkVGFzayhcInRlc3Q6d2F0Y2hcIiwge1xuICAgICAgICAgICAgICAgIGV4ZWM6IFwidml0ZXN0IHdhdGNoXCIsXG4gICAgICAgICAgICAgICAgcmVjZWl2ZUFyZ3M6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRlc3RVcGRhdGVTbmFwc2hvdHMgPSB0aGlzLnByb2plY3QudGFza3MudHJ5RmluZChcInRlc3Q6dXBkYXRlXCIpO1xuICAgICAgICBpZiAoIXRlc3RVcGRhdGVTbmFwc2hvdHMpIHtcbiAgICAgICAgICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKFwidGVzdDp1cGRhdGVcIiwge1xuICAgICAgICAgICAgICAgIGV4ZWM6IFwidml0ZXN0IC0tdXBkYXRlXCIsXG4gICAgICAgICAgICAgICAgcmVjZWl2ZUFyZ3M6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3ludGhlc2l6ZUNvbmZpZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9qZWN0LnRyeVJlbW92ZUZpbGUodGhpcy5jb25maWdGaWxlUGF0aCk7XG5cbiAgICAgICAgbmV3IFRleHRGaWxlKHRoaXMsIHRoaXMuY29uZmlnRmlsZVBhdGgsIHtcbiAgICAgICAgICAgIGxpbmVzOiB0aGlzLnJlbmRlckNvbmZpZygpLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbmRlckNvbmZpZygpOiBBcnJheTxzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgcHJvamVjdCA9IHRoaXMucHJvamVjdCBhcyBOb2RlUHJvamVjdDtcbiAgICAgICAgY29uc3QgcGFja2FnZU5hbWUgPSBwcm9qZWN0LnBhY2thZ2UucGFja2FnZU5hbWU7XG4gICAgICAgIGNvbnN0IGRlZmluZUNvbmZpZ0ltcG9ydCA9XG4gICAgICAgICAgICBwYWNrYWdlTmFtZSA9PT0gXCJAbmlrb3ZpcnRhbGEvcHJvamVuLXZpdGVzdFwiXG4gICAgICAgICAgICAgICAgPyAnaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVzdC9jb25maWdcIjsnXG4gICAgICAgICAgICAgICAgOiAnaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcIkBuaWtvdmlydGFsYS9wcm9qZW4tdml0ZXN0L2xpYi9idW5kbGVkLWRlZmluZS1jb25maWdcIjsnO1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBkZWZpbmVDb25maWdJbXBvcnQsXG4gICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgXCJleHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoe1wiLFxuICAgICAgICAgICAgXCIgIHRlc3Q6IHtcIixcbiAgICAgICAgICAgIC4uLnRoaXMucmVuZGVyVGVzdE9wdGlvbnMoKSxcbiAgICAgICAgICAgIFwiICB9LFwiLFxuICAgICAgICAgICAgXCJ9KTtcIixcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbmRlclRlc3RPcHRpb25zKCk6IEFycmF5PHN0cmluZz4ge1xuICAgICAgICBjb25zdCBsaW5lczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgICAgIGxpbmVzLnB1c2goYCAgICBiYWlsOiAke3RoaXMuYmFpbH0sYCk7XG4gICAgICAgIGxpbmVzLnB1c2goXCIgICAgY292ZXJhZ2U6IHtcIik7XG4gICAgICAgIGxpbmVzLnB1c2goYCAgICAgIGVuYWJsZWQ6ICR7dGhpcy5jb3ZlcmFnZUVuYWJsZWR9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgICBwcm92aWRlcjogXCIke3RoaXMuY292ZXJhZ2VQcm92aWRlcn1cIixgKTtcbiAgICAgICAgbGluZXMucHVzaChgICAgICAgcmVwb3J0ZXI6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5jb3ZlcmFnZVJlcG9ydGVycyl9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgICByZXBvcnRzRGlyZWN0b3J5OiBcIiR7dGhpcy5jb3ZlcmFnZURpcmVjdG9yeX1cIixgKTtcbiAgICAgICAgbGluZXMucHVzaChcIiAgICB9LFwiKTtcbiAgICAgICAgbGluZXMucHVzaChgICAgIGVudmlyb25tZW50OiBcIiR7dGhpcy5lbnZpcm9ubWVudH1cIixgKTtcbiAgICAgICAgbGluZXMucHVzaChgICAgIGV4Y2x1ZGU6ICR7SlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbSh0aGlzLmV4Y2x1ZGUpKX0sYCk7XG4gICAgICAgIGxpbmVzLnB1c2goYCAgICBnbG9iYWxzOiAke3RoaXMuZ2xvYmFsc30sYCk7XG4gICAgICAgIGxpbmVzLnB1c2goYCAgICBpbmNsdWRlOiAke0pTT04uc3RyaW5naWZ5KEFycmF5LmZyb20odGhpcy5pbmNsdWRlKSl9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgaXNvbGF0ZTogJHt0aGlzLmlzb2xhdGV9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgcGFzc1dpdGhOb1Rlc3RzOiAke3RoaXMucGFzc1dpdGhOb1Rlc3RzfSxgKTtcbiAgICAgICAgbGluZXMucHVzaChgICAgIHByaW50Q29uc29sZVRyYWNlOiAke3RoaXMucHJpbnRDb25zb2xlVHJhY2V9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgcG9vbDogXCIke3RoaXMucG9vbH1cIixgKTtcbiAgICAgICAgbGluZXMucHVzaChgICAgIHNsb3dUZXN0VGhyZXNob2xkOiAke3RoaXMuc2xvd1Rlc3RUaHJlc2hvbGR9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKFwiICAgIHR5cGVjaGVjazoge1wiKTtcbiAgICAgICAgbGluZXMucHVzaChgICAgICAgZW5hYmxlZDogJHt0aGlzLnR5cGVjaGVja0VuYWJsZWR9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgICBjaGVja2VyOiBcIiR7dGhpcy50eXBlY2hlY2tDaGVja2VyfVwiLGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgICB0c2NvbmZpZzogXCIke3RoaXMudHlwZWNoZWNrVHNjb25maWd9XCIsYCk7XG4gICAgICAgIGxpbmVzLnB1c2goXCIgICAgfSxcIik7XG4gICAgICAgIGxpbmVzLnB1c2goYCAgICB1cGRhdGU6ICR7dGhpcy51cGRhdGVTbmFwc2hvdHN9LGApO1xuXG4gICAgICAgIHJldHVybiBsaW5lcztcbiAgICB9XG59XG4iXX0=
package/lib/config.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { awscdk, cdk, javascript, type typescript } from "projen";
1
+ import { awscdk, cdk, javascript, typescript } from "projen";
2
2
  export declare const DEFAULT_AUTHOR = "Niko Virtala";
3
3
  export declare const DEFAULT_AUTHOR_ADDRESS = "niko.virtala@hey.com";
4
4
  export declare const DEFAULT_CDK_VERSION = "2.223.0";
@@ -46,7 +46,6 @@ export declare const PROJECT_DEFAULT_OPTIONS: {
46
46
  typescriptVersion: string;
47
47
  tsconfig: {
48
48
  compilerOptions: {
49
- allowImportingTsExtensions: boolean;
50
49
  allowSyntheticDefaultImports: boolean;
51
50
  alwaysStrict: boolean;
52
51
  declaration: boolean;
@@ -55,9 +54,39 @@ export declare const PROJECT_DEFAULT_OPTIONS: {
55
54
  inlineSourceMap: boolean;
56
55
  inlineSources: boolean;
57
56
  isolatedModules: boolean;
57
+ noEmit: boolean;
58
+ noEmitOnError: boolean;
59
+ noFallthroughCasesInSwitch: boolean;
60
+ noImplicitAny: boolean;
61
+ noImplicitOverride: boolean;
62
+ noImplicitReturns: boolean;
63
+ noImplicitThis: boolean;
64
+ noUnusedLocals: boolean;
65
+ noUnusedParameters: boolean;
66
+ resolveJsonModule: boolean;
67
+ strict: boolean;
68
+ strictNullChecks: boolean;
69
+ strictPropertyInitialization: boolean;
70
+ stripInternal: boolean;
71
+ };
72
+ };
73
+ };
74
+ export declare const TYPESCRIPT_PROJECT_DEFAULT_OPTIONS: {
75
+ tsconfig: {
76
+ compilerOptions: {
77
+ allowImportingTsExtensions: boolean;
58
78
  lib: string[];
59
79
  module: string;
60
80
  moduleResolution: javascript.TypeScriptModuleResolution;
81
+ target: string;
82
+ allowSyntheticDefaultImports: boolean;
83
+ alwaysStrict: boolean;
84
+ declaration: boolean;
85
+ esModuleInterop: boolean;
86
+ experimentalDecorators: boolean;
87
+ inlineSourceMap: boolean;
88
+ inlineSources: boolean;
89
+ isolatedModules: boolean;
61
90
  noEmit: boolean;
62
91
  noEmitOnError: boolean;
63
92
  noFallthroughCasesInSwitch: boolean;
@@ -72,11 +101,8 @@ export declare const PROJECT_DEFAULT_OPTIONS: {
72
101
  strictNullChecks: boolean;
73
102
  strictPropertyInitialization: boolean;
74
103
  stripInternal: boolean;
75
- target: string;
76
104
  };
77
105
  };
78
- };
79
- export declare const TYPESCRIPT_PROJECT_DEFAULT_OPTIONS: {
80
106
  author: string;
81
107
  authorAddress: string;
82
108
  defaultReleaseBranch: string;
@@ -114,37 +140,6 @@ export declare const TYPESCRIPT_PROJECT_DEFAULT_OPTIONS: {
114
140
  pnpmVersion: string;
115
141
  projenrcTs: boolean;
116
142
  typescriptVersion: string;
117
- tsconfig: {
118
- compilerOptions: {
119
- allowImportingTsExtensions: boolean;
120
- allowSyntheticDefaultImports: boolean;
121
- alwaysStrict: boolean;
122
- declaration: boolean;
123
- esModuleInterop: boolean;
124
- experimentalDecorators: boolean;
125
- inlineSourceMap: boolean;
126
- inlineSources: boolean;
127
- isolatedModules: boolean;
128
- lib: string[];
129
- module: string;
130
- moduleResolution: javascript.TypeScriptModuleResolution;
131
- noEmit: boolean;
132
- noEmitOnError: boolean;
133
- noFallthroughCasesInSwitch: boolean;
134
- noImplicitAny: boolean;
135
- noImplicitOverride: boolean;
136
- noImplicitReturns: boolean;
137
- noImplicitThis: boolean;
138
- noUnusedLocals: boolean;
139
- noUnusedParameters: boolean;
140
- resolveJsonModule: boolean;
141
- strict: boolean;
142
- strictNullChecks: boolean;
143
- strictPropertyInitialization: boolean;
144
- stripInternal: boolean;
145
- target: string;
146
- };
147
- };
148
143
  };
149
144
  export declare const JSII_PROJECT_DEFAULT_OPTIONS: {
150
145
  jsiiVersion: string;
@@ -188,7 +183,6 @@ export declare const JSII_PROJECT_DEFAULT_OPTIONS: {
188
183
  typescriptVersion: string;
189
184
  tsconfig: {
190
185
  compilerOptions: {
191
- allowImportingTsExtensions: boolean;
192
186
  allowSyntheticDefaultImports: boolean;
193
187
  alwaysStrict: boolean;
194
188
  declaration: boolean;
@@ -197,9 +191,39 @@ export declare const JSII_PROJECT_DEFAULT_OPTIONS: {
197
191
  inlineSourceMap: boolean;
198
192
  inlineSources: boolean;
199
193
  isolatedModules: boolean;
194
+ noEmit: boolean;
195
+ noEmitOnError: boolean;
196
+ noFallthroughCasesInSwitch: boolean;
197
+ noImplicitAny: boolean;
198
+ noImplicitOverride: boolean;
199
+ noImplicitReturns: boolean;
200
+ noImplicitThis: boolean;
201
+ noUnusedLocals: boolean;
202
+ noUnusedParameters: boolean;
203
+ resolveJsonModule: boolean;
204
+ strict: boolean;
205
+ strictNullChecks: boolean;
206
+ strictPropertyInitialization: boolean;
207
+ stripInternal: boolean;
208
+ };
209
+ };
210
+ };
211
+ export declare const CDK_APP_DEFAULT_OPTIONS: {
212
+ tsconfig: {
213
+ compilerOptions: {
214
+ allowImportingTsExtensions: boolean;
200
215
  lib: string[];
201
216
  module: string;
202
217
  moduleResolution: javascript.TypeScriptModuleResolution;
218
+ target: string;
219
+ allowSyntheticDefaultImports: boolean;
220
+ alwaysStrict: boolean;
221
+ declaration: boolean;
222
+ esModuleInterop: boolean;
223
+ experimentalDecorators: boolean;
224
+ inlineSourceMap: boolean;
225
+ inlineSources: boolean;
226
+ isolatedModules: boolean;
203
227
  noEmit: boolean;
204
228
  noEmitOnError: boolean;
205
229
  noFallthroughCasesInSwitch: boolean;
@@ -214,11 +238,8 @@ export declare const JSII_PROJECT_DEFAULT_OPTIONS: {
214
238
  strictNullChecks: boolean;
215
239
  strictPropertyInitialization: boolean;
216
240
  stripInternal: boolean;
217
- target: string;
218
241
  };
219
242
  };
220
- };
221
- export declare const CDK_APP_DEFAULT_OPTIONS: {
222
243
  cdkVersion: string;
223
244
  author: string;
224
245
  authorAddress: string;
@@ -257,37 +278,6 @@ export declare const CDK_APP_DEFAULT_OPTIONS: {
257
278
  pnpmVersion: string;
258
279
  projenrcTs: boolean;
259
280
  typescriptVersion: string;
260
- tsconfig: {
261
- compilerOptions: {
262
- allowImportingTsExtensions: boolean;
263
- allowSyntheticDefaultImports: boolean;
264
- alwaysStrict: boolean;
265
- declaration: boolean;
266
- esModuleInterop: boolean;
267
- experimentalDecorators: boolean;
268
- inlineSourceMap: boolean;
269
- inlineSources: boolean;
270
- isolatedModules: boolean;
271
- lib: string[];
272
- module: string;
273
- moduleResolution: javascript.TypeScriptModuleResolution;
274
- noEmit: boolean;
275
- noEmitOnError: boolean;
276
- noFallthroughCasesInSwitch: boolean;
277
- noImplicitAny: boolean;
278
- noImplicitOverride: boolean;
279
- noImplicitReturns: boolean;
280
- noImplicitThis: boolean;
281
- noUnusedLocals: boolean;
282
- noUnusedParameters: boolean;
283
- resolveJsonModule: boolean;
284
- strict: boolean;
285
- strictNullChecks: boolean;
286
- strictPropertyInitialization: boolean;
287
- stripInternal: boolean;
288
- target: string;
289
- };
290
- };
291
281
  };
292
282
  export declare const CDK_CONSTRUCT_DEFAULT_OPTIONS: {
293
283
  cdkVersion: string;
@@ -331,7 +321,6 @@ export declare const CDK_CONSTRUCT_DEFAULT_OPTIONS: {
331
321
  typescriptVersion: string;
332
322
  tsconfig: {
333
323
  compilerOptions: {
334
- allowImportingTsExtensions: boolean;
335
324
  allowSyntheticDefaultImports: boolean;
336
325
  alwaysStrict: boolean;
337
326
  declaration: boolean;
@@ -340,9 +329,6 @@ export declare const CDK_CONSTRUCT_DEFAULT_OPTIONS: {
340
329
  inlineSourceMap: boolean;
341
330
  inlineSources: boolean;
342
331
  isolatedModules: boolean;
343
- lib: string[];
344
- module: string;
345
- moduleResolution: javascript.TypeScriptModuleResolution;
346
332
  noEmit: boolean;
347
333
  noEmitOnError: boolean;
348
334
  noFallthroughCasesInSwitch: boolean;
@@ -357,7 +343,6 @@ export declare const CDK_CONSTRUCT_DEFAULT_OPTIONS: {
357
343
  strictNullChecks: boolean;
358
344
  strictPropertyInitialization: boolean;
359
345
  stripInternal: boolean;
360
- target: string;
361
346
  };
362
347
  };
363
348
  };