@nikovirtala/projen-constructs 0.0.0

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.
@@ -0,0 +1,363 @@
1
+ import { awscdk, cdk, javascript, type typescript } from "projen";
2
+ export declare const DEFAULT_AUTHOR = "Niko Virtala";
3
+ export declare const DEFAULT_AUTHOR_ADDRESS = "niko.virtala@hey.com";
4
+ export declare const DEFAULT_CDK_VERSION = "2.223.0";
5
+ export declare const DEFAULT_NODE_VERSION = "22.21.1";
6
+ export declare const DEFAULT_TYPESCRIPT_VERSION = "5.9.3";
7
+ export declare const DEFAULT_JSII_VERSION = "~5.9.3";
8
+ export declare function applyDefaultConfig(project: awscdk.AwsCdkTypeScriptApp | awscdk.AwsCdkConstructLibrary | typescript.TypeScriptProject | cdk.JsiiProject): void;
9
+ export declare const PROJECT_DEFAULT_OPTIONS: {
10
+ author: string;
11
+ authorAddress: string;
12
+ defaultReleaseBranch: string;
13
+ minNodeVersion: string;
14
+ autoApproveOptions: {
15
+ secret: string;
16
+ allowedUsernames: string[];
17
+ };
18
+ dependabot: boolean;
19
+ depsUpgradeOptions: {
20
+ workflowOptions: {
21
+ labels: string[];
22
+ };
23
+ };
24
+ github: boolean;
25
+ mergify: boolean;
26
+ autoMerge: boolean;
27
+ jest: boolean;
28
+ eslint: boolean;
29
+ prettier: boolean;
30
+ biome: boolean;
31
+ biomeOptions: {
32
+ biomeConfig: {
33
+ formatter: {
34
+ indentStyle: javascript.biome_config.IndentStyle;
35
+ indentWidth: number;
36
+ lineWidth: number;
37
+ useEditorconfig: boolean;
38
+ };
39
+ };
40
+ formatter: boolean;
41
+ linter: boolean;
42
+ };
43
+ packageManager: javascript.NodePackageManager;
44
+ pnpmVersion: string;
45
+ projenrcTs: boolean;
46
+ typescriptVersion: string;
47
+ tsconfig: {
48
+ compilerOptions: {
49
+ allowImportingTsExtensions: boolean;
50
+ allowSyntheticDefaultImports: boolean;
51
+ alwaysStrict: boolean;
52
+ declaration: boolean;
53
+ esModuleInterop: boolean;
54
+ experimentalDecorators: boolean;
55
+ inlineSourceMap: boolean;
56
+ inlineSources: boolean;
57
+ isolatedModules: boolean;
58
+ lib: string[];
59
+ module: string;
60
+ moduleResolution: javascript.TypeScriptModuleResolution;
61
+ noEmit: boolean;
62
+ noEmitOnError: boolean;
63
+ noFallthroughCasesInSwitch: boolean;
64
+ noImplicitAny: boolean;
65
+ noImplicitOverride: boolean;
66
+ noImplicitReturns: boolean;
67
+ noImplicitThis: boolean;
68
+ noUnusedLocals: boolean;
69
+ noUnusedParameters: boolean;
70
+ resolveJsonModule: boolean;
71
+ strict: boolean;
72
+ strictNullChecks: boolean;
73
+ strictPropertyInitialization: boolean;
74
+ stripInternal: boolean;
75
+ target: string;
76
+ };
77
+ };
78
+ };
79
+ export declare const TYPESCRIPT_PROJECT_DEFAULT_OPTIONS: {
80
+ author: string;
81
+ authorAddress: string;
82
+ defaultReleaseBranch: string;
83
+ minNodeVersion: string;
84
+ autoApproveOptions: {
85
+ secret: string;
86
+ allowedUsernames: string[];
87
+ };
88
+ dependabot: boolean;
89
+ depsUpgradeOptions: {
90
+ workflowOptions: {
91
+ labels: string[];
92
+ };
93
+ };
94
+ github: boolean;
95
+ mergify: boolean;
96
+ autoMerge: boolean;
97
+ jest: boolean;
98
+ eslint: boolean;
99
+ prettier: boolean;
100
+ biome: boolean;
101
+ biomeOptions: {
102
+ biomeConfig: {
103
+ formatter: {
104
+ indentStyle: javascript.biome_config.IndentStyle;
105
+ indentWidth: number;
106
+ lineWidth: number;
107
+ useEditorconfig: boolean;
108
+ };
109
+ };
110
+ formatter: boolean;
111
+ linter: boolean;
112
+ };
113
+ packageManager: javascript.NodePackageManager;
114
+ pnpmVersion: string;
115
+ projenrcTs: boolean;
116
+ 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
+ };
149
+ export declare const JSII_PROJECT_DEFAULT_OPTIONS: {
150
+ jsiiVersion: string;
151
+ npmTrustedPublishing: boolean;
152
+ author: string;
153
+ authorAddress: string;
154
+ defaultReleaseBranch: string;
155
+ minNodeVersion: string;
156
+ autoApproveOptions: {
157
+ secret: string;
158
+ allowedUsernames: string[];
159
+ };
160
+ dependabot: boolean;
161
+ depsUpgradeOptions: {
162
+ workflowOptions: {
163
+ labels: string[];
164
+ };
165
+ };
166
+ github: boolean;
167
+ mergify: boolean;
168
+ autoMerge: boolean;
169
+ jest: boolean;
170
+ eslint: boolean;
171
+ prettier: boolean;
172
+ biome: boolean;
173
+ biomeOptions: {
174
+ biomeConfig: {
175
+ formatter: {
176
+ indentStyle: javascript.biome_config.IndentStyle;
177
+ indentWidth: number;
178
+ lineWidth: number;
179
+ useEditorconfig: boolean;
180
+ };
181
+ };
182
+ formatter: boolean;
183
+ linter: boolean;
184
+ };
185
+ packageManager: javascript.NodePackageManager;
186
+ pnpmVersion: string;
187
+ projenrcTs: boolean;
188
+ typescriptVersion: string;
189
+ tsconfig: {
190
+ compilerOptions: {
191
+ allowImportingTsExtensions: boolean;
192
+ allowSyntheticDefaultImports: boolean;
193
+ alwaysStrict: boolean;
194
+ declaration: boolean;
195
+ esModuleInterop: boolean;
196
+ experimentalDecorators: boolean;
197
+ inlineSourceMap: boolean;
198
+ inlineSources: boolean;
199
+ isolatedModules: boolean;
200
+ lib: string[];
201
+ module: string;
202
+ moduleResolution: javascript.TypeScriptModuleResolution;
203
+ noEmit: boolean;
204
+ noEmitOnError: boolean;
205
+ noFallthroughCasesInSwitch: boolean;
206
+ noImplicitAny: boolean;
207
+ noImplicitOverride: boolean;
208
+ noImplicitReturns: boolean;
209
+ noImplicitThis: boolean;
210
+ noUnusedLocals: boolean;
211
+ noUnusedParameters: boolean;
212
+ resolveJsonModule: boolean;
213
+ strict: boolean;
214
+ strictNullChecks: boolean;
215
+ strictPropertyInitialization: boolean;
216
+ stripInternal: boolean;
217
+ target: string;
218
+ };
219
+ };
220
+ };
221
+ export declare const CDK_APP_DEFAULT_OPTIONS: {
222
+ cdkVersion: string;
223
+ author: string;
224
+ authorAddress: string;
225
+ defaultReleaseBranch: string;
226
+ minNodeVersion: string;
227
+ autoApproveOptions: {
228
+ secret: string;
229
+ allowedUsernames: string[];
230
+ };
231
+ dependabot: boolean;
232
+ depsUpgradeOptions: {
233
+ workflowOptions: {
234
+ labels: string[];
235
+ };
236
+ };
237
+ github: boolean;
238
+ mergify: boolean;
239
+ autoMerge: boolean;
240
+ jest: boolean;
241
+ eslint: boolean;
242
+ prettier: boolean;
243
+ biome: boolean;
244
+ biomeOptions: {
245
+ biomeConfig: {
246
+ formatter: {
247
+ indentStyle: javascript.biome_config.IndentStyle;
248
+ indentWidth: number;
249
+ lineWidth: number;
250
+ useEditorconfig: boolean;
251
+ };
252
+ };
253
+ formatter: boolean;
254
+ linter: boolean;
255
+ };
256
+ packageManager: javascript.NodePackageManager;
257
+ pnpmVersion: string;
258
+ projenrcTs: boolean;
259
+ 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
+ };
292
+ export declare const CDK_CONSTRUCT_DEFAULT_OPTIONS: {
293
+ cdkVersion: string;
294
+ npmTrustedPublishing: boolean;
295
+ author: string;
296
+ authorAddress: string;
297
+ defaultReleaseBranch: string;
298
+ minNodeVersion: string;
299
+ autoApproveOptions: {
300
+ secret: string;
301
+ allowedUsernames: string[];
302
+ };
303
+ dependabot: boolean;
304
+ depsUpgradeOptions: {
305
+ workflowOptions: {
306
+ labels: string[];
307
+ };
308
+ };
309
+ github: boolean;
310
+ mergify: boolean;
311
+ autoMerge: boolean;
312
+ jest: boolean;
313
+ eslint: boolean;
314
+ prettier: boolean;
315
+ biome: boolean;
316
+ biomeOptions: {
317
+ biomeConfig: {
318
+ formatter: {
319
+ indentStyle: javascript.biome_config.IndentStyle;
320
+ indentWidth: number;
321
+ lineWidth: number;
322
+ useEditorconfig: boolean;
323
+ };
324
+ };
325
+ formatter: boolean;
326
+ linter: boolean;
327
+ };
328
+ packageManager: javascript.NodePackageManager;
329
+ pnpmVersion: string;
330
+ projenrcTs: boolean;
331
+ typescriptVersion: string;
332
+ tsconfig: {
333
+ compilerOptions: {
334
+ allowImportingTsExtensions: boolean;
335
+ allowSyntheticDefaultImports: boolean;
336
+ alwaysStrict: boolean;
337
+ declaration: boolean;
338
+ esModuleInterop: boolean;
339
+ experimentalDecorators: boolean;
340
+ inlineSourceMap: boolean;
341
+ inlineSources: boolean;
342
+ isolatedModules: boolean;
343
+ lib: string[];
344
+ module: string;
345
+ moduleResolution: javascript.TypeScriptModuleResolution;
346
+ noEmit: boolean;
347
+ noEmitOnError: boolean;
348
+ noFallthroughCasesInSwitch: boolean;
349
+ noImplicitAny: boolean;
350
+ noImplicitOverride: boolean;
351
+ noImplicitReturns: boolean;
352
+ noImplicitThis: boolean;
353
+ noUnusedLocals: boolean;
354
+ noUnusedParameters: boolean;
355
+ resolveJsonModule: boolean;
356
+ strict: boolean;
357
+ strictNullChecks: boolean;
358
+ strictPropertyInitialization: boolean;
359
+ stripInternal: boolean;
360
+ target: string;
361
+ };
362
+ };
363
+ };
package/lib/config.js ADDED
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CDK_CONSTRUCT_DEFAULT_OPTIONS = exports.CDK_APP_DEFAULT_OPTIONS = exports.JSII_PROJECT_DEFAULT_OPTIONS = exports.TYPESCRIPT_PROJECT_DEFAULT_OPTIONS = exports.PROJECT_DEFAULT_OPTIONS = exports.DEFAULT_JSII_VERSION = exports.DEFAULT_TYPESCRIPT_VERSION = exports.DEFAULT_NODE_VERSION = exports.DEFAULT_CDK_VERSION = exports.DEFAULT_AUTHOR_ADDRESS = exports.DEFAULT_AUTHOR = void 0;
4
+ exports.applyDefaultConfig = applyDefaultConfig;
5
+ const projen_vitest_1 = require("@nikovirtala/projen-vitest");
6
+ const projen_1 = require("projen");
7
+ exports.DEFAULT_AUTHOR = "Niko Virtala";
8
+ exports.DEFAULT_AUTHOR_ADDRESS = "niko.virtala@hey.com";
9
+ exports.DEFAULT_CDK_VERSION = "2.223.0";
10
+ exports.DEFAULT_NODE_VERSION = "22.21.1";
11
+ exports.DEFAULT_TYPESCRIPT_VERSION = "5.9.3";
12
+ exports.DEFAULT_JSII_VERSION = `~${exports.DEFAULT_TYPESCRIPT_VERSION}`;
13
+ function applyDefaultConfig(project) {
14
+ const nodeVersion = project.minNodeVersion ?? exports.DEFAULT_NODE_VERSION;
15
+ project.package.addField("type", "module");
16
+ project.deps.removeDependency("ts-node");
17
+ project.addDevDeps("tsx");
18
+ project.defaultTask?.reset();
19
+ project.defaultTask?.exec(`tsx --tsconfig ${project.tsconfigDev.file.path} .projenrc.ts`);
20
+ project.npmrc.addConfig("node-linker", "hoisted");
21
+ project.vscode?.extensions.addRecommendations("biomejs.biome");
22
+ project.vscode?.settings.addSettings({
23
+ "editor.codeActionsOnSave": {
24
+ "source.organizeImports.biome": "always",
25
+ },
26
+ "editor.defaultFormatter": "biomejs.biome",
27
+ "editor.formatOnSave": true,
28
+ "editor.tabSize": 4,
29
+ });
30
+ new projen_1.TextFile(project, "mise.toml", {
31
+ committed: true,
32
+ readonly: true,
33
+ lines: ["[tools]", `node = "${nodeVersion}"`],
34
+ });
35
+ if (project instanceof projen_1.cdk.JsiiProject || project instanceof projen_1.awscdk.AwsCdkConstructLibrary) {
36
+ project.github
37
+ ?.tryFindWorkflow("release")
38
+ ?.file?.patch(projen_1.JsonPatch.replace("/jobs/release_npm/steps/0/with/node-version", "24.x"));
39
+ project.package.addField("publishConfig", { access: "public" });
40
+ }
41
+ project.npmignore?.addPatterns("biome.jsonc", "mise.toml", "vitest.config.ts");
42
+ new projen_vitest_1.Vitest(project);
43
+ }
44
+ exports.PROJECT_DEFAULT_OPTIONS = {
45
+ author: exports.DEFAULT_AUTHOR,
46
+ authorAddress: exports.DEFAULT_AUTHOR_ADDRESS,
47
+ defaultReleaseBranch: "main",
48
+ minNodeVersion: exports.DEFAULT_NODE_VERSION,
49
+ autoApproveOptions: {
50
+ secret: "GITHUB_TOKEN",
51
+ allowedUsernames: ["nikovirtala"],
52
+ },
53
+ dependabot: false,
54
+ depsUpgradeOptions: {
55
+ workflowOptions: {
56
+ labels: ["auto-approve", "auto-merge"],
57
+ },
58
+ },
59
+ github: true,
60
+ mergify: true,
61
+ autoMerge: true,
62
+ jest: false,
63
+ eslint: false,
64
+ prettier: false,
65
+ biome: true,
66
+ biomeOptions: {
67
+ biomeConfig: {
68
+ formatter: {
69
+ indentStyle: projen_1.javascript.biome_config.IndentStyle.SPACE,
70
+ indentWidth: 4,
71
+ lineWidth: 120,
72
+ useEditorconfig: false,
73
+ },
74
+ },
75
+ formatter: true,
76
+ linter: true,
77
+ },
78
+ packageManager: projen_1.javascript.NodePackageManager.PNPM,
79
+ pnpmVersion: "10",
80
+ projenrcTs: true,
81
+ typescriptVersion: exports.DEFAULT_TYPESCRIPT_VERSION,
82
+ tsconfig: {
83
+ compilerOptions: {
84
+ allowImportingTsExtensions: true,
85
+ allowSyntheticDefaultImports: true,
86
+ alwaysStrict: true,
87
+ declaration: true,
88
+ esModuleInterop: true,
89
+ experimentalDecorators: true,
90
+ inlineSourceMap: true,
91
+ inlineSources: true,
92
+ isolatedModules: true,
93
+ lib: ["esnext"],
94
+ module: "nodenext",
95
+ moduleResolution: projen_1.javascript.TypeScriptModuleResolution.NODE_NEXT,
96
+ noEmit: true,
97
+ noEmitOnError: false,
98
+ noFallthroughCasesInSwitch: true,
99
+ noImplicitAny: true,
100
+ noImplicitOverride: true,
101
+ noImplicitReturns: true,
102
+ noImplicitThis: true,
103
+ noUnusedLocals: true,
104
+ noUnusedParameters: true,
105
+ resolveJsonModule: true,
106
+ strict: true,
107
+ strictNullChecks: true,
108
+ strictPropertyInitialization: true,
109
+ stripInternal: true,
110
+ target: "esnext",
111
+ },
112
+ },
113
+ };
114
+ exports.TYPESCRIPT_PROJECT_DEFAULT_OPTIONS = {
115
+ ...exports.PROJECT_DEFAULT_OPTIONS,
116
+ };
117
+ exports.JSII_PROJECT_DEFAULT_OPTIONS = {
118
+ ...exports.PROJECT_DEFAULT_OPTIONS,
119
+ jsiiVersion: exports.DEFAULT_JSII_VERSION,
120
+ npmTrustedPublishing: true,
121
+ };
122
+ exports.CDK_APP_DEFAULT_OPTIONS = {
123
+ ...exports.PROJECT_DEFAULT_OPTIONS,
124
+ cdkVersion: exports.DEFAULT_CDK_VERSION,
125
+ };
126
+ exports.CDK_CONSTRUCT_DEFAULT_OPTIONS = {
127
+ ...exports.PROJECT_DEFAULT_OPTIONS,
128
+ cdkVersion: exports.DEFAULT_CDK_VERSION,
129
+ npmTrustedPublishing: true,
130
+ };
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFVQSxnREE0Q0M7QUF0REQsOERBQW9EO0FBQ3BELG1DQUF1RjtBQUUxRSxRQUFBLGNBQWMsR0FBRyxjQUFjLENBQUM7QUFDaEMsUUFBQSxzQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQztBQUNoRCxRQUFBLG1CQUFtQixHQUFHLFNBQVMsQ0FBQztBQUNoQyxRQUFBLG9CQUFvQixHQUFHLFNBQVMsQ0FBQztBQUNqQyxRQUFBLDBCQUEwQixHQUFHLE9BQU8sQ0FBQztBQUNyQyxRQUFBLG9CQUFvQixHQUFHLElBQUksa0NBQTBCLEVBQUUsQ0FBQztBQUVyRSxTQUFnQixrQkFBa0IsQ0FDOUIsT0FJcUI7SUFFckIsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGNBQWMsSUFBSSw0QkFBb0IsQ0FBQztJQUVuRSxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFM0MsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsa0JBQWtCLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksZUFBZSxDQUFDLENBQUM7SUFFMUYsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRWxELE9BQU8sQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQy9ELE9BQU8sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQztRQUNq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SUFBSTtZQUNaLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLDBCQUEwQixFQUFFLElBQUk7WUFDaEMsYUFBYSxFQUFFLElBQUk7WUFDbkIsa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixNQUFNLEVBQUUsSUFBSTtZQUNaLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsNEJBQTRCLEVBQUUsSUFBSTtZQUNsQyxhQUFhLEVBQUUsSUFBSTtZQUNuQixNQUFNLEVBQUUsUUFBUTtTQUNuQjtLQUNKO0NBQ0osQ0FBQztBQUVXLFFBQUEsa0NBQWtDLEdBQUc7SUFDOUMsR0FBRywrQkFBdUI7Q0FDN0IsQ0FBQztBQUVXLFFBQUEsNEJBQTRCLEdBQUc7SUFDeEMsR0FBRywrQkFBdUI7SUFDMUIsV0FBVyxFQUFFLDRCQUFvQjtJQUNqQyxvQkFBb0IsRUFBRSxJQUFJO0NBQzdCLENBQUM7QUFFVyxRQUFBLHVCQUF1QixHQUFHO0lBQ25DLEdBQUcsK0JBQXVCO0lBQzFCLFVBQVUsRUFBRSwyQkFBbUI7Q0FDbEMsQ0FBQztBQUVXLFFBQUEsNkJBQTZCLEdBQUc7SUFDekMsR0FBRywrQkFBdUI7SUFDMUIsVUFBVSxFQUFFLDJCQUFtQjtJQUMvQixvQkFBb0IsRUFBRSxJQUFJO0NBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWaXRlc3QgfSBmcm9tIFwiQG5pa292aXJ0YWxhL3Byb2plbi12aXRlc3RcIjtcbmltcG9ydCB7IGF3c2NkaywgY2RrLCBKc29uUGF0Y2gsIGphdmFzY3JpcHQsIFRleHRGaWxlLCB0eXBlIHR5cGVzY3JpcHQgfSBmcm9tIFwicHJvamVuXCI7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FVVEhPUiA9IFwiTmlrbyBWaXJ0YWxhXCI7XG5leHBvcnQgY29uc3QgREVGQVVMVF9BVVRIT1JfQUREUkVTUyA9IFwibmlrby52aXJ0YWxhQGhleS5jb21cIjtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0NES19WRVJTSU9OID0gXCIyLjIyMy4wXCI7XG5leHBvcnQgY29uc3QgREVGQVVMVF9OT0RFX1ZFUlNJT04gPSBcIjIyLjIxLjFcIjtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1RZUEVTQ1JJUFRfVkVSU0lPTiA9IFwiNS45LjNcIjtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0pTSUlfVkVSU0lPTiA9IGB+JHtERUZBVUxUX1RZUEVTQ1JJUFRfVkVSU0lPTn1gO1xuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlEZWZhdWx0Q29uZmlnKFxuICAgIHByb2plY3Q6XG4gICAgICAgIHwgYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHBcbiAgICAgICAgfCBhd3NjZGsuQXdzQ2RrQ29uc3RydWN0TGlicmFyeVxuICAgICAgICB8IHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3RcbiAgICAgICAgfCBjZGsuSnNpaVByb2plY3QsXG4pIHtcbiAgICBjb25zdCBub2RlVmVyc2lvbiA9IHByb2plY3QubWluTm9kZVZlcnNpb24gPz8gREVGQVVMVF9OT0RFX1ZFUlNJT047XG5cbiAgICBwcm9qZWN0LnBhY2thZ2UuYWRkRmllbGQoXCJ0eXBlXCIsIFwibW9kdWxlXCIpO1xuXG4gICAgcHJvamVjdC5kZXBzLnJlbW92ZURlcGVuZGVuY3koXCJ0cy1ub2RlXCIpO1xuICAgIHByb2plY3QuYWRkRGV2RGVwcyhcInRzeFwiKTtcbiAgICBwcm9qZWN0LmRlZmF1bHRUYXNrPy5yZXNldCgpO1xuICAgIHByb2plY3QuZGVmYXVsdFRhc2s/LmV4ZWMoYHRzeCAtLXRzY29uZmlnICR7cHJvamVjdC50c2NvbmZpZ0Rldi5maWxlLnBhdGh9IC5wcm9qZW5yYy50c2ApO1xuXG4gICAgcHJvamVjdC5ucG1yYy5hZGRDb25maWcoXCJub2RlLWxpbmtlclwiLCBcImhvaXN0ZWRcIik7XG5cbiAgICBwcm9qZWN0LnZzY29kZT8uZXh0ZW5zaW9ucy5hZGRSZWNvbW1lbmRhdGlvbnMoXCJiaW9tZWpzLmJpb21lXCIpO1xuICAgIHByb2plY3QudnNjb2RlPy5zZXR0aW5ncy5hZGRTZXR0aW5ncyh7XG4gICAgICAgIFwiZWRpdG9yLmNvZGVBY3Rpb25zT25TYXZlXCI6IHtcbiAgICAgICAgICAgIFwic291cmNlLm9yZ2FuaXplSW1wb3J0cy5iaW9tZVwiOiBcImFsd2F5c1wiLFxuICAgICAgICB9LFxuICAgICAgICBcImVkaXRvci5kZWZhdWx0Rm9ybWF0dGVyXCI6IFwiYmlvbWVqcy5iaW9tZVwiLFxuICAgICAgICBcImVkaXRvci5mb3JtYXRPblNhdmVcIjogdHJ1ZSxcbiAgICAgICAgXCJlZGl0b3IudGFiU2l6ZVwiOiA0LFxuICAgIH0pO1xuXG4gICAgbmV3IFRleHRGaWxlKHByb2plY3QsIFwibWlzZS50b21sXCIsIHtcbiAgICAgICAgY29tbWl0dGVkOiB0cnVlLFxuICAgICAgICByZWFkb25seTogdHJ1ZSxcbiAgICAgICAgbGluZXM6IFtcIlt0b29sc11cIiwgYG5vZGUgPSBcIiR7bm9kZVZlcnNpb259XCJgXSxcbiAgICB9KTtcblxuICAgIGlmIChwcm9qZWN0IGluc3RhbmNlb2YgY2RrLkpzaWlQcm9qZWN0IHx8IHByb2plY3QgaW5zdGFuY2VvZiBhd3NjZGsuQXdzQ2RrQ29uc3RydWN0TGlicmFyeSkge1xuICAgICAgICBwcm9qZWN0LmdpdGh1YlxuICAgICAgICAgICAgPy50cnlGaW5kV29ya2Zsb3coXCJyZWxlYXNlXCIpXG4gICAgICAgICAgICA/LmZpbGU/LnBhdGNoKEpzb25QYXRjaC5yZXBsYWNlKFwiL2pvYnMvcmVsZWFzZV9ucG0vc3RlcHMvMC93aXRoL25vZGUtdmVyc2lvblwiLCBcIjI0LnhcIikpO1xuICAgICAgICBwcm9qZWN0LnBhY2thZ2UuYWRkRmllbGQoXCJwdWJsaXNoQ29uZmlnXCIsIHsgYWNjZXNzOiBcInB1YmxpY1wiIH0pO1xuICAgIH1cblxuICAgIHByb2plY3QubnBtaWdub3JlPy5hZGRQYXR0ZXJucyhcImJpb21lLmpzb25jXCIsIFwibWlzZS50b21sXCIsIFwidml0ZXN0LmNvbmZpZy50c1wiKTtcblxuICAgIG5ldyBWaXRlc3QocHJvamVjdCk7XG59XG5cbmV4cG9ydCBjb25zdCBQUk9KRUNUX0RFRkFVTFRfT1BUSU9OUyA9IHtcbiAgICBhdXRob3I6IERFRkFVTFRfQVVUSE9SLFxuICAgIGF1dGhvckFkZHJlc3M6IERFRkFVTFRfQVVUSE9SX0FERFJFU1MsXG4gICAgZGVmYXVsdFJlbGVhc2VCcmFuY2g6IFwibWFpblwiLFxuICAgIG1pbk5vZGVWZXJzaW9uOiBERUZBVUxUX05PREVfVkVSU0lPTixcbiAgICBhdXRvQXBwcm92ZU9wdGlvbnM6IHtcbiAgICAgICAgc2VjcmV0OiBcIkdJVEhVQl9UT0tFTlwiLFxuICAgICAgICBhbGxvd2VkVXNlcm5hbWVzOiBbXCJuaWtvdmlydGFsYVwiXSxcbiAgICB9LFxuICAgIGRlcGVuZGFib3Q6IGZhbHNlLFxuICAgIGRlcHNVcGdyYWRlT3B0aW9uczoge1xuICAgICAgICB3b3JrZmxvd09wdGlvbnM6IHtcbiAgICAgICAgICAgIGxhYmVsczogW1wiYXV0by1hcHByb3ZlXCIsIFwiYXV0by1tZXJnZVwiXSxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIGdpdGh1YjogdHJ1ZSxcbiAgICBtZXJnaWZ5OiB0cnVlLFxuICAgIGF1dG9NZXJnZTogdHJ1ZSxcbiAgICBqZXN0OiBmYWxzZSxcbiAgICBlc2xpbnQ6IGZhbHNlLFxuICAgIHByZXR0aWVyOiBmYWxzZSxcbiAgICBiaW9tZTogdHJ1ZSxcbiAgICBiaW9tZU9wdGlvbnM6IHtcbiAgICAgICAgYmlvbWVDb25maWc6IHtcbiAgICAgICAgICAgIGZvcm1hdHRlcjoge1xuICAgICAgICAgICAgICAgIGluZGVudFN0eWxlOiBqYXZhc2NyaXB0LmJpb21lX2NvbmZpZy5JbmRlbnRTdHlsZS5TUEFDRSxcbiAgICAgICAgICAgICAgICBpbmRlbnRXaWR0aDogNCxcbiAgICAgICAgICAgICAgICBsaW5lV2lkdGg6IDEyMCxcbiAgICAgICAgICAgICAgICB1c2VFZGl0b3Jjb25maWc6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgZm9ybWF0dGVyOiB0cnVlLFxuICAgICAgICBsaW50ZXI6IHRydWUsXG4gICAgfSxcbiAgICBwYWNrYWdlTWFuYWdlcjogamF2YXNjcmlwdC5Ob2RlUGFja2FnZU1hbmFnZXIuUE5QTSxcbiAgICBwbnBtVmVyc2lvbjogXCIxMFwiLFxuICAgIHByb2plbnJjVHM6IHRydWUsXG4gICAgdHlwZXNjcmlwdFZlcnNpb246IERFRkFVTFRfVFlQRVNDUklQVF9WRVJTSU9OLFxuICAgIHRzY29uZmlnOiB7XG4gICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgICAgYWxsb3dJbXBvcnRpbmdUc0V4dGVuc2lvbnM6IHRydWUsXG4gICAgICAgICAgICBhbGxvd1N5bnRoZXRpY0RlZmF1bHRJbXBvcnRzOiB0cnVlLFxuICAgICAgICAgICAgYWx3YXlzU3RyaWN0OiB0cnVlLFxuICAgICAgICAgICAgZGVjbGFyYXRpb246IHRydWUsXG4gICAgICAgICAgICBlc01vZHVsZUludGVyb3A6IHRydWUsXG4gICAgICAgICAgICBleHBlcmltZW50YWxEZWNvcmF0b3JzOiB0cnVlLFxuICAgICAgICAgICAgaW5saW5lU291cmNlTWFwOiB0cnVlLFxuICAgICAgICAgICAgaW5saW5lU291cmNlczogdHJ1ZSxcbiAgICAgICAgICAgIGlzb2xhdGVkTW9kdWxlczogdHJ1ZSxcbiAgICAgICAgICAgIGxpYjogW1wiZXNuZXh0XCJdLFxuICAgICAgICAgICAgbW9kdWxlOiBcIm5vZGVuZXh0XCIsXG4gICAgICAgICAgICBtb2R1bGVSZXNvbHV0aW9uOiBqYXZhc2NyaXB0LlR5cGVTY3JpcHRNb2R1bGVSZXNvbHV0aW9uLk5PREVfTkVYVCxcbiAgICAgICAgICAgIG5vRW1pdDogdHJ1ZSxcbiAgICAgICAgICAgIG5vRW1pdE9uRXJyb3I6IGZhbHNlLFxuICAgICAgICAgICAgbm9GYWxsdGhyb3VnaENhc2VzSW5Td2l0Y2g6IHRydWUsXG4gICAgICAgICAgICBub0ltcGxpY2l0QW55OiB0cnVlLFxuICAgICAgICAgICAgbm9JbXBsaWNpdE92ZXJyaWRlOiB0cnVlLFxuICAgICAgICAgICAgbm9JbXBsaWNpdFJldHVybnM6IHRydWUsXG4gICAgICAgICAgICBub0ltcGxpY2l0VGhpczogdHJ1ZSxcbiAgICAgICAgICAgIG5vVW51c2VkTG9jYWxzOiB0cnVlLFxuICAgICAgICAgICAgbm9VbnVzZWRQYXJhbWV0ZXJzOiB0cnVlLFxuICAgICAgICAgICAgcmVzb2x2ZUpzb25Nb2R1bGU6IHRydWUsXG4gICAgICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgICAgICBzdHJpY3ROdWxsQ2hlY2tzOiB0cnVlLFxuICAgICAgICAgICAgc3RyaWN0UHJvcGVydHlJbml0aWFsaXphdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIHN0cmlwSW50ZXJuYWw6IHRydWUsXG4gICAgICAgICAgICB0YXJnZXQ6IFwiZXNuZXh0XCIsXG4gICAgICAgIH0sXG4gICAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBUWVBFU0NSSVBUX1BST0pFQ1RfREVGQVVMVF9PUFRJT05TID0ge1xuICAgIC4uLlBST0pFQ1RfREVGQVVMVF9PUFRJT05TLFxufTtcblxuZXhwb3J0IGNvbnN0IEpTSUlfUFJPSkVDVF9ERUZBVUxUX09QVElPTlMgPSB7XG4gICAgLi4uUFJPSkVDVF9ERUZBVUxUX09QVElPTlMsXG4gICAganNpaVZlcnNpb246IERFRkFVTFRfSlNJSV9WRVJTSU9OLFxuICAgIG5wbVRydXN0ZWRQdWJsaXNoaW5nOiB0cnVlLFxufTtcblxuZXhwb3J0IGNvbnN0IENES19BUFBfREVGQVVMVF9PUFRJT05TID0ge1xuICAgIC4uLlBST0pFQ1RfREVGQVVMVF9PUFRJT05TLFxuICAgIGNka1ZlcnNpb246IERFRkFVTFRfQ0RLX1ZFUlNJT04sXG59O1xuXG5leHBvcnQgY29uc3QgQ0RLX0NPTlNUUlVDVF9ERUZBVUxUX09QVElPTlMgPSB7XG4gICAgLi4uUFJPSkVDVF9ERUZBVUxUX09QVElPTlMsXG4gICAgY2RrVmVyc2lvbjogREVGQVVMVF9DREtfVkVSU0lPTixcbiAgICBucG1UcnVzdGVkUHVibGlzaGluZzogdHJ1ZSxcbn07XG4iXX0=
package/lib/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export * from "./awscdk-app-project";
2
+ export * from "./awscdk-construct-project";
3
+ export * from "./config";
4
+ export * from "./jsii-project";
5
+ export * from "./typescript-project";
package/lib/index.js ADDED
@@ -0,0 +1,22 @@
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("./awscdk-app-project"), exports);
18
+ __exportStar(require("./awscdk-construct-project"), exports);
19
+ __exportStar(require("./config"), exports);
20
+ __exportStar(require("./jsii-project"), exports);
21
+ __exportStar(require("./typescript-project"), exports);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUFxQztBQUNyQyw2REFBMkM7QUFDM0MsMkNBQXlCO0FBQ3pCLGlEQUErQjtBQUMvQix1REFBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9hd3NjZGstYXBwLXByb2plY3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F3c2Nkay1jb25zdHJ1Y3QtcHJvamVjdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlnXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9qc2lpLXByb2plY3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzY3JpcHQtcHJvamVjdFwiO1xuIl19
@@ -0,0 +1,4 @@
1
+ import { cdk } from "projen";
2
+ export declare class JsiiProject extends cdk.JsiiProject {
3
+ constructor(options: cdk.JsiiProjectOptions);
4
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.JsiiProject = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const projen_1 = require("projen");
7
+ const config_1 = require("./config");
8
+ class JsiiProject extends projen_1.cdk.JsiiProject {
9
+ constructor(options) {
10
+ super({
11
+ ...config_1.JSII_PROJECT_DEFAULT_OPTIONS,
12
+ ...options,
13
+ biomeOptions: {
14
+ ...config_1.JSII_PROJECT_DEFAULT_OPTIONS.biomeOptions,
15
+ ...(options.biomeOptions ?? {}),
16
+ biomeConfig: {
17
+ ...config_1.JSII_PROJECT_DEFAULT_OPTIONS.biomeOptions.biomeConfig,
18
+ ...(options.biomeOptions?.biomeConfig ?? {}),
19
+ formatter: {
20
+ ...config_1.JSII_PROJECT_DEFAULT_OPTIONS.biomeOptions.biomeConfig.formatter,
21
+ ...(options.biomeOptions?.biomeConfig?.formatter ?? {}),
22
+ },
23
+ },
24
+ },
25
+ tsconfig: {
26
+ compilerOptions: {
27
+ ...config_1.JSII_PROJECT_DEFAULT_OPTIONS.tsconfig.compilerOptions,
28
+ ...(options.tsconfig?.compilerOptions ?? {}),
29
+ },
30
+ },
31
+ });
32
+ (0, config_1.applyDefaultConfig)(this);
33
+ }
34
+ }
35
+ exports.JsiiProject = JsiiProject;
36
+ _a = JSII_RTTI_SYMBOL_1;
37
+ JsiiProject[_a] = { fqn: "@nikovirtala/projen-constructs.JsiiProject", version: "0.0.0" };
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2pzaWktcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUE2QjtBQUM3QixxQ0FBNEU7QUFFNUUsTUFBYSxXQUFZLFNBQVEsWUFBRyxDQUFDLFdBQVc7SUFDNUMsWUFBWSxPQUErQjtRQUN2QyxLQUFLLENBQUM7WUFDRixHQUFHLHFDQUE0QjtZQUMvQixHQUFHLE9BQU87WUFDVixZQUFZLEVBQUU7Z0JBQ1YsR0FBRyxxQ0FBNEIsQ0FBQyxZQUFZO2dCQUM1QyxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7Z0JBQy9CLFdBQVcsRUFBRTtvQkFDVCxHQUFHLHFDQUE0QixDQUFDLFlBQVksQ0FBQyxXQUFXO29CQUN4RCxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDO29CQUM1QyxTQUFTLEVBQUU7d0JBQ1AsR0FBRyxxQ0FBNEIsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFNBQVM7d0JBQ2xFLEdBQUcsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxTQUFTLElBQUksRUFBRSxDQUFDO3FCQUMxRDtpQkFDSjthQUNKO1lBQ0QsUUFBUSxFQUFFO2dCQUNOLGVBQWUsRUFBRTtvQkFDYixHQUFHLHFDQUE0QixDQUFDLFFBQVEsQ0FBQyxlQUFlO29CQUN4RCxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxlQUFlLElBQUksRUFBRSxDQUFDO2lCQUMvQzthQUNKO1NBQ0osQ0FBQyxDQUFDO1FBRUgsSUFBQSwyQkFBa0IsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDOztBQTFCTCxrQ0EyQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjZGsgfSBmcm9tIFwicHJvamVuXCI7XG5pbXBvcnQgeyBhcHBseURlZmF1bHRDb25maWcsIEpTSUlfUFJPSkVDVF9ERUZBVUxUX09QVElPTlMgfSBmcm9tIFwiLi9jb25maWdcIjtcblxuZXhwb3J0IGNsYXNzIEpzaWlQcm9qZWN0IGV4dGVuZHMgY2RrLkpzaWlQcm9qZWN0IHtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBjZGsuSnNpaVByb2plY3RPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIC4uLkpTSUlfUFJPSkVDVF9ERUZBVUxUX09QVElPTlMsXG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgYmlvbWVPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgLi4uSlNJSV9QUk9KRUNUX0RFRkFVTFRfT1BUSU9OUy5iaW9tZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgLi4uKG9wdGlvbnMuYmlvbWVPcHRpb25zID8/IHt9KSxcbiAgICAgICAgICAgICAgICBiaW9tZUNvbmZpZzoge1xuICAgICAgICAgICAgICAgICAgICAuLi5KU0lJX1BST0pFQ1RfREVGQVVMVF9PUFRJT05TLmJpb21lT3B0aW9ucy5iaW9tZUNvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgLi4uKG9wdGlvbnMuYmlvbWVPcHRpb25zPy5iaW9tZUNvbmZpZyA/PyB7fSksXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdHRlcjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uSlNJSV9QUk9KRUNUX0RFRkFVTFRfT1BUSU9OUy5iaW9tZU9wdGlvbnMuYmlvbWVDb25maWcuZm9ybWF0dGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uKG9wdGlvbnMuYmlvbWVPcHRpb25zPy5iaW9tZUNvbmZpZz8uZm9ybWF0dGVyID8/IHt9KSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRzY29uZmlnOiB7XG4gICAgICAgICAgICAgICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLkpTSUlfUFJPSkVDVF9ERUZBVUxUX09QVElPTlMudHNjb25maWcuY29tcGlsZXJPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAuLi4ob3B0aW9ucy50c2NvbmZpZz8uY29tcGlsZXJPcHRpb25zID8/IHt9KSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYXBwbHlEZWZhdWx0Q29uZmlnKHRoaXMpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ import { javascript } from "projen";
2
+ export declare class NodeProject extends javascript.NodeProject {
3
+ constructor(options: javascript.NodeProjectOptions);
4
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.NodeProject = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const projen_1 = require("projen");
7
+ const config_1 = require("./config");
8
+ class NodeProject extends projen_1.javascript.NodeProject {
9
+ constructor(options) {
10
+ super({
11
+ ...config_1.PROJECT_DEFAULT_OPTIONS,
12
+ ...options,
13
+ });
14
+ (0, config_1.applyDefaultConfig)(this);
15
+ }
16
+ }
17
+ exports.NodeProject = NodeProject;
18
+ _a = JSII_RTTI_SYMBOL_1;
19
+ NodeProject[_a] = { fqn: "@nikovirtala/projen-constructs.NodeProject", version: "0.0.0" };
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25vZGUtcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFvQztBQUNwQyxxQ0FBdUU7QUFFdkUsTUFBYSxXQUFZLFNBQVEsbUJBQVUsQ0FBQyxXQUFXO0lBQ25ELFlBQVksT0FBc0M7UUFDOUMsS0FBSyxDQUFDO1lBQ0YsR0FBRyxnQ0FBdUI7WUFDMUIsR0FBRyxPQUFPO1NBQ2IsQ0FBQyxDQUFDO1FBRUgsSUFBQSwyQkFBa0IsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDOztBQVJMLGtDQVNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgamF2YXNjcmlwdCB9IGZyb20gXCJwcm9qZW5cIjtcbmltcG9ydCB7IGFwcGx5RGVmYXVsdENvbmZpZywgUFJPSkVDVF9ERUZBVUxUX09QVElPTlMgfSBmcm9tIFwiLi9jb25maWdcIjtcblxuZXhwb3J0IGNsYXNzIE5vZGVQcm9qZWN0IGV4dGVuZHMgamF2YXNjcmlwdC5Ob2RlUHJvamVjdCB7XG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogamF2YXNjcmlwdC5Ob2RlUHJvamVjdE9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoe1xuICAgICAgICAgICAgLi4uUFJPSkVDVF9ERUZBVUxUX09QVElPTlMsXG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICB9KTtcblxuICAgICAgICBhcHBseURlZmF1bHRDb25maWcodGhpcyk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,4 @@
1
+ import { typescript } from "projen";
2
+ export declare class TypeScriptProject extends typescript.TypeScriptProject {
3
+ constructor(options: typescript.TypeScriptProjectOptions);
4
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.TypeScriptProject = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const projen_1 = require("projen");
7
+ const config_1 = require("./config");
8
+ class TypeScriptProject extends projen_1.typescript.TypeScriptProject {
9
+ constructor(options) {
10
+ super({
11
+ ...config_1.PROJECT_DEFAULT_OPTIONS,
12
+ ...options,
13
+ biomeOptions: {
14
+ ...config_1.PROJECT_DEFAULT_OPTIONS.biomeOptions,
15
+ ...(options.biomeOptions ?? {}),
16
+ biomeConfig: {
17
+ ...config_1.PROJECT_DEFAULT_OPTIONS.biomeOptions.biomeConfig,
18
+ ...(options.biomeOptions?.biomeConfig ?? {}),
19
+ formatter: {
20
+ ...config_1.PROJECT_DEFAULT_OPTIONS.biomeOptions.biomeConfig.formatter,
21
+ ...(options.biomeOptions?.biomeConfig?.formatter ?? {}),
22
+ },
23
+ },
24
+ },
25
+ tsconfig: {
26
+ compilerOptions: {
27
+ ...config_1.PROJECT_DEFAULT_OPTIONS.tsconfig.compilerOptions,
28
+ ...(options.tsconfig?.compilerOptions ?? {}),
29
+ },
30
+ },
31
+ });
32
+ (0, config_1.applyDefaultConfig)(this);
33
+ this.package.addField("publishConfig", { access: "public" });
34
+ }
35
+ }
36
+ exports.TypeScriptProject = TypeScriptProject;
37
+ _a = JSII_RTTI_SYMBOL_1;
38
+ TypeScriptProject[_a] = { fqn: "@nikovirtala/projen-constructs.TypeScriptProject", version: "0.0.0" };
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3R5cGVzY3JpcHQtcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFvQztBQUNwQyxxQ0FBdUU7QUFFdkUsTUFBYSxpQkFBa0IsU0FBUSxtQkFBVSxDQUFDLGlCQUFpQjtJQUMvRCxZQUFZLE9BQTRDO1FBQ3BELEtBQUssQ0FBQztZQUNGLEdBQUcsZ0NBQXVCO1lBQzFCLEdBQUcsT0FBTztZQUNWLFlBQVksRUFBRTtnQkFDVixHQUFHLGdDQUF1QixDQUFDLFlBQVk7Z0JBQ3ZDLEdBQUcsQ0FBQyxPQUFPLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztnQkFDL0IsV0FBVyxFQUFFO29CQUNULEdBQUcsZ0NBQXVCLENBQUMsWUFBWSxDQUFDLFdBQVc7b0JBQ25ELEdBQUcsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7b0JBQzVDLFNBQVMsRUFBRTt3QkFDUCxHQUFHLGdDQUF1QixDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsU0FBUzt3QkFDN0QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFNBQVMsSUFBSSxFQUFFLENBQUM7cUJBQzFEO2lCQUNKO2FBQ0o7WUFDRCxRQUFRLEVBQUU7Z0JBQ04sZUFBZSxFQUFFO29CQUNiLEdBQUcsZ0NBQXVCLENBQUMsUUFBUSxDQUFDLGVBQWU7b0JBQ25ELEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLGVBQWUsSUFBSSxFQUFFLENBQUM7aUJBQy9DO2FBQ0o7U0FDSixDQUFDLENBQUM7UUFFSCxJQUFBLDJCQUFrQixFQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7O0FBNUJMLDhDQTZCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGVzY3JpcHQgfSBmcm9tIFwicHJvamVuXCI7XG5pbXBvcnQgeyBhcHBseURlZmF1bHRDb25maWcsIFBST0pFQ1RfREVGQVVMVF9PUFRJT05TIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5cbmV4cG9ydCBjbGFzcyBUeXBlU2NyaXB0UHJvamVjdCBleHRlbmRzIHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3Qge1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3RPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIC4uLlBST0pFQ1RfREVGQVVMVF9PUFRJT05TLFxuICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgIGJpb21lT3B0aW9uczoge1xuICAgICAgICAgICAgICAgIC4uLlBST0pFQ1RfREVGQVVMVF9PUFRJT05TLmJpb21lT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAuLi4ob3B0aW9ucy5iaW9tZU9wdGlvbnMgPz8ge30pLFxuICAgICAgICAgICAgICAgIGJpb21lQ29uZmlnOiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLlBST0pFQ1RfREVGQVVMVF9PUFRJT05TLmJpb21lT3B0aW9ucy5iaW9tZUNvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgLi4uKG9wdGlvbnMuYmlvbWVPcHRpb25zPy5iaW9tZUNvbmZpZyA/PyB7fSksXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdHRlcjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uUFJPSkVDVF9ERUZBVUxUX09QVElPTlMuYmlvbWVPcHRpb25zLmJpb21lQ29uZmlnLmZvcm1hdHRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLihvcHRpb25zLmJpb21lT3B0aW9ucz8uYmlvbWVDb25maWc/LmZvcm1hdHRlciA/PyB7fSksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0c2NvbmZpZzoge1xuICAgICAgICAgICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAuLi5QUk9KRUNUX0RFRkFVTFRfT1BUSU9OUy50c2NvbmZpZy5jb21waWxlck9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgIC4uLihvcHRpb25zLnRzY29uZmlnPy5jb21waWxlck9wdGlvbnMgPz8ge30pLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICBhcHBseURlZmF1bHRDb25maWcodGhpcyk7XG5cbiAgICAgICAgdGhpcy5wYWNrYWdlLmFkZEZpZWxkKFwicHVibGlzaENvbmZpZ1wiLCB7IGFjY2VzczogXCJwdWJsaWNcIiB9KTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ import type { javascript } from "projen";
2
+ export declare function applyVitest(project: javascript.NodeProject): void;