mrpj 0.1.99 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +40 -40
- package/lib/construct-project.js +1 -1
- package/lib/features/automation.d.ts +2 -2
- package/lib/features/automation.js +1 -1
- package/lib/features/dependencies.d.ts +3 -3
- package/lib/features/dependencies.js +3 -3
- package/lib/features/eslint.d.ts +2 -2
- package/lib/features/eslint.js +4 -3
- package/lib/features/force-defaults.d.ts +1 -1
- package/lib/features/force-defaults.js +2 -3
- package/lib/features/index.d.ts +1 -1
- package/lib/features/index.js +3 -3
- package/lib/features/logo.d.ts +4 -3
- package/lib/features/logo.js +1 -1
- package/lib/features/node-version.d.ts +8 -2
- package/lib/features/node-version.js +33 -2
- package/lib/features/package-info.d.ts +1 -1
- package/lib/features/package-info.js +3 -4
- package/lib/features/release.d.ts +2 -2
- package/lib/features/release.js +1 -1
- package/lib/logo/Logo.d.ts +1 -1
- package/lib/logo/Logo.js +2 -2
- package/lib/logo/SvgFile.d.ts +2 -1
- package/lib/logo/SvgFile.js +2 -2
- package/lib/logo/Wordmark.d.ts +3 -2
- package/lib/logo/Wordmark.js +2 -2
- package/lib/logo/private.ts/logo-task.d.ts +1 -1
- package/lib/logo/private.ts/logo-task.js +2 -3
- package/lib/projen-project.d.ts +2 -2
- package/lib/projen-project.js +6 -5
- package/lib/typescript-project.d.ts +2 -2
- package/lib/typescript-project.js +4 -3
- package/lib/util/resources.d.ts +2 -0
- package/lib/util/resources.js +13 -0
- package/lib/utils.d.ts +1 -1
- package/lib/utils.js +9 -10
- package/package.json +7 -5
- package/resources/node-versions.json +66 -0
package/.jsii
CHANGED
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"stability": "stable"
|
|
83
83
|
},
|
|
84
84
|
"homepage": "https://github.com/mrgrain/projen-projects",
|
|
85
|
-
"jsiiVersion": "5.
|
|
85
|
+
"jsiiVersion": "5.8.12 (build 5c353f5)",
|
|
86
86
|
"license": "MIT",
|
|
87
87
|
"metadata": {
|
|
88
88
|
"jsii": {
|
|
@@ -8997,7 +8997,7 @@
|
|
|
8997
8997
|
"kind": "interface",
|
|
8998
8998
|
"locationInModule": {
|
|
8999
8999
|
"filename": "src/logo/Wordmark.ts",
|
|
9000
|
-
"line":
|
|
9000
|
+
"line": 24
|
|
9001
9001
|
},
|
|
9002
9002
|
"name": "ColorScheme",
|
|
9003
9003
|
"namespace": "logo",
|
|
@@ -9010,7 +9010,7 @@
|
|
|
9010
9010
|
"immutable": true,
|
|
9011
9011
|
"locationInModule": {
|
|
9012
9012
|
"filename": "src/logo/Wordmark.ts",
|
|
9013
|
-
"line":
|
|
9013
|
+
"line": 25
|
|
9014
9014
|
},
|
|
9015
9015
|
"name": "dark",
|
|
9016
9016
|
"optional": true,
|
|
@@ -9026,7 +9026,7 @@
|
|
|
9026
9026
|
"immutable": true,
|
|
9027
9027
|
"locationInModule": {
|
|
9028
9028
|
"filename": "src/logo/Wordmark.ts",
|
|
9029
|
-
"line":
|
|
9029
|
+
"line": 26
|
|
9030
9030
|
},
|
|
9031
9031
|
"name": "light",
|
|
9032
9032
|
"optional": true,
|
|
@@ -9047,7 +9047,7 @@
|
|
|
9047
9047
|
"kind": "interface",
|
|
9048
9048
|
"locationInModule": {
|
|
9049
9049
|
"filename": "src/logo/Wordmark.ts",
|
|
9050
|
-
"line":
|
|
9050
|
+
"line": 29
|
|
9051
9051
|
},
|
|
9052
9052
|
"name": "FontOptions",
|
|
9053
9053
|
"namespace": "logo",
|
|
@@ -9060,7 +9060,7 @@
|
|
|
9060
9060
|
"immutable": true,
|
|
9061
9061
|
"locationInModule": {
|
|
9062
9062
|
"filename": "src/logo/Wordmark.ts",
|
|
9063
|
-
"line":
|
|
9063
|
+
"line": 33
|
|
9064
9064
|
},
|
|
9065
9065
|
"name": "color",
|
|
9066
9066
|
"optional": true,
|
|
@@ -9076,7 +9076,7 @@
|
|
|
9076
9076
|
"immutable": true,
|
|
9077
9077
|
"locationInModule": {
|
|
9078
9078
|
"filename": "src/logo/Wordmark.ts",
|
|
9079
|
-
"line":
|
|
9079
|
+
"line": 30
|
|
9080
9080
|
},
|
|
9081
9081
|
"name": "family",
|
|
9082
9082
|
"optional": true,
|
|
@@ -9092,7 +9092,7 @@
|
|
|
9092
9092
|
"immutable": true,
|
|
9093
9093
|
"locationInModule": {
|
|
9094
9094
|
"filename": "src/logo/Wordmark.ts",
|
|
9095
|
-
"line":
|
|
9095
|
+
"line": 31
|
|
9096
9096
|
},
|
|
9097
9097
|
"name": "size",
|
|
9098
9098
|
"optional": true,
|
|
@@ -9108,7 +9108,7 @@
|
|
|
9108
9108
|
"immutable": true,
|
|
9109
9109
|
"locationInModule": {
|
|
9110
9110
|
"filename": "src/logo/Wordmark.ts",
|
|
9111
|
-
"line":
|
|
9111
|
+
"line": 32
|
|
9112
9112
|
},
|
|
9113
9113
|
"name": "weight",
|
|
9114
9114
|
"optional": true,
|
|
@@ -9756,7 +9756,7 @@
|
|
|
9756
9756
|
"kind": "interface",
|
|
9757
9757
|
"locationInModule": {
|
|
9758
9758
|
"filename": "src/logo/Wordmark.ts",
|
|
9759
|
-
"line":
|
|
9759
|
+
"line": 36
|
|
9760
9760
|
},
|
|
9761
9761
|
"name": "SizeOptions",
|
|
9762
9762
|
"namespace": "logo",
|
|
@@ -9769,7 +9769,7 @@
|
|
|
9769
9769
|
"immutable": true,
|
|
9770
9770
|
"locationInModule": {
|
|
9771
9771
|
"filename": "src/logo/Wordmark.ts",
|
|
9772
|
-
"line":
|
|
9772
|
+
"line": 38
|
|
9773
9773
|
},
|
|
9774
9774
|
"name": "height",
|
|
9775
9775
|
"optional": true,
|
|
@@ -9785,7 +9785,7 @@
|
|
|
9785
9785
|
"immutable": true,
|
|
9786
9786
|
"locationInModule": {
|
|
9787
9787
|
"filename": "src/logo/Wordmark.ts",
|
|
9788
|
-
"line":
|
|
9788
|
+
"line": 39
|
|
9789
9789
|
},
|
|
9790
9790
|
"name": "scale",
|
|
9791
9791
|
"optional": true,
|
|
@@ -9801,7 +9801,7 @@
|
|
|
9801
9801
|
"immutable": true,
|
|
9802
9802
|
"locationInModule": {
|
|
9803
9803
|
"filename": "src/logo/Wordmark.ts",
|
|
9804
|
-
"line":
|
|
9804
|
+
"line": 37
|
|
9805
9805
|
},
|
|
9806
9806
|
"name": "width",
|
|
9807
9807
|
"optional": true,
|
|
@@ -9826,7 +9826,7 @@
|
|
|
9826
9826
|
},
|
|
9827
9827
|
"locationInModule": {
|
|
9828
9828
|
"filename": "src/logo/SvgFile.ts",
|
|
9829
|
-
"line":
|
|
9829
|
+
"line": 19
|
|
9830
9830
|
},
|
|
9831
9831
|
"parameters": [
|
|
9832
9832
|
{
|
|
@@ -9852,7 +9852,7 @@
|
|
|
9852
9852
|
"kind": "class",
|
|
9853
9853
|
"locationInModule": {
|
|
9854
9854
|
"filename": "src/logo/SvgFile.ts",
|
|
9855
|
-
"line":
|
|
9855
|
+
"line": 18
|
|
9856
9856
|
},
|
|
9857
9857
|
"name": "SvgFile",
|
|
9858
9858
|
"namespace": "logo",
|
|
@@ -9872,7 +9872,7 @@
|
|
|
9872
9872
|
"kind": "interface",
|
|
9873
9873
|
"locationInModule": {
|
|
9874
9874
|
"filename": "src/logo/SvgFile.ts",
|
|
9875
|
-
"line":
|
|
9875
|
+
"line": 7
|
|
9876
9876
|
},
|
|
9877
9877
|
"name": "SvgFileOptions",
|
|
9878
9878
|
"namespace": "logo",
|
|
@@ -9885,7 +9885,7 @@
|
|
|
9885
9885
|
"immutable": true,
|
|
9886
9886
|
"locationInModule": {
|
|
9887
9887
|
"filename": "src/logo/SvgFile.ts",
|
|
9888
|
-
"line":
|
|
9888
|
+
"line": 9
|
|
9889
9889
|
},
|
|
9890
9890
|
"name": "height",
|
|
9891
9891
|
"type": {
|
|
@@ -9900,7 +9900,7 @@
|
|
|
9900
9900
|
"immutable": true,
|
|
9901
9901
|
"locationInModule": {
|
|
9902
9902
|
"filename": "src/logo/SvgFile.ts",
|
|
9903
|
-
"line":
|
|
9903
|
+
"line": 8
|
|
9904
9904
|
},
|
|
9905
9905
|
"name": "width",
|
|
9906
9906
|
"type": {
|
|
@@ -9915,7 +9915,7 @@
|
|
|
9915
9915
|
"immutable": true,
|
|
9916
9916
|
"locationInModule": {
|
|
9917
9917
|
"filename": "src/logo/SvgFile.ts",
|
|
9918
|
-
"line":
|
|
9918
|
+
"line": 12
|
|
9919
9919
|
},
|
|
9920
9920
|
"name": "content",
|
|
9921
9921
|
"optional": true,
|
|
@@ -9931,7 +9931,7 @@
|
|
|
9931
9931
|
"immutable": true,
|
|
9932
9932
|
"locationInModule": {
|
|
9933
9933
|
"filename": "src/logo/SvgFile.ts",
|
|
9934
|
-
"line":
|
|
9934
|
+
"line": 10
|
|
9935
9935
|
},
|
|
9936
9936
|
"name": "scale",
|
|
9937
9937
|
"optional": true,
|
|
@@ -9947,7 +9947,7 @@
|
|
|
9947
9947
|
"immutable": true,
|
|
9948
9948
|
"locationInModule": {
|
|
9949
9949
|
"filename": "src/logo/SvgFile.ts",
|
|
9950
|
-
"line":
|
|
9950
|
+
"line": 11
|
|
9951
9951
|
},
|
|
9952
9952
|
"name": "style",
|
|
9953
9953
|
"optional": true,
|
|
@@ -9968,7 +9968,7 @@
|
|
|
9968
9968
|
"kind": "interface",
|
|
9969
9969
|
"locationInModule": {
|
|
9970
9970
|
"filename": "src/logo/Wordmark.ts",
|
|
9971
|
-
"line":
|
|
9971
|
+
"line": 42
|
|
9972
9972
|
},
|
|
9973
9973
|
"name": "TranslateOptions",
|
|
9974
9974
|
"namespace": "logo",
|
|
@@ -9981,7 +9981,7 @@
|
|
|
9981
9981
|
"immutable": true,
|
|
9982
9982
|
"locationInModule": {
|
|
9983
9983
|
"filename": "src/logo/Wordmark.ts",
|
|
9984
|
-
"line":
|
|
9984
|
+
"line": 43
|
|
9985
9985
|
},
|
|
9986
9986
|
"name": "dx",
|
|
9987
9987
|
"optional": true,
|
|
@@ -9997,7 +9997,7 @@
|
|
|
9997
9997
|
"immutable": true,
|
|
9998
9998
|
"locationInModule": {
|
|
9999
9999
|
"filename": "src/logo/Wordmark.ts",
|
|
10000
|
-
"line":
|
|
10000
|
+
"line": 44
|
|
10001
10001
|
},
|
|
10002
10002
|
"name": "dy",
|
|
10003
10003
|
"optional": true,
|
|
@@ -10021,7 +10021,7 @@
|
|
|
10021
10021
|
},
|
|
10022
10022
|
"locationInModule": {
|
|
10023
10023
|
"filename": "src/logo/Wordmark.ts",
|
|
10024
|
-
"line":
|
|
10024
|
+
"line": 58
|
|
10025
10025
|
},
|
|
10026
10026
|
"parameters": [
|
|
10027
10027
|
{
|
|
@@ -10042,7 +10042,7 @@
|
|
|
10042
10042
|
"kind": "class",
|
|
10043
10043
|
"locationInModule": {
|
|
10044
10044
|
"filename": "src/logo/Wordmark.ts",
|
|
10045
|
-
"line":
|
|
10045
|
+
"line": 55
|
|
10046
10046
|
},
|
|
10047
10047
|
"name": "Wordmark",
|
|
10048
10048
|
"namespace": "logo",
|
|
@@ -10058,7 +10058,7 @@
|
|
|
10058
10058
|
"kind": "interface",
|
|
10059
10059
|
"locationInModule": {
|
|
10060
10060
|
"filename": "src/logo/Wordmark.ts",
|
|
10061
|
-
"line":
|
|
10061
|
+
"line": 10
|
|
10062
10062
|
},
|
|
10063
10063
|
"name": "WordmarkOptions",
|
|
10064
10064
|
"namespace": "logo",
|
|
@@ -10071,7 +10071,7 @@
|
|
|
10071
10071
|
"immutable": true,
|
|
10072
10072
|
"locationInModule": {
|
|
10073
10073
|
"filename": "src/logo/Wordmark.ts",
|
|
10074
|
-
"line":
|
|
10074
|
+
"line": 17
|
|
10075
10075
|
},
|
|
10076
10076
|
"name": "colorScheme",
|
|
10077
10077
|
"optional": true,
|
|
@@ -10087,7 +10087,7 @@
|
|
|
10087
10087
|
"immutable": true,
|
|
10088
10088
|
"locationInModule": {
|
|
10089
10089
|
"filename": "src/logo/Wordmark.ts",
|
|
10090
|
-
"line":
|
|
10090
|
+
"line": 12
|
|
10091
10091
|
},
|
|
10092
10092
|
"name": "dirName",
|
|
10093
10093
|
"optional": true,
|
|
@@ -10103,7 +10103,7 @@
|
|
|
10103
10103
|
"immutable": true,
|
|
10104
10104
|
"locationInModule": {
|
|
10105
10105
|
"filename": "src/logo/Wordmark.ts",
|
|
10106
|
-
"line":
|
|
10106
|
+
"line": 11
|
|
10107
10107
|
},
|
|
10108
10108
|
"name": "fileBaseName",
|
|
10109
10109
|
"optional": true,
|
|
@@ -10119,7 +10119,7 @@
|
|
|
10119
10119
|
"immutable": true,
|
|
10120
10120
|
"locationInModule": {
|
|
10121
10121
|
"filename": "src/logo/Wordmark.ts",
|
|
10122
|
-
"line":
|
|
10122
|
+
"line": 16
|
|
10123
10123
|
},
|
|
10124
10124
|
"name": "font",
|
|
10125
10125
|
"optional": true,
|
|
@@ -10135,7 +10135,7 @@
|
|
|
10135
10135
|
"immutable": true,
|
|
10136
10136
|
"locationInModule": {
|
|
10137
10137
|
"filename": "src/logo/Wordmark.ts",
|
|
10138
|
-
"line":
|
|
10138
|
+
"line": 19
|
|
10139
10139
|
},
|
|
10140
10140
|
"name": "logo",
|
|
10141
10141
|
"optional": true,
|
|
@@ -10151,7 +10151,7 @@
|
|
|
10151
10151
|
"immutable": true,
|
|
10152
10152
|
"locationInModule": {
|
|
10153
10153
|
"filename": "src/logo/Wordmark.ts",
|
|
10154
|
-
"line":
|
|
10154
|
+
"line": 20
|
|
10155
10155
|
},
|
|
10156
10156
|
"name": "logoPosition",
|
|
10157
10157
|
"optional": true,
|
|
@@ -10167,7 +10167,7 @@
|
|
|
10167
10167
|
"immutable": true,
|
|
10168
10168
|
"locationInModule": {
|
|
10169
10169
|
"filename": "src/logo/Wordmark.ts",
|
|
10170
|
-
"line":
|
|
10170
|
+
"line": 21
|
|
10171
10171
|
},
|
|
10172
10172
|
"name": "logoScale",
|
|
10173
10173
|
"optional": true,
|
|
@@ -10183,7 +10183,7 @@
|
|
|
10183
10183
|
"immutable": true,
|
|
10184
10184
|
"locationInModule": {
|
|
10185
10185
|
"filename": "src/logo/Wordmark.ts",
|
|
10186
|
-
"line":
|
|
10186
|
+
"line": 13
|
|
10187
10187
|
},
|
|
10188
10188
|
"name": "raw",
|
|
10189
10189
|
"optional": true,
|
|
@@ -10199,7 +10199,7 @@
|
|
|
10199
10199
|
"immutable": true,
|
|
10200
10200
|
"locationInModule": {
|
|
10201
10201
|
"filename": "src/logo/Wordmark.ts",
|
|
10202
|
-
"line":
|
|
10202
|
+
"line": 18
|
|
10203
10203
|
},
|
|
10204
10204
|
"name": "size",
|
|
10205
10205
|
"optional": true,
|
|
@@ -10215,7 +10215,7 @@
|
|
|
10215
10215
|
"immutable": true,
|
|
10216
10216
|
"locationInModule": {
|
|
10217
10217
|
"filename": "src/logo/Wordmark.ts",
|
|
10218
|
-
"line":
|
|
10218
|
+
"line": 14
|
|
10219
10219
|
},
|
|
10220
10220
|
"name": "text",
|
|
10221
10221
|
"optional": true,
|
|
@@ -10231,7 +10231,7 @@
|
|
|
10231
10231
|
"immutable": true,
|
|
10232
10232
|
"locationInModule": {
|
|
10233
10233
|
"filename": "src/logo/Wordmark.ts",
|
|
10234
|
-
"line":
|
|
10234
|
+
"line": 15
|
|
10235
10235
|
},
|
|
10236
10236
|
"name": "textPosition",
|
|
10237
10237
|
"optional": true,
|
|
@@ -10243,6 +10243,6 @@
|
|
|
10243
10243
|
"symbolId": "src/logo/Wordmark:WordmarkOptions"
|
|
10244
10244
|
}
|
|
10245
10245
|
},
|
|
10246
|
-
"version": "0.
|
|
10247
|
-
"fingerprint": "
|
|
10246
|
+
"version": "0.2.0",
|
|
10247
|
+
"fingerprint": "A7MBrca9FrnoYvZeBL1meUqE3lbggVy8vX2WPpKoBRQ="
|
|
10248
10248
|
}
|
package/lib/construct-project.js
CHANGED
|
@@ -11,5 +11,5 @@ class ConstructProject extends projen_1.awscdk.AwsCdkConstructLibrary {
|
|
|
11
11
|
}
|
|
12
12
|
exports.ConstructProject = ConstructProject;
|
|
13
13
|
_a = JSII_RTTI_SYMBOL_1;
|
|
14
|
-
ConstructProject[_a] = { fqn: "mrpj.ConstructProject", version: "0.
|
|
14
|
+
ConstructProject[_a] = { fqn: "mrpj.ConstructProject", version: "0.2.0" };
|
|
15
15
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0LXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uc3RydWN0LXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBZ0M7QUFFaEM7O0dBRUc7QUFDSCxNQUFhLGdCQUFpQixTQUFRLGVBQU0sQ0FBQyxzQkFBc0I7O0FBQW5FLDRDQUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzY2RrIH0gZnJvbSAncHJvamVuJztcblxuLyoqXG4gKiBAcGppZCBjb25zdHJ1Y3RcbiAqL1xuZXhwb3J0IGNsYXNzIENvbnN0cnVjdFByb2plY3QgZXh0ZW5kcyBhd3NjZGsuQXdzQ2RrQ29uc3RydWN0TGlicmFyeSB7XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { RepoInfoTrait } from './package-info';
|
|
2
|
-
import { OptionsMiddleware } from '../utils';
|
|
1
|
+
import type { RepoInfoTrait } from './package-info';
|
|
2
|
+
import type { OptionsMiddleware } from '../utils';
|
|
3
3
|
export interface AutomationOptionsTrait extends RepoInfoTrait {
|
|
4
4
|
readonly automationAppName?: string;
|
|
5
5
|
readonly ownerCanSelfApprovePRs?: boolean;
|
|
@@ -27,4 +27,4 @@ const optionsMiddleware = (options) => (0, utils_1.deepMerge)({
|
|
|
27
27
|
}, options);
|
|
28
28
|
exports.optionsMiddleware = optionsMiddleware;
|
|
29
29
|
exports.ALLOWED_COMMIT_TYPES_DEFAULT = ['feat', 'fix', 'chore', 'revert', 'docs', 'ci'];
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b21hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mZWF0dXJlcy9hdXRvbWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFnQztBQUVoQyxpREFBNEM7QUFDNUMsdUNBQTREO0FBRTVELG9DQUF1RDtBQVNoRCxNQUFNLGlCQUFpQixHQUE4QyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBQSxpQkFBUyxFQUFDO0lBQ2pHLGFBQWEsRUFBRTtRQUNiLGlCQUFpQixFQUFFLElBQUEsYUFBSyxFQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxlQUFNLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdkYsc0JBQXNCLEVBQUU7WUFDdEIsb0JBQW9CLEVBQUU7Z0JBQ3BCLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDO29CQUN4QixHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxvQ0FBNEI7b0JBQzdELEdBQUcsT0FBTyxDQUFDLHFCQUFxQixJQUFJLHlDQUErQjtpQkFDcEUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO2FBQ1g7U0FDRjtLQUNGO0lBQ0QsbUJBQW1CLEVBQUUsSUFBSTtJQUN6QixrQkFBa0IsRUFBRTtRQUNsQixnQkFBZ0IsRUFBRSxJQUFBLGlCQUFTLEVBQUM7WUFDMUIsSUFBQSxhQUFLLEVBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixPQUFPLENBQUM7WUFDckUsSUFBQSxhQUFLLEVBQUMsT0FBTyxDQUFDLHNCQUFzQixJQUFJLElBQUksRUFBRSxJQUFBLHlCQUFVLEVBQUMsT0FBTyxDQUFDLENBQUM7U0FDbkUsQ0FBQztLQUNIO0NBQ0YsRUFBRSxPQUFPLENBQUMsQ0FBQztBQW5CQyxRQUFBLGlCQUFpQixxQkFtQmxCO0FBRUMsUUFBQSw0QkFBNEIsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnaXRodWIgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHR5cGUgeyBSZXBvSW5mb1RyYWl0IH0gZnJvbSAnLi9wYWNrYWdlLWluZm8nO1xuaW1wb3J0IHsgZ2l0aHViVXNlciB9IGZyb20gJy4vcGFja2FnZS1pbmZvJztcbmltcG9ydCB7IFJFTEVBU0FCTEVfQ09NTUlUX1RZUEVTX0RFRkFVTFQgfSBmcm9tICcuL3JlbGVhc2UnO1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zTWlkZGxld2FyZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGRlZXBNZXJnZSwgaWZTZXQsIG5vRW1wdGllcyB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBBdXRvbWF0aW9uT3B0aW9uc1RyYWl0IGV4dGVuZHMgUmVwb0luZm9UcmFpdCB7XG4gIHJlYWRvbmx5IGF1dG9tYXRpb25BcHBOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBvd25lckNhblNlbGZBcHByb3ZlUFJzPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgYWxsb3dlZENvbW1pdFR5cGVzPzogc3RyaW5nW107XG4gIHJlYWRvbmx5IHJlbGVhc2FibGVDb21taXRUeXBlcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY29uc3Qgb3B0aW9uc01pZGRsZXdhcmU6IE9wdGlvbnNNaWRkbGV3YXJlPEF1dG9tYXRpb25PcHRpb25zVHJhaXQ+ID0gKG9wdGlvbnMpID0+IGRlZXBNZXJnZSh7XG4gIGdpdGh1Yk9wdGlvbnM6IHtcbiAgICBwcm9qZW5DcmVkZW50aWFsczogaWZTZXQob3B0aW9ucy5hdXRvbWF0aW9uQXBwTmFtZSwgZ2l0aHViLkdpdGh1YkNyZWRlbnRpYWxzLmZyb21BcHAoKSksXG4gICAgcHVsbFJlcXVlc3RMaW50T3B0aW9uczoge1xuICAgICAgc2VtYW50aWNUaXRsZU9wdGlvbnM6IHtcbiAgICAgICAgdHlwZXM6IEFycmF5LmZyb20obmV3IFNldChbXG4gICAgICAgICAgLi4ub3B0aW9ucy5hbGxvd2VkQ29tbWl0VHlwZXMgPz8gQUxMT1dFRF9DT01NSVRfVFlQRVNfREVGQVVMVCxcbiAgICAgICAgICAuLi5vcHRpb25zLnJlbGVhc2FibGVDb21taXRUeXBlcyA/PyBSRUxFQVNBQkxFX0NPTU1JVF9UWVBFU19ERUZBVUxULFxuICAgICAgICBdKSkuc29ydCgpLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICBhdXRvQXBwcm92ZVVwZ3JhZGVzOiB0cnVlLFxuICBhdXRvQXBwcm92ZU9wdGlvbnM6IHtcbiAgICBhbGxvd2VkVXNlcm5hbWVzOiBub0VtcHRpZXMoW1xuICAgICAgaWZTZXQob3B0aW9ucy5hdXRvbWF0aW9uQXBwTmFtZSwgYCR7b3B0aW9ucy5hdXRvbWF0aW9uQXBwTmFtZX1bYm90XWApLFxuICAgICAgaWZTZXQob3B0aW9ucy5vd25lckNhblNlbGZBcHByb3ZlUFJzID8/IHRydWUsIGdpdGh1YlVzZXIob3B0aW9ucykpLFxuICAgIF0pLFxuICB9LFxufSwgb3B0aW9ucyk7XG5cbmV4cG9ydCBjb25zdCBBTExPV0VEX0NPTU1JVF9UWVBFU19ERUZBVUxUID0gWydmZWF0JywgJ2ZpeCcsICdjaG9yZScsICdyZXZlcnQnLCAnZG9jcycsICdjaSddO1xuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Project } from 'projen';
|
|
2
|
-
import { TypeScriptProjectOptions } from '../typescript-project-options';
|
|
3
|
-
import { FeatureMiddleware, OptionsMiddleware } from '../utils';
|
|
1
|
+
import type { Project } from 'projen';
|
|
2
|
+
import type { TypeScriptProjectOptions } from '../typescript-project-options';
|
|
3
|
+
import type { FeatureMiddleware, OptionsMiddleware } from '../utils';
|
|
4
4
|
export interface UpgradeDependenciesTrait {
|
|
5
5
|
readonly upgradesSchedule?: TypeScriptProjectOptions['upgradesSchedule'];
|
|
6
6
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.preventSelfDependency = exports.ensureDependencies =
|
|
3
|
+
exports.preventSelfDependency = exports.ensureDependencies = void 0;
|
|
4
|
+
exports.makeMiddleware = makeMiddleware;
|
|
4
5
|
const projen_1 = require("projen");
|
|
5
6
|
const utils_1 = require("../utils");
|
|
6
7
|
function makeMiddleware({ deps = [], devDeps = [], peerDeps = [], projenVersion, peerDependencyOptions = {}, } = {}) {
|
|
@@ -24,7 +25,6 @@ function makeMiddleware({ deps = [], devDeps = [], peerDeps = [], projenVersion,
|
|
|
24
25
|
},
|
|
25
26
|
}, options);
|
|
26
27
|
}
|
|
27
|
-
exports.makeMiddleware = makeMiddleware;
|
|
28
28
|
;
|
|
29
29
|
const ensureDependencies = (project, options) => {
|
|
30
30
|
const { deps = [], devDeps = [], peerDeps = [], } = options;
|
|
@@ -44,4 +44,4 @@ const preventSelfDependency = (project) => {
|
|
|
44
44
|
return project;
|
|
45
45
|
};
|
|
46
46
|
exports.preventSelfDependency = preventSelfDependency;
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZlYXR1cmVzL2RlcGVuZGVuY2llcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFjQSx3Q0EyQkM7QUF4Q0QsbUNBQW9EO0FBR3BELG9DQUFxQztBQVVyQyxTQUFnQixjQUFjLENBQUMsRUFDN0IsSUFBSSxHQUFHLEVBQUUsRUFDVCxPQUFPLEdBQUcsRUFBRSxFQUNaLFFBQVEsR0FBRyxFQUFFLEVBQ2IsYUFBYSxFQUNiLHFCQUFxQixHQUFHLEVBQUUsTUFDTCxFQUFFO0lBQ3ZCLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsVUFBVSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBRXZFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUEsaUJBQVMsRUFBQztRQUM1QixJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNmLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUM3QixRQUFRLEVBQUUsQ0FBQyxTQUFTLEVBQUUsR0FBRyxRQUFRLENBQUM7UUFDbEMsa0JBQWtCLEVBQUU7WUFDbEIsS0FBSyxFQUFFO2dCQUNMLHVCQUFjLENBQUMsT0FBTztnQkFDdEIsdUJBQWMsQ0FBQyxLQUFLO2dCQUNwQix1QkFBYyxDQUFDLFFBQVE7YUFDeEI7WUFDRCxlQUFlLEVBQUU7Z0JBQ2YsUUFBUSxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxtQkFBVSxDQUFDLDJCQUEyQixDQUFDLE1BQU07YUFDcEY7U0FDRjtRQUNELHFCQUFxQixFQUFFO1lBQ3JCLEdBQUcscUJBQXFCO1NBQ3pCO0tBQ0YsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNkLENBQUM7QUFBQSxDQUFDO0FBRUssTUFBTSxrQkFBa0IsR0FBa0QsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDcEcsTUFBTSxFQUNKLElBQUksR0FBRyxFQUFFLEVBQ1QsT0FBTyxHQUFHLEVBQUUsRUFDWixRQUFRLEdBQUcsRUFBRSxHQUNkLEdBQUcsT0FBTyxDQUFDO0lBRVosTUFBTSxHQUFHLEdBQW9DO1FBQzNDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBNEIsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLHVCQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0UsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUE0QixFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsdUJBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQTRCLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSx1QkFBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2pGLENBQUM7SUFFRixLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDL0IsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUM7QUFsQlcsUUFBQSxrQkFBa0Isc0JBa0I3QjtBQUVLLE1BQU0scUJBQXFCLEdBQStCLENBQUMsT0FBTyxFQUFFLEVBQUU7SUFDM0UsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFNUMsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBSlcsUUFBQSxxQkFBcUIseUJBSWhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IERlcGVuZGVuY3lUeXBlLCBqYXZhc2NyaXB0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB0eXBlIHsgVHlwZVNjcmlwdFByb2plY3RPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXNjcmlwdC1wcm9qZWN0LW9wdGlvbnMnO1xuaW1wb3J0IHR5cGUgeyBGZWF0dXJlTWlkZGxld2FyZSwgT3B0aW9uc01pZGRsZXdhcmUgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBncmFkZURlcGVuZGVuY2llc1RyYWl0IHtcbiAgcmVhZG9ubHkgdXBncmFkZXNTY2hlZHVsZT86IFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9uc1sndXBncmFkZXNTY2hlZHVsZSddO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcGVuZGVuY2llc1RyYWl0IGV4dGVuZHMgUGljazxUeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMsICdkZXBzJyB8ICdkZXZEZXBzJyB8ICdwZWVyRGVwcycgfCAncGVlckRlcGVuZGVuY3lPcHRpb25zJz4ge1xuICBwcm9qZW5WZXJzaW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZU1pZGRsZXdhcmUoe1xuICBkZXBzID0gW10sXG4gIGRldkRlcHMgPSBbXSxcbiAgcGVlckRlcHMgPSBbXSxcbiAgcHJvamVuVmVyc2lvbixcbiAgcGVlckRlcGVuZGVuY3lPcHRpb25zID0ge30sXG59OiBEZXBlbmRlbmNpZXNUcmFpdCA9IHt9KTogT3B0aW9uc01pZGRsZXdhcmU8VXBncmFkZURlcGVuZGVuY2llc1RyYWl0PiB7XG4gIGNvbnN0IHByb2plbkRlcCA9IHByb2plblZlcnNpb24gPyBgcHJvamVuQCR7cHJvamVuVmVyc2lvbn1gIDogJ3Byb2plbic7XG5cbiAgcmV0dXJuIChvcHRpb25zKSA9PiBkZWVwTWVyZ2Uoe1xuICAgIGRlcHM6IFsuLi5kZXBzXSxcbiAgICBkZXZEZXBzOiBbJ21ycGonLCAuLi5kZXZEZXBzXSxcbiAgICBwZWVyRGVwczogW3Byb2plbkRlcCwgLi4ucGVlckRlcHNdLFxuICAgIGRlcHNVcGdyYWRlT3B0aW9uczoge1xuICAgICAgdHlwZXM6IFtcbiAgICAgICAgRGVwZW5kZW5jeVR5cGUuUlVOVElNRSxcbiAgICAgICAgRGVwZW5kZW5jeVR5cGUuQlVJTEQsXG4gICAgICAgIERlcGVuZGVuY3lUeXBlLk9QVElPTkFMLFxuICAgICAgXSxcbiAgICAgIHdvcmtmbG93T3B0aW9uczoge1xuICAgICAgICBzY2hlZHVsZTogb3B0aW9ucy51cGdyYWRlc1NjaGVkdWxlID8/IGphdmFzY3JpcHQuVXBncmFkZURlcGVuZGVuY2llc1NjaGVkdWxlLldFRUtMWSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBwZWVyRGVwZW5kZW5jeU9wdGlvbnM6IHtcbiAgICAgIC4uLnBlZXJEZXBlbmRlbmN5T3B0aW9ucyxcbiAgICB9LFxuICB9LCBvcHRpb25zKTtcbn07XG5cbmV4cG9ydCBjb25zdCBlbnN1cmVEZXBlbmRlbmNpZXM6IEZlYXR1cmVNaWRkbGV3YXJlPFByb2plY3QsIERlcGVuZGVuY2llc1RyYWl0PiA9IChwcm9qZWN0LCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBkZXBzID0gW10sXG4gICAgZGV2RGVwcyA9IFtdLFxuICAgIHBlZXJEZXBzID0gW10sXG4gIH0gPSBvcHRpb25zO1xuXG4gIGNvbnN0IGFsbDogQXJyYXk8W3N0cmluZywgRGVwZW5kZW5jeVR5cGVdPiA9IFtcbiAgICAuLi5kZXBzLm1hcCgobmFtZSk6IFtzdHJpbmcsIERlcGVuZGVuY3lUeXBlXSA9PiBbbmFtZSwgRGVwZW5kZW5jeVR5cGUuUlVOVElNRV0pLFxuICAgIC4uLmRldkRlcHMubWFwKChuYW1lKTogW3N0cmluZywgRGVwZW5kZW5jeVR5cGVdID0+IFtuYW1lLCBEZXBlbmRlbmN5VHlwZS5CVUlMRF0pLFxuICAgIC4uLnBlZXJEZXBzLm1hcCgobmFtZSk6IFtzdHJpbmcsIERlcGVuZGVuY3lUeXBlXSA9PiBbbmFtZSwgRGVwZW5kZW5jeVR5cGUuUEVFUl0pLFxuICBdO1xuXG4gIGZvciAoY29uc3QgW25hbWUsIHR5cGVdIG9mIGFsbCkge1xuICAgIHByb2plY3QuZGVwcy5hZGREZXBlbmRlbmN5KG5hbWUsIHR5cGUpO1xuICB9XG5cbiAgcmV0dXJuIHByb2plY3Q7XG59O1xuXG5leHBvcnQgY29uc3QgcHJldmVudFNlbGZEZXBlbmRlbmN5OiBGZWF0dXJlTWlkZGxld2FyZTxQcm9qZWN0PiA9IChwcm9qZWN0KSA9PiB7XG4gIHByb2plY3QuZGVwcy5yZW1vdmVEZXBlbmRlbmN5KHByb2plY3QubmFtZSk7XG5cbiAgcmV0dXJuIHByb2plY3Q7XG59O1xuIl19
|
package/lib/features/eslint.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Project, javascript } from 'projen';
|
|
2
|
-
import { FeatureMiddleware } from '../utils';
|
|
1
|
+
import type { Project, javascript } from 'projen';
|
|
2
|
+
import type { FeatureMiddleware } from '../utils';
|
|
3
3
|
export interface ProjectTrait {
|
|
4
4
|
readonly eslint?: javascript.Eslint;
|
|
5
5
|
}
|
package/lib/features/eslint.js
CHANGED
|
@@ -3,10 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.featureMiddleware = void 0;
|
|
4
4
|
const featureMiddleware = (project) => {
|
|
5
5
|
project.eslint?.addRules({
|
|
6
|
-
'eol-last': ['error', 'always'],
|
|
7
|
-
'space-in-parens': ['error', 'never'],
|
|
6
|
+
'@stylistic/eol-last': ['error', 'always'],
|
|
7
|
+
'@stylistic/space-in-parens': ['error', 'never'],
|
|
8
|
+
'@typescript-eslint/consistent-type-imports': 'error',
|
|
8
9
|
});
|
|
9
10
|
return project;
|
|
10
11
|
};
|
|
11
12
|
exports.featureMiddleware = featureMiddleware;
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNsaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZlYXR1cmVzL2VzbGludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPTyxNQUFNLGlCQUFpQixHQUE4QyxDQUFDLE9BQU8sRUFBRSxFQUFFO0lBQ3RGLE9BQU8sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1FBQ3ZCLHFCQUFxQixFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQztRQUMxQyw0QkFBNEIsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDaEQsNENBQTRDLEVBQUUsT0FBTztLQUN0RCxDQUFDLENBQUM7SUFFSCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUM7QUFSVyxRQUFBLGlCQUFpQixxQkFRNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb2plY3QsIGphdmFzY3JpcHQgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHR5cGUgeyBGZWF0dXJlTWlkZGxld2FyZSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBQcm9qZWN0VHJhaXQge1xuICByZWFkb25seSBlc2xpbnQ/OiBqYXZhc2NyaXB0LkVzbGludDtcbn1cblxuZXhwb3J0IGNvbnN0IGZlYXR1cmVNaWRkbGV3YXJlOiBGZWF0dXJlTWlkZGxld2FyZTxQcm9qZWN0ICYgUHJvamVjdFRyYWl0PiA9IChwcm9qZWN0KSA9PiB7XG4gIHByb2plY3QuZXNsaW50Py5hZGRSdWxlcyh7XG4gICAgJ0BzdHlsaXN0aWMvZW9sLWxhc3QnOiBbJ2Vycm9yJywgJ2Fsd2F5cyddLFxuICAgICdAc3R5bGlzdGljL3NwYWNlLWluLXBhcmVucyc6IFsnZXJyb3InLCAnbmV2ZXInXSxcbiAgICAnQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1pbXBvcnRzJzogJ2Vycm9yJyxcbiAgfSk7XG5cbiAgcmV0dXJuIHByb2plY3Q7XG59O1xuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { OptionsMiddleware } from '../utils';
|
|
1
|
+
import type { OptionsMiddleware } from '../utils';
|
|
2
2
|
export declare function makeMiddleware<T>(defaults: any): OptionsMiddleware<T>;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makeMiddleware =
|
|
3
|
+
exports.makeMiddleware = makeMiddleware;
|
|
4
4
|
function makeMiddleware(defaults) {
|
|
5
5
|
return (options) => ({
|
|
6
6
|
...options,
|
|
7
7
|
...defaults,
|
|
8
8
|
});
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yY2UtZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmVhdHVyZXMvZm9yY2UtZGVmYXVsdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsU0FBZ0IsY0FBYyxDQUFJLFFBQWE7SUFDN0MsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuQixHQUFHLE9BQU87UUFDVixHQUFHLFFBQVE7S0FDWixDQUFDLENBQUM7QUFDTCxDQUFDO0FBTEQsd0NBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25zTWlkZGxld2FyZSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VNaWRkbGV3YXJlPFQ+KGRlZmF1bHRzOiBhbnkpOiBPcHRpb25zTWlkZGxld2FyZTxUPiB7XG4gIHJldHVybiAob3B0aW9ucykgPT4gKHtcbiAgICAuLi5vcHRpb25zLFxuICAgIC4uLmRlZmF1bHRzLFxuICB9KTtcbn1cbiJdfQ==
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yY2UtZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmVhdHVyZXMvZm9yY2UtZGVmYXVsdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSx3Q0FLQztBQUxELFNBQWdCLGNBQWMsQ0FBSSxRQUFhO0lBQzdDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbkIsR0FBRyxPQUFPO1FBQ1YsR0FBRyxRQUFRO0tBQ1osQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgT3B0aW9uc01pZGRsZXdhcmUgfSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlTWlkZGxld2FyZTxUPihkZWZhdWx0czogYW55KTogT3B0aW9uc01pZGRsZXdhcmU8VD4ge1xuICByZXR1cm4gKG9wdGlvbnMpID0+ICh7XG4gICAgLi4ub3B0aW9ucyxcbiAgICAuLi5kZWZhdWx0cyxcbiAgfSk7XG59XG4iXX0=
|
package/lib/features/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { optionsMiddleware as automation } from './automation';
|
|
2
2
|
export { makeMiddleware as dependencies, ensureDependencies, preventSelfDependency } from './dependencies';
|
|
3
3
|
export { featureMiddleware as eslint } from './eslint';
|
|
4
|
-
export { makeMiddleware as
|
|
4
|
+
export { makeMiddleware as forceOptions } from './force-defaults';
|
|
5
5
|
export { featureMiddleware as logo } from './logo';
|
|
6
6
|
export { featureMiddleware as nodeVersion } from './node-version';
|
|
7
7
|
export { makeMiddleware as packageInfo } from './package-info';
|
package/lib/features/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.release = exports.packageInfo = exports.nodeVersion = exports.logo = exports.
|
|
3
|
+
exports.release = exports.packageInfo = exports.nodeVersion = exports.logo = exports.forceOptions = exports.eslint = exports.preventSelfDependency = exports.ensureDependencies = exports.dependencies = exports.automation = void 0;
|
|
4
4
|
var automation_1 = require("./automation");
|
|
5
5
|
Object.defineProperty(exports, "automation", { enumerable: true, get: function () { return automation_1.optionsMiddleware; } });
|
|
6
6
|
var dependencies_1 = require("./dependencies");
|
|
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "preventSelfDependency", { enumerable: true, get:
|
|
|
10
10
|
var eslint_1 = require("./eslint");
|
|
11
11
|
Object.defineProperty(exports, "eslint", { enumerable: true, get: function () { return eslint_1.featureMiddleware; } });
|
|
12
12
|
var force_defaults_1 = require("./force-defaults");
|
|
13
|
-
Object.defineProperty(exports, "
|
|
13
|
+
Object.defineProperty(exports, "forceOptions", { enumerable: true, get: function () { return force_defaults_1.makeMiddleware; } });
|
|
14
14
|
var logo_1 = require("./logo");
|
|
15
15
|
Object.defineProperty(exports, "logo", { enumerable: true, get: function () { return logo_1.featureMiddleware; } });
|
|
16
16
|
var node_version_1 = require("./node-version");
|
|
@@ -19,4 +19,4 @@ var package_info_1 = require("./package-info");
|
|
|
19
19
|
Object.defineProperty(exports, "packageInfo", { enumerable: true, get: function () { return package_info_1.makeMiddleware; } });
|
|
20
20
|
var release_1 = require("./release");
|
|
21
21
|
Object.defineProperty(exports, "release", { enumerable: true, get: function () { return release_1.optionsMiddleware; } });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmVhdHVyZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQStEO0FBQXRELHdHQUFBLGlCQUFpQixPQUFjO0FBQ3hDLCtDQUEyRztBQUFsRyw0R0FBQSxjQUFjLE9BQWdCO0FBQUUsa0hBQUEsa0JBQWtCLE9BQUE7QUFBRSxxSEFBQSxxQkFBcUIsT0FBQTtBQUNsRixtQ0FBdUQ7QUFBOUMsZ0dBQUEsaUJBQWlCLE9BQVU7QUFDcEMsbURBQWtFO0FBQXpELDhHQUFBLGNBQWMsT0FBZ0I7QUFDdkMsK0JBQW1EO0FBQTFDLDRGQUFBLGlCQUFpQixPQUFRO0FBQ2xDLCtDQUFrRTtBQUF6RCwyR0FBQSxpQkFBaUIsT0FBZTtBQUN6QywrQ0FBK0Q7QUFBdEQsMkdBQUEsY0FBYyxPQUFlO0FBQ3RDLHFDQUF5RDtBQUFoRCxrR0FBQSxpQkFBaUIsT0FBVyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IG9wdGlvbnNNaWRkbGV3YXJlIGFzIGF1dG9tYXRpb24gfSBmcm9tICcuL2F1dG9tYXRpb24nO1xuZXhwb3J0IHsgbWFrZU1pZGRsZXdhcmUgYXMgZGVwZW5kZW5jaWVzLCBlbnN1cmVEZXBlbmRlbmNpZXMsIHByZXZlbnRTZWxmRGVwZW5kZW5jeSB9IGZyb20gJy4vZGVwZW5kZW5jaWVzJztcbmV4cG9ydCB7IGZlYXR1cmVNaWRkbGV3YXJlIGFzIGVzbGludCB9IGZyb20gJy4vZXNsaW50JztcbmV4cG9ydCB7IG1ha2VNaWRkbGV3YXJlIGFzIGZvcmNlT3B0aW9ucyB9IGZyb20gJy4vZm9yY2UtZGVmYXVsdHMnO1xuZXhwb3J0IHsgZmVhdHVyZU1pZGRsZXdhcmUgYXMgbG9nbyB9IGZyb20gJy4vbG9nbyc7XG5leHBvcnQgeyBmZWF0dXJlTWlkZGxld2FyZSBhcyBub2RlVmVyc2lvbiB9IGZyb20gJy4vbm9kZS12ZXJzaW9uJztcbmV4cG9ydCB7IG1ha2VNaWRkbGV3YXJlIGFzIHBhY2thZ2VJbmZvIH0gZnJvbSAnLi9wYWNrYWdlLWluZm8nO1xuZXhwb3J0IHsgb3B0aW9uc01pZGRsZXdhcmUgYXMgcmVsZWFzZSB9IGZyb20gJy4vcmVsZWFzZSc7XG4iXX0=
|
package/lib/features/logo.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Project } from 'projen';
|
|
2
|
-
import { SvgFile
|
|
3
|
-
import {
|
|
1
|
+
import type { Project } from 'projen';
|
|
2
|
+
import type { SvgFile } from '../logo';
|
|
3
|
+
import { Wordmark } from '../logo';
|
|
4
|
+
import type { FeatureMiddleware, Mutable } from '../utils';
|
|
4
5
|
export interface ProjectTrait {
|
|
5
6
|
readonly logo?: SvgFile;
|
|
6
7
|
readonly wordmark?: Wordmark;
|
package/lib/features/logo.js
CHANGED
|
@@ -13,4 +13,4 @@ const featureMiddleware = (project, options) => {
|
|
|
13
13
|
return project;
|
|
14
14
|
};
|
|
15
15
|
exports.featureMiddleware = featureMiddleware;
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mZWF0dXJlcy9sb2dvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLGtDQUFtQztBQVM1QixNQUFNLGlCQUFpQixHQUF1RCxDQUFDLE9BQU8sRUFBRSxPQUErRCxFQUFFLEVBQUU7SUFDaEssSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLGVBQVEsQ0FBQyxPQUFPLEVBQUU7WUFDdkMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLEdBQUcsT0FBTyxDQUFDLGVBQWU7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQVZXLFFBQUEsaUJBQWlCLHFCQVU1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgdHlwZSB7IFN2Z0ZpbGUgfSBmcm9tICcuLi9sb2dvJztcbmltcG9ydCB7IFdvcmRtYXJrIH0gZnJvbSAnLi4vbG9nbyc7XG5pbXBvcnQgdHlwZSB7IFByb2plblByb2plY3RPcHRpb25zIH0gZnJvbSAnLi4vcHJvamVuLXByb2plY3Qtb3B0aW9ucyc7XG5pbXBvcnQgdHlwZSB7IEZlYXR1cmVNaWRkbGV3YXJlLCBNdXRhYmxlIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb2plY3RUcmFpdCB7XG4gIHJlYWRvbmx5IGxvZ28/OiBTdmdGaWxlO1xuICByZWFkb25seSB3b3JkbWFyaz86IFdvcmRtYXJrO1xufVxuXG5leHBvcnQgY29uc3QgZmVhdHVyZU1pZGRsZXdhcmU6IEZlYXR1cmVNaWRkbGV3YXJlPFByb2plY3QgJiBNdXRhYmxlPFByb2plY3RUcmFpdD4+ID0gKHByb2plY3QsIG9wdGlvbnM6IFBpY2s8UHJvamVuUHJvamVjdE9wdGlvbnMsICdsb2dvJyB8ICd3b3JkbWFya09wdGlvbnMnPikgPT4ge1xuICBpZiAob3B0aW9ucy5sb2dvKSB7XG4gICAgb3B0aW9ucy5sb2dvLnN5bnRoKHByb2plY3QpO1xuICAgIHByb2plY3Qud29yZG1hcmsgPSBuZXcgV29yZG1hcmsocHJvamVjdCwge1xuICAgICAgbG9nbzogb3B0aW9ucy5sb2dvLFxuICAgICAgLi4ub3B0aW9ucy53b3JkbWFya09wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcHJvamVjdDtcbn07XG4iXX0=
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
import { Project } from 'projen';
|
|
2
|
-
import { FeatureMiddleware } from '../utils';
|
|
1
|
+
import type { Project } from 'projen';
|
|
2
|
+
import type { FeatureMiddleware } from '../utils';
|
|
3
3
|
export interface ProjectTrait {
|
|
4
4
|
readonly minNodeVersion?: string;
|
|
5
5
|
}
|
|
6
|
+
export interface NodeVersionSpec {
|
|
7
|
+
readonly major: string;
|
|
8
|
+
readonly version: string;
|
|
9
|
+
readonly stable?: boolean;
|
|
10
|
+
readonly lts?: string;
|
|
11
|
+
}
|
|
6
12
|
export declare const featureMiddleware: FeatureMiddleware<Project & ProjectTrait>;
|
|
@@ -2,8 +2,39 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.featureMiddleware = void 0;
|
|
4
4
|
const projen_1 = require("projen");
|
|
5
|
+
const resources_1 = require("../util/resources");
|
|
6
|
+
function isAlias(versionSpec) {
|
|
7
|
+
return versionSpec.startsWith('lts/') || ['current', 'latest', 'node'].includes(versionSpec);
|
|
8
|
+
}
|
|
9
|
+
function getVersionFromAlias(versionSpec) {
|
|
10
|
+
const allVersions = (0, resources_1.jsonResource)('node-versions.json');
|
|
11
|
+
if (['current', 'latest', 'node'].includes(versionSpec)) {
|
|
12
|
+
return allVersions[allVersions.length - 1]?.major;
|
|
13
|
+
}
|
|
14
|
+
const ltsVersions = Object.fromEntries(allVersions
|
|
15
|
+
.filter(x => x.lts && x.stable === true)
|
|
16
|
+
.map(x => [x.lts.toLowerCase(), x]));
|
|
17
|
+
const alias = versionSpec.split('lts/')[1]?.toLowerCase();
|
|
18
|
+
const byMajor = Object.values(ltsVersions);
|
|
19
|
+
if (alias === '*') {
|
|
20
|
+
return byMajor[byMajor.length - 1]?.major;
|
|
21
|
+
}
|
|
22
|
+
const n = Number(alias);
|
|
23
|
+
if (n < 0) {
|
|
24
|
+
return byMajor[byMajor.length - 1 + n]?.major;
|
|
25
|
+
}
|
|
26
|
+
return ltsVersions[alias]?.major;
|
|
27
|
+
}
|
|
28
|
+
function convertAliasToVersion(versionSpec) {
|
|
29
|
+
const version = getVersionFromAlias(versionSpec);
|
|
30
|
+
if (!version) {
|
|
31
|
+
throw new Error(`Could not find Node.js version for alias: ${versionSpec}`);
|
|
32
|
+
}
|
|
33
|
+
return version;
|
|
34
|
+
}
|
|
5
35
|
const featureMiddleware = (project, options) => {
|
|
6
|
-
const
|
|
36
|
+
const versionSpec = options.workflowNodeVersion ?? project.minNodeVersion ?? 'lts/*';
|
|
37
|
+
const version = isAlias(versionSpec) ? convertAliasToVersion(versionSpec) : versionSpec;
|
|
7
38
|
const lines = [`v${version}`, ''];
|
|
8
39
|
new projen_1.TextFile(project, '.nvmrc', { lines });
|
|
9
40
|
project.addPackageIgnore('.nvmrc');
|
|
@@ -12,4 +43,4 @@ const featureMiddleware = (project, options) => {
|
|
|
12
43
|
return project;
|
|
13
44
|
};
|
|
14
45
|
exports.featureMiddleware = featureMiddleware;
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS12ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZlYXR1cmVzL25vZGUtdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxtQ0FBa0M7QUFDbEMsaURBQWlEO0FBY2pELFNBQVMsT0FBTyxDQUFDLFdBQW1CO0lBQ2xDLE9BQU8sV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQy9GLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLFdBQW1CO0lBQzlDLE1BQU0sV0FBVyxHQUFHLElBQUEsd0JBQVksRUFBb0Isb0JBQW9CLENBQUMsQ0FBQztJQUUxRSxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUN4RCxPQUFPLFdBQVcsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUNuRCxDQUFDO0lBRUQsTUFBTSxXQUFXLEdBQW9DLE1BQU0sQ0FBQyxXQUFXLENBQUMsV0FBVztTQUNoRixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDO1NBQ3ZDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFeEMsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUUxRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNDLElBQUksS0FBSyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDVixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUVELE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQztBQUNuQyxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxXQUFtQjtJQUNoRCxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRU0sTUFBTSxpQkFBaUIsR0FBOEMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDL0YsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxjQUFjLElBQUksT0FBTyxDQUFDO0lBQ3JGLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUV4RixNQUFNLEtBQUssR0FBRyxDQUFDLElBQUksT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFbEMsSUFBSSxpQkFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuQyxJQUFJLGlCQUFRLENBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEQsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRTFDLE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQVpXLFFBQUEsaUJBQWlCLHFCQVk1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBUZXh0RmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBqc29uUmVzb3VyY2UgfSBmcm9tICcuLi91dGlsL3Jlc291cmNlcyc7XG5pbXBvcnQgdHlwZSB7IEZlYXR1cmVNaWRkbGV3YXJlIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb2plY3RUcmFpdCB7XG4gIHJlYWRvbmx5IG1pbk5vZGVWZXJzaW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVWZXJzaW9uU3BlYyB7XG4gIHJlYWRvbmx5IG1ham9yOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbiAgcmVhZG9ubHkgc3RhYmxlPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgbHRzPzogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBpc0FsaWFzKHZlcnNpb25TcGVjOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHZlcnNpb25TcGVjLnN0YXJ0c1dpdGgoJ2x0cy8nKSB8fCBbJ2N1cnJlbnQnLCAnbGF0ZXN0JywgJ25vZGUnXS5pbmNsdWRlcyh2ZXJzaW9uU3BlYyk7XG59XG5cbmZ1bmN0aW9uIGdldFZlcnNpb25Gcm9tQWxpYXModmVyc2lvblNwZWM6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGFsbFZlcnNpb25zID0ganNvblJlc291cmNlPE5vZGVWZXJzaW9uU3BlY1tdPignbm9kZS12ZXJzaW9ucy5qc29uJyk7XG5cbiAgaWYgKFsnY3VycmVudCcsICdsYXRlc3QnLCAnbm9kZSddLmluY2x1ZGVzKHZlcnNpb25TcGVjKSkge1xuICAgIHJldHVybiBhbGxWZXJzaW9uc1thbGxWZXJzaW9ucy5sZW5ndGggLTFdPy5tYWpvcjtcbiAgfVxuXG4gIGNvbnN0IGx0c1ZlcnNpb25zOiBSZWNvcmQ8c3RyaW5nLCBOb2RlVmVyc2lvblNwZWM+ID0gT2JqZWN0LmZyb21FbnRyaWVzKGFsbFZlcnNpb25zXG4gICAgLmZpbHRlcih4ID0+IHgubHRzICYmIHguc3RhYmxlID09PSB0cnVlKVxuICAgIC5tYXAoeCA9PiBbeC5sdHMhLnRvTG93ZXJDYXNlKCksIHhdKSk7XG5cbiAgY29uc3QgYWxpYXMgPSB2ZXJzaW9uU3BlYy5zcGxpdCgnbHRzLycpWzFdPy50b0xvd2VyQ2FzZSgpO1xuXG4gIGNvbnN0IGJ5TWFqb3IgPSBPYmplY3QudmFsdWVzKGx0c1ZlcnNpb25zKTtcbiAgaWYgKGFsaWFzID09PSAnKicpIHtcbiAgICByZXR1cm4gYnlNYWpvcltieU1ham9yLmxlbmd0aCAtMV0/Lm1ham9yO1xuICB9XG5cbiAgY29uc3QgbiA9IE51bWJlcihhbGlhcyk7XG4gIGlmIChuIDwgMCkge1xuICAgIHJldHVybiBieU1ham9yW2J5TWFqb3IubGVuZ3RoIC0xICsgbl0/Lm1ham9yO1xuICB9XG5cbiAgcmV0dXJuIGx0c1ZlcnNpb25zW2FsaWFzXT8ubWFqb3I7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRBbGlhc1RvVmVyc2lvbih2ZXJzaW9uU3BlYzogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgdmVyc2lvbiA9IGdldFZlcnNpb25Gcm9tQWxpYXModmVyc2lvblNwZWMpO1xuICBpZiAoIXZlcnNpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBmaW5kIE5vZGUuanMgdmVyc2lvbiBmb3IgYWxpYXM6ICR7dmVyc2lvblNwZWN9YCk7XG4gIH1cblxuICByZXR1cm4gdmVyc2lvbjtcbn1cblxuZXhwb3J0IGNvbnN0IGZlYXR1cmVNaWRkbGV3YXJlOiBGZWF0dXJlTWlkZGxld2FyZTxQcm9qZWN0ICYgUHJvamVjdFRyYWl0PiA9IChwcm9qZWN0LCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IHZlcnNpb25TcGVjID0gb3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uID8/IHByb2plY3QubWluTm9kZVZlcnNpb24gPz8gJ2x0cy8qJztcbiAgY29uc3QgdmVyc2lvbiA9IGlzQWxpYXModmVyc2lvblNwZWMpID8gY29udmVydEFsaWFzVG9WZXJzaW9uKHZlcnNpb25TcGVjKSA6IHZlcnNpb25TcGVjO1xuXG4gIGNvbnN0IGxpbmVzID0gW2B2JHt2ZXJzaW9ufWAsICcnXTtcblxuICBuZXcgVGV4dEZpbGUocHJvamVjdCwgJy5udm1yYycsIHsgbGluZXMgfSk7XG4gIHByb2plY3QuYWRkUGFja2FnZUlnbm9yZSgnLm52bXJjJyk7XG4gIG5ldyBUZXh0RmlsZShwcm9qZWN0LCAnLm5vZGUtdmVyc2lvbicsIHsgbGluZXMgfSk7XG4gIHByb2plY3QuYWRkUGFja2FnZUlnbm9yZSgnLm5vZGUtdmVyc2lvbicpO1xuXG4gIHJldHVybiBwcm9qZWN0O1xufTtcbiJdfQ==
|