lerna-projen 0.1.610 → 0.1.612
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 +36 -36
- package/lib/cli.js +9 -5
- package/lib/index.js +27 -15
- package/lib/types.js +1 -1
- package/lib/utils.js +5 -3
- package/package.json +5 -5
package/.jsii
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"constructs": "^10.4.2",
|
|
18
|
-
"projen": "^0.
|
|
18
|
+
"projen": "^0.92.2"
|
|
19
19
|
},
|
|
20
20
|
"dependencyClosure": {
|
|
21
21
|
"constructs": {
|
|
@@ -256,7 +256,7 @@
|
|
|
256
256
|
},
|
|
257
257
|
"locationInModule": {
|
|
258
258
|
"filename": "src/index.ts",
|
|
259
|
-
"line":
|
|
259
|
+
"line": 77
|
|
260
260
|
},
|
|
261
261
|
"parameters": [
|
|
262
262
|
{
|
|
@@ -270,7 +270,7 @@
|
|
|
270
270
|
"kind": "class",
|
|
271
271
|
"locationInModule": {
|
|
272
272
|
"filename": "src/index.ts",
|
|
273
|
-
"line":
|
|
273
|
+
"line": 62
|
|
274
274
|
},
|
|
275
275
|
"methods": [
|
|
276
276
|
{
|
|
@@ -280,7 +280,7 @@
|
|
|
280
280
|
},
|
|
281
281
|
"locationInModule": {
|
|
282
282
|
"filename": "src/index.ts",
|
|
283
|
-
"line":
|
|
283
|
+
"line": 101
|
|
284
284
|
},
|
|
285
285
|
"name": "customizeTask",
|
|
286
286
|
"parameters": [
|
|
@@ -311,7 +311,7 @@
|
|
|
311
311
|
},
|
|
312
312
|
"locationInModule": {
|
|
313
313
|
"filename": "src/index.ts",
|
|
314
|
-
"line":
|
|
314
|
+
"line": 105
|
|
315
315
|
},
|
|
316
316
|
"name": "preSynthesize",
|
|
317
317
|
"overrides": "projen.Project"
|
|
@@ -326,7 +326,7 @@
|
|
|
326
326
|
"immutable": true,
|
|
327
327
|
"locationInModule": {
|
|
328
328
|
"filename": "src/index.ts",
|
|
329
|
-
"line":
|
|
329
|
+
"line": 67
|
|
330
330
|
},
|
|
331
331
|
"name": "docgen",
|
|
332
332
|
"type": {
|
|
@@ -340,7 +340,7 @@
|
|
|
340
340
|
"immutable": true,
|
|
341
341
|
"locationInModule": {
|
|
342
342
|
"filename": "src/index.ts",
|
|
343
|
-
"line":
|
|
343
|
+
"line": 66
|
|
344
344
|
},
|
|
345
345
|
"name": "docsDirectory",
|
|
346
346
|
"type": {
|
|
@@ -354,7 +354,7 @@
|
|
|
354
354
|
"immutable": true,
|
|
355
355
|
"locationInModule": {
|
|
356
356
|
"filename": "src/index.ts",
|
|
357
|
-
"line":
|
|
357
|
+
"line": 70
|
|
358
358
|
},
|
|
359
359
|
"name": "independentMode",
|
|
360
360
|
"type": {
|
|
@@ -368,7 +368,7 @@
|
|
|
368
368
|
"immutable": true,
|
|
369
369
|
"locationInModule": {
|
|
370
370
|
"filename": "src/index.ts",
|
|
371
|
-
"line":
|
|
371
|
+
"line": 68
|
|
372
372
|
},
|
|
373
373
|
"name": "sinceLastRelease",
|
|
374
374
|
"type": {
|
|
@@ -382,7 +382,7 @@
|
|
|
382
382
|
"immutable": true,
|
|
383
383
|
"locationInModule": {
|
|
384
384
|
"filename": "src/index.ts",
|
|
385
|
-
"line":
|
|
385
|
+
"line": 72
|
|
386
386
|
},
|
|
387
387
|
"name": "taskCustomizations",
|
|
388
388
|
"type": {
|
|
@@ -401,7 +401,7 @@
|
|
|
401
401
|
"immutable": true,
|
|
402
402
|
"locationInModule": {
|
|
403
403
|
"filename": "src/index.ts",
|
|
404
|
-
"line":
|
|
404
|
+
"line": 69
|
|
405
405
|
},
|
|
406
406
|
"name": "useNx",
|
|
407
407
|
"type": {
|
|
@@ -415,7 +415,7 @@
|
|
|
415
415
|
"immutable": true,
|
|
416
416
|
"locationInModule": {
|
|
417
417
|
"filename": "src/index.ts",
|
|
418
|
-
"line":
|
|
418
|
+
"line": 71
|
|
419
419
|
},
|
|
420
420
|
"name": "useWorkspaces",
|
|
421
421
|
"type": {
|
|
@@ -429,7 +429,7 @@
|
|
|
429
429
|
"immutable": true,
|
|
430
430
|
"locationInModule": {
|
|
431
431
|
"filename": "src/index.ts",
|
|
432
|
-
"line":
|
|
432
|
+
"line": 73
|
|
433
433
|
},
|
|
434
434
|
"name": "pnpmVersion",
|
|
435
435
|
"optional": true,
|
|
@@ -531,7 +531,7 @@
|
|
|
531
531
|
},
|
|
532
532
|
"locationInModule": {
|
|
533
533
|
"filename": "src/index.ts",
|
|
534
|
-
"line":
|
|
534
|
+
"line": 129
|
|
535
535
|
},
|
|
536
536
|
"parameters": [
|
|
537
537
|
{
|
|
@@ -545,7 +545,7 @@
|
|
|
545
545
|
"kind": "class",
|
|
546
546
|
"locationInModule": {
|
|
547
547
|
"filename": "src/index.ts",
|
|
548
|
-
"line":
|
|
548
|
+
"line": 119
|
|
549
549
|
},
|
|
550
550
|
"methods": [
|
|
551
551
|
{
|
|
@@ -555,7 +555,7 @@
|
|
|
555
555
|
},
|
|
556
556
|
"locationInModule": {
|
|
557
557
|
"filename": "src/index.ts",
|
|
558
|
-
"line":
|
|
558
|
+
"line": 152
|
|
559
559
|
},
|
|
560
560
|
"name": "customizeTask",
|
|
561
561
|
"parameters": [
|
|
@@ -586,7 +586,7 @@
|
|
|
586
586
|
},
|
|
587
587
|
"locationInModule": {
|
|
588
588
|
"filename": "src/index.ts",
|
|
589
|
-
"line":
|
|
589
|
+
"line": 156
|
|
590
590
|
},
|
|
591
591
|
"name": "preSynthesize",
|
|
592
592
|
"overrides": "projen.Project"
|
|
@@ -601,7 +601,7 @@
|
|
|
601
601
|
"immutable": true,
|
|
602
602
|
"locationInModule": {
|
|
603
603
|
"filename": "src/index.ts",
|
|
604
|
-
"line":
|
|
604
|
+
"line": 122
|
|
605
605
|
},
|
|
606
606
|
"name": "independentMode",
|
|
607
607
|
"type": {
|
|
@@ -615,7 +615,7 @@
|
|
|
615
615
|
"immutable": true,
|
|
616
616
|
"locationInModule": {
|
|
617
617
|
"filename": "src/index.ts",
|
|
618
|
-
"line":
|
|
618
|
+
"line": 120
|
|
619
619
|
},
|
|
620
620
|
"name": "sinceLastRelease",
|
|
621
621
|
"type": {
|
|
@@ -629,7 +629,7 @@
|
|
|
629
629
|
"immutable": true,
|
|
630
630
|
"locationInModule": {
|
|
631
631
|
"filename": "src/index.ts",
|
|
632
|
-
"line":
|
|
632
|
+
"line": 124
|
|
633
633
|
},
|
|
634
634
|
"name": "taskCustomizations",
|
|
635
635
|
"type": {
|
|
@@ -648,7 +648,7 @@
|
|
|
648
648
|
"immutable": true,
|
|
649
649
|
"locationInModule": {
|
|
650
650
|
"filename": "src/index.ts",
|
|
651
|
-
"line":
|
|
651
|
+
"line": 121
|
|
652
652
|
},
|
|
653
653
|
"name": "useNx",
|
|
654
654
|
"type": {
|
|
@@ -662,7 +662,7 @@
|
|
|
662
662
|
"immutable": true,
|
|
663
663
|
"locationInModule": {
|
|
664
664
|
"filename": "src/index.ts",
|
|
665
|
-
"line":
|
|
665
|
+
"line": 123
|
|
666
666
|
},
|
|
667
667
|
"name": "useWorkspaces",
|
|
668
668
|
"type": {
|
|
@@ -676,7 +676,7 @@
|
|
|
676
676
|
"immutable": true,
|
|
677
677
|
"locationInModule": {
|
|
678
678
|
"filename": "src/index.ts",
|
|
679
|
-
"line":
|
|
679
|
+
"line": 125
|
|
680
680
|
},
|
|
681
681
|
"name": "pnpmVersion",
|
|
682
682
|
"optional": true,
|
|
@@ -836,7 +836,7 @@
|
|
|
836
836
|
"kind": "interface",
|
|
837
837
|
"locationInModule": {
|
|
838
838
|
"filename": "src/utils.ts",
|
|
839
|
-
"line":
|
|
839
|
+
"line": 89
|
|
840
840
|
},
|
|
841
841
|
"name": "AddNxDependencyOptions",
|
|
842
842
|
"namespace": "utils",
|
|
@@ -850,7 +850,7 @@
|
|
|
850
850
|
"immutable": true,
|
|
851
851
|
"locationInModule": {
|
|
852
852
|
"filename": "src/utils.ts",
|
|
853
|
-
"line":
|
|
853
|
+
"line": 104
|
|
854
854
|
},
|
|
855
855
|
"name": "projectDependency",
|
|
856
856
|
"optional": true,
|
|
@@ -868,7 +868,7 @@
|
|
|
868
868
|
"immutable": true,
|
|
869
869
|
"locationInModule": {
|
|
870
870
|
"filename": "src/utils.ts",
|
|
871
|
-
"line":
|
|
871
|
+
"line": 94
|
|
872
872
|
},
|
|
873
873
|
"name": "taskDependency",
|
|
874
874
|
"optional": true,
|
|
@@ -885,7 +885,7 @@
|
|
|
885
885
|
"immutable": true,
|
|
886
886
|
"locationInModule": {
|
|
887
887
|
"filename": "src/utils.ts",
|
|
888
|
-
"line":
|
|
888
|
+
"line": 99
|
|
889
889
|
},
|
|
890
890
|
"name": "tasksDependency",
|
|
891
891
|
"optional": true,
|
|
@@ -911,7 +911,7 @@
|
|
|
911
911
|
"kind": "interface",
|
|
912
912
|
"locationInModule": {
|
|
913
913
|
"filename": "src/utils.ts",
|
|
914
|
-
"line":
|
|
914
|
+
"line": 82
|
|
915
915
|
},
|
|
916
916
|
"name": "AddNxProjectDependencyOptions",
|
|
917
917
|
"namespace": "utils",
|
|
@@ -925,7 +925,7 @@
|
|
|
925
925
|
"immutable": true,
|
|
926
926
|
"locationInModule": {
|
|
927
927
|
"filename": "src/utils.ts",
|
|
928
|
-
"line":
|
|
928
|
+
"line": 86
|
|
929
929
|
},
|
|
930
930
|
"name": "dependsOnProjects",
|
|
931
931
|
"type": {
|
|
@@ -950,7 +950,7 @@
|
|
|
950
950
|
"kind": "interface",
|
|
951
951
|
"locationInModule": {
|
|
952
952
|
"filename": "src/utils.ts",
|
|
953
|
-
"line":
|
|
953
|
+
"line": 59
|
|
954
954
|
},
|
|
955
955
|
"name": "AddNxTaskDependencyOptions",
|
|
956
956
|
"namespace": "utils",
|
|
@@ -964,7 +964,7 @@
|
|
|
964
964
|
"immutable": true,
|
|
965
965
|
"locationInModule": {
|
|
966
966
|
"filename": "src/utils.ts",
|
|
967
|
-
"line":
|
|
967
|
+
"line": 73
|
|
968
968
|
},
|
|
969
969
|
"name": "dependsOnProjects",
|
|
970
970
|
"type": {
|
|
@@ -985,7 +985,7 @@
|
|
|
985
985
|
"immutable": true,
|
|
986
986
|
"locationInModule": {
|
|
987
987
|
"filename": "src/utils.ts",
|
|
988
|
-
"line":
|
|
988
|
+
"line": 63
|
|
989
989
|
},
|
|
990
990
|
"name": "taskName",
|
|
991
991
|
"type": {
|
|
@@ -1002,7 +1002,7 @@
|
|
|
1002
1002
|
"immutable": true,
|
|
1003
1003
|
"locationInModule": {
|
|
1004
1004
|
"filename": "src/utils.ts",
|
|
1005
|
-
"line":
|
|
1005
|
+
"line": 79
|
|
1006
1006
|
},
|
|
1007
1007
|
"name": "cache",
|
|
1008
1008
|
"optional": true,
|
|
@@ -1019,7 +1019,7 @@
|
|
|
1019
1019
|
"immutable": true,
|
|
1020
1020
|
"locationInModule": {
|
|
1021
1021
|
"filename": "src/utils.ts",
|
|
1022
|
-
"line":
|
|
1022
|
+
"line": 68
|
|
1023
1023
|
},
|
|
1024
1024
|
"name": "dependsOnTaskName",
|
|
1025
1025
|
"optional": true,
|
|
@@ -1031,6 +1031,6 @@
|
|
|
1031
1031
|
"symbolId": "src/utils:AddNxTaskDependencyOptions"
|
|
1032
1032
|
}
|
|
1033
1033
|
},
|
|
1034
|
-
"version": "0.1.
|
|
1035
|
-
"fingerprint": "
|
|
1034
|
+
"version": "0.1.612",
|
|
1035
|
+
"fingerprint": "yiQ9Qh4iTErQqmlFJ/ATwnLPwfNxQBQuzCeZaquykvk="
|
|
1036
1036
|
}
|
package/lib/cli.js
CHANGED
|
@@ -19,8 +19,9 @@ program
|
|
|
19
19
|
.command('copy-dist <subProjectDist> <parentDist>')
|
|
20
20
|
.action(async (subProjectPath, parentDist) => {
|
|
21
21
|
const subProjectDist = `./${subProjectPath}`;
|
|
22
|
-
if (!(0, fs_extra_1.existsSync)(subProjectDist))
|
|
22
|
+
if (!(0, fs_extra_1.existsSync)(subProjectDist)) {
|
|
23
23
|
return;
|
|
24
|
+
}
|
|
24
25
|
const entries = (0, fs_extra_1.readdirSync)(subProjectDist);
|
|
25
26
|
await Promise.all(entries.map(f => (0, fs_extra_1.copy)(`${subProjectDist}/${f}`, `${parentDist}/${f}`, { recursive: true, overwrite: true })));
|
|
26
27
|
});
|
|
@@ -32,8 +33,9 @@ program
|
|
|
32
33
|
});
|
|
33
34
|
async function moveDocs(parentDocsDirectory, subProjectPath, subPath, isFile) {
|
|
34
35
|
const subProjectDocs = `./${subProjectPath}/${subPath}`;
|
|
35
|
-
if (!(0, fs_extra_1.existsSync)(subProjectDocs))
|
|
36
|
+
if (!(0, fs_extra_1.existsSync)(subProjectDocs)) {
|
|
36
37
|
return;
|
|
38
|
+
}
|
|
37
39
|
const destinationFolder = `./${parentDocsDirectory}/${subProjectPath}`;
|
|
38
40
|
(0, fs_extra_1.emptyDirSync)(destinationFolder);
|
|
39
41
|
const moveOptions = { overwrite: true };
|
|
@@ -46,17 +48,19 @@ async function moveDocs(parentDocsDirectory, subProjectPath, subPath, isFile) {
|
|
|
46
48
|
}
|
|
47
49
|
}
|
|
48
50
|
function readFileIfExists(filePath) {
|
|
49
|
-
if (!((0, fs_extra_1.existsSync)(filePath)))
|
|
51
|
+
if (!((0, fs_extra_1.existsSync)(filePath))) {
|
|
50
52
|
return { path: filePath };
|
|
53
|
+
}
|
|
51
54
|
return {
|
|
52
55
|
path: filePath,
|
|
53
56
|
content: (0, fs_extra_1.readFileSync)(filePath),
|
|
54
57
|
};
|
|
55
58
|
}
|
|
56
59
|
function writeFileIfExists(details) {
|
|
57
|
-
if (!details.content)
|
|
60
|
+
if (!details.content) {
|
|
58
61
|
return;
|
|
62
|
+
}
|
|
59
63
|
(0, fs_extra_1.writeFileSync)(details.path, details.content);
|
|
60
64
|
}
|
|
61
65
|
program.parse(process.argv);
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlDQUFvQztBQUNwQyx1Q0FBMEc7QUFFMUcsTUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBTyxFQUFFLENBQUM7QUFPOUIsT0FBTztLQUNKLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQztLQUNsQyxNQUFNLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFO0lBQzNCLE1BQU0sYUFBYSxHQUFhO1FBQzlCLEdBQUcsVUFBVSxlQUFlO1FBQzVCLEdBQUcsVUFBVSxjQUFjO1FBQzNCLEdBQUcsVUFBVSxpQkFBaUI7S0FDL0IsQ0FBQztJQUNGLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN4RCxJQUFBLHVCQUFZLEVBQUMsVUFBVSxDQUFDLENBQUM7SUFDekIsV0FBVyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQyxDQUFDO0FBRUwsT0FBTztLQUNKLE9BQU8sQ0FBQyx5Q0FBeUMsQ0FBQztLQUNsRCxNQUFNLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsRUFBRTtJQUMzQyxNQUFNLGNBQWMsR0FBRyxLQUFLLGNBQWMsRUFBRSxDQUFDO0lBQzdDLElBQUksQ0FBQyxJQUFBLHFCQUFVLEVBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztRQUFBLE9BQU87SUFBQSxDQUFDO0lBRTFDLE1BQU0sT0FBTyxHQUFHLElBQUEsc0JBQVcsRUFBQyxjQUFjLENBQUMsQ0FBQztJQUM1QyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUEsZUFBSSxFQUFDLEdBQUcsY0FBYyxJQUFJLENBQUMsRUFBRSxFQUFFLEdBQUcsVUFBVSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEksQ0FBQyxDQUFDLENBQUM7QUFHTCxPQUFPO0tBQ0osT0FBTyxDQUFDLDRFQUE0RSxDQUFDO0tBQ3JGLE1BQU0sQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLEVBQUU7SUFDN0UsTUFBTSxRQUFRLENBQUMsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BGLE1BQU0sUUFBUSxDQUFDLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdEUsQ0FBQyxDQUFDLENBQUM7QUFFTCxLQUFLLFVBQVUsUUFBUSxDQUFDLG1CQUEyQixFQUFFLGNBQXNCLEVBQUUsT0FBZSxFQUFFLE1BQWU7SUFDM0csTUFBTSxjQUFjLEdBQUcsS0FBSyxjQUFjLElBQUksT0FBTyxFQUFFLENBQUM7SUFDeEQsSUFBSSxDQUFDLElBQUEscUJBQVUsRUFBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1FBQUEsT0FBTztJQUFBLENBQUM7SUFFMUMsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLG1CQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFDO0lBQ3ZFLElBQUEsdUJBQVksRUFBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hDLE1BQU0sV0FBVyxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3hDLElBQUksTUFBTSxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUEsZUFBSSxFQUFDLGNBQWMsRUFBRSxHQUFHLGlCQUFpQixJQUFJLE9BQU8sRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzdFLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxPQUFPLEdBQUcsSUFBQSxzQkFBVyxFQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBQSxlQUFJLEVBQUMsR0FBRyxjQUFjLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxpQkFBaUIsSUFBSSxDQUFDLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLFFBQWdCO0lBQ3hDLElBQUksQ0FBQyxDQUFDLElBQUEscUJBQVUsRUFBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQUEsQ0FBQztJQUV6RCxPQUFPO1FBQ0wsSUFBSSxFQUFFLFFBQVE7UUFDZCxPQUFPLEVBQUUsSUFBQSx1QkFBWSxFQUFDLFFBQVEsQ0FBQztLQUNoQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsT0FBd0I7SUFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUFBLE9BQU87SUFBQSxDQUFDO0lBRS9CLElBQUEsd0JBQWEsRUFBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IGNvcHksIHJlYWRkaXJTeW5jLCBleGlzdHNTeW5jLCBtb3ZlLCBlbXB0eURpclN5bmMsIHJlYWRGaWxlU3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gJ2ZzLWV4dHJhJztcblxuY29uc3QgcHJvZ3JhbSA9IG5ldyBDb21tYW5kKCk7XG5cbmludGVyZmFjZSBGaWxlRGV0YWlsc1R5cGUge1xuICBwYXRoOiBzdHJpbmc7XG4gIGNvbnRlbnQ/OiBCdWZmZXIgfCB1bmRlZmluZWQ7XG59XG5cbnByb2dyYW1cbiAgLmNvbW1hbmQoJ2NsZWFuLWRpc3QgPGRpc3RGb2xkZXI+JylcbiAgLmFjdGlvbihhc3luYyAoZGlzdEZvbGRlcikgPT4ge1xuICAgIGNvbnN0IGV4aXN0aW5nRmlsZXM6IHN0cmluZ1tdID0gW1xuICAgICAgYCR7ZGlzdEZvbGRlcn0vY2hhbmdlbG9nLm1kYCxcbiAgICAgIGAke2Rpc3RGb2xkZXJ9L3ZlcnNpb24udHh0YCxcbiAgICAgIGAke2Rpc3RGb2xkZXJ9L3JlbGVhc2V0YWcudHh0YCxcbiAgICBdO1xuICAgIGNvbnN0IGZpbGVEZXRhaWxzID0gZXhpc3RpbmdGaWxlcy5tYXAocmVhZEZpbGVJZkV4aXN0cyk7XG4gICAgZW1wdHlEaXJTeW5jKGRpc3RGb2xkZXIpO1xuICAgIGZpbGVEZXRhaWxzLmZvckVhY2god3JpdGVGaWxlSWZFeGlzdHMpO1xuICB9KTtcblxucHJvZ3JhbVxuICAuY29tbWFuZCgnY29weS1kaXN0IDxzdWJQcm9qZWN0RGlzdD4gPHBhcmVudERpc3Q+JylcbiAgLmFjdGlvbihhc3luYyAoc3ViUHJvamVjdFBhdGgsIHBhcmVudERpc3QpID0+IHtcbiAgICBjb25zdCBzdWJQcm9qZWN0RGlzdCA9IGAuLyR7c3ViUHJvamVjdFBhdGh9YDtcbiAgICBpZiAoIWV4aXN0c1N5bmMoc3ViUHJvamVjdERpc3QpKSB7cmV0dXJuO31cblxuICAgIGNvbnN0IGVudHJpZXMgPSByZWFkZGlyU3luYyhzdWJQcm9qZWN0RGlzdCk7XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoZW50cmllcy5tYXAoZiA9PiBjb3B5KGAke3N1YlByb2plY3REaXN0fS8ke2Z9YCwgYCR7cGFyZW50RGlzdH0vJHtmfWAsIHsgcmVjdXJzaXZlOiB0cnVlLCBvdmVyd3JpdGU6IHRydWUgfSkpKTtcbiAgfSk7XG5cblxucHJvZ3JhbVxuICAuY29tbWFuZCgnbW92ZS1kb2NzIDxwYXJlbnREb2NzRGlyZWN0b3J5PiA8c3ViUHJvamVjdFBhdGg+IDxzdWJQcm9qZWN0RG9jc0RpcmVjdG9yeT4nKVxuICAuYWN0aW9uKGFzeW5jIChwYXJlbnREb2NzRGlyZWN0b3J5LCBzdWJQcm9qZWN0UGF0aCwgc3ViUHJvamVjdERvY3NEaXJlY3RvcnkpID0+IHtcbiAgICBhd2FpdCBtb3ZlRG9jcyhwYXJlbnREb2NzRGlyZWN0b3J5LCBzdWJQcm9qZWN0UGF0aCwgc3ViUHJvamVjdERvY3NEaXJlY3RvcnksIGZhbHNlKTtcbiAgICBhd2FpdCBtb3ZlRG9jcyhwYXJlbnREb2NzRGlyZWN0b3J5LCBzdWJQcm9qZWN0UGF0aCwgJ0FQSS5tZCcsIHRydWUpO1xuICB9KTtcblxuYXN5bmMgZnVuY3Rpb24gbW92ZURvY3MocGFyZW50RG9jc0RpcmVjdG9yeTogc3RyaW5nLCBzdWJQcm9qZWN0UGF0aDogc3RyaW5nLCBzdWJQYXRoOiBzdHJpbmcsIGlzRmlsZTogYm9vbGVhbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBzdWJQcm9qZWN0RG9jcyA9IGAuLyR7c3ViUHJvamVjdFBhdGh9LyR7c3ViUGF0aH1gO1xuICBpZiAoIWV4aXN0c1N5bmMoc3ViUHJvamVjdERvY3MpKSB7cmV0dXJuO31cblxuICBjb25zdCBkZXN0aW5hdGlvbkZvbGRlciA9IGAuLyR7cGFyZW50RG9jc0RpcmVjdG9yeX0vJHtzdWJQcm9qZWN0UGF0aH1gO1xuICBlbXB0eURpclN5bmMoZGVzdGluYXRpb25Gb2xkZXIpO1xuICBjb25zdCBtb3ZlT3B0aW9ucyA9IHsgb3ZlcndyaXRlOiB0cnVlIH07XG4gIGlmIChpc0ZpbGUpIHtcbiAgICBhd2FpdCBtb3ZlKHN1YlByb2plY3REb2NzLCBgJHtkZXN0aW5hdGlvbkZvbGRlcn0vJHtzdWJQYXRofWAsIG1vdmVPcHRpb25zKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBlbnRyaWVzID0gcmVhZGRpclN5bmMoc3ViUHJvamVjdERvY3MpO1xuICAgIGF3YWl0IFByb21pc2UuYWxsKGVudHJpZXMubWFwKGYgPT4gbW92ZShgJHtzdWJQcm9qZWN0RG9jc30vJHtmfWAsIGAke2Rlc3RpbmF0aW9uRm9sZGVyfS8ke2Z9YCwgbW92ZU9wdGlvbnMpKSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVhZEZpbGVJZkV4aXN0cyhmaWxlUGF0aDogc3RyaW5nKTogRmlsZURldGFpbHNUeXBlIHtcbiAgaWYgKCEoZXhpc3RzU3luYyhmaWxlUGF0aCkpKSB7cmV0dXJuIHsgcGF0aDogZmlsZVBhdGggfTt9XG5cbiAgcmV0dXJuIHtcbiAgICBwYXRoOiBmaWxlUGF0aCxcbiAgICBjb250ZW50OiByZWFkRmlsZVN5bmMoZmlsZVBhdGgpLFxuICB9O1xufVxuXG5mdW5jdGlvbiB3cml0ZUZpbGVJZkV4aXN0cyhkZXRhaWxzOiBGaWxlRGV0YWlsc1R5cGUpOiB2b2lkIHtcbiAgaWYgKCFkZXRhaWxzLmNvbnRlbnQpIHtyZXR1cm47fVxuXG4gIHdyaXRlRmlsZVN5bmMoZGV0YWlscy5wYXRoLCBkZXRhaWxzLmNvbnRlbnQpO1xufVxuXG5wcm9ncmFtLnBhcnNlKHByb2Nlc3MuYXJndik7Il19
|
package/lib/index.js
CHANGED
|
@@ -32,14 +32,16 @@ function getArtifactsDirectory(project) {
|
|
|
32
32
|
const jsiiTaskPattern = /jsii-docgen -o (?<output>.+)$/i;
|
|
33
33
|
function extractJsiiDocsOutput(tasks) {
|
|
34
34
|
const jsiiDocStep = tasks.tryFind('docgen')?.steps.find(step => jsiiTaskPattern.test(step.exec ?? ''));
|
|
35
|
-
if (!jsiiDocStep || !jsiiDocStep.exec)
|
|
35
|
+
if (!jsiiDocStep || !jsiiDocStep.exec) {
|
|
36
36
|
return;
|
|
37
|
+
}
|
|
37
38
|
const match = jsiiDocStep.exec.match(jsiiTaskPattern);
|
|
38
39
|
return match?.groups?.output;
|
|
39
40
|
}
|
|
40
41
|
function appendWorkflowBootstrapSteps(options) {
|
|
41
|
-
if (!options.sinceLastRelease)
|
|
42
|
+
if (!options.sinceLastRelease) {
|
|
42
43
|
return options;
|
|
44
|
+
}
|
|
43
45
|
return {
|
|
44
46
|
...options,
|
|
45
47
|
workflowBootstrapSteps: [
|
|
@@ -59,8 +61,9 @@ const lockedTaskNames = ['build', 'upgrade', 'upgrade-projen', 'clobber', 'post-
|
|
|
59
61
|
class LernaProject extends projen_1.javascript.NodeProject {
|
|
60
62
|
constructor(options) {
|
|
61
63
|
super(appendWorkflowBootstrapSteps(options));
|
|
62
|
-
if (options.projenrcTs)
|
|
64
|
+
if (options.projenrcTs) {
|
|
63
65
|
this.addDevDeps('ts-node', 'typescript');
|
|
66
|
+
}
|
|
64
67
|
this.docsDirectory = options.docsDirectory ?? 'docs';
|
|
65
68
|
this.docgen = options.docgen ?? false;
|
|
66
69
|
this.sinceLastRelease = options.sinceLastRelease ?? false;
|
|
@@ -85,15 +88,16 @@ class LernaProject extends projen_1.javascript.NodeProject {
|
|
|
85
88
|
super.preSynthesize();
|
|
86
89
|
const projenCommand = this.projenrcTs ? 'ts-node --skip-project .projenrc.ts' : 'node .projenrc.js';
|
|
87
90
|
const { defaultTask } = this;
|
|
88
|
-
if (!defaultTask)
|
|
91
|
+
if (!defaultTask) {
|
|
89
92
|
throw new Error('Could not find default task');
|
|
93
|
+
}
|
|
90
94
|
defaultTask.reset(projenCommand);
|
|
91
95
|
this.factory.build();
|
|
92
96
|
}
|
|
93
97
|
}
|
|
94
98
|
exports.LernaProject = LernaProject;
|
|
95
99
|
_a = JSII_RTTI_SYMBOL_1;
|
|
96
|
-
LernaProject[_a] = { fqn: "lerna-projen.LernaProject", version: "0.1.
|
|
100
|
+
LernaProject[_a] = { fqn: "lerna-projen.LernaProject", version: "0.1.612" };
|
|
97
101
|
/**
|
|
98
102
|
* @pjid lerna-ts-project
|
|
99
103
|
*/
|
|
@@ -106,8 +110,9 @@ class LernaTypescriptProject extends projen_1.typescript.TypeScriptProject {
|
|
|
106
110
|
this.useWorkspaces = options.useWorkspaces ?? false;
|
|
107
111
|
this.taskCustomizations = options.taskCustomizations ?? {};
|
|
108
112
|
this.pnpmVersion = options.pnpmVersion;
|
|
109
|
-
if (!(options.hasRootSourceCode ?? false))
|
|
113
|
+
if (!(options.hasRootSourceCode ?? false)) {
|
|
110
114
|
this.tasks.tryFind('compile')?.reset();
|
|
115
|
+
}
|
|
111
116
|
this.tasks.tryFind('docgen')?.reset();
|
|
112
117
|
this.factory = new LernaProjectFactory(this);
|
|
113
118
|
}
|
|
@@ -127,7 +132,7 @@ class LernaTypescriptProject extends projen_1.typescript.TypeScriptProject {
|
|
|
127
132
|
}
|
|
128
133
|
exports.LernaTypescriptProject = LernaTypescriptProject;
|
|
129
134
|
_b = JSII_RTTI_SYMBOL_1;
|
|
130
|
-
LernaTypescriptProject[_b] = { fqn: "lerna-projen.LernaTypescriptProject", version: "0.1.
|
|
135
|
+
LernaTypescriptProject[_b] = { fqn: "lerna-projen.LernaTypescriptProject", version: "0.1.612" };
|
|
131
136
|
class LernaProjectFactory {
|
|
132
137
|
constructor(project) {
|
|
133
138
|
this.project = project;
|
|
@@ -143,8 +148,9 @@ class LernaProjectFactory {
|
|
|
143
148
|
this.addDocumentsIndex();
|
|
144
149
|
}
|
|
145
150
|
setupPackageManager() {
|
|
146
|
-
if (this.project.package.packageManager === projen_1.javascript.NodePackageManager.PNPM && this.project.pnpmVersion === '9')
|
|
151
|
+
if (this.project.package.packageManager === projen_1.javascript.NodePackageManager.PNPM && this.project.pnpmVersion === '9') {
|
|
147
152
|
this.project.npmrc.addConfig('node-linker', 'hoisted');
|
|
153
|
+
}
|
|
148
154
|
}
|
|
149
155
|
getSubProjectPath(subProject) {
|
|
150
156
|
return path.relative(this.project.outdir, subProject.outdir);
|
|
@@ -156,12 +162,13 @@ class LernaProjectFactory {
|
|
|
156
162
|
};
|
|
157
163
|
const packages = this.project.subprojects.map(subProject => this.getSubProjectPath(subProject));
|
|
158
164
|
if (this.project.useWorkspaces) {
|
|
159
|
-
if (this.project.packageManager === projen_1.javascript.NodePackageManager.PNPM)
|
|
165
|
+
if (this.project.packageManager === projen_1.javascript.NodePackageManager.PNPM) {
|
|
160
166
|
new projen_1.YamlFile(this.project, 'pnpm-workspace.yaml', {
|
|
161
167
|
obj: {
|
|
162
168
|
packages,
|
|
163
169
|
},
|
|
164
170
|
});
|
|
171
|
+
}
|
|
165
172
|
this.project.package.addField('workspaces', packages);
|
|
166
173
|
}
|
|
167
174
|
else {
|
|
@@ -181,8 +188,9 @@ class LernaProjectFactory {
|
|
|
181
188
|
.forEach(task => {
|
|
182
189
|
const customization = this.project.taskCustomizations[task.name];
|
|
183
190
|
const addLernaStep = customization?.addLernaStep ?? true;
|
|
184
|
-
if (lockedTaskNames.includes(task.name) || !addLernaStep)
|
|
191
|
+
if (lockedTaskNames.includes(task.name) || !addLernaStep) {
|
|
185
192
|
return;
|
|
193
|
+
}
|
|
186
194
|
task.exec(this.getLernaCommand(task.name, customization));
|
|
187
195
|
});
|
|
188
196
|
}
|
|
@@ -202,11 +210,13 @@ class LernaProjectFactory {
|
|
|
202
210
|
this.project.subprojects.forEach((subProject) => {
|
|
203
211
|
const subProjectDocsDirectory = getDocsDirectory(subProject);
|
|
204
212
|
const subProjectPath = this.getSubProjectPath(subProject);
|
|
205
|
-
if (this.project.docgen && subProjectDocsDirectory)
|
|
213
|
+
if (this.project.docgen && subProjectDocsDirectory) {
|
|
206
214
|
this.project.postCompileTask.exec(`lerna-projen move-docs ${this.project.docsDirectory} ${subProjectPath} ${subProjectDocsDirectory}`);
|
|
215
|
+
}
|
|
207
216
|
const packageAllTask = subProject.tasks.tryFind('package-all');
|
|
208
|
-
if (packageAllTask)
|
|
217
|
+
if (packageAllTask) {
|
|
209
218
|
subProject.packageTask.spawn(packageAllTask);
|
|
219
|
+
}
|
|
210
220
|
const artifactsDirectory = getArtifactsDirectory(subProject);
|
|
211
221
|
this.project.packageTask.exec(`lerna-projen copy-dist ${subProjectPath}/${artifactsDirectory} ${this.project.artifactsDirectory}`);
|
|
212
222
|
subProject.defaultTask?.reset();
|
|
@@ -236,15 +246,17 @@ class LernaProjectFactory {
|
|
|
236
246
|
});
|
|
237
247
|
}
|
|
238
248
|
addDocumentsIndex() {
|
|
239
|
-
if (!this.project.docgen)
|
|
249
|
+
if (!this.project.docgen) {
|
|
240
250
|
return;
|
|
251
|
+
}
|
|
241
252
|
const subProjectsDocs = {};
|
|
242
253
|
const indexMarkdown = new projen_1.SourceCode(this.project, `${this.project.docsDirectory}/index.md`);
|
|
243
254
|
const readmeMarkdown = new projen_1.SourceCode(this.project, `${this.project.docsDirectory}/README.md`);
|
|
244
255
|
this.project.subprojects.forEach((subProject) => {
|
|
245
256
|
const subProjectDocsDirectory = getDocsDirectory(subProject);
|
|
246
|
-
if (!subProjectDocsDirectory)
|
|
257
|
+
if (!subProjectDocsDirectory) {
|
|
247
258
|
return;
|
|
259
|
+
}
|
|
248
260
|
const subProjectPath = this.getSubProjectPath(subProject);
|
|
249
261
|
const jsiiDocsOutput = extractJsiiDocsOutput(subProject.tasks);
|
|
250
262
|
if (jsiiDocsOutput) {
|
|
@@ -276,4 +288,4 @@ class LernaProjectFactory {
|
|
|
276
288
|
this.project.gitattributes.addAttributes(`/${this.project.docsDirectory}/**`, 'linguist-generated');
|
|
277
289
|
}
|
|
278
290
|
}
|
|
279
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZCQUE0QjtBQUM1QixtQ0FBNkY7QUFHN0YsMENBQXVCO0FBQ3ZCLG1DQUFnQztBQUVoQyxTQUFTLGdCQUFnQixDQUFDLE9BQWdCO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLGVBQWUsQ0FBQyxDQUFBO0lBQy9FLE9BQU8sTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUN2QyxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxPQUFnQjtJQUM3QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxvQkFBb0IsQ0FBQyxDQUFBO0lBQ3BGLE9BQU8sTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDcEIsQ0FBQztBQUVELE1BQU0sZUFBZSxHQUFHLGdDQUFnQyxDQUFBO0FBRXhELFNBQVMscUJBQXFCLENBQUMsS0FBWTtJQUN6QyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN0RyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7UUFDbkMsT0FBTTtJQUVSLE1B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LCBqYXZhc2NyaXB0LCBQcm9qZWN0LCBUYXNrcywgU291cmNlQ29kZSwgdHlwZXNjcmlwdCwgWWFtbEZpbGV9IGZyb20gJ3Byb2plbidcbmltcG9ydCB7TGVybmFQcm9qZWN0T3B0aW9ucywgTGVybmFUeXBlc2NyaXB0UHJvamVjdE9wdGlvbnMsIFRhc2tDdXN0b21pemF0aW9uLCBUYXNrQ3VzdG9taXphdGlvbnN9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnXG5leHBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJ1xuXG5mdW5jdGlvbiBnZXREb2NzRGlyZWN0b3J5KHByb2plY3Q6IFByb2plY3QpIHtcbiAgY29uc3QgcmVzdWx0ID0gT2JqZWN0LmVudHJpZXMocHJvamVjdCkuZmluZCgoW2tleV0pID0+IGtleSA9PT0gJ2RvY3NEaXJlY3RvcnknKVxuICByZXR1cm4gcmVzdWx0Py5bMV0ucmVwbGFjZSgvXFwvJC8sICcnKVxufVxuXG5mdW5jdGlvbiBnZXRBcnRpZmFjdHNEaXJlY3RvcnkocHJvamVjdDogUHJvamVjdCkge1xuICBjb25zdCByZXN1bHQgPSBPYmplY3QuZW50cmllcyhwcm9qZWN0KS5maW5kKChba2V5XSkgPT4ga2V5ID09PSAnYXJ0aWZhY3RzRGlyZWN0b3J5JylcbiAgcmV0dXJuIHJlc3VsdD8uWzFdXG59XG5cbmNvbnN0IGpzaWlUYXNrUGF0dGVybiA9IC9qc2lpLWRvY2dlbiAtbyAoPzxvdXRwdXQ+LispJC9pXG5cbmZ1bmN0aW9uIGV4dHJhY3RKc2lpRG9jc091dHB1dCh0YXNrczogVGFza3MpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBqc2lpRG9jU3RlcCA9IHRhc2tzLnRyeUZpbmQoJ2RvY2dlbicpPy5zdGVwcy5maW5kKHN0ZXAgPT4ganNpaVRhc2tQYXR0ZXJuLnRlc3Qoc3RlcC5leGVjID8/ICcnKSlcbiAgaWYgKCFqc2lpRG9jU3RlcCB8fCAhanNpaURvY1N0ZXAuZXhlYylcbiAgICByZXR1cm5cblxuICBjb25zdCBtYXRjaCA9IGpzaWlEb2NTdGVwLmV4ZWMubWF0Y2goanNpaVRhc2tQYXR0ZXJuKVxuICByZXR1cm4gbWF0Y2g/Lmdyb3Vwcz8ub3V0cHV0XG59XG5cbmZ1bmN0aW9uIGFwcGVuZFdvcmtmbG93Qm9vdHN0cmFwU3RlcHM8VCBleHRlbmRzIExlcm5hUHJvamVjdE9wdGlvbnMgfCBMZXJuYVR5cGVzY3JpcHRQcm9qZWN0T3B0aW9ucz4ob3B0aW9uczogVCk6IFQge1xuICBpZiAoIW9wdGlvbnMuc2luY2VMYXN0UmVsZWFzZSlcbiAgICByZXR1cm4gb3B0aW9uc1xuXG4gIHJldHVybiB7XG4gICAgLi4ub3B0aW9ucyxcbiAgICB3b3JrZmxvd0Jvb3RzdHJhcFN0ZXBzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdGZXRjaCB0YWdzJyxcbiAgICAgICAgcnVuOiAnaWYgWyAkKGdpdCByZXYtcGFyc2UgLS1pcy1zaGFsbG93LXJlcG9zaXRvcnkpICE9IFwiZmFsc2VcIiBdIDsgdGhlbiBnaXQgZmV0Y2ggb3JpZ2luIG1haW4gLS10YWdzIC0tdW5zaGFsbG93OyBmaScsXG4gICAgICAgIGlmOiAnJHt7IGdpdGh1Yi53b3JrZmxvdyA9PSBcXCdidWlsZFxcJyB9fScsXG4gICAgICB9LFxuICAgICAgLi4ub3B0aW9ucy53b3JrZmxvd0Jvb3RzdHJhcFN0ZXBzID8/IFtdLFxuICAgIF0sXG4gIH1cbn1cblxuY29uc3QgbG9ja2VkVGFza05hbWVzID0gWydidWlsZCcsICd1cGdyYWRlJywgJ3VwZ3JhZGUtcHJvamVuJywgJ2Nsb2JiZXInLCAncG9zdC11cGdyYWRlJ11cblxuaW50ZXJmYWNlIElMZXJuYVByb2plY3Qge1xuICByZWFkb25seSBzaW5jZUxhc3RSZWxlYXNlOiBib29sZWFuO1xuICByZWFkb25seSB1c2VOeDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgaW5kZXBlbmRlbnRNb2RlOiBib29sZWFuO1xuICByZWFkb25seSB1c2VXb3Jrc3BhY2VzOiBib29sZWFuO1xuICByZWFkb25seSBkb2NzRGlyZWN0b3J5OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRvY2dlbj86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHRhc2tDdXN0b21pemF0aW9uczogVGFza0N1c3RvbWl6YXRpb25zO1xuICByZWFkb25seSBwbnBtVmVyc2lvbj86IHN0cmluZztcblxuICBjdXN0b21pemVUYXNrKHRhc2tOYW1lOiBzdHJpbmcsIGN1c3RvbWl6YXRpb246IFRhc2tDdXN0b21pemF0aW9uKTogdm9pZDtcbn1cblxuLyoqXG4gKiBAcGppZCBsZXJuYS1wcm9qZWN0XG4gKi9cbmV4cG9ydCBjbGFzcyBMZXJuYVByb2plY3QgZXh0ZW5kcyBqYXZhc2NyaXB0Lk5vZGVQcm9qZWN0IGltcGxlbWVudHMgSUxlcm5hUHJvamVjdCB7XG5cbiAgcHJpdmF0ZSBwcm9qZW5yY1RzOiBib29sZWFuXG5cbiAgcmVhZG9ubHkgZG9jc0RpcmVjdG9yeTogc3RyaW5nXG4gIHJlYWRvbmx5IGRvY2dlbjogYm9vbGVhblxuICByZWFkb25seSBzaW5jZUxhc3RSZWxlYXNlOiBib29sZWFuXG4gIHJlYWRvbmx5IHVzZU54OiBib29sZWFuXG4gIHJlYWRvbmx5IGluZGVwZW5kZW50TW9kZTogYm9vbGVhblxuICByZWFkb25seSB1c2VXb3Jrc3BhY2VzOiBib29sZWFuXG4gIHJlYWRvbmx5IHRhc2tDdXN0b21pemF0aW9uczogVGFza0N1c3RvbWl6YXRpb25zXG4gIHJlYWRvbmx5IHBucG1WZXJzaW9uPzogc3RyaW5nXG5cbiAgcHJpdmF0ZSByZWFkb25seSBmYWN0b3J5OiBMZXJuYVByb2plY3RGYWN0b3J5XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogTGVybmFQcm9qZWN0T3B0aW9ucykge1xuICAgIHN1cGVyKGFwcGVuZFdvcmtmbG93Qm9vdHN0cmFwU3RlcHMob3B0aW9ucykpXG5cbiAgICBpZiAob3B0aW9ucy5wcm9qZW5yY1RzKVxuICAgICAgdGhpcy5hZGREZXZEZXBzKCd0cy1ub2RlJywgJ3R5cGVzY3JpcHQnKVxuXG4gICAgdGhpcy5kb2NzRGlyZWN0b3J5ID0gb3B0aW9ucy5kb2NzRGlyZWN0b3J5ID8/ICdkb2NzJ1xuICAgIHRoaXMuZG9jZ2VuID0gb3B0aW9ucy5kb2NnZW4gPz8gZmFsc2VcbiAgICB0aGlzLnNpbmNlTGFzdFJlbGVhc2UgPSBvcHRpb25zLnNpbmNlTGFzdFJlbGVhc2UgPz8gZmFsc2VcbiAgICB0aGlzLnVzZU54ID0gb3B0aW9ucy51c2VOeCA/PyBmYWxzZVxuICAgIHRoaXMucHJvamVucmNUcyA9IG9wdGlvbnMucHJvamVucmNUcyA/PyBmYWxzZVxuICAgIHRoaXMuaW5kZXBlbmRlbnRNb2RlID0gb3B0aW9ucy5pbmRlcGVuZGVudE1vZGUgPz8gZmFsc2VcbiAgICB0aGlzLnVzZVdvcmtzcGFjZXMgPSBvcHRpb25zLnVzZVdvcmtzcGFjZXMgPz8gZmFsc2VcbiAgICB0aGlzLnRhc2tDdXN0b21pemF0aW9ucyA9IG9wdGlvbnMudGFza0N1c3RvbWl6YXRpb25zID8/IHt9XG4gICAgdGhpcy5wbnBtVmVyc2lvbiA9IG9wdGlvbnMucG5wbVZlcnNpb25cblxuICAgIHRoaXMuZmFjdG9yeSA9IG5ldyBMZXJuYVByb2plY3RGYWN0b3J5KHRoaXMpXG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGN1c3RvbWl6YXRpb24gZm9yIHRoZSBzcGVjaWZpZWQgdGFza1xuICAgKlxuICAgKiBAcGFyYW0gdGFza05hbWUgTmFtZSBvZiB0aGUgdGFzayB0byBjdXN0b21pemVcbiAgICogQHBhcmFtIGN1c3RvbWl6YXRpb24gVGFza0N1c3RvbWl6YXRpb24gb3B0aW9uc1xuICAgKi9cbiAgY3VzdG9taXplVGFzayh0YXNrTmFtZTogc3RyaW5nLCBjdXN0b21pemF0aW9uOiBUYXNrQ3VzdG9taXphdGlvbik6IHZvaWQge1xuICAgIHRoaXMudGFza0N1c3RvbWl6YXRpb25zW3Rhc2tOYW1lXSA9IGN1c3RvbWl6YXRpb25cbiAgfVxuXG4gIHByZVN5bnRoZXNpemUoKSB7XG4gICAgc3VwZXIucHJlU3ludGhlc2l6ZSgpXG4gICAgY29uc3QgcHJvamVuQ29tbWFuZCA9IHRoaXMucHJvamVucmNUcyA/ICd0cy1ub2RlIC0tc2tpcC1wcm9qZWN0IC5wcm9qZW5yYy50cycgOiAnbm9kZSAucHJvamVucmMuanMnXG4gICAgY29uc3Qge2RlZmF1bHRUYXNrfSA9IHRoaXNcbiAgICBpZiAoIWRlZmF1bHRUYXNrKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgZmluZCBkZWZhdWx0IHRhc2snKVxuICAgIGRlZmF1bHRUYXNrLnJlc2V0KHByb2plbkNvbW1hbmQpXG5cbiAgICB0aGlzLmZhY3RvcnkuYnVpbGQoKVxuICB9XG59XG5cbi8qKlxuICogQHBqaWQgbGVybmEtdHMtcHJvamVjdFxuICovXG5leHBvcnQgY2xhc3MgTGVybmFUeXBlc2NyaXB0UHJvamVjdCBleHRlbmRzIHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3QgaW1wbGVtZW50cyBJTGVybmFQcm9qZWN0IHtcbiAgcmVhZG9ubHkgc2luY2VMYXN0UmVsZWFzZTogYm9vbGVhblxuICByZWFkb25seSB1c2VOeDogYm9vbGVhblxuICByZWFkb25seSBpbmRlcGVuZGVudE1vZGU6IGJvb2xlYW5cbiAgcmVhZG9ubHkgdXNlV29ya3NwYWNlczogYm9vbGVhblxuICByZWFkb25seSB0YXNrQ3VzdG9taXphdGlvbnM6IFRhc2tDdXN0b21pemF0aW9uc1xuICByZWFkb25seSBwbnBtVmVyc2lvbj86IHN0cmluZ1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZmFjdG9yeTogTGVybmFQcm9qZWN0RmFjdG9yeVxuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IExlcm5hVHlwZXNjcmlwdFByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIoYXBwZW5kV29ya2Zsb3dCb290c3RyYXBTdGVwcyhvcHRpb25zKSlcblxuICAgIHRoaXMuc2luY2VMYXN0UmVsZWFzZSA9IG9wdGlvbnMuc2luY2VMYXN0UmVsZWFzZSA/PyBmYWxzZVxuICAgIHRoaXMudXNlTnggPSBvcHRpb25zLnVzZU54ID8/IGZhbHNlXG4gICAgdGhpcy5pbmRlcGVuZGVudE1vZGUgPSBvcHRpb25zLmluZGVwZW5kZW50TW9kZSA/PyBmYWxzZVxuICAgIHRoaXMudXNlV29ya3NwYWNlcyA9IG9wdGlvbnMudXNlV29ya3NwYWNlcyA/PyBmYWxzZVxuICAgIHRoaXMudGFza0N1c3RvbWl6YXRpb25zID0gb3B0aW9ucy50YXNrQ3VzdG9taXphdGlvbnMgPz8ge31cbiAgICB0aGlzLnBucG1WZXJzaW9uID0gb3B0aW9ucy5wbnBtVmVyc2lvblxuXG4gICAgaWYgKCEob3B0aW9ucy5oYXNSb290U291cmNlQ29kZSA/PyBmYWxzZSkpXG4gICAgICB0aGlzLnRhc2tzLnRyeUZpbmQoJ2NvbXBpbGUnKT8ucmVzZXQoKVxuXG4gICAgdGhpcy50YXNrcy50cnlGaW5kKCdkb2NnZW4nKT8ucmVzZXQoKVxuXG4gICAgdGhpcy5mYWN0b3J5ID0gbmV3IExlcm5hUHJvamVjdEZhY3RvcnkodGhpcylcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgY3VzdG9taXphdGlvbiBmb3IgdGhlIHNwZWNpZmllZCB0YXNrXG4gICAqXG4gICAqIEBwYXJhbSB0YXNrTmFtZSBOYW1lIG9mIHRoZSB0YXNrIHRvIGN1c3RvbWl6ZVxuICAgKiBAcGFyYW0gY3VzdG9taXphdGlvbiBUYXNrQ3VzdG9taXphdGlvbiBvcHRpb25zXG4gICAqL1xuICBjdXN0b21pemVUYXNrKHRhc2tOYW1lOiBzdHJpbmcsIGN1c3RvbWl6YXRpb246IFRhc2tDdXN0b21pemF0aW9uKTogdm9pZCB7XG4gICAgdGhpcy50YXNrQ3VzdG9taXphdGlvbnNbdGFza05hbWVdID0gY3VzdG9taXphdGlvblxuICB9XG5cbiAgcHJlU3ludGhlc2l6ZSgpIHtcbiAgICBzdXBlci5wcmVTeW50aGVzaXplKClcbiAgICB0aGlzLmZhY3RvcnkuYnVpbGQoKVxuICB9XG59XG5cbmNsYXNzIExlcm5hUHJvamVjdEZhY3Rvcnkge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByb2plY3Q6IElMZXJuYVByb2plY3QgJiBqYXZhc2NyaXB0Lk5vZGVQcm9qZWN0KSB7XG4gICAgcHJvamVjdC5hZGREZXZEZXBzKCdsZXJuYS1wcm9qZW4nLCAnbGVybmEnKVxuICB9XG5cbiAgYnVpbGQoKSB7XG4gICAgdGhpcy5wcm9qZWN0LnBhY2thZ2VUYXNrLnJlc2V0KGBta2RpciAtcCAke3RoaXMucHJvamVjdC5hcnRpZmFjdHNKYXZhc2NyaXB0RGlyZWN0b3J5fWApXG4gICAgdGhpcy5wcm9qZWN0LnByZUNvbXBpbGVUYXNrLmV4ZWMoYGxlcm5hLXByb2plbiBjbGVhbi1kaXN0ICR7dGhpcy5wcm9qZWN0LmFydGlmYWN0c0RpcmVjdG9yeX1gKVxuXG4gICAgdGhpcy5zZXR1cFBhY2thZ2VNYW5hZ2VyKClcbiAgICB0aGlzLmFwcGVuZExlcm5hQ29tbWFuZHMoKVxuICAgIHRoaXMuYWRkQ3Jvc3NMaW5rcygpXG4gICAgdGhpcy51cGRhdGVTdWJQcm9qZWN0cygpXG4gICAgdGhpcy5hZGREb2N1bWVudHNJbmRleCgpXG4gIH1cblxuICBwcml2YXRlIHNldHVwUGFja2FnZU1hbmFnZXIoKSB7XG4gICAgaWYgKHRoaXMucHJvamVjdC5wYWNrYWdlLnBhY2thZ2VNYW5hZ2VyID09PSBqYXZhc2NyaXB0Lk5vZGVQYWNrYWdlTWFuYWdlci5QTlBNICYmIHRoaXMucHJvamVjdC5wbnBtVmVyc2lvbiA9PT0gJzknKVxuICAgICAgdGhpcy5wcm9qZWN0Lm5wbXJjLmFkZENvbmZpZygnbm9kZS1saW5rZXInLCAnaG9pc3RlZCcpXG4gIH1cblxuICBwcml2YXRlIGdldFN1YlByb2plY3RQYXRoKHN1YlByb2plY3Q6IFByb2plY3QpIHtcbiAgICByZXR1cm4gcGF0aC5yZWxhdGl2ZSh0aGlzLnByb2plY3Qub3V0ZGlyLCBzdWJQcm9qZWN0Lm91dGRpcilcbiAgfVxuXG4gIHByaXZhdGUgYWRkQ3Jvc3NMaW5rcygpIHtcblxuICAgIGNvbnN0IGxlcm5hQ29uZmlnOiBhbnkgPSB7XG4gICAgICB1c2VOeDogdGhpcy5wcm9qZWN0LnVzZU54LFxuICAgICAgdmVyc2lvbjogdGhpcy5wcm9qZWN0LmluZGVwZW5kZW50TW9kZSA/ICdpbmRlcGVuZGVudCcgOiAnMC4wLjAnLFxuICAgIH1cblxuICAgIGNvbnN0IHBhY2thZ2VzID0gdGhpcy5wcm9qZWN0LnN1YnByb2plY3RzLm1hcChzdWJQcm9qZWN0ID0+IHRoaXMuZ2V0U3ViUHJvamVjdFBhdGgoc3ViUHJvamVjdCkpXG5cbiAgICBpZiAodGhpcy5wcm9qZWN0LnVzZVdvcmtzcGFjZXMpIHtcbiAgICAgIGlmICh0aGlzLnByb2plY3QucGFja2FnZU1hbmFnZXIgPT09IGphdmFzY3JpcHQuTm9kZVBhY2thZ2VNYW5hZ2VyLlBOUE0pXG4gICAgICAgIG5ldyBZYW1sRmlsZSh0aGlzLnByb2plY3QsICdwbnBtLXdvcmtzcGFjZS55YW1sJywge1xuICAgICAgICAgIG9iajoge1xuICAgICAgICAgICAgcGFja2FnZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIHRoaXMucHJvamVjdC5wYWNrYWdlLmFkZEZpZWxkKCd3b3Jrc3BhY2VzJywgcGFja2FnZXMpXG4gICAgfSBlbHNlIHtsZXJuYUNvbmZpZy5wYWNrYWdlcyA9IHBhY2thZ2VzfVxuXG5cbiAgICBuZXcgSnNvbkZpbGUodGhpcy5wcm9qZWN0LCAnbGVybmEuanNvbicsIHtcbiAgICAgIG9iajogbGVybmFDb25maWcsXG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgYXBwZW5kTGVybmFDb21tYW5kcygpIHtcbiAgICBjb25zdCB1cGdyYWRlVGFza05hbWUgPSAndXBncmFkZSdcbiAgICBjb25zdCBwb3N0VXBncmFkZVRhc2tOYW1lID0gJ3Bvc3QtdXBncmFkZSdcbiAgICBjb25zdCBwb3N0VXBncmFkZVRhc2sgPSB0aGlzLnByb2plY3QudGFza3MudHJ5RmluZChwb3N0VXBncmFkZVRhc2tOYW1lKVxuICAgIHBvc3RVcGdyYWRlVGFzaz8ucHJlcGVuZEV4ZWModGhpcy5nZXRMZXJuYUNvbW1hbmQodXBncmFkZVRhc2tOYW1lLCB7c2luY2VMYXN0UmVsZWFzZTogZmFsc2V9KSlcbiAgICBwb3N0VXBncmFkZVRhc2s/LmV4ZWMoJ25weCBwcm9qZW4nKVxuXG4gICAgdGhpcy5wcm9qZWN0LnRhc2tzLmFsbFxuICAgICAgLmZvckVhY2godGFzayA9PiB7XG4gICAgICAgIGNvbnN0IGN1c3RvbWl6YXRpb24gPSB0aGlzLnByb2plY3QudGFza0N1c3RvbWl6YXRpb25zW3Rhc2submFtZV1cbiAgICAgICAgY29uc3QgYWRkTGVybmFTdGVwID0gY3VzdG9taXphdGlvbj8uYWRkTGVybmFTdGVwID8/IHRydWVcblxuICAgICAgICBpZiAobG9ja2VkVGFza05hbWVzLmluY2x1ZGVzKHRhc2submFtZSkgfHwgIWFkZExlcm5hU3RlcClcbiAgICAgICAgICByZXR1cm5cblxuICAgICAgICB0YXNrLmV4ZWModGhpcy5nZXRMZXJuYUNvbW1hbmQodGFzay5uYW1lLCBjdXN0b21pemF0aW9uKSlcbiAgICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGdldExlcm5hQ29tbWFuZCh0YXNrTmFtZTogc3RyaW5nLCBjdXN0b21pemF0aW9uPzogVGFza0N1c3RvbWl6YXRpb24pIHtcbiAgICBjb25zdCBtYWluQ29tbWFuZCA9IGBsZXJuYSBydW4gJHt0YXNrTmFtZX0gLS1zdHJlYW1gXG4gICAgY29uc3QgdXNlU2luY2VGbGFnID0gY3VzdG9taXphdGlvbj8uc2luY2VMYXN0UmVsZWFzZSA/PyB0aGlzLnByb2plY3Quc2luY2VMYXN0UmVsZWFzZVxuXG4gICAgY29uc3QgaW5jbHVkZVBhdHRlcm5zID0gY3VzdG9taXphdGlvbj8uaW5jbHVkZSA/PyBbXVxuICAgIGNvbnN0IGV4Y2x1ZGVQYXR0ZXJucyA9IGN1c3RvbWl6YXRpb24/LmV4Y2x1ZGUgPz8gW11cblxuICAgIGNvbnN0IHNjb3BlRmxhZ3MgPSBpbmNsdWRlUGF0dGVybnMubWFwKChnbG9iKSA9PiBgIC0tc2NvcGUgJHtnbG9ifWApLmpvaW4oJycpXG4gICAgY29uc3QgaWdub3JlRmxhZ3MgPSBleGNsdWRlUGF0dGVybnMubWFwKChnbG9iKSA9PiBgIC0taWdub3JlICR7Z2xvYn1gKS5qb2luKCcnKVxuXG5cbiAgICBjb25zdCBwb3N0Q29tbWFuZCA9IHVzZVNpbmNlRmxhZyA/ICcgLS1zaW5jZSAkKGdpdCBkZXNjcmliZSAtLWFiYnJldj0wIC0tdGFncyAtLW1hdGNoIFwidipcIiBIRUFEXiknIDogJydcbiAgICByZXR1cm4gYCR7bWFpbkNvbW1hbmR9JHtwb3N0Q29tbWFuZH0ke3Njb3BlRmxhZ3N9JHtpZ25vcmVGbGFnc31gXG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVN1YlByb2plY3RzKCkge1xuICAgIGNvbnN0IGJ1bXBUYXNrID0gdGhpcy5wcm9qZWN0LnRhc2tzLnRyeUZpbmQoJ2J1bXAnKVxuICAgIGNvbnN0IHVuYnVtcFRhc2sgPSB0aGlzLnByb2plY3QudGFza3MudHJ5RmluZCgndW5idW1wJylcblxuICAgIHRoaXMucHJvamVjdC5zdWJwcm9qZWN0cy5mb3JFYWNoKChzdWJQcm9qZWN0KSA9PiB7XG4gICAgICBjb25zdCBzdWJQcm9qZWN0RG9jc0RpcmVjdG9yeSA9IGdldERvY3NEaXJlY3Rvcnkoc3ViUHJvamVjdClcbiAgICAgIGNvbnN0IHN1YlByb2plY3RQYXRoID0gdGhpcy5nZXRTdWJQcm9qZWN0UGF0aChzdWJQcm9qZWN0KVxuICAgICAgaWYgKHRoaXMucHJvamVjdC5kb2NnZW4gJiYgc3ViUHJvamVjdERvY3NEaXJlY3RvcnkpXG4gICAgICAgIHRoaXMucHJvamVjdC5wb3N0Q29tcGlsZVRhc2suZXhlYyhgbGVybmEtcHJvamVuIG1vdmUtZG9jcyAke3RoaXMucHJvamVjdC5kb2NzRGlyZWN0b3J5fSAke3N1YlByb2plY3RQYXRofSAke3N1YlByb2plY3REb2NzRGlyZWN0b3J5fWApXG5cbiAgICAgIGNvbnN0IHBhY2thZ2VBbGxUYXNrID0gc3ViUHJvamVjdC50YXNrcy50cnlGaW5kKCdwYWNrYWdlLWFsbCcpXG5cbiAgICAgIGlmIChwYWNrYWdlQWxsVGFzaylcbiAgICAgICAgc3ViUHJvamVjdC5wYWNrYWdlVGFzay5zcGF3bihwYWNrYWdlQWxsVGFzaylcblxuICAgICAgY29uc3QgYXJ0aWZhY3RzRGlyZWN0b3J5ID0gZ2V0QXJ0aWZhY3RzRGlyZWN0b3J5KHN1YlByb2plY3QpXG5cbiAgICAgIHRoaXMucHJvamVjdC5wYWNrYWdlVGFzay5leGVjKGBsZXJuYS1wcm9qZW4gY29weS1kaXN0ICR7c3ViUHJvamVjdFBhdGh9LyR7YXJ0aWZhY3RzRGlyZWN0b3J5fSAke3RoaXMucHJvamVjdC5hcnRpZmFjdHNEaXJlY3Rvcnl9YClcblxuICAgICAgc3ViUHJvamVjdC5kZWZhdWx0VGFzaz8ucmVzZXQoKVxuXG4gICAgICBjb25zdCBidW1wRW52cyA9IHtcbiAgICAgICAgT1VURklMRTogJ3BhY2thZ2UuanNvbicsXG4gICAgICAgIENIQU5HRUxPRzogYCR7YXJ0aWZhY3RzRGlyZWN0b3J5fS9jaGFuZ2Vsb2cubWRgLFxuICAgICAgICBCVU1QRklMRTogYCR7YXJ0aWZhY3RzRGlyZWN0b3J5fS92ZXJzaW9uLnR4dGAsXG4gICAgICAgIFJFTEVBU0VUQUc6IGAke2FydGlmYWN0c0RpcmVjdG9yeX0vcmVsZWFzZXRhZy50eHRgLFxuICAgICAgICBSRUxFQVNFX1RBR19QUkVGSVg6ICcnLFxuICAgICAgfVxuXG4gICAgICBpZiAoYnVtcFRhc2sgJiYgIXN1YlByb2plY3QudGFza3MudHJ5RmluZCgnYnVtcCcpKSB7XG4gICAgICAgIGNvbnN0IHN1YkJ1bXBUYXNrID0gc3ViUHJvamVjdC5hZGRUYXNrKGJ1bXBUYXNrLm5hbWUsIHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogYnVtcFRhc2suZGVzY3JpcHRpb24sXG4gICAgICAgICAgY29uZGl0aW9uOiBidW1wVGFzay5jb25kaXRpb24sXG4gICAgICAgICAgZW52OiBidW1wRW52cyxcbiAgICAgICAgfSlcbiAgICAgICAgc3ViQnVtcFRhc2suYnVpbHRpbigncmVsZWFzZS9idW1wLXZlcnNpb24nKVxuICAgICAgfVxuXG4gICAgICBpZiAodW5idW1wVGFzayAmJiAhc3ViUHJvamVjdC50YXNrcy50cnlGaW5kKCd1bmJ1bXAnKSkge1xuICAgICAgICBjb25zdCBzdWJCdW1wVGFzayA9IHN1YlByb2plY3QuYWRkVGFzayh1bmJ1bXBUYXNrLm5hbWUsIHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogdW5idW1wVGFzay5kZXNjcmlwdGlvbixcbiAgICAgICAgICBjb25kaXRpb246IHVuYnVtcFRhc2suY29uZGl0aW9uLFxuICAgICAgICAgIGVudjogYnVtcEVudnMsXG4gICAgICAgIH0pXG4gICAgICAgIHN1YkJ1bXBUYXNrLmJ1aWx0aW4oJ3JlbGVhc2UvcmVzZXQtdmVyc2lvbicpXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgYWRkRG9jdW1lbnRzSW5kZXgoKSB7XG4gICAgaWYgKCF0aGlzLnByb2plY3QuZG9jZ2VuKVxuICAgICAgcmV0dXJuXG5cbiAgICBjb25zdCBzdWJQcm9qZWN0c0RvY3M6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fVxuXG4gICAgY29uc3QgaW5kZXhNYXJrZG93biA9IG5ldyBTb3VyY2VDb2RlKHRoaXMucHJvamVjdCwgYCR7dGhpcy5wcm9qZWN0LmRvY3NEaXJlY3Rvcnl9L2luZGV4Lm1kYClcbiAgICBjb25zdCByZWFkbWVNYXJrZG93biA9IG5ldyBTb3VyY2VDb2RlKHRoaXMucHJvamVjdCwgYCR7dGhpcy5wcm9qZWN0LmRvY3NEaXJlY3Rvcnl9L1JFQURNRS5tZGApXG5cbiAgICB0aGlzLnByb2plY3Quc3VicHJvamVjdHMuZm9yRWFjaCgoc3ViUHJvamVjdCkgPT4ge1xuICAgICAgY29uc3Qgc3ViUHJvamVjdERvY3NEaXJlY3RvcnkgPSBnZXREb2NzRGlyZWN0b3J5KHN1YlByb2plY3QpXG4gICAgICBpZiAoIXN1YlByb2plY3REb2NzRGlyZWN0b3J5KVxuICAgICAgICByZXR1cm5cblxuICAgICAgY29uc3Qgc3ViUHJvamVjdFBhdGggPSB0aGlzLmdldFN1YlByb2plY3RQYXRoKHN1YlByb2plY3QpXG4gICAgICBjb25zdCBqc2lpRG9jc091dHB1dCA9IGV4dHJhY3RKc2lpRG9jc091dHB1dChzdWJQcm9qZWN0LnRhc2tzKVxuICAgICAgaWYgKGpzaWlEb2NzT3V0cHV0KSB7XG4gICAgICAgIGNvbnN0IGRvY3NQYXRoID0gYCR7c3ViUHJvamVjdFBhdGh9LyR7anNpaURvY3NPdXRwdXR9YFxuICAgICAgICBpbmRleE1hcmtkb3duLmxpbmUoYC0gIyMgWyR7c3ViUHJvamVjdC5uYW1lfV0oJHtkb2NzUGF0aH0pYClcbiAgICAgICAgc3ViUHJvamVjdHNEb2NzW3N1YlByb2plY3QubmFtZV0gPSBkb2NzUGF0aFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3ViUHJvamVjdHNEb2NzW3N1YlByb2plY3QubmFtZV0gPSBgJHtzdWJQcm9qZWN0UGF0aH0vaW5kZXguaHRtbGBcbiAgICAgIH1cbiAgICAgIHJlYWRtZU1hcmtkb3duLmxpbmUoYC0gIyMgWyR7c3ViUHJvamVjdC5uYW1lfV0oLi4vJHtzdWJQcm9qZWN0UGF0aH0vUkVBRE1FLm1kKWApXG4gICAgfSlcblxuICAgIGNvbnN0IGluZGV4SHRtbCA9IG5ldyBTb3VyY2VDb2RlKHRoaXMucHJvamVjdCwgYCR7dGhpcy5wcm9qZWN0LmRvY3NEaXJlY3Rvcnl9L2luZGV4Lmh0bWxgKVxuICAgIGluZGV4SHRtbC5saW5lKCc8IURPQ1RZUEUgaHRtbD4nKVxuICAgIGluZGV4SHRtbC5saW5lKCc8aHRtbD4nKVxuICAgIGluZGV4SHRtbC5vcGVuKCc8Ym9keT4nKVxuICAgIGluZGV4SHRtbC5vcGVuKCc8dWw+JylcbiAgICBPYmplY3QuZW50cmllcyhzdWJQcm9qZWN0c0RvY3MpLmZvckVhY2goKFtuYW1lLCBkb2NzUGF0aF0pID0+IHtcbiAgICAgIGluZGV4SHRtbC5vcGVuKCc8bGk+JylcbiAgICAgIGluZGV4SHRtbC5vcGVuKGA8YSBocmVmPVwiJHtkb2NzUGF0aH1cIj5gKVxuICAgICAgaW5kZXhIdG1sLmxpbmUobmFtZSlcbiAgICAgIGluZGV4SHRtbC5jbG9zZSgnPC9hPicpXG4gICAgICBpbmRleEh0bWwuY2xvc2UoJzwvbGk+JylcbiAgICB9KVxuICAgIGluZGV4SHRtbC5jbG9zZSgnPC91bD4nKVxuICAgIGluZGV4SHRtbC5jbG9zZSgnPC9ib2R5PicpXG4gICAgaW5kZXhIdG1sLmxpbmUoJzwvaHRtbD4nKVxuICAgIGluZGV4SHRtbC5saW5lKClcblxuICAgIHRoaXMucHJvamVjdC5naXRhdHRyaWJ1dGVzLmFkZEF0dHJpYnV0ZXMoYC8ke3RoaXMucHJvamVjdC5kb2NzRGlyZWN0b3J5fS8qKmAsICdsaW5ndWlzdC1nZW5lcmF0ZWQnKVxuICB9XG59Il19
|
|
291
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZCQUE2QjtBQUM3QixtQ0FBZ0c7QUFHaEcsMENBQXdCO0FBQ3hCLG1DQUFpQztBQUVqQyxTQUFTLGdCQUFnQixDQUFDLE9BQWdCO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLGVBQWUsQ0FBQyxDQUFDO0lBQ2hGLE9BQU8sTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxPQUFnQjtJQUM3QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3JGLE9BQU8sTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQztBQUVELE1BQU0sZUFBZSxHQUFHLGdDQUFnQyxDQUFDO0FBRXpELFNBQVMscUJBQXFCLENBQUMsS0FBWTtJQUN6QyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2RyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQUEsT0FB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QUMsU0FBUyxDQUFDLENBQUM7UUFDMUIsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRWpCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxLQUFLLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUN0RyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgSnNvbkZpbGUsIGphdmFzY3JpcHQsIFByb2plY3QsIFRhc2tzLCBTb3VyY2VDb2RlLCB0eXBlc2NyaXB0LCBZYW1sRmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBMZXJuYVByb2plY3RPcHRpb25zLCBMZXJuYVR5cGVzY3JpcHRQcm9qZWN0T3B0aW9ucywgVGFza0N1c3RvbWl6YXRpb24sIFRhc2tDdXN0b21pemF0aW9ucyB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5mdW5jdGlvbiBnZXREb2NzRGlyZWN0b3J5KHByb2plY3Q6IFByb2plY3QpIHtcbiAgY29uc3QgcmVzdWx0ID0gT2JqZWN0LmVudHJpZXMocHJvamVjdCkuZmluZCgoW2tleV0pID0+IGtleSA9PT0gJ2RvY3NEaXJlY3RvcnknKTtcbiAgcmV0dXJuIHJlc3VsdD8uWzFdLnJlcGxhY2UoL1xcLyQvLCAnJyk7XG59XG5cbmZ1bmN0aW9uIGdldEFydGlmYWN0c0RpcmVjdG9yeShwcm9qZWN0OiBQcm9qZWN0KSB7XG4gIGNvbnN0IHJlc3VsdCA9IE9iamVjdC5lbnRyaWVzKHByb2plY3QpLmZpbmQoKFtrZXldKSA9PiBrZXkgPT09ICdhcnRpZmFjdHNEaXJlY3RvcnknKTtcbiAgcmV0dXJuIHJlc3VsdD8uWzFdO1xufVxuXG5jb25zdCBqc2lpVGFza1BhdHRlcm4gPSAvanNpaS1kb2NnZW4gLW8gKD88b3V0cHV0Pi4rKSQvaTtcblxuZnVuY3Rpb24gZXh0cmFjdEpzaWlEb2NzT3V0cHV0KHRhc2tzOiBUYXNrcyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGpzaWlEb2NTdGVwID0gdGFza3MudHJ5RmluZCgnZG9jZ2VuJyk/LnN0ZXBzLmZpbmQoc3RlcCA9PiBqc2lpVGFza1BhdHRlcm4udGVzdChzdGVwLmV4ZWMgPz8gJycpKTtcbiAgaWYgKCFqc2lpRG9jU3RlcCB8fCAhanNpaURvY1N0ZXAuZXhlYykge3JldHVybjt9XG5cbiAgY29uc3QgbWF0Y2ggPSBqc2lpRG9jU3RlcC5leGVjLm1hdGNoKGpzaWlUYXNrUGF0dGVybik7XG4gIHJldHVybiBtYXRjaD8uZ3JvdXBzPy5vdXRwdXQ7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZFdvcmtmbG93Qm9vdHN0cmFwU3RlcHM8VCBleHRlbmRzIExlcm5hUHJvamVjdE9wdGlvbnMgfCBMZXJuYVR5cGVzY3JpcHRQcm9qZWN0T3B0aW9ucz4ob3B0aW9uczogVCk6IFQge1xuICBpZiAoIW9wdGlvbnMuc2luY2VMYXN0UmVsZWFzZSkge3JldHVybiBvcHRpb25zO31cblxuICByZXR1cm4ge1xuICAgIC4uLm9wdGlvbnMsXG4gICAgd29ya2Zsb3dCb290c3RyYXBTdGVwczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnRmV0Y2ggdGFncycsXG4gICAgICAgIHJ1bjogJ2lmIFsgJChnaXQgcmV2LXBhcnNlIC0taXMtc2hhbGxvdy1yZXBvc2l0b3J5KSAhPSBcImZhbHNlXCIgXSA7IHRoZW4gZ2l0IGZldGNoIG9yaWdpbiBtYWluIC0tdGFncyAtLXVuc2hhbGxvdzsgZmknLFxuICAgICAgICBpZjogJyR7eyBnaXRodWIud29ya2Zsb3cgPT0gXFwnYnVpbGRcXCcgfX0nLFxuICAgICAgfSxcbiAgICAgIC4uLm9wdGlvbnMud29ya2Zsb3dCb290c3RyYXBTdGVwcyA/PyBbXSxcbiAgICBdLFxuICB9O1xufVxuXG5jb25zdCBsb2NrZWRUYXNrTmFtZXMgPSBbJ2J1aWxkJywgJ3VwZ3JhZGUnLCAndXBncmFkZS1wcm9qZW4nLCAnY2xvYmJlcicsICdwb3N0LXVwZ3JhZGUnXTtcblxuaW50ZXJmYWNlIElMZXJuYVByb2plY3Qge1xuICByZWFkb25seSBzaW5jZUxhc3RSZWxlYXNlOiBib29sZWFuO1xuICByZWFkb25seSB1c2VOeDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgaW5kZXBlbmRlbnRNb2RlOiBib29sZWFuO1xuICByZWFkb25seSB1c2VXb3Jrc3BhY2VzOiBib29sZWFuO1xuICByZWFkb25seSBkb2NzRGlyZWN0b3J5OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRvY2dlbj86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHRhc2tDdXN0b21pemF0aW9uczogVGFza0N1c3RvbWl6YXRpb25zO1xuICByZWFkb25seSBwbnBtVmVyc2lvbj86IHN0cmluZztcblxuICBjdXN0b21pemVUYXNrKHRhc2tOYW1lOiBzdHJpbmcsIGN1c3RvbWl6YXRpb246IFRhc2tDdXN0b21pemF0aW9uKTogdm9pZDtcbn1cblxuLyoqXG4gKiBAcGppZCBsZXJuYS1wcm9qZWN0XG4gKi9cbmV4cG9ydCBjbGFzcyBMZXJuYVByb2plY3QgZXh0ZW5kcyBqYXZhc2NyaXB0Lk5vZGVQcm9qZWN0IGltcGxlbWVudHMgSUxlcm5hUHJvamVjdCB7XG5cbiAgcHJpdmF0ZSBwcm9qZW5yY1RzOiBib29sZWFuO1xuXG4gIHJlYWRvbmx5IGRvY3NEaXJlY3Rvcnk6IHN0cmluZztcbiAgcmVhZG9ubHkgZG9jZ2VuOiBib29sZWFuO1xuICByZWFkb25seSBzaW5jZUxhc3RSZWxlYXNlOiBib29sZWFuO1xuICByZWFkb25seSB1c2VOeDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgaW5kZXBlbmRlbnRNb2RlOiBib29sZWFuO1xuICByZWFkb25seSB1c2VXb3Jrc3BhY2VzOiBib29sZWFuO1xuICByZWFkb25seSB0YXNrQ3VzdG9taXphdGlvbnM6IFRhc2tDdXN0b21pemF0aW9ucztcbiAgcmVhZG9ubHkgcG5wbVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBmYWN0b3J5OiBMZXJuYVByb2plY3RGYWN0b3J5O1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IExlcm5hUHJvamVjdE9wdGlvbnMpIHtcbiAgICBzdXBlcihhcHBlbmRXb3JrZmxvd0Jvb3RzdHJhcFN0ZXBzKG9wdGlvbnMpKTtcblxuICAgIGlmIChvcHRpb25zLnByb2plbnJjVHMpIHt0aGlzLmFkZERldkRlcHMoJ3RzLW5vZGUnLCAndHlwZXNjcmlwdCcpO31cblxuICAgIHRoaXMuZG9jc0RpcmVjdG9yeSA9IG9wdGlvbnMuZG9jc0RpcmVjdG9yeSA/PyAnZG9jcyc7XG4gICAgdGhpcy5kb2NnZW4gPSBvcHRpb25zLmRvY2dlbiA/PyBmYWxzZTtcbiAgICB0aGlzLnNpbmNlTGFzdFJlbGVhc2UgPSBvcHRpb25zLnNpbmNlTGFzdFJlbGVhc2UgPz8gZmFsc2U7XG4gICAgdGhpcy51c2VOeCA9IG9wdGlvbnMudXNlTnggPz8gZmFsc2U7XG4gICAgdGhpcy5wcm9qZW5yY1RzID0gb3B0aW9ucy5wcm9qZW5yY1RzID8/IGZhbHNlO1xuICAgIHRoaXMuaW5kZXBlbmRlbnRNb2RlID0gb3B0aW9ucy5pbmRlcGVuZGVudE1vZGUgPz8gZmFsc2U7XG4gICAgdGhpcy51c2VXb3Jrc3BhY2VzID0gb3B0aW9ucy51c2VXb3Jrc3BhY2VzID8/IGZhbHNlO1xuICAgIHRoaXMudGFza0N1c3RvbWl6YXRpb25zID0gb3B0aW9ucy50YXNrQ3VzdG9taXphdGlvbnMgPz8ge307XG4gICAgdGhpcy5wbnBtVmVyc2lvbiA9IG9wdGlvbnMucG5wbVZlcnNpb247XG5cbiAgICB0aGlzLmZhY3RvcnkgPSBuZXcgTGVybmFQcm9qZWN0RmFjdG9yeSh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgY3VzdG9taXphdGlvbiBmb3IgdGhlIHNwZWNpZmllZCB0YXNrXG4gICAqXG4gICAqIEBwYXJhbSB0YXNrTmFtZSBOYW1lIG9mIHRoZSB0YXNrIHRvIGN1c3RvbWl6ZVxuICAgKiBAcGFyYW0gY3VzdG9taXphdGlvbiBUYXNrQ3VzdG9taXphdGlvbiBvcHRpb25zXG4gICAqL1xuICBjdXN0b21pemVUYXNrKHRhc2tOYW1lOiBzdHJpbmcsIGN1c3RvbWl6YXRpb246IFRhc2tDdXN0b21pemF0aW9uKTogdm9pZCB7XG4gICAgdGhpcy50YXNrQ3VzdG9taXphdGlvbnNbdGFza05hbWVdID0gY3VzdG9taXphdGlvbjtcbiAgfVxuXG4gIHByZVN5bnRoZXNpemUoKSB7XG4gICAgc3VwZXIucHJlU3ludGhlc2l6ZSgpO1xuICAgIGNvbnN0IHByb2plbkNvbW1hbmQgPSB0aGlzLnByb2plbnJjVHMgPyAndHMtbm9kZSAtLXNraXAtcHJvamVjdCAucHJvamVucmMudHMnIDogJ25vZGUgLnByb2plbnJjLmpzJztcbiAgICBjb25zdCB7IGRlZmF1bHRUYXNrIH0gPSB0aGlzO1xuICAgIGlmICghZGVmYXVsdFRhc2spIHt0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIGRlZmF1bHQgdGFzaycpO31cbiAgICBkZWZhdWx0VGFzay5yZXNldChwcm9qZW5Db21tYW5kKTtcblxuICAgIHRoaXMuZmFjdG9yeS5idWlsZCgpO1xuICB9XG59XG5cbi8qKlxuICogQHBqaWQgbGVybmEtdHMtcHJvamVjdFxuICovXG5leHBvcnQgY2xhc3MgTGVybmFUeXBlc2NyaXB0UHJvamVjdCBleHRlbmRzIHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3QgaW1wbGVtZW50cyBJTGVybmFQcm9qZWN0IHtcbiAgcmVhZG9ubHkgc2luY2VMYXN0UmVsZWFzZTogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdXNlTng6IGJvb2xlYW47XG4gIHJlYWRvbmx5IGluZGVwZW5kZW50TW9kZTogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdXNlV29ya3NwYWNlczogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdGFza0N1c3RvbWl6YXRpb25zOiBUYXNrQ3VzdG9taXphdGlvbnM7XG4gIHJlYWRvbmx5IHBucG1WZXJzaW9uPzogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZmFjdG9yeTogTGVybmFQcm9qZWN0RmFjdG9yeTtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBMZXJuYVR5cGVzY3JpcHRQcm9qZWN0T3B0aW9ucykge1xuICAgIHN1cGVyKGFwcGVuZFdvcmtmbG93Qm9vdHN0cmFwU3RlcHMob3B0aW9ucykpO1xuXG4gICAgdGhpcy5zaW5jZUxhc3RSZWxlYXNlID0gb3B0aW9ucy5zaW5jZUxhc3RSZWxlYXNlID8/IGZhbHNlO1xuICAgIHRoaXMudXNlTnggPSBvcHRpb25zLnVzZU54ID8/IGZhbHNlO1xuICAgIHRoaXMuaW5kZXBlbmRlbnRNb2RlID0gb3B0aW9ucy5pbmRlcGVuZGVudE1vZGUgPz8gZmFsc2U7XG4gICAgdGhpcy51c2VXb3Jrc3BhY2VzID0gb3B0aW9ucy51c2VXb3Jrc3BhY2VzID8/IGZhbHNlO1xuICAgIHRoaXMudGFza0N1c3RvbWl6YXRpb25zID0gb3B0aW9ucy50YXNrQ3VzdG9taXphdGlvbnMgPz8ge307XG4gICAgdGhpcy5wbnBtVmVyc2lvbiA9IG9wdGlvbnMucG5wbVZlcnNpb247XG5cbiAgICBpZiAoIShvcHRpb25zLmhhc1Jvb3RTb3VyY2VDb2RlID8/IGZhbHNlKSkge3RoaXMudGFza3MudHJ5RmluZCgnY29tcGlsZScpPy5yZXNldCgpO31cblxuICAgIHRoaXMudGFza3MudHJ5RmluZCgnZG9jZ2VuJyk/LnJlc2V0KCk7XG5cbiAgICB0aGlzLmZhY3RvcnkgPSBuZXcgTGVybmFQcm9qZWN0RmFjdG9yeSh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgY3VzdG9taXphdGlvbiBmb3IgdGhlIHNwZWNpZmllZCB0YXNrXG4gICAqXG4gICAqIEBwYXJhbSB0YXNrTmFtZSBOYW1lIG9mIHRoZSB0YXNrIHRvIGN1c3RvbWl6ZVxuICAgKiBAcGFyYW0gY3VzdG9taXphdGlvbiBUYXNrQ3VzdG9taXphdGlvbiBvcHRpb25zXG4gICAqL1xuICBjdXN0b21pemVUYXNrKHRhc2tOYW1lOiBzdHJpbmcsIGN1c3RvbWl6YXRpb246IFRhc2tDdXN0b21pemF0aW9uKTogdm9pZCB7XG4gICAgdGhpcy50YXNrQ3VzdG9taXphdGlvbnNbdGFza05hbWVdID0gY3VzdG9taXphdGlvbjtcbiAgfVxuXG4gIHByZVN5bnRoZXNpemUoKSB7XG4gICAgc3VwZXIucHJlU3ludGhlc2l6ZSgpO1xuICAgIHRoaXMuZmFjdG9yeS5idWlsZCgpO1xuICB9XG59XG5cbmNsYXNzIExlcm5hUHJvamVjdEZhY3Rvcnkge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByb2plY3Q6IElMZXJuYVByb2plY3QgJiBqYXZhc2NyaXB0Lk5vZGVQcm9qZWN0KSB7XG4gICAgcHJvamVjdC5hZGREZXZEZXBzKCdsZXJuYS1wcm9qZW4nLCAnbGVybmEnKTtcbiAgfVxuXG4gIGJ1aWxkKCkge1xuICAgIHRoaXMucHJvamVjdC5wYWNrYWdlVGFzay5yZXNldChgbWtkaXIgLXAgJHt0aGlzLnByb2plY3QuYXJ0aWZhY3RzSmF2YXNjcmlwdERpcmVjdG9yeX1gKTtcbiAgICB0aGlzLnByb2plY3QucHJlQ29tcGlsZVRhc2suZXhlYyhgbGVybmEtcHJvamVuIGNsZWFuLWRpc3QgJHt0aGlzLnByb2plY3QuYXJ0aWZhY3RzRGlyZWN0b3J5fWApO1xuXG4gICAgdGhpcy5zZXR1cFBhY2thZ2VNYW5hZ2VyKCk7XG4gICAgdGhpcy5hcHBlbmRMZXJuYUNvbW1hbmRzKCk7XG4gICAgdGhpcy5hZGRDcm9zc0xpbmtzKCk7XG4gICAgdGhpcy51cGRhdGVTdWJQcm9qZWN0cygpO1xuICAgIHRoaXMuYWRkRG9jdW1lbnRzSW5kZXgoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBQYWNrYWdlTWFuYWdlcigpIHtcbiAgICBpZiAodGhpcy5wcm9qZWN0LnBhY2thZ2UucGFja2FnZU1hbmFnZXIgPT09IGphdmFzY3JpcHQuTm9kZVBhY2thZ2VNYW5hZ2VyLlBOUE0gJiYgdGhpcy5wcm9qZWN0LnBucG1WZXJzaW9uID09PSAnOScpIHt0aGlzLnByb2plY3QubnBtcmMuYWRkQ29uZmlnKCdub2RlLWxpbmtlcicsICdob2lzdGVkJyk7fVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdWJQcm9qZWN0UGF0aChzdWJQcm9qZWN0OiBQcm9qZWN0KSB7XG4gICAgcmV0dXJuIHBhdGgucmVsYXRpdmUodGhpcy5wcm9qZWN0Lm91dGRpciwgc3ViUHJvamVjdC5vdXRkaXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRDcm9zc0xpbmtzKCkge1xuXG4gICAgY29uc3QgbGVybmFDb25maWc6IGFueSA9IHtcbiAgICAgIHVzZU54OiB0aGlzLnByb2plY3QudXNlTngsXG4gICAgICB2ZXJzaW9uOiB0aGlzLnByb2plY3QuaW5kZXBlbmRlbnRNb2RlID8gJ2luZGVwZW5kZW50JyA6ICcwLjAuMCcsXG4gICAgfTtcblxuICAgIGNvbnN0IHBhY2thZ2VzID0gdGhpcy5wcm9qZWN0LnN1YnByb2plY3RzLm1hcChzdWJQcm9qZWN0ID0+IHRoaXMuZ2V0U3ViUHJvamVjdFBhdGgoc3ViUHJvamVjdCkpO1xuXG4gICAgaWYgKHRoaXMucHJvamVjdC51c2VXb3Jrc3BhY2VzKSB7XG4gICAgICBpZiAodGhpcy5wcm9qZWN0LnBhY2thZ2VNYW5hZ2VyID09PSBqYXZhc2NyaXB0Lk5vZGVQYWNrYWdlTWFuYWdlci5QTlBNKSB7XG4gICAgICAgIG5ldyBZYW1sRmlsZSh0aGlzLnByb2plY3QsICdwbnBtLXdvcmtzcGFjZS55YW1sJywge1xuICAgICAgICAgIG9iajoge1xuICAgICAgICAgICAgcGFja2FnZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLnByb2plY3QucGFja2FnZS5hZGRGaWVsZCgnd29ya3NwYWNlcycsIHBhY2thZ2VzKTtcbiAgICB9IGVsc2Uge2xlcm5hQ29uZmlnLnBhY2thZ2VzID0gcGFja2FnZXM7fVxuXG5cbiAgICBuZXcgSnNvbkZpbGUodGhpcy5wcm9qZWN0LCAnbGVybmEuanNvbicsIHtcbiAgICAgIG9iajogbGVybmFDb25maWcsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFwcGVuZExlcm5hQ29tbWFuZHMoKSB7XG4gICAgY29uc3QgdXBncmFkZVRhc2tOYW1lID0gJ3VwZ3JhZGUnO1xuICAgIGNvbnN0IHBvc3RVcGdyYWRlVGFza05hbWUgPSAncG9zdC11cGdyYWRlJztcbiAgICBjb25zdCBwb3N0VXBncmFkZVRhc2sgPSB0aGlzLnByb2plY3QudGFza3MudHJ5RmluZChwb3N0VXBncmFkZVRhc2tOYW1lKTtcbiAgICBwb3N0VXBncmFkZVRhc2s/LnByZXBlbmRFeGVjKHRoaXMuZ2V0TGVybmFDb21tYW5kKHVwZ3JhZGVUYXNrTmFtZSwgeyBzaW5jZUxhc3RSZWxlYXNlOiBmYWxzZSB9KSk7XG4gICAgcG9zdFVwZ3JhZGVUYXNrPy5leGVjKCducHggcHJvamVuJyk7XG5cbiAgICB0aGlzLnByb2plY3QudGFza3MuYWxsXG4gICAgICAuZm9yRWFjaCh0YXNrID0+IHtcbiAgICAgICAgY29uc3QgY3VzdG9taXphdGlvbiA9IHRoaXMucHJvamVjdC50YXNrQ3VzdG9taXphdGlvbnNbdGFzay5uYW1lXTtcbiAgICAgICAgY29uc3QgYWRkTGVybmFTdGVwID0gY3VzdG9taXphdGlvbj8uYWRkTGVybmFTdGVwID8/IHRydWU7XG5cbiAgICAgICAgaWYgKGxvY2tlZFRhc2tOYW1lcy5pbmNsdWRlcyh0YXNrLm5hbWUpIHx8ICFhZGRMZXJuYVN0ZXApIHtyZXR1cm47fVxuXG4gICAgICAgIHRhc2suZXhlYyh0aGlzLmdldExlcm5hQ29tbWFuZCh0YXNrLm5hbWUsIGN1c3RvbWl6YXRpb24pKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMZXJuYUNvbW1hbmQodGFza05hbWU6IHN0cmluZywgY3VzdG9taXphdGlvbj86IFRhc2tDdXN0b21pemF0aW9uKSB7XG4gICAgY29uc3QgbWFpbkNvbW1hbmQgPSBgbGVybmEgcnVuICR7dGFza05hbWV9IC0tc3RyZWFtYDtcbiAgICBjb25zdCB1c2VTaW5jZUZsYWcgPSBjdXN0b21pemF0aW9uPy5zaW5jZUxhc3RSZWxlYXNlID8/IHRoaXMucHJvamVjdC5zaW5jZUxhc3RSZWxlYXNlO1xuXG4gICAgY29uc3QgaW5jbHVkZVBhdHRlcm5zID0gY3VzdG9taXphdGlvbj8uaW5jbHVkZSA/PyBbXTtcbiAgICBjb25zdCBleGNsdWRlUGF0dGVybnMgPSBjdXN0b21pemF0aW9uPy5leGNsdWRlID8/IFtdO1xuXG4gICAgY29uc3Qgc2NvcGVGbGFncyA9IGluY2x1ZGVQYXR0ZXJucy5tYXAoKGdsb2IpID0+IGAgLS1zY29wZSAke2dsb2J9YCkuam9pbignJyk7XG4gICAgY29uc3QgaWdub3JlRmxhZ3MgPSBleGNsdWRlUGF0dGVybnMubWFwKChnbG9iKSA9PiBgIC0taWdub3JlICR7Z2xvYn1gKS5qb2luKCcnKTtcblxuXG4gICAgY29uc3QgcG9zdENvbW1hbmQgPSB1c2VTaW5jZUZsYWcgPyAnIC0tc2luY2UgJChnaXQgZGVzY3JpYmUgLS1hYmJyZXY9MCAtLXRhZ3MgLS1tYXRjaCBcInYqXCIgSEVBRF4pJyA6ICcnO1xuICAgIHJldHVybiBgJHttYWluQ29tbWFuZH0ke3Bvc3RDb21tYW5kfSR7c2NvcGVGbGFnc30ke2lnbm9yZUZsYWdzfWA7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVN1YlByb2plY3RzKCkge1xuICAgIGNvbnN0IGJ1bXBUYXNrID0gdGhpcy5wcm9qZWN0LnRhc2tzLnRyeUZpbmQoJ2J1bXAnKTtcbiAgICBjb25zdCB1bmJ1bXBUYXNrID0gdGhpcy5wcm9qZWN0LnRhc2tzLnRyeUZpbmQoJ3VuYnVtcCcpO1xuXG4gICAgdGhpcy5wcm9qZWN0LnN1YnByb2plY3RzLmZvckVhY2goKHN1YlByb2plY3QpID0+IHtcbiAgICAgIGNvbnN0IHN1YlByb2plY3REb2NzRGlyZWN0b3J5ID0gZ2V0RG9jc0RpcmVjdG9yeShzdWJQcm9qZWN0KTtcbiAgICAgIGNvbnN0IHN1YlByb2plY3RQYXRoID0gdGhpcy5nZXRTdWJQcm9qZWN0UGF0aChzdWJQcm9qZWN0KTtcbiAgICAgIGlmICh0aGlzLnByb2plY3QuZG9jZ2VuICYmIHN1YlByb2plY3REb2NzRGlyZWN0b3J5KSB7dGhpcy5wcm9qZWN0LnBvc3RDb21waWxlVGFzay5leGVjKGBsZXJuYS1wcm9qZW4gbW92ZS1kb2NzICR7dGhpcy5wcm9qZWN0LmRvY3NEaXJlY3Rvcnl9ICR7c3ViUHJvamVjdFBhdGh9ICR7c3ViUHJvamVjdERvY3NEaXJlY3Rvcnl9YCk7fVxuXG4gICAgICBjb25zdCBwYWNrYWdlQWxsVGFzayA9IHN1YlByb2plY3QudGFza3MudHJ5RmluZCgncGFja2FnZS1hbGwnKTtcblxuICAgICAgaWYgKHBhY2thZ2VBbGxUYXNrKSB7c3ViUHJvamVjdC5wYWNrYWdlVGFzay5zcGF3bihwYWNrYWdlQWxsVGFzayk7fVxuXG4gICAgICBjb25zdCBhcnRpZmFjdHNEaXJlY3RvcnkgPSBnZXRBcnRpZmFjdHNEaXJlY3Rvcnkoc3ViUHJvamVjdCk7XG5cbiAgICAgIHRoaXMucHJvamVjdC5wYWNrYWdlVGFzay5leGVjKGBsZXJuYS1wcm9qZW4gY29weS1kaXN0ICR7c3ViUHJvamVjdFBhdGh9LyR7YXJ0aWZhY3RzRGlyZWN0b3J5fSAke3RoaXMucHJvamVjdC5hcnRpZmFjdHNEaXJlY3Rvcnl9YCk7XG5cbiAgICAgIHN1YlByb2plY3QuZGVmYXVsdFRhc2s/LnJlc2V0KCk7XG5cbiAgICAgIGNvbnN0IGJ1bXBFbnZzID0ge1xuICAgICAgICBPVVRGSUxFOiAncGFja2FnZS5qc29uJyxcbiAgICAgICAgQ0hBTkdFTE9HOiBgJHthcnRpZmFjdHNEaXJlY3Rvcnl9L2NoYW5nZWxvZy5tZGAsXG4gICAgICAgIEJVTVBGSUxFOiBgJHthcnRpZmFjdHNEaXJlY3Rvcnl9L3ZlcnNpb24udHh0YCxcbiAgICAgICAgUkVMRUFTRVRBRzogYCR7YXJ0aWZhY3RzRGlyZWN0b3J5fS9yZWxlYXNldGFnLnR4dGAsXG4gICAgICAgIFJFTEVBU0VfVEFHX1BSRUZJWDogJycsXG4gICAgICB9O1xuXG4gICAgICBpZiAoYnVtcFRhc2sgJiYgIXN1YlByb2plY3QudGFza3MudHJ5RmluZCgnYnVtcCcpKSB7XG4gICAgICAgIGNvbnN0IHN1YkJ1bXBUYXNrID0gc3ViUHJvamVjdC5hZGRUYXNrKGJ1bXBUYXNrLm5hbWUsIHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogYnVtcFRhc2suZGVzY3JpcHRpb24sXG4gICAgICAgICAgY29uZGl0aW9uOiBidW1wVGFzay5jb25kaXRpb24sXG4gICAgICAgICAgZW52OiBidW1wRW52cyxcbiAgICAgICAgfSk7XG4gICAgICAgIHN1YkJ1bXBUYXNrLmJ1aWx0aW4oJ3JlbGVhc2UvYnVtcC12ZXJzaW9uJyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh1bmJ1bXBUYXNrICYmICFzdWJQcm9qZWN0LnRhc2tzLnRyeUZpbmQoJ3VuYnVtcCcpKSB7XG4gICAgICAgIGNvbnN0IHN1YkJ1bXBUYXNrID0gc3ViUHJvamVjdC5hZGRUYXNrKHVuYnVtcFRhc2submFtZSwge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiB1bmJ1bXBUYXNrLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIGNvbmRpdGlvbjogdW5idW1wVGFzay5jb25kaXRpb24sXG4gICAgICAgICAgZW52OiBidW1wRW52cyxcbiAgICAgICAgfSk7XG4gICAgICAgIHN1YkJ1bXBUYXNrLmJ1aWx0aW4oJ3JlbGVhc2UvcmVzZXQtdmVyc2lvbicpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGREb2N1bWVudHNJbmRleCgpIHtcbiAgICBpZiAoIXRoaXMucHJvamVjdC5kb2NnZW4pIHtyZXR1cm47fVxuXG4gICAgY29uc3Qgc3ViUHJvamVjdHNEb2NzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgICBjb25zdCBpbmRleE1hcmtkb3duID0gbmV3IFNvdXJjZUNvZGUodGhpcy5wcm9qZWN0LCBgJHt0aGlzLnByb2plY3QuZG9jc0RpcmVjdG9yeX0vaW5kZXgubWRgKTtcbiAgICBjb25zdCByZWFkbWVNYXJrZG93biA9IG5ldyBTb3VyY2VDb2RlKHRoaXMucHJvamVjdCwgYCR7dGhpcy5wcm9qZWN0LmRvY3NEaXJlY3Rvcnl9L1JFQURNRS5tZGApO1xuXG4gICAgdGhpcy5wcm9qZWN0LnN1YnByb2plY3RzLmZvckVhY2goKHN1YlByb2plY3QpID0+IHtcbiAgICAgIGNvbnN0IHN1YlByb2plY3REb2NzRGlyZWN0b3J5ID0gZ2V0RG9jc0RpcmVjdG9yeShzdWJQcm9qZWN0KTtcbiAgICAgIGlmICghc3ViUHJvamVjdERvY3NEaXJlY3RvcnkpIHtyZXR1cm47fVxuXG4gICAgICBjb25zdCBzdWJQcm9qZWN0UGF0aCA9IHRoaXMuZ2V0U3ViUHJvamVjdFBhdGgoc3ViUHJvamVjdCk7XG4gICAgICBjb25zdCBqc2lpRG9jc091dHB1dCA9IGV4dHJhY3RKc2lpRG9jc091dHB1dChzdWJQcm9qZWN0LnRhc2tzKTtcbiAgICAgIGlmIChqc2lpRG9jc091dHB1dCkge1xuICAgICAgICBjb25zdCBkb2NzUGF0aCA9IGAke3N1YlByb2plY3RQYXRofS8ke2pzaWlEb2NzT3V0cHV0fWA7XG4gICAgICAgIGluZGV4TWFya2Rvd24ubGluZShgLSAjIyBbJHtzdWJQcm9qZWN0Lm5hbWV9XSgke2RvY3NQYXRofSlgKTtcbiAgICAgICAgc3ViUHJvamVjdHNEb2NzW3N1YlByb2plY3QubmFtZV0gPSBkb2NzUGF0aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN1YlByb2plY3RzRG9jc1tzdWJQcm9qZWN0Lm5hbWVdID0gYCR7c3ViUHJvamVjdFBhdGh9L2luZGV4Lmh0bWxgO1xuICAgICAgfVxuICAgICAgcmVhZG1lTWFya2Rvd24ubGluZShgLSAjIyBbJHtzdWJQcm9qZWN0Lm5hbWV9XSguLi8ke3N1YlByb2plY3RQYXRofS9SRUFETUUubWQpYCk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBpbmRleEh0bWwgPSBuZXcgU291cmNlQ29kZSh0aGlzLnByb2plY3QsIGAke3RoaXMucHJvamVjdC5kb2NzRGlyZWN0b3J5fS9pbmRleC5odG1sYCk7XG4gICAgaW5kZXhIdG1sLmxpbmUoJzwhRE9DVFlQRSBodG1sPicpO1xuICAgIGluZGV4SHRtbC5saW5lKCc8aHRtbD4nKTtcbiAgICBpbmRleEh0bWwub3BlbignPGJvZHk+Jyk7XG4gICAgaW5kZXhIdG1sLm9wZW4oJzx1bD4nKTtcbiAgICBPYmplY3QuZW50cmllcyhzdWJQcm9qZWN0c0RvY3MpLmZvckVhY2goKFtuYW1lLCBkb2NzUGF0aF0pID0+IHtcbiAgICAgIGluZGV4SHRtbC5vcGVuKCc8bGk+Jyk7XG4gICAgICBpbmRleEh0bWwub3BlbihgPGEgaHJlZj1cIiR7ZG9jc1BhdGh9XCI+YCk7XG4gICAgICBpbmRleEh0bWwubGluZShuYW1lKTtcbiAgICAgIGluZGV4SHRtbC5jbG9zZSgnPC9hPicpO1xuICAgICAgaW5kZXhIdG1sLmNsb3NlKCc8L2xpPicpO1xuICAgIH0pO1xuICAgIGluZGV4SHRtbC5jbG9zZSgnPC91bD4nKTtcbiAgICBpbmRleEh0bWwuY2xvc2UoJzwvYm9keT4nKTtcbiAgICBpbmRleEh0bWwubGluZSgnPC9odG1sPicpO1xuICAgIGluZGV4SHRtbC5saW5lKCk7XG5cbiAgICB0aGlzLnByb2plY3QuZ2l0YXR0cmlidXRlcy5hZGRBdHRyaWJ1dGVzKGAvJHt0aGlzLnByb2plY3QuZG9jc0RpcmVjdG9yeX0vKipgLCAnbGluZ3Vpc3QtZ2VuZXJhdGVkJyk7XG4gIH1cbn0iXX0=
|
package/lib/types.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGphdmFzY3JpcHQsIHR5cGVzY3JpcHQgfSBmcm9tICdwcm9qZW4nO1xuXG5leHBvcnQgaW50ZXJmYWNlIExlcm5hQ29tbW9uUHJvamVjdE9wdGlvbnMge1xuICAvKipcbiAgICogKGV4cGVyaW1lbnRhbCkgRmxhZyB0byBydW4gdGFza3Mgb25seSBmb3IgdGhlIHBhY2thZ2VzIHRoYXQgaGFzIGNoYW5nZXMgc2luY2UgbGFzdCByZWxlYXNlXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHNpbmNlTGFzdFJlbGVhc2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byB1c2UgTnggZm9yIHRhc2sgc2NoZWR1bGluZ1xuICAgKiBodHRwczovL2xlcm5hLmpzLm9yZy9kb2NzL2xlcm5hLWFuZC1ueFxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlTng/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byB1c2UgaW5kZXBlbmRlbnQgdmVyc2lvbmluZyBmb3Igc3ViLXByb2plY3RzXG4gICAqIGh0dHBzOi8vbGVybmEuanMub3JnL2RvY3MvZmVhdHVyZXMvdmVyc2lvbi1hbmQtcHVibGlzaCNpbmRlcGVuZGVudC1tb2RlXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBpbmRlcGVuZGVudE1vZGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byB1c2Ugd29ya3NwYWNlcyBpbiB0aGUgcGFja2FnZS5qc29uIGZpbGVcbiAgICogT3RoZXJ3aXNlLCB3aWxsIGFkZCBwYWNrYWdlcyB0byBsZXJuYS5qc29uXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB1c2VXb3Jrc3BhY2VzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogS2V5IHZhbHVlIHBhaXIgb2YgdGFzayBuYW1lIGFuZCBUYXNrQ3VzdG9taXphdGlvbiB0byBjdXN0b21pemUgdGhlIGxlcm5hIHJ1biBzdGVwIGFkZGVkIHRvIHRoZSB0YXNrLlxuICAgKlxuICAgKiBAZGVmYXVsdCB7fSBcIk5vIHRhc2sgY3VzdG9taXphdGlvbnNcIlxuICAgKi9cbiAgcmVhZG9ubHkgdGFza0N1c3RvbWl6YXRpb25zPzogVGFza0N1c3RvbWl6YXRpb25zO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVybmFQcm9qZWN0T3B0aW9ucyBleHRlbmRzIGphdmFzY3JpcHQuTm9kZVByb2plY3RPcHRpb25zLCBMZXJuYUNvbW1vblByb2plY3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIChleHBlcmltZW50YWwpIFVzZSBUeXBlU2NyaXB0IGZvciB5b3VyIHByb2plbnJjIGZpbGUgKGAucHJvamVucmMudHNgKS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNUcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvbnNvbGlkYXRlIHN1YiBwcm9qZWN0cyBkb2MgZmlsZXNcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgZG9jZ2VuPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogKGV4cGVyaW1lbnRhbCkgRG9jcyBkaXJlY3RvcnkuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiZG9jc1wiXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGRvY3NEaXJlY3Rvcnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVybmFUeXBlc2NyaXB0UHJvamVjdE9wdGlvbnMgZXh0ZW5kcyB0eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucywgTGVybmFDb21tb25Qcm9qZWN0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwcm9qZWN0IHJvb3QgcGFja2FnZSBoYXMgc291cmNlIGNvZGUuXG4gICAqXG4gICAqIFdoZW4gc2V0IHRvIGBmYWxzZWAsIHJlbW92ZXMgdHlwZXNjcmlwdCBjb21waWxhdGlvbiBmcm9tIHRoZSBjb21waWxlIHN0ZXAgZm9yIHRoZSByb290IHByb2plY3QuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBoYXNSb290U291cmNlQ29kZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIFRhc2tDdXN0b21pemF0aW9ucyA9IHsgW3Rhc2tOYW1lOiBzdHJpbmddOiBUYXNrQ3VzdG9taXphdGlvbiB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhc2tDdXN0b21pemF0aW9uIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYWRkIGEgbGVybmEgcnVuIHN0ZXAgdG8gdGhlIHRhc2tcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkTGVybmFTdGVwPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTGlzdCBvZiBnbG9iIHBhdHRlcm5zIG1hdGNoaW5nIHRoZSBuYW1lIG9mIHBhY2thZ2VzIHRvIGluY2x1ZGUgaW4gdGhlIGxlcm5hIHJ1biBzdGVwXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBpbmNsdWRlPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgZ2xvYiBwYXR0ZXJucyBtYXRjaGluZyB0aGUgbmFtZSBvZiBwYWNrYWdlcyB0byBleGNsdWRlIGZyb20gdGhlIGxlcm5hIHJ1biBzdGVwXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBleGNsdWRlPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIChleHBlcmltZW50YWwpIEZsYWcgdG8gcnVuIHRhc2tzIG9ubHkgZm9yIHRoZSBwYWNrYWdlcyB0aGF0IGhhcyBjaGFuZ2VzIHNpbmNlIGxhc3QgcmVsZWFzZVxuICAgKlxuICAgKiBAZGVmYXVsdCBcIlZhbHVlIHBhc3NlZCBpbiBwcm9qZWN0IG9wdGlvbnNcIlxuICAgKi9cbiAgcmVhZG9ubHkgc2luY2VMYXN0UmVsZWFzZT86IGJvb2xlYW47XG59Il19
|
package/lib/utils.js
CHANGED
|
@@ -6,8 +6,9 @@ exports.addNxDependency = addNxDependency;
|
|
|
6
6
|
function generateNxTargetEntriesForTaskDependency(options) {
|
|
7
7
|
function getDependentOnAttribute() {
|
|
8
8
|
const { dependsOnTaskName, dependsOnProjects } = options;
|
|
9
|
-
if (dependsOnProjects.length === 0 && !dependsOnTaskName)
|
|
9
|
+
if (dependsOnProjects.length === 0 && !dependsOnTaskName) {
|
|
10
10
|
return undefined;
|
|
11
|
+
}
|
|
11
12
|
return [{
|
|
12
13
|
projects: dependsOnProjects.length === 0 ? undefined : dependsOnProjects.map(d => d.package.packageName),
|
|
13
14
|
target: dependsOnTaskName,
|
|
@@ -61,8 +62,9 @@ function addNxProjectDependency(project, ...dependsOn) {
|
|
|
61
62
|
* @param options Dependency options
|
|
62
63
|
*/
|
|
63
64
|
function addNxDependency(project, options) {
|
|
64
|
-
if (options.taskDependency && options.tasksDependency)
|
|
65
|
+
if (options.taskDependency && options.tasksDependency) {
|
|
65
66
|
throw new Error('Task Dependency and Tasks dependency option cannot be used in conjunction');
|
|
67
|
+
}
|
|
66
68
|
const projectDependencyConfig = options.projectDependency ? generateNxConfigForProjectDependency(options.projectDependency.dependsOnProjects) : undefined;
|
|
67
69
|
const tasksDependency = options.taskDependency ? [options.taskDependency] : options.tasksDependency;
|
|
68
70
|
const taskDependencyConfig = tasksDependency ?
|
|
@@ -73,4 +75,4 @@ function addNxDependency(project, options) {
|
|
|
73
75
|
...taskDependencyConfig,
|
|
74
76
|
});
|
|
75
77
|
}
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFxQ0Esa0RBRUM7QUFlRCx3REFFQztBQXlERCwwQ0FpQkM7QUFoSUQsU0FBUyx3Q0FBd0MsQ0FBQyxPQUFtQztJQUNuRixTQUFTLHVCQUF1QjtRQUM5QixNQUFNLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFFekQsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUFBLE9BQU8sU0FBUyxDQUFDO1FBQUEsQ0FBQztRQUU3RSxPQUFPLENBQUM7Z0JBQ04sUUFBUSxFQUFFLGlCQUFpQixDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQ3hHLE1BQU0sRUFBRSxpQkFBaUI7YUFDMUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU87UUFDTCxPQUFPLENBQUMsUUFBUTtRQUNoQjtZQUNFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRTtZQUNwQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssSUFBSSxTQUFTO1NBQ2xDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLGtDQUFrQyxDQUFDLE9BQXFDO0lBQy9FLE9BQU87UUFDTCxPQUFPLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7S0FDbkYsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLG1CQUFtQixDQUFDLE9BQW9CLEVBQUUsUUFBZ0IsRUFBRSxpQkFBeUIsRUFBRSxHQUFHLGlCQUFnQztJQUN4SSxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsa0NBQWtDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNILENBQUM7QUFFRCxTQUFTLG9DQUFvQyxDQUFDLFNBQXdCO0lBQ3BFLE9BQU87UUFDTCxvQkFBb0IsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7S0FDaEUsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixzQkFBc0IsQ0FBQyxPQUFvQixFQUFFLEdBQUcsU0FBd0I7SUFDdEYsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLG9DQUFvQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDbEYsQ0FBQztBQWtERDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixlQUFlLENBQUMsT0FBb0IsRUFBRSxPQUErQjtJQUNuRixJQUFJLE9BQU8sQ0FBQyxjQUFjLElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQUEsTUFBTSxJQUFJLEtBQUssQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUV0SixNQUFNLHVCQUF1QixHQUMzQixPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFFNUgsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7SUFFcEcsTUFBTSxvQkFBb0IsR0FDeEIsZUFBZSxDQUFDLENBQUM7UUFDZixrQ0FBa0MsQ0FBQyxlQUFlLENBQUMsQ0FBQSxDQUFDO1FBQ3BELFNBQVMsQ0FBQztJQUVkLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtRQUM3QixHQUFHLHVCQUF1QjtRQUMxQixHQUFHLG9CQUFvQjtLQUN4QixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZVByb2plY3QgfSBmcm9tICdwcm9qZW4vbGliL2phdmFzY3JpcHQnO1xuXG5mdW5jdGlvbiBnZW5lcmF0ZU54VGFyZ2V0RW50cmllc0ZvclRhc2tEZXBlbmRlbmN5KG9wdGlvbnM6IEFkZE54VGFza0RlcGVuZGVuY3lPcHRpb25zKSB7XG4gIGZ1bmN0aW9uIGdldERlcGVuZGVudE9uQXR0cmlidXRlKCkge1xuICAgIGNvbnN0IHsgZGVwZW5kc09uVGFza05hbWUsIGRlcGVuZHNPblByb2plY3RzIH0gPSBvcHRpb25zO1xuXG4gICAgaWYgKGRlcGVuZHNPblByb2plY3RzLmxlbmd0aCA9PT0gMCAmJiAhZGVwZW5kc09uVGFza05hbWUpIHtyZXR1cm4gdW5kZWZpbmVkO31cblxuICAgIHJldHVybiBbe1xuICAgICAgcHJvamVjdHM6IGRlcGVuZHNPblByb2plY3RzLmxlbmd0aCA9PT0gMCA/IHVuZGVmaW5lZCA6IGRlcGVuZHNPblByb2plY3RzLm1hcChkID0+IGQucGFja2FnZS5wYWNrYWdlTmFtZSksXG4gICAgICB0YXJnZXQ6IGRlcGVuZHNPblRhc2tOYW1lLFxuICAgIH1dO1xuICB9XG4gIHJldHVybiBbXG4gICAgb3B0aW9ucy50YXNrTmFtZSxcbiAgICB7XG4gICAgICBkZXBlbmRzT246IGdldERlcGVuZGVudE9uQXR0cmlidXRlKCksXG4gICAgICBjYWNoZTogb3B0aW9ucy5jYWNoZSA/PyB1bmRlZmluZWQsXG4gICAgfSxcbiAgXTtcbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVOeENvbmZpZ0ZvclRhc2tzRGVwZW5kZW5jeShvcHRpb25zOiBBZGROeFRhc2tEZXBlbmRlbmN5T3B0aW9uc1tdKSB7XG4gIHJldHVybiB7XG4gICAgdGFyZ2V0czogT2JqZWN0LmZyb21FbnRyaWVzKG9wdGlvbnMubWFwKGdlbmVyYXRlTnhUYXJnZXRFbnRyaWVzRm9yVGFza0RlcGVuZGVuY3kpKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBBZGRzIGRlcGVuZGVuY3kgdG8gdGhlIHByb2plY3QgZm9yIE5YIHRhc2sgcnVubmVyXG4gKiBzZWUgaHR0cHM6Ly9ueC5kZXYvcmVmZXJlbmNlL3Byb2plY3QtY29uZmlndXJhdGlvbiNkZXBlbmRzb25cbiAqXG4gKiBAcGFyYW0gcHJvamVjdCBUaGUgUHJvamVjdCB0byBhZGQgZGVwZW5kZW5jeSB0b1xuICogQHBhcmFtIHRhc2tOYW1lIFRoZSB0YXNrIG5hbWUgdGhhdCBpcyBkZXBlbmRlbnQgb24gYW5vdGhlciB0YXNrc1xuICogQHBhcmFtIGRlcGVuZHNPblRhc2tOYW1lIFRoZSB0YXNrIG5hbWUgdGhhdCBpcyBkZXBlbmRlbnQgb24gaW4gb3RoZXIgcHJvamVjdHNcbiAqIEBwYXJhbSBkZXBlbmRzT25Qcm9qZWN0cyBUaGUgcGFja2FnZXMgdGhhdCBzb3VyY2UgcHJvamVjdCBpcyBkZXBlbmRlbnQgb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZE54VGFza0RlcGVuZGVuY3kocHJvamVjdDogTm9kZVByb2plY3QsIHRhc2tOYW1lOiBzdHJpbmcsIGRlcGVuZHNPblRhc2tOYW1lOiBzdHJpbmcsIC4uLmRlcGVuZHNPblByb2plY3RzOiBOb2RlUHJvamVjdFtdKTogdm9pZCB7XG4gIHByb2plY3QucGFja2FnZS5hZGRGaWVsZCgnbngnLCBnZW5lcmF0ZU54Q29uZmlnRm9yVGFza3NEZXBlbmRlbmN5KFt7IHRhc2tOYW1lLCBkZXBlbmRzT25UYXNrTmFtZSwgZGVwZW5kc09uUHJvamVjdHMgfV0pKTtcbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVOeENvbmZpZ0ZvclByb2plY3REZXBlbmRlbmN5KGRlcGVuZHNPbjogTm9kZVByb2plY3RbXSkge1xuICByZXR1cm4ge1xuICAgIGltcGxpY2l0RGVwZW5kZW5jaWVzOiBkZXBlbmRzT24ubWFwKGQgPT4gZC5wYWNrYWdlLnBhY2thZ2VOYW1lKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBBZGRzIGRlcGVuZGVuY3kgdG8gdGhlIHByb2plY3QgZm9yIE5YIHRhc2sgcnVubmVyXG4gKiBzZWUgaHR0cHM6Ly9ueC5kZXYvcmVmZXJlbmNlL3Byb2plY3QtY29uZmlndXJhdGlvbiNpbXBsaWNpdGRlcGVuZGVuY2llc1xuICpcbiAqIEBwYXJhbSBwcm9qZWN0IFRoZSBQcm9qZWN0IHRvIGFkZCBkZXBlbmRlbmN5IHRvXG4gKiBAcGFyYW0gZGVwZW5kc09uIFRoZSBwYWNrYWdlcyB0aGF0IHNvdXJjZSBwcm9qZWN0IGlzIGRlcGVuZGVudCBvblxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkTnhQcm9qZWN0RGVwZW5kZW5jeShwcm9qZWN0OiBOb2RlUHJvamVjdCwgLi4uZGVwZW5kc09uOiBOb2RlUHJvamVjdFtdKTogdm9pZCB7XG4gIHByb2plY3QucGFja2FnZS5hZGRGaWVsZCgnbngnLCBnZW5lcmF0ZU54Q29uZmlnRm9yUHJvamVjdERlcGVuZGVuY3koZGVwZW5kc09uKSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkTnhUYXNrRGVwZW5kZW5jeU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHRhc2sgbmFtZSB0aGF0IGlzIGRlcGVuZGVudCBvbiBhbm90aGVyIHRhc2tzXG4gICAqL1xuICByZWFkb25seSB0YXNrTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFzayBuYW1lIHRoYXQgaXMgZGVwZW5kZW50IG9uIGluIG90aGVyIHByb2plY3RzXG4gICAqL1xuICByZWFkb25seSBkZXBlbmRzT25UYXNrTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhY2thZ2VzIHRoYXQgc291cmNlIHByb2plY3QgaXMgZGVwZW5kZW50IG9uXG4gICAqL1xuICByZWFkb25seSBkZXBlbmRzT25Qcm9qZWN0czogTm9kZVByb2plY3RbXTtcblxuICAvKipcbiAgICogQ2FjaGUgVGFzayBSZXN1bHRzXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjYWNoZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkTnhQcm9qZWN0RGVwZW5kZW5jeU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHBhY2thZ2VzIHRoYXQgc291cmNlIHByb2plY3QgaXMgZGVwZW5kZW50IG9uXG4gICAqL1xuICByZWFkb25seSBkZXBlbmRzT25Qcm9qZWN0czogTm9kZVByb2plY3RbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGROeERlcGVuZGVuY3lPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRhc2sgZGVwZW5kZW5jeSBvcHRpb25zXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgdGFza3NEZXBlbmRlbmN5YFxuICAgKi9cbiAgcmVhZG9ubHkgdGFza0RlcGVuZGVuY3k/OiBBZGROeFRhc2tEZXBlbmRlbmN5T3B0aW9ucztcblxuICAvKipcbiAgICogVGFzayBkZXBlbmRlbmN5IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IHRhc2tzRGVwZW5kZW5jeT86IEFkZE54VGFza0RlcGVuZGVuY3lPcHRpb25zW107XG5cbiAgLyoqXG4gICAqIFByb2plY3QgZGVwZW5kZW5jeSBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSBwcm9qZWN0RGVwZW5kZW5jeT86IEFkZE54UHJvamVjdERlcGVuZGVuY3lPcHRpb25zO1xufVxuXG4vKipcbiAqIEFkZHMgZGVwZW5kZW5jeSB0byB0aGUgcHJvamVjdCBmb3IgTlggdGFzayBydW5uZXJcbiAqIHNlZSBodHRwczovL254LmRldi9yZWZlcmVuY2UvcHJvamVjdC1jb25maWd1cmF0aW9uXG4gKlxuICogQHBhcmFtIHByb2plY3QgVGhlIFByb2plY3QgdG8gYWRkIGRlcGVuZGVuY3kgdG9cbiAqIEBwYXJhbSBvcHRpb25zIERlcGVuZGVuY3kgb3B0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkTnhEZXBlbmRlbmN5KHByb2plY3Q6IE5vZGVQcm9qZWN0LCBvcHRpb25zOiBBZGROeERlcGVuZGVuY3lPcHRpb25zKTogdm9pZCB7XG4gIGlmIChvcHRpb25zLnRhc2tEZXBlbmRlbmN5ICYmIG9wdGlvbnMudGFza3NEZXBlbmRlbmN5KSB7dGhyb3cgbmV3IEVycm9yKCdUYXNrIERlcGVuZGVuY3kgYW5kIFRhc2tzIGRlcGVuZGVuY3kgb3B0aW9uIGNhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uJyk7fVxuXG4gIGNvbnN0IHByb2plY3REZXBlbmRlbmN5Q29uZmlnID1cbiAgICBvcHRpb25zLnByb2plY3REZXBlbmRlbmN5ID8gZ2VuZXJhdGVOeENvbmZpZ0ZvclByb2plY3REZXBlbmRlbmN5KG9wdGlvbnMucHJvamVjdERlcGVuZGVuY3kuZGVwZW5kc09uUHJvamVjdHMpIDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IHRhc2tzRGVwZW5kZW5jeSA9IG9wdGlvbnMudGFza0RlcGVuZGVuY3kgPyBbb3B0aW9ucy50YXNrRGVwZW5kZW5jeV0gOiBvcHRpb25zLnRhc2tzRGVwZW5kZW5jeTtcblxuICBjb25zdCB0YXNrRGVwZW5kZW5jeUNvbmZpZyA9XG4gICAgdGFza3NEZXBlbmRlbmN5ID9cbiAgICAgIGdlbmVyYXRlTnhDb25maWdGb3JUYXNrc0RlcGVuZGVuY3kodGFza3NEZXBlbmRlbmN5KTpcbiAgICAgIHVuZGVmaW5lZDtcblxuICBwcm9qZWN0LnBhY2thZ2UuYWRkRmllbGQoJ254Jywge1xuICAgIC4uLnByb2plY3REZXBlbmRlbmN5Q29uZmlnLFxuICAgIC4uLnRhc2tEZXBlbmRlbmN5Q29uZmlnLFxuICB9KTtcbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -55,18 +55,18 @@
|
|
|
55
55
|
"jest": "^29.7.0",
|
|
56
56
|
"jest-junit": "^16",
|
|
57
57
|
"jsii": "5.8.x",
|
|
58
|
-
"jsii-diff": "^1.
|
|
58
|
+
"jsii-diff": "^1.112.0",
|
|
59
59
|
"jsii-docgen": "^10.5.0",
|
|
60
|
-
"jsii-pacmak": "^1.
|
|
60
|
+
"jsii-pacmak": "^1.112.0",
|
|
61
61
|
"jsii-rosetta": "5.8.x",
|
|
62
|
-
"projen": "^0.
|
|
62
|
+
"projen": "^0.92.2",
|
|
63
63
|
"ts-jest": "^29.3.2",
|
|
64
64
|
"ts-node": "^10.9.2",
|
|
65
65
|
"typescript": "^5.8.3"
|
|
66
66
|
},
|
|
67
67
|
"peerDependencies": {
|
|
68
68
|
"constructs": "^10.4.2",
|
|
69
|
-
"projen": "^0.
|
|
69
|
+
"projen": "^0.92.2"
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
72
|
"commander": "^11.1.0",
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"publishConfig": {
|
|
91
91
|
"access": "public"
|
|
92
92
|
},
|
|
93
|
-
"version": "0.1.
|
|
93
|
+
"version": "0.1.612",
|
|
94
94
|
"jest": {
|
|
95
95
|
"coverageProvider": "v8",
|
|
96
96
|
"testMatch": [
|