@alma-cdk/construct-library 0.0.11 → 0.0.12
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 +23 -23
- package/lib/AlmaCdkConstructLibrary.js +77 -70
- package/lib/SonarCloudReportWorkflow.js +16 -11
- package/lib/schemas/almaCdkConstructLibraryOptions.js +11 -8
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
},
|
|
126
126
|
"locationInModule": {
|
|
127
127
|
"filename": "src/AlmaCdkConstructLibrary.ts",
|
|
128
|
-
"line":
|
|
128
|
+
"line": 106
|
|
129
129
|
},
|
|
130
130
|
"parameters": [
|
|
131
131
|
{
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
"kind": "class",
|
|
140
140
|
"locationInModule": {
|
|
141
141
|
"filename": "src/AlmaCdkConstructLibrary.ts",
|
|
142
|
-
"line":
|
|
142
|
+
"line": 103
|
|
143
143
|
},
|
|
144
144
|
"name": "AlmaCdkConstructLibrary",
|
|
145
145
|
"properties": [
|
|
@@ -150,7 +150,7 @@
|
|
|
150
150
|
"immutable": true,
|
|
151
151
|
"locationInModule": {
|
|
152
152
|
"filename": "src/AlmaCdkConstructLibrary.ts",
|
|
153
|
-
"line":
|
|
153
|
+
"line": 104
|
|
154
154
|
},
|
|
155
155
|
"name": "workflowNodeVersion",
|
|
156
156
|
"type": {
|
|
@@ -171,7 +171,7 @@
|
|
|
171
171
|
"kind": "interface",
|
|
172
172
|
"locationInModule": {
|
|
173
173
|
"filename": "src/schemas/almaCdkConstructLibraryOptions.ts",
|
|
174
|
-
"line":
|
|
174
|
+
"line": 57
|
|
175
175
|
},
|
|
176
176
|
"name": "AlmaCdkConstructLibraryOptions",
|
|
177
177
|
"properties": [
|
|
@@ -183,7 +183,7 @@
|
|
|
183
183
|
"immutable": true,
|
|
184
184
|
"locationInModule": {
|
|
185
185
|
"filename": "src/schemas/almaCdkConstructLibraryOptions.ts",
|
|
186
|
-
"line":
|
|
186
|
+
"line": 60
|
|
187
187
|
},
|
|
188
188
|
"name": "author",
|
|
189
189
|
"type": {
|
|
@@ -198,7 +198,7 @@
|
|
|
198
198
|
"immutable": true,
|
|
199
199
|
"locationInModule": {
|
|
200
200
|
"filename": "src/schemas/almaCdkConstructLibraryOptions.ts",
|
|
201
|
-
"line":
|
|
201
|
+
"line": 61
|
|
202
202
|
},
|
|
203
203
|
"name": "authorAddress",
|
|
204
204
|
"type": {
|
|
@@ -213,7 +213,7 @@
|
|
|
213
213
|
"immutable": true,
|
|
214
214
|
"locationInModule": {
|
|
215
215
|
"filename": "src/schemas/almaCdkConstructLibraryOptions.ts",
|
|
216
|
-
"line":
|
|
216
|
+
"line": 63
|
|
217
217
|
},
|
|
218
218
|
"name": "description",
|
|
219
219
|
"type": {
|
|
@@ -228,7 +228,7 @@
|
|
|
228
228
|
"immutable": true,
|
|
229
229
|
"locationInModule": {
|
|
230
230
|
"filename": "src/schemas/almaCdkConstructLibraryOptions.ts",
|
|
231
|
-
"line":
|
|
231
|
+
"line": 59
|
|
232
232
|
},
|
|
233
233
|
"name": "majorVersion",
|
|
234
234
|
"type": {
|
|
@@ -243,7 +243,7 @@
|
|
|
243
243
|
"immutable": true,
|
|
244
244
|
"locationInModule": {
|
|
245
245
|
"filename": "src/schemas/almaCdkConstructLibraryOptions.ts",
|
|
246
|
-
"line":
|
|
246
|
+
"line": 62
|
|
247
247
|
},
|
|
248
248
|
"name": "name",
|
|
249
249
|
"type": {
|
|
@@ -258,7 +258,7 @@
|
|
|
258
258
|
"immutable": true,
|
|
259
259
|
"locationInModule": {
|
|
260
260
|
"filename": "src/schemas/almaCdkConstructLibraryOptions.ts",
|
|
261
|
-
"line":
|
|
261
|
+
"line": 65
|
|
262
262
|
},
|
|
263
263
|
"name": "repositoryUrl",
|
|
264
264
|
"type": {
|
|
@@ -273,7 +273,7 @@
|
|
|
273
273
|
"immutable": true,
|
|
274
274
|
"locationInModule": {
|
|
275
275
|
"filename": "src/schemas/almaCdkConstructLibraryOptions.ts",
|
|
276
|
-
"line":
|
|
276
|
+
"line": 58
|
|
277
277
|
},
|
|
278
278
|
"name": "stability",
|
|
279
279
|
"type": {
|
|
@@ -288,7 +288,7 @@
|
|
|
288
288
|
"immutable": true,
|
|
289
289
|
"locationInModule": {
|
|
290
290
|
"filename": "src/schemas/almaCdkConstructLibraryOptions.ts",
|
|
291
|
-
"line":
|
|
291
|
+
"line": 70
|
|
292
292
|
},
|
|
293
293
|
"name": "bundledDeps",
|
|
294
294
|
"optional": true,
|
|
@@ -309,7 +309,7 @@
|
|
|
309
309
|
"immutable": true,
|
|
310
310
|
"locationInModule": {
|
|
311
311
|
"filename": "src/schemas/almaCdkConstructLibraryOptions.ts",
|
|
312
|
-
"line":
|
|
312
|
+
"line": 68
|
|
313
313
|
},
|
|
314
314
|
"name": "deps",
|
|
315
315
|
"optional": true,
|
|
@@ -330,7 +330,7 @@
|
|
|
330
330
|
"immutable": true,
|
|
331
331
|
"locationInModule": {
|
|
332
332
|
"filename": "src/schemas/almaCdkConstructLibraryOptions.ts",
|
|
333
|
-
"line":
|
|
333
|
+
"line": 69
|
|
334
334
|
},
|
|
335
335
|
"name": "devDeps",
|
|
336
336
|
"optional": true,
|
|
@@ -351,7 +351,7 @@
|
|
|
351
351
|
"immutable": true,
|
|
352
352
|
"locationInModule": {
|
|
353
353
|
"filename": "src/schemas/almaCdkConstructLibraryOptions.ts",
|
|
354
|
-
"line":
|
|
354
|
+
"line": 64
|
|
355
355
|
},
|
|
356
356
|
"name": "keywords",
|
|
357
357
|
"optional": true,
|
|
@@ -372,7 +372,7 @@
|
|
|
372
372
|
"immutable": true,
|
|
373
373
|
"locationInModule": {
|
|
374
374
|
"filename": "src/schemas/almaCdkConstructLibraryOptions.ts",
|
|
375
|
-
"line":
|
|
375
|
+
"line": 73
|
|
376
376
|
},
|
|
377
377
|
"name": "maxNodeVersion",
|
|
378
378
|
"optional": true,
|
|
@@ -388,7 +388,7 @@
|
|
|
388
388
|
"immutable": true,
|
|
389
389
|
"locationInModule": {
|
|
390
390
|
"filename": "src/schemas/almaCdkConstructLibraryOptions.ts",
|
|
391
|
-
"line":
|
|
391
|
+
"line": 71
|
|
392
392
|
},
|
|
393
393
|
"name": "minNodeVersion",
|
|
394
394
|
"optional": true,
|
|
@@ -404,7 +404,7 @@
|
|
|
404
404
|
"immutable": true,
|
|
405
405
|
"locationInModule": {
|
|
406
406
|
"filename": "src/schemas/almaCdkConstructLibraryOptions.ts",
|
|
407
|
-
"line":
|
|
407
|
+
"line": 66
|
|
408
408
|
},
|
|
409
409
|
"name": "releaseBranches",
|
|
410
410
|
"optional": true,
|
|
@@ -425,7 +425,7 @@
|
|
|
425
425
|
"immutable": true,
|
|
426
426
|
"locationInModule": {
|
|
427
427
|
"filename": "src/schemas/almaCdkConstructLibraryOptions.ts",
|
|
428
|
-
"line":
|
|
428
|
+
"line": 67
|
|
429
429
|
},
|
|
430
430
|
"name": "releaseEnvironment",
|
|
431
431
|
"optional": true,
|
|
@@ -442,7 +442,7 @@
|
|
|
442
442
|
"immutable": true,
|
|
443
443
|
"locationInModule": {
|
|
444
444
|
"filename": "src/schemas/almaCdkConstructLibraryOptions.ts",
|
|
445
|
-
"line":
|
|
445
|
+
"line": 75
|
|
446
446
|
},
|
|
447
447
|
"name": "sonarProjectPropertiesExtraLines",
|
|
448
448
|
"optional": true,
|
|
@@ -463,7 +463,7 @@
|
|
|
463
463
|
"immutable": true,
|
|
464
464
|
"locationInModule": {
|
|
465
465
|
"filename": "src/schemas/almaCdkConstructLibraryOptions.ts",
|
|
466
|
-
"line":
|
|
466
|
+
"line": 72
|
|
467
467
|
},
|
|
468
468
|
"name": "workflowNodeVersion",
|
|
469
469
|
"optional": true,
|
|
@@ -475,6 +475,6 @@
|
|
|
475
475
|
"symbolId": "src/schemas/almaCdkConstructLibraryOptions:AlmaCdkConstructLibraryOptions"
|
|
476
476
|
}
|
|
477
477
|
},
|
|
478
|
-
"version": "0.0.
|
|
479
|
-
"fingerprint": "
|
|
478
|
+
"version": "0.0.12",
|
|
479
|
+
"fingerprint": "xazH5Y5wlLEA5O7NZPGPYXqDNjkEqNklQ/M/G5Im0wc="
|
|
480
480
|
}
|
|
@@ -14,77 +14,84 @@ const CDK_VERSION = '2.220.0';
|
|
|
14
14
|
const CONSTRUCTS_VERSION = '10.3.0';
|
|
15
15
|
const JSII_VERSION = '~5.9.0';
|
|
16
16
|
const JEST_VERSION = '^30';
|
|
17
|
+
const DEFAULT_KEYWORDS = ['cdk', 'aws-cdk', 'awscdk', 'aws'];
|
|
18
|
+
const PRETTIER_IGNORE_PATTERNS = [
|
|
19
|
+
'.github/**/*',
|
|
20
|
+
'.projen/**/*',
|
|
21
|
+
'.vscode/**/*',
|
|
22
|
+
'coverage/**/*',
|
|
23
|
+
'dist/**/*',
|
|
24
|
+
'/*.*',
|
|
25
|
+
'!.projenrc.ts',
|
|
26
|
+
];
|
|
27
|
+
const DEFAULT_GITIGNORE_PATTERNS = [
|
|
28
|
+
'.DS_Store',
|
|
29
|
+
'/examples/**/cdk.context.json',
|
|
30
|
+
'/examples/**/node_modules',
|
|
31
|
+
'/examples/**/cdk.out',
|
|
32
|
+
'/examples/**/.git',
|
|
33
|
+
'TODO.md',
|
|
34
|
+
'.scannerwork/',
|
|
35
|
+
'**/*.drawio.bkp',
|
|
36
|
+
'**/*.afdesign~lock~',
|
|
37
|
+
];
|
|
38
|
+
function buildKeywords(keywords) {
|
|
39
|
+
return (0, uniqueKeywordsCaseInsensitive_1.uniqueKeywordsCaseInsensitive)([...DEFAULT_KEYWORDS, ...keywords]);
|
|
40
|
+
}
|
|
41
|
+
function buildPublishToPypiOptions(name) {
|
|
42
|
+
const { scope, packageName } = (0, name_1.parseScopedPackageName)(name);
|
|
43
|
+
return {
|
|
44
|
+
distName: `${scope}.${packageName}`,
|
|
45
|
+
module: `${scope.replace(/-/g, '_')}.${packageName.replace(/-/g, '_')}`,
|
|
46
|
+
trustedPublishing: true,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function buildPublishToGoOptions(repositoryUrl) {
|
|
50
|
+
return {
|
|
51
|
+
moduleName: `${repositoryUrl.replace('https://', '').replace('.git', '')}-go`,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function buildAwsCdkConstructLibraryOptions(validatedOptions) {
|
|
55
|
+
return {
|
|
56
|
+
...validatedOptions,
|
|
57
|
+
// Package manager & projen
|
|
58
|
+
projenCommand: 'pnpm exec projen',
|
|
59
|
+
authorOrganization: true,
|
|
60
|
+
defaultReleaseBranch: 'main',
|
|
61
|
+
packageManager: projen_1.javascript.NodePackageManager.PNPM,
|
|
62
|
+
npmAccess: projen_1.javascript.NpmAccess.PUBLIC,
|
|
63
|
+
npmTrustedPublishing: true,
|
|
64
|
+
projenrcTs: true,
|
|
65
|
+
jsiiVersion: JSII_VERSION,
|
|
66
|
+
keywords: buildKeywords(validatedOptions.keywords),
|
|
67
|
+
jestOptions: {
|
|
68
|
+
jestVersion: JEST_VERSION,
|
|
69
|
+
updateSnapshot: javascript_1.UpdateSnapshot.NEVER,
|
|
70
|
+
},
|
|
71
|
+
// Code quality (Prettier)
|
|
72
|
+
prettier: true,
|
|
73
|
+
prettierOptions: {
|
|
74
|
+
ignoreFileOptions: {
|
|
75
|
+
ignorePatterns: [...PRETTIER_IGNORE_PATTERNS],
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
// Publishing
|
|
79
|
+
publishToPypi: buildPublishToPypiOptions(validatedOptions.name),
|
|
80
|
+
publishToGo: buildPublishToGoOptions(validatedOptions.repositoryUrl),
|
|
81
|
+
// CDK
|
|
82
|
+
cdkVersion: CDK_VERSION,
|
|
83
|
+
constructsVersion: CONSTRUCTS_VERSION,
|
|
84
|
+
// Git & dev
|
|
85
|
+
gitignore: [...DEFAULT_GITIGNORE_PATTERNS],
|
|
86
|
+
tsconfigDev: {
|
|
87
|
+
include: ['AlmaCdkConstructLibrary/**/*.ts'],
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
}
|
|
17
91
|
class AlmaCdkConstructLibrary extends projen_1.awscdk.AwsCdkConstructLibrary {
|
|
18
92
|
constructor(options) {
|
|
19
93
|
const validatedOptions = almaCdkConstructLibraryOptions_1.almaCdkConstructLibraryOptionsSchema.parse(options);
|
|
20
|
-
|
|
21
|
-
const opts = {
|
|
22
|
-
...validatedOptions,
|
|
23
|
-
// Package manager & projen
|
|
24
|
-
projenCommand: 'pnpm exec projen',
|
|
25
|
-
authorOrganization: true,
|
|
26
|
-
defaultReleaseBranch: 'main',
|
|
27
|
-
packageManager: projen_1.javascript.NodePackageManager.PNPM,
|
|
28
|
-
npmAccess: projen_1.javascript.NpmAccess.PUBLIC,
|
|
29
|
-
npmTrustedPublishing: true,
|
|
30
|
-
projenrcTs: true,
|
|
31
|
-
jsiiVersion: JSII_VERSION,
|
|
32
|
-
keywords: (0, uniqueKeywordsCaseInsensitive_1.uniqueKeywordsCaseInsensitive)([
|
|
33
|
-
'cdk',
|
|
34
|
-
'aws-cdk',
|
|
35
|
-
'awscdk',
|
|
36
|
-
'aws',
|
|
37
|
-
...validatedOptions.keywords,
|
|
38
|
-
]),
|
|
39
|
-
jestOptions: {
|
|
40
|
-
jestVersion: JEST_VERSION,
|
|
41
|
-
updateSnapshot: javascript_1.UpdateSnapshot.NEVER,
|
|
42
|
-
},
|
|
43
|
-
// Code quality (Prettier)
|
|
44
|
-
prettier: true,
|
|
45
|
-
prettierOptions: {
|
|
46
|
-
ignoreFileOptions: {
|
|
47
|
-
ignorePatterns: [
|
|
48
|
-
'.github/**/*',
|
|
49
|
-
'.projen/**/*',
|
|
50
|
-
'.vscode/**/*',
|
|
51
|
-
'coverage/**/*',
|
|
52
|
-
'dist/**/*',
|
|
53
|
-
'/*.*',
|
|
54
|
-
'!.projenrc.ts',
|
|
55
|
-
],
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
// Publishing
|
|
59
|
-
publishToPypi: {
|
|
60
|
-
distName: `${packageScope}.${packageName}`,
|
|
61
|
-
module: `${packageScope.replace('-', '_')}.${packageName.replace('-', '_')}`,
|
|
62
|
-
trustedPublishing: true,
|
|
63
|
-
},
|
|
64
|
-
publishToGo: {
|
|
65
|
-
moduleName: `${validatedOptions.repositoryUrl.replace('https://', '').replace('.git', '')}-go`,
|
|
66
|
-
},
|
|
67
|
-
// CDK
|
|
68
|
-
cdkVersion: CDK_VERSION,
|
|
69
|
-
constructsVersion: CONSTRUCTS_VERSION,
|
|
70
|
-
// Git & dev
|
|
71
|
-
gitignore: [
|
|
72
|
-
'.DS_Store',
|
|
73
|
-
'/examples/**/cdk.context.json',
|
|
74
|
-
'/examples/**/node_modules',
|
|
75
|
-
'/examples/**/cdk.out',
|
|
76
|
-
'/examples/**/.git',
|
|
77
|
-
'TODO.md',
|
|
78
|
-
'.scannerwork/',
|
|
79
|
-
'**/*.drawio.bkp',
|
|
80
|
-
'**/*.afdesign~lock~',
|
|
81
|
-
],
|
|
82
|
-
tsconfigDev: {
|
|
83
|
-
include: ['AlmaCdkConstructLibrary/**/*.ts'],
|
|
84
|
-
},
|
|
85
|
-
};
|
|
86
|
-
super(opts);
|
|
87
|
-
// Schema default ensures this is set
|
|
94
|
+
super(buildAwsCdkConstructLibraryOptions(validatedOptions));
|
|
88
95
|
this.workflowNodeVersion = validatedOptions.workflowNodeVersion;
|
|
89
96
|
this.addDevDeps('typescript@^5.9'); // Defaults to very old typescript@4.9
|
|
90
97
|
this.addDevDeps('@types/semver@^7');
|
|
@@ -102,5 +109,5 @@ class AlmaCdkConstructLibrary extends projen_1.awscdk.AwsCdkConstructLibrary {
|
|
|
102
109
|
}
|
|
103
110
|
exports.AlmaCdkConstructLibrary = AlmaCdkConstructLibrary;
|
|
104
111
|
_a = JSII_RTTI_SYMBOL_1;
|
|
105
|
-
AlmaCdkConstructLibrary[_a] = { fqn: "@alma-cdk/construct-library.AlmaCdkConstructLibrary", version: "0.0.
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
112
|
+
AlmaCdkConstructLibrary[_a] = { fqn: "@alma-cdk/construct-library.AlmaCdkConstructLibrary", version: "0.0.12" };
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWxtYUNka0NvbnN0cnVjdExpYnJhcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQWxtYUNka0NvbnN0cnVjdExpYnJhcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBNEM7QUFDNUMsc0RBQXVEO0FBRXZELDZDQUEwQztBQUMxQyw2RkFHa0Q7QUFDbEQseUNBQXdEO0FBQ3hELHlFQUFzRTtBQUN0RSxtRkFBZ0Y7QUFJaEYsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDO0FBQzlCLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDO0FBQ3BDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQztBQUM5QixNQUFNLFlBQVksR0FBRyxLQUFLLENBQUM7QUFDM0IsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBVSxDQUFDO0FBQ3RFLE1BQU0sd0JBQXdCLEdBQUc7SUFDL0IsY0FBYztJQUNkLGNBQWM7SUFDZCxjQUFjO0lBQ2QsZUFBZTtJQUNmLFdBQVc7SUFDWCxNQUFNO0lBQ04sZUFBZTtDQUNQLENBQUM7QUFDWCxNQUFNLDBCQUEwQixHQUFHO0lBQ2pDLFdBQVc7SUFDWCwrQkFBK0I7SUFDL0IsMkJBQTJCO0lBQzNCLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsU0FBUztJQUNULGVBQWU7SUFDZixpQkFBaUI7SUFDakIscUJBQXFCO0NBQ2IsQ0FBQztBQUlYLFNBQVMsYUFBYSxDQUFDLFFBQTJCO0lBQ2hELE9BQU8sSUFBQSw2REFBNkIsRUFBQyxDQUFDLEdBQUcsZ0JBQWdCLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQzNFLENBQUM7QUFFRCxTQUFTLHlCQUF5QixDQUFDLElBQVk7SUFDN0MsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFBLDZCQUFzQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBRTVELE9BQU87UUFD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LENBQUM7SUFDdkIsQ0FBQzs7QUEzQkgsMERBNEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzY2RrLCBqYXZhc2NyaXB0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IFVwZGF0ZVNuYXBzaG90IH0gZnJvbSAncHJvamVuL2xpYi9qYXZhc2NyaXB0JztcbmltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuaW1wb3J0IHsgTm9kZUNvbmZpZyB9IGZyb20gJy4vTm9kZUNvbmZpZyc7XG5pbXBvcnQge1xuICBhbG1hQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnNTY2hlbWEsXG4gIHR5cGUgQWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zLFxufSBmcm9tICcuL3NjaGVtYXMvYWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zJztcbmltcG9ydCB7IHBhcnNlU2NvcGVkUGFja2FnZU5hbWUgfSBmcm9tICcuL3NjaGVtYXMvbmFtZSc7XG5pbXBvcnQgeyBTb25hckNsb3VkUmVwb3J0V29ya2Zsb3cgfSBmcm9tICcuL1NvbmFyQ2xvdWRSZXBvcnRXb3JrZmxvdyc7XG5pbXBvcnQgeyB1bmlxdWVLZXl3b3Jkc0Nhc2VJbnNlbnNpdGl2ZSB9IGZyb20gJy4vdW5pcXVlS2V5d29yZHNDYXNlSW5zZW5zaXRpdmUnO1xuXG5leHBvcnQgdHlwZSB7IEFsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB9IGZyb20gJy4vc2NoZW1hcy9hbG1hQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMnO1xuXG5jb25zdCBDREtfVkVSU0lPTiA9ICcyLjIyMC4wJztcbmNvbnN0IENPTlNUUlVDVFNfVkVSU0lPTiA9ICcxMC4zLjAnO1xuY29uc3QgSlNJSV9WRVJTSU9OID0gJ341LjkuMCc7XG5jb25zdCBKRVNUX1ZFUlNJT04gPSAnXjMwJztcbmNvbnN0IERFRkFVTFRfS0VZV09SRFMgPSBbJ2NkaycsICdhd3MtY2RrJywgJ2F3c2NkaycsICdhd3MnXSBhcyBjb25zdDtcbmNvbnN0IFBSRVRUSUVSX0lHTk9SRV9QQVRURVJOUyA9IFtcbiAgJy5naXRodWIvKiovKicsXG4gICcucHJvamVuLyoqLyonLFxuICAnLnZzY29kZS8qKi8qJyxcbiAgJ2NvdmVyYWdlLyoqLyonLFxuICAnZGlzdC8qKi8qJyxcbiAgJy8qLionLFxuICAnIS5wcm9qZW5yYy50cycsXG5dIGFzIGNvbnN0O1xuY29uc3QgREVGQVVMVF9HSVRJR05PUkVfUEFUVEVSTlMgPSBbXG4gICcuRFNfU3RvcmUnLFxuICAnL2V4YW1wbGVzLyoqL2Nkay5jb250ZXh0Lmpzb24nLFxuICAnL2V4YW1wbGVzLyoqL25vZGVfbW9kdWxlcycsXG4gICcvZXhhbXBsZXMvKiovY2RrLm91dCcsXG4gICcvZXhhbXBsZXMvKiovLmdpdCcsXG4gICdUT0RPLm1kJyxcbiAgJy5zY2FubmVyd29yay8nLFxuICAnKiovKi5kcmF3aW8uYmtwJyxcbiAgJyoqLyouYWZkZXNpZ25+bG9ja34nLFxuXSBhcyBjb25zdDtcblxudHlwZSBWYWxpZGF0ZWRPcHRpb25zID0gei5pbmZlcjx0eXBlb2YgYWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zU2NoZW1hPjtcblxuZnVuY3Rpb24gYnVpbGRLZXl3b3JkcyhrZXl3b3JkczogcmVhZG9ubHkgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiB1bmlxdWVLZXl3b3Jkc0Nhc2VJbnNlbnNpdGl2ZShbLi4uREVGQVVMVF9LRVlXT1JEUywgLi4ua2V5d29yZHNdKTtcbn1cblxuZnVuY3Rpb24gYnVpbGRQdWJsaXNoVG9QeXBpT3B0aW9ucyhuYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgeyBzY29wZSwgcGFja2FnZU5hbWUgfSA9IHBhcnNlU2NvcGVkUGFja2FnZU5hbWUobmFtZSk7XG5cbiAgcmV0dXJuIHtcbiAgICBkaXN0TmFtZTogYCR7c2NvcGV9LiR7cGFja2FnZU5hbWV9YCxcbiAgICBtb2R1bGU6IGAke3Njb3BlLnJlcGxhY2UoLy0vZywgJ18nKX0uJHtwYWNrYWdlTmFtZS5yZXBsYWNlKC8tL2csICdfJyl9YCxcbiAgICB0cnVzdGVkUHVibGlzaGluZzogdHJ1ZSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gYnVpbGRQdWJsaXNoVG9Hb09wdGlvbnMocmVwb3NpdG9yeVVybDogc3RyaW5nKSB7XG4gIHJldHVybiB7XG4gICAgbW9kdWxlTmFtZTogYCR7cmVwb3NpdG9yeVVybC5yZXBsYWNlKCdodHRwczovLycsICcnKS5yZXBsYWNlKCcuZ2l0JywgJycpfS1nb2AsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGJ1aWxkQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMoXG4gIHZhbGlkYXRlZE9wdGlvbnM6IFZhbGlkYXRlZE9wdGlvbnMsXG4pOiBhd3NjZGsuQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMge1xuICByZXR1cm4ge1xuICAgIC4uLnZhbGlkYXRlZE9wdGlvbnMsXG4gICAgLy8gUGFja2FnZSBtYW5hZ2VyICYgcHJvamVuXG4gICAgcHJvamVuQ29tbWFuZDogJ3BucG0gZXhlYyBwcm9qZW4nLFxuICAgIGF1dGhvck9yZ2FuaXphdGlvbjogdHJ1ZSxcbiAgICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogJ21haW4nLFxuICAgIHBhY2thZ2VNYW5hZ2VyOiBqYXZhc2NyaXB0Lk5vZGVQYWNrYWdlTWFuYWdlci5QTlBNLFxuICAgIG5wbUFjY2VzczogamF2YXNjcmlwdC5OcG1BY2Nlc3MuUFVCTElDLFxuICAgIG5wbVRydXN0ZWRQdWJsaXNoaW5nOiB0cnVlLFxuICAgIHByb2plbnJjVHM6IHRydWUsXG4gICAganNpaVZlcnNpb246IEpTSUlfVkVSU0lPTixcbiAgICBrZXl3b3JkczogYnVpbGRLZXl3b3Jkcyh2YWxpZGF0ZWRPcHRpb25zLmtleXdvcmRzKSxcbiAgICBqZXN0T3B0aW9uczoge1xuICAgICAgamVzdFZlcnNpb246IEpFU1RfVkVSU0lPTixcbiAgICAgIHVwZGF0ZVNuYXBzaG90OiBVcGRhdGVTbmFwc2hvdC5ORVZFUixcbiAgICB9LFxuICAgIC8vIENvZGUgcXVhbGl0eSAoUHJldHRpZXIpXG4gICAgcHJldHRpZXI6IHRydWUsXG4gICAgcHJldHRpZXJPcHRpb25zOiB7XG4gICAgICBpZ25vcmVGaWxlT3B0aW9uczoge1xuICAgICAgICBpZ25vcmVQYXR0ZXJuczogWy4uLlBSRVRUSUVSX0lHTk9SRV9QQVRURVJOU10sXG4gICAgICB9LFxuICAgIH0sXG4gICAgLy8gUHVibGlzaGluZ1xuICAgIHB1Ymxpc2hUb1B5cGk6IGJ1aWxkUHVibGlzaFRvUHlwaU9wdGlvbnModmFsaWRhdGVkT3B0aW9ucy5uYW1lKSxcbiAgICBwdWJsaXNoVG9HbzogYnVpbGRQdWJsaXNoVG9Hb09wdGlvbnModmFsaWRhdGVkT3B0aW9ucy5yZXBvc2l0b3J5VXJsKSxcbiAgICAvLyBDREtcbiAgICBjZGtWZXJzaW9uOiBDREtfVkVSU0lPTixcbiAgICBjb25zdHJ1Y3RzVmVyc2lvbjogQ09OU1RSVUNUU19WRVJTSU9OLFxuICAgIC8vIEdpdCAmIGRldlxuICAgIGdpdGlnbm9yZTogWy4uLkRFRkFVTFRfR0lUSUdOT1JFX1BBVFRFUk5TXSxcbiAgICB0c2NvbmZpZ0Rldjoge1xuICAgICAgaW5jbHVkZTogWydBbG1hQ2RrQ29uc3RydWN0TGlicmFyeS8qKi8qLnRzJ10sXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEFsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5IGV4dGVuZHMgYXdzY2RrLkF3c0Nka0NvbnN0cnVjdExpYnJhcnkge1xuICBwdWJsaWMgcmVhZG9ubHkgd29ya2Zsb3dOb2RlVmVyc2lvbjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEFsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucykge1xuICAgIGNvbnN0IHZhbGlkYXRlZE9wdGlvbnMgPVxuICAgICAgYWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zU2NoZW1hLnBhcnNlKG9wdGlvbnMpO1xuICAgIHN1cGVyKGJ1aWxkQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnModmFsaWRhdGVkT3B0aW9ucykpO1xuXG4gICAgdGhpcy53b3JrZmxvd05vZGVWZXJzaW9uID0gdmFsaWRhdGVkT3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uO1xuXG4gICAgdGhpcy5hZGREZXZEZXBzKCd0eXBlc2NyaXB0QF41LjknKTsgLy8gRGVmYXVsdHMgdG8gdmVyeSBvbGQgdHlwZXNjcmlwdEA0LjlcbiAgICB0aGlzLmFkZERldkRlcHMoJ0B0eXBlcy9zZW12ZXJAXjcnKTtcbiAgICB0aGlzLmFkZERldkRlcHMoJ2pzb24tc2NoZW1hLXRvLXR5cGVzY3JpcHRAXjE1Jyk7XG5cbiAgICB0aGlzLmFkZEJ1bmRsZWREZXBzKCd6b2RANCcpO1xuICAgIHRoaXMuYWRkQnVuZGxlZERlcHMoJ3NlbXZlckA3Jyk7XG5cbiAgICB0aGlzLmFkZFRhc2soJ2Zvcm1hdCcsIHtcbiAgICAgIGV4ZWM6ICdwcmV0dGllciAtLXdyaXRlIC4nLFxuICAgIH0pO1xuXG4gICAgbmV3IFNvbmFyQ2xvdWRSZXBvcnRXb3JrZmxvdyh0aGlzLCB7XG4gICAgICBzb25hclByb2plY3RQcm9wZXJ0aWVzRXh0cmFMaW5lczpcbiAgICAgICAgdmFsaWRhdGVkT3B0aW9ucy5zb25hclByb2plY3RQcm9wZXJ0aWVzRXh0cmFMaW5lcyxcbiAgICB9KTtcblxuICAgIG5ldyBOb2RlQ29uZmlnKHRoaXMpO1xuICB9XG59XG4iXX0=
|
|
@@ -4,6 +4,20 @@ exports.SonarCloudReportWorkflow = void 0;
|
|
|
4
4
|
const projen_1 = require("projen");
|
|
5
5
|
const github_1 = require("projen/lib/github");
|
|
6
6
|
const workflows_model_1 = require("projen/lib/github/workflows-model");
|
|
7
|
+
const name_1 = require("./schemas/name");
|
|
8
|
+
function buildSonarProjectPropertiesLines(projectName, extraLines = []) {
|
|
9
|
+
const { scope, packageName } = (0, name_1.parseScopedPackageName)(projectName);
|
|
10
|
+
return [
|
|
11
|
+
'sonar.host.url=https://sonarcloud.io',
|
|
12
|
+
`sonar.projectKey=${scope}_${packageName}`,
|
|
13
|
+
`sonar.organization=${scope}`,
|
|
14
|
+
'sonar.javascript.lcov.reportPaths=./coverage/lcov.info',
|
|
15
|
+
'sonar.sources=./src',
|
|
16
|
+
'sonar.tests=./test',
|
|
17
|
+
'sonar.test.inclusions=**/*.test.*',
|
|
18
|
+
...extraLines,
|
|
19
|
+
];
|
|
20
|
+
}
|
|
7
21
|
class SonarCloudReportWorkflow {
|
|
8
22
|
constructor(project, options) {
|
|
9
23
|
const sonarCloudReportWorkflow = project.github?.addWorkflow('sonarcloud-report');
|
|
@@ -42,20 +56,11 @@ class SonarCloudReportWorkflow {
|
|
|
42
56
|
/**
|
|
43
57
|
* Sonarcloud properties file
|
|
44
58
|
*/
|
|
45
|
-
const sonarProjectPropertiesLines =
|
|
46
|
-
'sonar.host.url=https://sonarcloud.io',
|
|
47
|
-
`sonar.projectKey=${project.name.replace('@', '').replace('/', '_')}`,
|
|
48
|
-
`sonar.organization=${project.name.replace('@', '').split('/')[0]}`,
|
|
49
|
-
'sonar.javascript.lcov.reportPaths=./coverage/lcov.info',
|
|
50
|
-
'sonar.sources=./src',
|
|
51
|
-
'sonar.tests=./test',
|
|
52
|
-
'sonar.test.inclusions=**/*.test.*',
|
|
53
|
-
...(options?.sonarProjectPropertiesExtraLines ?? []),
|
|
54
|
-
];
|
|
59
|
+
const sonarProjectPropertiesLines = buildSonarProjectPropertiesLines(project.name, options?.sonarProjectPropertiesExtraLines);
|
|
55
60
|
new projen_1.TextFile(project, 'sonar-project.properties', {
|
|
56
61
|
lines: sonarProjectPropertiesLines,
|
|
57
62
|
});
|
|
58
63
|
}
|
|
59
64
|
}
|
|
60
65
|
exports.SonarCloudReportWorkflow = SonarCloudReportWorkflow;
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU29uYXJDbG91ZFJlcG9ydFdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NvbmFyQ2xvdWRSZXBvcnRXb3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBMEM7QUFDMUMsOENBQWtEO0FBQ2xELHVFQUFrRTtBQUNsRSx5Q0FBd0Q7QUFPeEQsU0FBUyxnQ0FBZ0MsQ0FDdkMsV0FBbUIsRUFDbkIsYUFBZ0MsRUFBRTtJQUVsQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxHQUFHLElBQUEsNkJBQXNCLEVBQUMsV0FBVyxDQUFDLENBQUM7SUFFbkUsT0FBTztRQUNMLHNDQUFzQztRQUN0QyxvQkFBb0IsS0FBSyxJQUFJLFdBQVcsRUFBRTtRQUMxQyxzQkFBc0IsS0FBSyxFQUFFO1FBQzdCLHdEQUF3RDtRQUN4RCxxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLG1DQUFtQztRQUNuQyxHQUFHLFVBQVU7S0FDZCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQWEsd0JBQXdCO0lBQ25DLFlBQ0UsT0FBc0MsRUFDdEMsT0FBeUM7UUFFekMsTUFBTSx3QkFBd0IsR0FDNUIsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUVuRCx3QkFBd0IsRUFBRSxFQUFFLENBQUM7WUFDM0IsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQ3BDLFdBQVcsRUFBRTtnQkFDWCxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQzthQUM3QztTQUNGLENBQUMsQ0FBQztRQUVILHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRTtZQUNwRCxNQUFNLEVBQUUsQ0FBQyxlQUFlLENBQUM7WUFDekIsV0FBVyxFQUFFO2dCQUNYLFFBQVEsRUFBRSwrQkFBYSxDQUFDLElBQUk7YUFDN0I7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsc0JBQWEsQ0FBQyxRQUFRLENBQUM7b0JBQ3JCLElBQUksRUFBRTt3QkFDSixVQUFVLEVBQUUsQ0FBQztxQkFDZDtpQkFDRixDQUFDO2dCQUNGLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixFQUFFO2dCQUNoQztvQkFDRSxJQUFJLEVBQUUsV0FBVztvQkFDakIsR0FBRyxFQUFFLGVBQWU7aUJBQ3JCO2dCQUNEO29CQUNFLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLElBQUksRUFBRSxzQ0FBc0M7b0JBQzVDLEdBQUcsRUFBRTt3QkFDSCxZQUFZLEVBQUUsNkJBQTZCO3dCQUMzQyxXQUFXLEVBQUUsNEJBQTRCO3FCQUMxQztpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDSCxNQUFNLDJCQUEyQixHQUFHLGdDQUFnQyxDQUNsRSxPQUFPLENBQUMsSUFBSSxFQUNaLE9BQU8sRUFBRSxnQ0FBZ0MsQ0FDMUMsQ0FBQztRQUVGLElBQUksaUJBQVEsQ0FBQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUU7WUFDaEQsS0FBSyxFQUFFLDJCQUEyQjtTQUNuQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF0REQsNERBc0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzY2RrLCBUZXh0RmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBXb3JrZmxvd1N0ZXBzIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWInO1xuaW1wb3J0IHsgSm9iUGVybWlzc2lvbiB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbCc7XG5pbXBvcnQgeyBwYXJzZVNjb3BlZFBhY2thZ2VOYW1lIH0gZnJvbSAnLi9zY2hlbWFzL25hbWUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNvbmFyQ2xvdWRSZXBvcnRXb3JrZmxvd09wdGlvbnMge1xuICAvKiogTGluZXMgYXBwZW5kZWQgYWZ0ZXIgdGhlIGRlZmF1bHQgYHNvbmFyLXByb2plY3QucHJvcGVydGllc2AgY29udGVudC4gKi9cbiAgcmVhZG9ubHkgc29uYXJQcm9qZWN0UHJvcGVydGllc0V4dHJhTGluZXM/OiByZWFkb25seSBzdHJpbmdbXTtcbn1cblxuZnVuY3Rpb24gYnVpbGRTb25hclByb2plY3RQcm9wZXJ0aWVzTGluZXMoXG4gIHByb2plY3ROYW1lOiBzdHJpbmcsXG4gIGV4dHJhTGluZXM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW10sXG4pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHsgc2NvcGUsIHBhY2thZ2VOYW1lIH0gPSBwYXJzZVNjb3BlZFBhY2thZ2VOYW1lKHByb2plY3ROYW1lKTtcblxuICByZXR1cm4gW1xuICAgICdzb25hci5ob3N0LnVybD1odHRwczovL3NvbmFyY2xvdWQuaW8nLFxuICAgIGBzb25hci5wcm9qZWN0S2V5PSR7c2NvcGV9XyR7cGFja2FnZU5hbWV9YCxcbiAgICBgc29uYXIub3JnYW5pemF0aW9uPSR7c2NvcGV9YCxcbiAgICAnc29uYXIuamF2YXNjcmlwdC5sY292LnJlcG9ydFBhdGhzPS4vY292ZXJhZ2UvbGNvdi5pbmZvJyxcbiAgICAnc29uYXIuc291cmNlcz0uL3NyYycsXG4gICAgJ3NvbmFyLnRlc3RzPS4vdGVzdCcsXG4gICAgJ3NvbmFyLnRlc3QuaW5jbHVzaW9ucz0qKi8qLnRlc3QuKicsXG4gICAgLi4uZXh0cmFMaW5lcyxcbiAgXTtcbn1cblxuZXhwb3J0IGNsYXNzIFNvbmFyQ2xvdWRSZXBvcnRXb3JrZmxvdyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb2plY3Q6IGF3c2Nkay5Bd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5LFxuICAgIG9wdGlvbnM/OiBTb25hckNsb3VkUmVwb3J0V29ya2Zsb3dPcHRpb25zLFxuICApIHtcbiAgICBjb25zdCBzb25hckNsb3VkUmVwb3J0V29ya2Zsb3cgPVxuICAgICAgcHJvamVjdC5naXRodWI/LmFkZFdvcmtmbG93KCdzb25hcmNsb3VkLXJlcG9ydCcpO1xuXG4gICAgc29uYXJDbG91ZFJlcG9ydFdvcmtmbG93Py5vbih7XG4gICAgICBwdXNoOiB7IGJyYW5jaGVzOiBbJ21haW4nLCAnYmV0YSddIH0sXG4gICAgICBwdWxsUmVxdWVzdDoge1xuICAgICAgICB0eXBlczogWydvcGVuZWQnLCAnc3luY2hyb25pemUnLCAncmVvcGVuZWQnXSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBzb25hckNsb3VkUmVwb3J0V29ya2Zsb3c/LmFkZEpvYignc29uYXJjbG91ZC1yZXBvcnQnLCB7XG4gICAgICBydW5zT246IFsndWJ1bnR1LWxhdGVzdCddLFxuICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgY29udGVudHM6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgIH0sXG4gICAgICBzdGVwczogW1xuICAgICAgICBXb3JrZmxvd1N0ZXBzLmNoZWNrb3V0KHtcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICBmZXRjaERlcHRoOiAwLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgICAuLi5wcm9qZWN0LnJlbmRlcldvcmtmbG93U2V0dXAoKSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdSdW4gdGVzdHMnLFxuICAgICAgICAgIHJ1bjogJ3BucG0gcnVuIHRlc3QnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ1NvbmFyQ2xvdWQgU2NhbicsXG4gICAgICAgICAgdXNlczogJ1NvbmFyU291cmNlL3NvbmFycXViZS1zY2FuLWFjdGlvbkB2NycsXG4gICAgICAgICAgZW52OiB7XG4gICAgICAgICAgICBHSVRIVUJfVE9LRU46ICcke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX0nLFxuICAgICAgICAgICAgU09OQVJfVE9LRU46ICcke3sgc2VjcmV0cy5TT05BUl9UT0tFTiB9fScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBTb25hcmNsb3VkIHByb3BlcnRpZXMgZmlsZVxuICAgICAqL1xuICAgIGNvbnN0IHNvbmFyUHJvamVjdFByb3BlcnRpZXNMaW5lcyA9IGJ1aWxkU29uYXJQcm9qZWN0UHJvcGVydGllc0xpbmVzKFxuICAgICAgcHJvamVjdC5uYW1lLFxuICAgICAgb3B0aW9ucz8uc29uYXJQcm9qZWN0UHJvcGVydGllc0V4dHJhTGluZXMsXG4gICAgKTtcblxuICAgIG5ldyBUZXh0RmlsZShwcm9qZWN0LCAnc29uYXItcHJvamVjdC5wcm9wZXJ0aWVzJywge1xuICAgICAgbGluZXM6IHNvbmFyUHJvamVjdFByb3BlcnRpZXNMaW5lcyxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -8,18 +8,19 @@ const name_1 = require("./name");
|
|
|
8
8
|
const repositoryUrl_1 = require("./repositoryUrl");
|
|
9
9
|
/** Positive integer (≥ 1) */
|
|
10
10
|
const positiveInteger = zod_1.z.number().int().positive();
|
|
11
|
+
function coerceValidSemver(value) {
|
|
12
|
+
const coerced = semver.coerce(value);
|
|
13
|
+
return coerced != null && semver.valid(coerced) != null ? coerced : null;
|
|
14
|
+
}
|
|
11
15
|
/**
|
|
12
16
|
* Node/engine version: must be valid semver or coercible to one (e.g. major-only `20`).
|
|
13
17
|
* Parsed output is the original string — no normalization (e.g. `20` stays `20`, not `20.0.0`).
|
|
14
18
|
*/
|
|
15
|
-
const nodeVersionStringSchema = zod_1.z.string().refine((s) => {
|
|
16
|
-
const coerced = semver.coerce(s);
|
|
17
|
-
return coerced != null && semver.valid(coerced) != null;
|
|
18
|
-
}, { message: 'Must be a valid semver or coercible to one' });
|
|
19
|
+
const nodeVersionStringSchema = zod_1.z.string().refine((s) => coerceValidSemver(s) != null, { message: 'Must be a valid semver or coercible to one' });
|
|
19
20
|
function validateNodeVersionOrder(opts) {
|
|
20
|
-
const min =
|
|
21
|
-
const max =
|
|
22
|
-
const workflow =
|
|
21
|
+
const min = coerceValidSemver(opts.minNodeVersion);
|
|
22
|
+
const max = coerceValidSemver(opts.maxNodeVersion);
|
|
23
|
+
const workflow = coerceValidSemver(opts.workflowNodeVersion);
|
|
23
24
|
if (min == null || max == null || workflow == null)
|
|
24
25
|
return true; // let field-level validation handle invalid semver
|
|
25
26
|
return (semver.lte(min, max) &&
|
|
@@ -40,6 +41,8 @@ exports.branchOptionsSchema = zod_1.z.object({
|
|
|
40
41
|
const NODEJS_MIN_VERSION = '20';
|
|
41
42
|
const NODEJS_MAX_VERSION = '24';
|
|
42
43
|
/** Projen AwsCdkConstructLibrary options with validation and defaults (min/max/workflow Node versions, scoped name, etc.). */
|
|
44
|
+
// JSII cannot infer this schema shape cleanly, so we keep the runtime schema
|
|
45
|
+
// and its public options interface aligned explicitly.
|
|
43
46
|
exports.almaCdkConstructLibraryOptionsSchema = zod_1.z
|
|
44
47
|
.object({
|
|
45
48
|
stability: zod_1.z.enum(projen_1.cdk.Stability),
|
|
@@ -63,4 +66,4 @@ exports.almaCdkConstructLibraryOptionsSchema = zod_1.z
|
|
|
63
66
|
.refine(validateNodeVersionOrder, {
|
|
64
67
|
message: 'Node versions must satisfy min <= workflow <= max',
|
|
65
68
|
});
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjaGVtYXMvYWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFxQztBQUVyQyxpQ0FBaUM7QUFDakMsNkJBQXdCO0FBQ3hCLGlDQUFvQztBQUNwQyxtREFBc0Q7QUFFdEQsNkJBQTZCO0FBQzdCLE1BQU0sZUFBZSxHQUFHLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUVwRCxTQUFTLGlCQUFpQixDQUFDLEtBQWE7SUFDdEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxPQUFPLE9BQU8sSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzNFLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLHVCQUF1QixHQUFHLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQy9DLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQ25DLEVBQUUsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLENBQzFELENBQUM7QUFFRixTQUFTLHdCQUF3QixDQUFDLElBSWpDO0lBQ0MsTUFBTSxHQUFHLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sR0FBRyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNuRCxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FB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N0QsQ0FBZ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGF3c2NkaywgY2RrIH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IEJyYW5jaE9wdGlvbnMgfSBmcm9tICdwcm9qZW4vbGliL3JlbGVhc2UnO1xuaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gJ3NlbXZlcic7XG5pbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcbmltcG9ydCB7IG5hbWVTY2hlbWEgfSBmcm9tICcuL25hbWUnO1xuaW1wb3J0IHsgcmVwb3NpdG9yeVVybFNjaGVtYSB9IGZyb20gJy4vcmVwb3NpdG9yeVVybCc7XG5cbi8qKiBQb3NpdGl2ZSBpbnRlZ2VyICjiiaUgMSkgKi9cbmNvbnN0IHBvc2l0aXZlSW50ZWdlciA9IHoubnVtYmVyKCkuaW50KCkucG9zaXRpdmUoKTtcblxuZnVuY3Rpb24gY29lcmNlVmFsaWRTZW12ZXIodmFsdWU6IHN0cmluZyk6IHNlbXZlci5TZW1WZXIgfCBudWxsIHtcbiAgY29uc3QgY29lcmNlZCA9IHNlbXZlci5jb2VyY2UodmFsdWUpO1xuICByZXR1cm4gY29lcmNlZCAhPSBudWxsICYmIHNlbXZlci52YWxpZChjb2VyY2VkKSAhPSBudWxsID8gY29lcmNlZCA6IG51bGw7XG59XG5cbi8qKlxuICogTm9kZS9lbmdpbmUgdmVyc2lvbjogbXVzdCBiZSB2YWxpZCBzZW12ZXIgb3IgY29lcmNpYmxlIHRvIG9uZSAoZS5nLiBtYWpvci1vbmx5IGAyMGApLlxuICogUGFyc2VkIG91dHB1dCBpcyB0aGUgb3JpZ2luYWwgc3RyaW5nIOKAlCBubyBub3JtYWxpemF0aW9uIChlLmcuIGAyMGAgc3RheXMgYDIwYCwgbm90IGAyMC4wLjBgKS5cbiAqL1xuY29uc3Qgbm9kZVZlcnNpb25TdHJpbmdTY2hlbWEgPSB6LnN0cmluZygpLnJlZmluZShcbiAgKHMpID0+IGNvZXJjZVZhbGlkU2VtdmVyKHMpICE9IG51bGwsXG4gIHsgbWVzc2FnZTogJ011c3QgYmUgYSB2YWxpZCBzZW12ZXIgb3IgY29lcmNpYmxlIHRvIG9uZScgfSxcbik7XG5cbmZ1bmN0aW9uIHZhbGlkYXRlTm9kZVZlcnNpb25PcmRlcihvcHRzOiB7XG4gIG1pbk5vZGVWZXJzaW9uOiBzdHJpbmc7XG4gIG1heE5vZGVWZXJzaW9uOiBzdHJpbmc7XG4gIHdvcmtmbG93Tm9kZVZlcnNpb246IHN0cmluZztcbn0pOiBib29sZWFuIHtcbiAgY29uc3QgbWluID0gY29lcmNlVmFsaWRTZW12ZXIob3B0cy5taW5Ob2RlVmVyc2lvbik7XG4gIGNvbnN0IG1heCA9IGNvZXJjZVZhbGlkU2VtdmVyKG9wdHMubWF4Tm9kZVZlcnNpb24pO1xuICBjb25zdCB3b3JrZmxvdyA9IGNvZXJjZVZhbGlkU2VtdmVyKG9wdHMud29ya2Zsb3dOb2RlVmVyc2lvbik7XG4gIGlmIChtaW4gPT0gbnVsbCB8fCBtYXggPT0gbnVsbCB8fCB3b3JrZmxvdyA9PSBudWxsKSByZXR1cm4gdHJ1ZTsgLy8gbGV0IGZpZWxkLWxldmVsIHZhbGlkYXRpb24gaGFuZGxlIGludmFsaWQgc2VtdmVyXG4gIHJldHVybiAoXG4gICAgc2VtdmVyLmx0ZShtaW4sIG1heCkgJiZcbiAgICBzZW12ZXIubHRlKG1pbiwgd29ya2Zsb3cpICYmXG4gICAgc2VtdmVyLmx0ZSh3b3JrZmxvdywgbWF4KVxuICApO1xufVxuXG4vKiogT3B0aW9ucyBmb3IgYSByZWxlYXNlIGJyYW5jaCAobWF0Y2hlcyBwcm9qZW4gQnJhbmNoT3B0aW9ucykgKi9cbmV4cG9ydCBjb25zdCBicmFuY2hPcHRpb25zU2NoZW1hID0gei5vYmplY3Qoe1xuICB3b3JrZmxvd05hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZW52aXJvbm1lbnQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbWFqb3JWZXJzaW9uOiBwb3NpdGl2ZUludGVnZXIsXG4gIG1pbk1ham9yVmVyc2lvbjogcG9zaXRpdmVJbnRlZ2VyLm9wdGlvbmFsKCksXG4gIG1pbm9yVmVyc2lvbjogcG9zaXRpdmVJbnRlZ2VyLm9wdGlvbmFsKCksXG4gIHByZXJlbGVhc2U6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdGFnUHJlZml4OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG5wbURpc3RUYWc6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5cbi8qKlxuICogTmVlZHMgdG8gYmUgbWFudWFsbHkgdHlwZWQgZHVlIHRvIEpTSUkgbGltaXRhdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zIHtcbiAgcmVhZG9ubHkgc3RhYmlsaXR5OiBjZGsuU3RhYmlsaXR5O1xuICByZWFkb25seSBtYWpvclZlcnNpb246IG51bWJlcjtcbiAgcmVhZG9ubHkgYXV0aG9yOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGF1dGhvckFkZHJlc3M6IHN0cmluZztcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICByZWFkb25seSBrZXl3b3Jkcz86IHN0cmluZ1tdO1xuICByZWFkb25seSByZXBvc2l0b3J5VXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlbGVhc2VCcmFuY2hlcz86IFJlY29yZDxzdHJpbmcsIEJyYW5jaE9wdGlvbnM+O1xuICByZWFkb25seSByZWxlYXNlRW52aXJvbm1lbnQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlcHM/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgZGV2RGVwcz86IHN0cmluZ1tdO1xuICByZWFkb25seSBidW5kbGVkRGVwcz86IHN0cmluZ1tdO1xuICByZWFkb25seSBtaW5Ob2RlVmVyc2lvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgd29ya2Zsb3dOb2RlVmVyc2lvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgbWF4Tm9kZVZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKiBBcHBlbmRlZCB0byBnZW5lcmF0ZWQgYHNvbmFyLXByb2plY3QucHJvcGVydGllc2AgYWZ0ZXIgdGhlIGRlZmF1bHQgbGluZXMgKGUuZy4gU29uYXIgbXVsdGljcml0ZXJpYSBpZ25vcmVzKS4gKi9cbiAgcmVhZG9ubHkgc29uYXJQcm9qZWN0UHJvcGVydGllc0V4dHJhTGluZXM/OiBzdHJpbmdbXTtcbn1cblxuY29uc3QgTk9ERUpTX01JTl9WRVJTSU9OID0gJzIwJztcbmNvbnN0IE5PREVKU19NQVhfVkVSU0lPTiA9ICcyNCc7XG5cblxuLyoqIFByb2plbiBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5IG9wdGlvbnMgd2l0aCB2YWxpZGF0aW9uIGFuZCBkZWZhdWx0cyAobWluL21heC93b3JrZmxvdyBOb2RlIHZlcnNpb25zLCBzY29wZWQgbmFtZSwgZXRjLikuICovXG4vLyBKU0lJIGNhbm5vdCBpbmZlciB0aGlzIHNjaGVtYSBzaGFwZSBjbGVhbmx5LCBzbyB3ZSBrZWVwIHRoZSBydW50aW1lIHNjaGVtYVxuLy8gYW5kIGl0cyBwdWJsaWMgb3B0aW9ucyBpbnRlcmZhY2UgYWxpZ25lZCBleHBsaWNpdGx5LlxuZXhwb3J0IGNvbnN0IGFsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9uc1NjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgc3RhYmlsaXR5OiB6LmVudW0oY2RrLlN0YWJpbGl0eSksXG4gICAgbWFqb3JWZXJzaW9uOiBwb3NpdGl2ZUludGVnZXIsXG4gICAgYXV0aG9yOiB6LnN0cmluZygpLFxuICAgIGF1dGhvckFkZHJlc3M6IHouZW1haWwoKSxcbiAgICBuYW1lOiBuYW1lU2NoZW1hLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLFxuICAgIGtleXdvcmRzOiB6LmFycmF5KHouc3RyaW5nKCkpLmRlZmF1bHQoW10pLFxuICAgIHJlcG9zaXRvcnlVcmw6IHJlcG9zaXRvcnlVcmxTY2hlbWEsXG4gICAgcmVsZWFzZUJyYW5jaGVzOiB6LnJlY29yZCh6LnN0cmluZygpLCBicmFuY2hPcHRpb25zU2NoZW1hKS5vcHRpb25hbCgpLFxuICAgIHJlbGVhc2VFbnZpcm9ubWVudDogei5zdHJpbmcoKSxcbiAgICBkZXBzOiB6LmFycmF5KHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG4gICAgZGV2RGVwczogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxuICAgIGJ1bmRsZWREZXBzOiB6LmFycmF5KHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG4gICAgbWluTm9kZVZlcnNpb246IG5vZGVWZXJzaW9uU3RyaW5nU2NoZW1hLmRlZmF1bHQoTk9ERUpTX01JTl9WRVJTSU9OKSxcbiAgICB3b3JrZmxvd05vZGVWZXJzaW9uOiBub2RlVmVyc2lvblN0cmluZ1NjaGVtYS5kZWZhdWx0KE5PREVKU19NQVhfVkVSU0lPTiksXG4gICAgbWF4Tm9kZVZlcnNpb246IG5vZGVWZXJzaW9uU3RyaW5nU2NoZW1hLmRlZmF1bHQoTk9ERUpTX01BWF9WRVJTSU9OKSxcbiAgICBzb25hclByb2plY3RQcm9wZXJ0aWVzRXh0cmFMaW5lczogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxuICB9KVxuICAucmVmaW5lKHZhbGlkYXRlTm9kZVZlcnNpb25PcmRlciwge1xuICAgIG1lc3NhZ2U6ICdOb2RlIHZlcnNpb25zIG11c3Qgc2F0aXNmeSBtaW4gPD0gd29ya2Zsb3cgPD0gbWF4JyxcbiAgfSkgc2F0aXNmaWVzIHouWm9kVHlwZTxQYXJ0aWFsPGF3c2Nkay5Bd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucz4+ICYgei5ab2RUeXBlPEFsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucz47XG5cbiJdfQ==
|