lerna-projen 0.1.398 → 0.1.399
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 +35 -12
- package/API.md +16 -1
- package/lib/index.js +2 -2
- package/lib/utils.d.ts +7 -2
- package/lib/utils.js +25 -18
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -806,7 +806,7 @@
|
|
|
806
806
|
"kind": "interface",
|
|
807
807
|
"locationInModule": {
|
|
808
808
|
"filename": "src/utils.ts",
|
|
809
|
-
"line":
|
|
809
|
+
"line": 77
|
|
810
810
|
},
|
|
811
811
|
"name": "AddNxDependencyOptions",
|
|
812
812
|
"namespace": "utils",
|
|
@@ -820,7 +820,7 @@
|
|
|
820
820
|
"immutable": true,
|
|
821
821
|
"locationInModule": {
|
|
822
822
|
"filename": "src/utils.ts",
|
|
823
|
-
"line":
|
|
823
|
+
"line": 92
|
|
824
824
|
},
|
|
825
825
|
"name": "projectDependency",
|
|
826
826
|
"optional": true,
|
|
@@ -831,19 +831,42 @@
|
|
|
831
831
|
{
|
|
832
832
|
"abstract": true,
|
|
833
833
|
"docs": {
|
|
834
|
-
"
|
|
834
|
+
"deprecated": "use `tasksDependency`",
|
|
835
|
+
"stability": "deprecated",
|
|
835
836
|
"summary": "Task dependency options."
|
|
836
837
|
},
|
|
837
838
|
"immutable": true,
|
|
838
839
|
"locationInModule": {
|
|
839
840
|
"filename": "src/utils.ts",
|
|
840
|
-
"line":
|
|
841
|
+
"line": 82
|
|
841
842
|
},
|
|
842
843
|
"name": "taskDependency",
|
|
843
844
|
"optional": true,
|
|
844
845
|
"type": {
|
|
845
846
|
"fqn": "lerna-projen.utils.AddNxTaskDependencyOptions"
|
|
846
847
|
}
|
|
848
|
+
},
|
|
849
|
+
{
|
|
850
|
+
"abstract": true,
|
|
851
|
+
"docs": {
|
|
852
|
+
"stability": "stable",
|
|
853
|
+
"summary": "Task dependency options."
|
|
854
|
+
},
|
|
855
|
+
"immutable": true,
|
|
856
|
+
"locationInModule": {
|
|
857
|
+
"filename": "src/utils.ts",
|
|
858
|
+
"line": 87
|
|
859
|
+
},
|
|
860
|
+
"name": "tasksDependency",
|
|
861
|
+
"optional": true,
|
|
862
|
+
"type": {
|
|
863
|
+
"collection": {
|
|
864
|
+
"elementtype": {
|
|
865
|
+
"fqn": "lerna-projen.utils.AddNxTaskDependencyOptions"
|
|
866
|
+
},
|
|
867
|
+
"kind": "array"
|
|
868
|
+
}
|
|
869
|
+
}
|
|
847
870
|
}
|
|
848
871
|
],
|
|
849
872
|
"symbolId": "src/utils:AddNxDependencyOptions"
|
|
@@ -858,7 +881,7 @@
|
|
|
858
881
|
"kind": "interface",
|
|
859
882
|
"locationInModule": {
|
|
860
883
|
"filename": "src/utils.ts",
|
|
861
|
-
"line":
|
|
884
|
+
"line": 70
|
|
862
885
|
},
|
|
863
886
|
"name": "AddNxProjectDependencyOptions",
|
|
864
887
|
"namespace": "utils",
|
|
@@ -872,7 +895,7 @@
|
|
|
872
895
|
"immutable": true,
|
|
873
896
|
"locationInModule": {
|
|
874
897
|
"filename": "src/utils.ts",
|
|
875
|
-
"line":
|
|
898
|
+
"line": 74
|
|
876
899
|
},
|
|
877
900
|
"name": "dependsOnProjects",
|
|
878
901
|
"type": {
|
|
@@ -897,7 +920,7 @@
|
|
|
897
920
|
"kind": "interface",
|
|
898
921
|
"locationInModule": {
|
|
899
922
|
"filename": "src/utils.ts",
|
|
900
|
-
"line":
|
|
923
|
+
"line": 53
|
|
901
924
|
},
|
|
902
925
|
"name": "AddNxTaskDependencyOptions",
|
|
903
926
|
"namespace": "utils",
|
|
@@ -911,7 +934,7 @@
|
|
|
911
934
|
"immutable": true,
|
|
912
935
|
"locationInModule": {
|
|
913
936
|
"filename": "src/utils.ts",
|
|
914
|
-
"line":
|
|
937
|
+
"line": 67
|
|
915
938
|
},
|
|
916
939
|
"name": "dependsOnProjects",
|
|
917
940
|
"type": {
|
|
@@ -932,7 +955,7 @@
|
|
|
932
955
|
"immutable": true,
|
|
933
956
|
"locationInModule": {
|
|
934
957
|
"filename": "src/utils.ts",
|
|
935
|
-
"line":
|
|
958
|
+
"line": 62
|
|
936
959
|
},
|
|
937
960
|
"name": "dependsOnTaskName",
|
|
938
961
|
"type": {
|
|
@@ -948,7 +971,7 @@
|
|
|
948
971
|
"immutable": true,
|
|
949
972
|
"locationInModule": {
|
|
950
973
|
"filename": "src/utils.ts",
|
|
951
|
-
"line":
|
|
974
|
+
"line": 57
|
|
952
975
|
},
|
|
953
976
|
"name": "taskName",
|
|
954
977
|
"type": {
|
|
@@ -959,6 +982,6 @@
|
|
|
959
982
|
"symbolId": "src/utils:AddNxTaskDependencyOptions"
|
|
960
983
|
}
|
|
961
984
|
},
|
|
962
|
-
"version": "0.1.
|
|
963
|
-
"fingerprint": "
|
|
985
|
+
"version": "0.1.399",
|
|
986
|
+
"fingerprint": "lM2Hu9XbgIh7GyFM9QqvnR1Slv/WuRSl18FGB941U80="
|
|
964
987
|
}
|
package/API.md
CHANGED
|
@@ -3073,6 +3073,7 @@ const addNxDependencyOptions: utils.AddNxDependencyOptions = { ... }
|
|
|
3073
3073
|
| --- | --- | --- |
|
|
3074
3074
|
| <code><a href="#lerna-projen.utils.AddNxDependencyOptions.property.projectDependency">projectDependency</a></code> | <code>lerna-projen.utils.AddNxProjectDependencyOptions</code> | Project dependency options. |
|
|
3075
3075
|
| <code><a href="#lerna-projen.utils.AddNxDependencyOptions.property.taskDependency">taskDependency</a></code> | <code>lerna-projen.utils.AddNxTaskDependencyOptions</code> | Task dependency options. |
|
|
3076
|
+
| <code><a href="#lerna-projen.utils.AddNxDependencyOptions.property.tasksDependency">tasksDependency</a></code> | <code>lerna-projen.utils.AddNxTaskDependencyOptions[]</code> | Task dependency options. |
|
|
3076
3077
|
|
|
3077
3078
|
---
|
|
3078
3079
|
|
|
@@ -3088,7 +3089,9 @@ Project dependency options.
|
|
|
3088
3089
|
|
|
3089
3090
|
---
|
|
3090
3091
|
|
|
3091
|
-
#####
|
|
3092
|
+
##### ~~`taskDependency`~~<sup>Optional</sup> <a name="taskDependency" id="lerna-projen.utils.AddNxDependencyOptions.property.taskDependency"></a>
|
|
3093
|
+
|
|
3094
|
+
- *Deprecated:* use `tasksDependency`
|
|
3092
3095
|
|
|
3093
3096
|
```typescript
|
|
3094
3097
|
public readonly taskDependency: AddNxTaskDependencyOptions;
|
|
@@ -3100,6 +3103,18 @@ Task dependency options.
|
|
|
3100
3103
|
|
|
3101
3104
|
---
|
|
3102
3105
|
|
|
3106
|
+
##### `tasksDependency`<sup>Optional</sup> <a name="tasksDependency" id="lerna-projen.utils.AddNxDependencyOptions.property.tasksDependency"></a>
|
|
3107
|
+
|
|
3108
|
+
```typescript
|
|
3109
|
+
public readonly tasksDependency: AddNxTaskDependencyOptions[];
|
|
3110
|
+
```
|
|
3111
|
+
|
|
3112
|
+
- *Type:* lerna-projen.utils.AddNxTaskDependencyOptions[]
|
|
3113
|
+
|
|
3114
|
+
Task dependency options.
|
|
3115
|
+
|
|
3116
|
+
---
|
|
3117
|
+
|
|
3103
3118
|
### AddNxProjectDependencyOptions <a name="AddNxProjectDependencyOptions" id="lerna-projen.utils.AddNxProjectDependencyOptions"></a>
|
|
3104
3119
|
|
|
3105
3120
|
#### Initializer <a name="Initializer" id="lerna-projen.utils.AddNxProjectDependencyOptions.Initializer"></a>
|
package/lib/index.js
CHANGED
|
@@ -92,7 +92,7 @@ class LernaProject extends projen_1.javascript.NodeProject {
|
|
|
92
92
|
}
|
|
93
93
|
exports.LernaProject = LernaProject;
|
|
94
94
|
_a = JSII_RTTI_SYMBOL_1;
|
|
95
|
-
LernaProject[_a] = { fqn: "lerna-projen.LernaProject", version: "0.1.
|
|
95
|
+
LernaProject[_a] = { fqn: "lerna-projen.LernaProject", version: "0.1.399" };
|
|
96
96
|
/**
|
|
97
97
|
* @pjid lerna-ts-project
|
|
98
98
|
*/
|
|
@@ -125,7 +125,7 @@ class LernaTypescriptProject extends projen_1.typescript.TypeScriptProject {
|
|
|
125
125
|
}
|
|
126
126
|
exports.LernaTypescriptProject = LernaTypescriptProject;
|
|
127
127
|
_b = JSII_RTTI_SYMBOL_1;
|
|
128
|
-
LernaTypescriptProject[_b] = { fqn: "lerna-projen.LernaTypescriptProject", version: "0.1.
|
|
128
|
+
LernaTypescriptProject[_b] = { fqn: "lerna-projen.LernaTypescriptProject", version: "0.1.399" };
|
|
129
129
|
class LernaProjectFactory {
|
|
130
130
|
constructor(project) {
|
|
131
131
|
this.project = project;
|
package/lib/utils.d.ts
CHANGED
|
@@ -6,9 +6,9 @@ import { NodeProject } from 'projen/lib/javascript';
|
|
|
6
6
|
* @param project The Project to add dependency to
|
|
7
7
|
* @param taskName The task name that is dependent on another tasks
|
|
8
8
|
* @param dependsOnTaskName The task name that is dependent on in other projects
|
|
9
|
-
* @param
|
|
9
|
+
* @param dependsOnProjects The packages that source project is dependent on
|
|
10
10
|
*/
|
|
11
|
-
export declare function addNxTaskDependency(project: NodeProject, taskName: string, dependsOnTaskName: string, ...
|
|
11
|
+
export declare function addNxTaskDependency(project: NodeProject, taskName: string, dependsOnTaskName: string, ...dependsOnProjects: NodeProject[]): void;
|
|
12
12
|
/**
|
|
13
13
|
* Adds dependency to the project for NX task runner
|
|
14
14
|
* see https://nx.dev/reference/project-configuration#implicitdependencies
|
|
@@ -40,8 +40,13 @@ export interface AddNxProjectDependencyOptions {
|
|
|
40
40
|
export interface AddNxDependencyOptions {
|
|
41
41
|
/**
|
|
42
42
|
* Task dependency options
|
|
43
|
+
* @deprecated use `tasksDependency`
|
|
43
44
|
*/
|
|
44
45
|
readonly taskDependency?: AddNxTaskDependencyOptions;
|
|
46
|
+
/**
|
|
47
|
+
* Task dependency options
|
|
48
|
+
*/
|
|
49
|
+
readonly tasksDependency?: AddNxTaskDependencyOptions[];
|
|
45
50
|
/**
|
|
46
51
|
* Project dependency options
|
|
47
52
|
*/
|
package/lib/utils.js
CHANGED
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addNxDependency = exports.addNxProjectDependency = exports.addNxTaskDependency = void 0;
|
|
4
|
-
function
|
|
5
|
-
return
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
},
|
|
4
|
+
function generateNxTargetEntriesForTaskDependency(options) {
|
|
5
|
+
return [
|
|
6
|
+
options.taskName,
|
|
7
|
+
{
|
|
8
|
+
dependsOn: [
|
|
9
|
+
{
|
|
10
|
+
projects: options.dependsOnProjects.map(d => d.package.packageName),
|
|
11
|
+
target: options.dependsOnTaskName,
|
|
12
|
+
},
|
|
13
|
+
],
|
|
15
14
|
},
|
|
15
|
+
];
|
|
16
|
+
}
|
|
17
|
+
function generateNxConfigForTasksDependency(options) {
|
|
18
|
+
return {
|
|
19
|
+
targets: Object.fromEntries(options.map(generateNxTargetEntriesForTaskDependency)),
|
|
16
20
|
};
|
|
17
21
|
}
|
|
18
22
|
/**
|
|
@@ -22,10 +26,10 @@ function generateNxConfigForTaskDependency(taskName, dependsOnTaskName, dependsO
|
|
|
22
26
|
* @param project The Project to add dependency to
|
|
23
27
|
* @param taskName The task name that is dependent on another tasks
|
|
24
28
|
* @param dependsOnTaskName The task name that is dependent on in other projects
|
|
25
|
-
* @param
|
|
29
|
+
* @param dependsOnProjects The packages that source project is dependent on
|
|
26
30
|
*/
|
|
27
|
-
function addNxTaskDependency(project, taskName, dependsOnTaskName, ...
|
|
28
|
-
project.package.addField('nx',
|
|
31
|
+
function addNxTaskDependency(project, taskName, dependsOnTaskName, ...dependsOnProjects) {
|
|
32
|
+
project.package.addField('nx', generateNxConfigForTasksDependency([{ taskName, dependsOnTaskName, dependsOnProjects }]));
|
|
29
33
|
}
|
|
30
34
|
exports.addNxTaskDependency = addNxTaskDependency;
|
|
31
35
|
function generateNxConfigForProjectDependency(dependsOn) {
|
|
@@ -52,14 +56,17 @@ exports.addNxProjectDependency = addNxProjectDependency;
|
|
|
52
56
|
* @param options Dependency options
|
|
53
57
|
*/
|
|
54
58
|
function addNxDependency(project, options) {
|
|
59
|
+
if (options.taskDependency && options.tasksDependency)
|
|
60
|
+
throw new Error('Task Dependency and Tasks dependency option cannot be used in conjunction');
|
|
55
61
|
const projectDependencyConfig = options.projectDependency ? generateNxConfigForProjectDependency(options.projectDependency.dependsOnProjects) : undefined;
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
:
|
|
62
|
+
const tasksDependency = options.taskDependency ? [options.taskDependency] : options.tasksDependency;
|
|
63
|
+
const taskDependencyConfig = tasksDependency ?
|
|
64
|
+
generateNxConfigForTasksDependency(tasksDependency) :
|
|
65
|
+
undefined;
|
|
59
66
|
project.package.addField('nx', {
|
|
60
67
|
...projectDependencyConfig,
|
|
61
68
|
...taskDependencyConfig,
|
|
62
69
|
});
|
|
63
70
|
}
|
|
64
71
|
exports.addNxDependency = addNxDependency;
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsU0FBUyx3Q0FBd0MsQ0FBQyxPQUFtQztJQUNuRixPQUFPO1FBQ0wsT0FBTyxDQUFDLFFBQVE7UUFDaEI7WUFDRSxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsUUFBUSxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztvQkFDbkUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxpQkFBaUI7aUJBQ2xDO2FBQ0Y7U0FDRjtLQUNGLENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxrQ0FBa0MsQ0FBQyxPQUFxQztJQUMvRSxPQUFPO1FBQ0wsT0FBTyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO0tBQ25GLENBQUE7QUFDSCxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQixtQkFBbUIsQ0FBQyxPQUFvQixFQUFFLFFBQWdCLEVBQUUsaUJBQXlCLEVBQUUsR0FBRyxpQkFBZ0M7SUFDeEksT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGtDQUFrQyxDQUFDLENBQUMsRUFBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUN4SCxDQUFDO0FBRkQsa0RBRUM7QUFFRCxTQUFTLG9DQUFvQyxDQUFDLFNBQXdCO0lBQ3BFLE9BQU87UUFDTCxvQkFBb0IsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7S0FDaEUsQ0FBQTtBQUNILENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixzQkFBc0IsQ0FBQyxPQUFvQixFQUFFLEdBQUcsU0FBd0I7SUFDdEYsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLG9DQUFvQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7QUFDakYsQ0FBQztBQUZELHdEQUVDO0FBNENEOzs7Ozs7R0FNRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxPQUFvQixFQUFFLE9BQStCO0lBQ25GLElBQUksT0FBTyxDQUFDLGNBQWMsSUFBSSxPQUFPLENBQUMsZUFBZTtRQUNuRCxNQUFNLElBQUksS0FBSyxDQUFDLDJFQUEyRSxDQUFDLENBQUE7SUFFOUYsTUFBTSx1QkFBdUIsR0FDM0IsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxvQ0FBb0MsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO0lBRTNILE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFBO0lBRW5HLE1BQU0sb0JBQW9CLEdBQ3hCLGVBQWUsQ0FBQyxDQUFDO1FBQ2Ysa0NBQWtDLENBQUMsZUFBZSxDQUFDLENBQUEsQ0FBQztRQUNwRCxTQUFTLENBQUE7SUFFYixPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7UUFDN0IsR0FBRyx1QkFBdUI7UUFDMUIsR0FBRyxvQkFBb0I7S0FDeEIsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQWxCRCwwQ0FrQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05vZGVQcm9qZWN0fSBmcm9tICdwcm9qZW4vbGliL2phdmFzY3JpcHQnXG5cbmZ1bmN0aW9uIGdlbmVyYXRlTnhUYXJnZXRFbnRyaWVzRm9yVGFza0RlcGVuZGVuY3kob3B0aW9uczogQWRkTnhUYXNrRGVwZW5kZW5jeU9wdGlvbnMpIHtcbiAgcmV0dXJuIFtcbiAgICBvcHRpb25zLnRhc2tOYW1lLFxuICAgIHtcbiAgICAgIGRlcGVuZHNPbjogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvamVjdHM6IG9wdGlvbnMuZGVwZW5kc09uUHJvamVjdHMubWFwKGQgPT4gZC5wYWNrYWdlLnBhY2thZ2VOYW1lKSxcbiAgICAgICAgICB0YXJnZXQ6IG9wdGlvbnMuZGVwZW5kc09uVGFza05hbWUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF1cbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVOeENvbmZpZ0ZvclRhc2tzRGVwZW5kZW5jeShvcHRpb25zOiBBZGROeFRhc2tEZXBlbmRlbmN5T3B0aW9uc1tdKSB7XG4gIHJldHVybiB7XG4gICAgdGFyZ2V0czogT2JqZWN0LmZyb21FbnRyaWVzKG9wdGlvbnMubWFwKGdlbmVyYXRlTnhUYXJnZXRFbnRyaWVzRm9yVGFza0RlcGVuZGVuY3kpKSxcbiAgfVxufVxuXG4vKipcbiAqIEFkZHMgZGVwZW5kZW5jeSB0byB0aGUgcHJvamVjdCBmb3IgTlggdGFzayBydW5uZXJcbiAqIHNlZSBodHRwczovL254LmRldi9yZWZlcmVuY2UvcHJvamVjdC1jb25maWd1cmF0aW9uI2RlcGVuZHNvblxuICpcbiAqIEBwYXJhbSBwcm9qZWN0IFRoZSBQcm9qZWN0IHRvIGFkZCBkZXBlbmRlbmN5IHRvXG4gKiBAcGFyYW0gdGFza05hbWUgVGhlIHRhc2sgbmFtZSB0aGF0IGlzIGRlcGVuZGVudCBvbiBhbm90aGVyIHRhc2tzXG4gKiBAcGFyYW0gZGVwZW5kc09uVGFza05hbWUgVGhlIHRhc2sgbmFtZSB0aGF0IGlzIGRlcGVuZGVudCBvbiBpbiBvdGhlciBwcm9qZWN0c1xuICogQHBhcmFtIGRlcGVuZHNPblByb2plY3RzIFRoZSBwYWNrYWdlcyB0aGF0IHNvdXJjZSBwcm9qZWN0IGlzIGRlcGVuZGVudCBvblxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkTnhUYXNrRGVwZW5kZW5jeShwcm9qZWN0OiBOb2RlUHJvamVjdCwgdGFza05hbWU6IHN0cmluZywgZGVwZW5kc09uVGFza05hbWU6IHN0cmluZywgLi4uZGVwZW5kc09uUHJvamVjdHM6IE5vZGVQcm9qZWN0W10pOiB2b2lkIHtcbiAgcHJvamVjdC5wYWNrYWdlLmFkZEZpZWxkKCdueCcsIGdlbmVyYXRlTnhDb25maWdGb3JUYXNrc0RlcGVuZGVuY3koW3t0YXNrTmFtZSwgZGVwZW5kc09uVGFza05hbWUsIGRlcGVuZHNPblByb2plY3RzfV0pKVxufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZU54Q29uZmlnRm9yUHJvamVjdERlcGVuZGVuY3koZGVwZW5kc09uOiBOb2RlUHJvamVjdFtdKSB7XG4gIHJldHVybiB7XG4gICAgaW1wbGljaXREZXBlbmRlbmNpZXM6IGRlcGVuZHNPbi5tYXAoZCA9PiBkLnBhY2thZ2UucGFja2FnZU5hbWUpLFxuICB9XG59XG5cbi8qKlxuICogQWRkcyBkZXBlbmRlbmN5IHRvIHRoZSBwcm9qZWN0IGZvciBOWCB0YXNrIHJ1bm5lclxuICogc2VlIGh0dHBzOi8vbnguZGV2L3JlZmVyZW5jZS9wcm9qZWN0LWNvbmZpZ3VyYXRpb24jaW1wbGljaXRkZXBlbmRlbmNpZXNcbiAqXG4gKiBAcGFyYW0gcHJvamVjdCBUaGUgUHJvamVjdCB0byBhZGQgZGVwZW5kZW5jeSB0b1xuICogQHBhcmFtIGRlcGVuZHNPbiBUaGUgcGFja2FnZXMgdGhhdCBzb3VyY2UgcHJvamVjdCBpcyBkZXBlbmRlbnQgb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZE54UHJvamVjdERlcGVuZGVuY3kocHJvamVjdDogTm9kZVByb2plY3QsIC4uLmRlcGVuZHNPbjogTm9kZVByb2plY3RbXSk6IHZvaWQge1xuICBwcm9qZWN0LnBhY2thZ2UuYWRkRmllbGQoJ254JywgZ2VuZXJhdGVOeENvbmZpZ0ZvclByb2plY3REZXBlbmRlbmN5KGRlcGVuZHNPbikpXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkTnhUYXNrRGVwZW5kZW5jeU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHRhc2sgbmFtZSB0aGF0IGlzIGRlcGVuZGVudCBvbiBhbm90aGVyIHRhc2tzXG4gICAqL1xuICByZWFkb25seSB0YXNrTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFzayBuYW1lIHRoYXQgaXMgZGVwZW5kZW50IG9uIGluIG90aGVyIHByb2plY3RzXG4gICAqL1xuICByZWFkb25seSBkZXBlbmRzT25UYXNrTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFja2FnZXMgdGhhdCBzb3VyY2UgcHJvamVjdCBpcyBkZXBlbmRlbnQgb25cbiAgICovXG4gIHJlYWRvbmx5IGRlcGVuZHNPblByb2plY3RzOiBOb2RlUHJvamVjdFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZE54UHJvamVjdERlcGVuZGVuY3lPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBwYWNrYWdlcyB0aGF0IHNvdXJjZSBwcm9qZWN0IGlzIGRlcGVuZGVudCBvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVwZW5kc09uUHJvamVjdHM6IE5vZGVQcm9qZWN0W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkTnhEZXBlbmRlbmN5T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUYXNrIGRlcGVuZGVuY3kgb3B0aW9uc1xuICAgKiBAZGVwcmVjYXRlZCB1c2UgYHRhc2tzRGVwZW5kZW5jeWBcbiAgICovXG4gIHJlYWRvbmx5IHRhc2tEZXBlbmRlbmN5PzogQWRkTnhUYXNrRGVwZW5kZW5jeU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFRhc2sgZGVwZW5kZW5jeSBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSB0YXNrc0RlcGVuZGVuY3k/OiBBZGROeFRhc2tEZXBlbmRlbmN5T3B0aW9uc1tdO1xuXG4gIC8qKlxuICAgKiBQcm9qZWN0IGRlcGVuZGVuY3kgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVjdERlcGVuZGVuY3k/OiBBZGROeFByb2plY3REZXBlbmRlbmN5T3B0aW9ucztcbn1cblxuLyoqXG4gKiBBZGRzIGRlcGVuZGVuY3kgdG8gdGhlIHByb2plY3QgZm9yIE5YIHRhc2sgcnVubmVyXG4gKiBzZWUgaHR0cHM6Ly9ueC5kZXYvcmVmZXJlbmNlL3Byb2plY3QtY29uZmlndXJhdGlvblxuICpcbiAqIEBwYXJhbSBwcm9qZWN0IFRoZSBQcm9qZWN0IHRvIGFkZCBkZXBlbmRlbmN5IHRvXG4gKiBAcGFyYW0gb3B0aW9ucyBEZXBlbmRlbmN5IG9wdGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZE54RGVwZW5kZW5jeShwcm9qZWN0OiBOb2RlUHJvamVjdCwgb3B0aW9uczogQWRkTnhEZXBlbmRlbmN5T3B0aW9ucyk6IHZvaWQge1xuICBpZiAob3B0aW9ucy50YXNrRGVwZW5kZW5jeSAmJiBvcHRpb25zLnRhc2tzRGVwZW5kZW5jeSlcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Rhc2sgRGVwZW5kZW5jeSBhbmQgVGFza3MgZGVwZW5kZW5jeSBvcHRpb24gY2Fubm90IGJlIHVzZWQgaW4gY29uanVuY3Rpb24nKVxuXG4gIGNvbnN0IHByb2plY3REZXBlbmRlbmN5Q29uZmlnID1cbiAgICBvcHRpb25zLnByb2plY3REZXBlbmRlbmN5ID8gZ2VuZXJhdGVOeENvbmZpZ0ZvclByb2plY3REZXBlbmRlbmN5KG9wdGlvbnMucHJvamVjdERlcGVuZGVuY3kuZGVwZW5kc09uUHJvamVjdHMpIDogdW5kZWZpbmVkXG5cbiAgY29uc3QgdGFza3NEZXBlbmRlbmN5ID0gb3B0aW9ucy50YXNrRGVwZW5kZW5jeSA/IFtvcHRpb25zLnRhc2tEZXBlbmRlbmN5XSA6IG9wdGlvbnMudGFza3NEZXBlbmRlbmN5XG5cbiAgY29uc3QgdGFza0RlcGVuZGVuY3lDb25maWcgPVxuICAgIHRhc2tzRGVwZW5kZW5jeSA/XG4gICAgICBnZW5lcmF0ZU54Q29uZmlnRm9yVGFza3NEZXBlbmRlbmN5KHRhc2tzRGVwZW5kZW5jeSk6XG4gICAgICB1bmRlZmluZWRcblxuICBwcm9qZWN0LnBhY2thZ2UuYWRkRmllbGQoJ254Jywge1xuICAgIC4uLnByb2plY3REZXBlbmRlbmN5Q29uZmlnLFxuICAgIC4uLnRhc2tEZXBlbmRlbmN5Q29uZmlnLFxuICB9KVxufVxuIl19
|