@featurevisor/core 0.51.1 → 0.51.2
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/.eslintcache +1 -1
- package/CHANGELOG.md +8 -0
- package/coverage/clover.xml +8 -8
- package/coverage/coverage-final.json +4 -4
- package/coverage/lcov-report/index.html +3 -3
- package/coverage/lcov-report/lib/{allocator.js.html → builder/allocator.js.html} +10 -10
- package/coverage/lcov-report/lib/{index.html → builder/index.html} +10 -10
- package/coverage/lcov-report/lib/{traffic.js.html → builder/traffic.js.html} +10 -10
- package/coverage/lcov-report/src/{allocator.ts.html → builder/allocator.ts.html} +10 -10
- package/coverage/lcov-report/src/{index.html → builder/index.html} +10 -10
- package/coverage/lcov-report/src/{traffic.ts.html → builder/traffic.ts.html} +10 -10
- package/coverage/lcov.info +4 -4
- package/lib/builder/allocator.js.map +1 -0
- package/lib/builder/allocator.spec.js.map +1 -0
- package/lib/builder/buildDatafile.d.ts +11 -0
- package/lib/{builder.js → builder/buildDatafile.js} +5 -106
- package/lib/builder/buildDatafile.js.map +1 -0
- package/lib/builder/buildProject.d.ts +8 -0
- package/lib/builder/buildProject.js +63 -0
- package/lib/builder/buildProject.js.map +1 -0
- package/lib/builder/getFeatureRanges.d.ts +11 -0
- package/lib/builder/getFeatureRanges.js +50 -0
- package/lib/builder/getFeatureRanges.js.map +1 -0
- package/lib/builder/index.d.ts +2 -0
- package/lib/builder/index.js +19 -0
- package/lib/builder/index.js.map +1 -0
- package/lib/builder/traffic.js.map +1 -0
- package/lib/builder/traffic.spec.js.map +1 -0
- package/lib/datasource/index.d.ts +2 -0
- package/lib/datasource/index.js +19 -0
- package/lib/datasource/index.js.map +1 -0
- package/lib/generate-code/index.js +1 -1
- package/lib/generate-code/index.js.map +1 -1
- package/lib/generate-code/typescript.d.ts +1 -1
- package/lib/linter/checkCircularDependency.d.ts +1 -1
- package/lib/linter/groupSchema.d.ts +1 -1
- package/lib/linter/index.d.ts +1 -2
- package/lib/linter/index.js +13 -236
- package/lib/linter/index.js.map +1 -1
- package/lib/linter/lintProject.d.ts +2 -0
- package/lib/linter/lintProject.js +241 -0
- package/lib/linter/lintProject.js.map +1 -0
- package/lib/site.js +1 -1
- package/lib/site.js.map +1 -1
- package/lib/tester.js +1 -1
- package/lib/tester.js.map +1 -1
- package/package.json +2 -2
- package/src/{builder.ts → builder/buildDatafile.ts} +5 -148
- package/src/builder/buildProject.ts +95 -0
- package/src/builder/getFeatureRanges.ts +61 -0
- package/src/builder/index.ts +2 -0
- package/src/datasource/index.ts +2 -0
- package/src/generate-code/index.ts +1 -1
- package/src/generate-code/typescript.ts +1 -1
- package/src/linter/checkCircularDependency.ts +1 -1
- package/src/linter/groupSchema.ts +1 -1
- package/src/linter/index.ts +1 -179
- package/src/linter/lintProject.ts +179 -0
- package/src/site.ts +1 -1
- package/src/tester.ts +1 -1
- package/lib/allocator.js.map +0 -1
- package/lib/allocator.spec.js.map +0 -1
- package/lib/builder.d.ts +0 -26
- package/lib/builder.js.map +0 -1
- package/lib/traffic.js.map +0 -1
- package/lib/traffic.spec.js.map +0 -1
- /package/lib/{allocator.d.ts → builder/allocator.d.ts} +0 -0
- /package/lib/{allocator.js → builder/allocator.js} +0 -0
- /package/lib/{allocator.spec.d.ts → builder/allocator.spec.d.ts} +0 -0
- /package/lib/{allocator.spec.js → builder/allocator.spec.js} +0 -0
- /package/lib/{traffic.d.ts → builder/traffic.d.ts} +0 -0
- /package/lib/{traffic.js → builder/traffic.js} +0 -0
- /package/lib/{traffic.spec.d.ts → builder/traffic.spec.d.ts} +0 -0
- /package/lib/{traffic.spec.js → builder/traffic.spec.js} +0 -0
- /package/src/{allocator.spec.ts → builder/allocator.spec.ts} +0 -0
- /package/src/{allocator.ts → builder/allocator.ts} +0 -0
- /package/src/{traffic.spec.ts → builder/traffic.spec.ts} +0 -0
- /package/src/{traffic.ts → builder/traffic.ts} +0 -0
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for lib/traffic.js</title>
|
|
6
|
+
<title>Code coverage report for lib/builder/traffic.js</title>
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="
|
|
9
|
-
<link rel="stylesheet" href="
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="
|
|
8
|
+
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
11
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
12
|
<style type='text/css'>
|
|
13
13
|
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(
|
|
14
|
+
background-image: url(../../sort-arrow-sprite.png);
|
|
15
15
|
}
|
|
16
16
|
</style>
|
|
17
17
|
</head>
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<body>
|
|
20
20
|
<div class='wrapper'>
|
|
21
21
|
<div class='pad1'>
|
|
22
|
-
<h1><a href="
|
|
22
|
+
<h1><a href="../../index.html">All files</a> / <a href="index.html">lib/builder</a> traffic.js</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
@@ -442,16 +442,16 @@ exports.getTraffic = getTraffic;
|
|
|
442
442
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
443
443
|
Code coverage generated by
|
|
444
444
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
445
|
-
at 2023-10-11T17:
|
|
445
|
+
at 2023-10-11T17:59:39.872Z
|
|
446
446
|
</div>
|
|
447
|
-
<script src="
|
|
447
|
+
<script src="../../prettify.js"></script>
|
|
448
448
|
<script>
|
|
449
449
|
window.onload = function () {
|
|
450
450
|
prettyPrint();
|
|
451
451
|
};
|
|
452
452
|
</script>
|
|
453
|
-
<script src="
|
|
454
|
-
<script src="
|
|
453
|
+
<script src="../../sorter.js"></script>
|
|
454
|
+
<script src="../../block-navigation.js"></script>
|
|
455
455
|
</body>
|
|
456
456
|
</html>
|
|
457
457
|
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for src/allocator.ts</title>
|
|
6
|
+
<title>Code coverage report for src/builder/allocator.ts</title>
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="
|
|
9
|
-
<link rel="stylesheet" href="
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="
|
|
8
|
+
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
11
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
12
|
<style type='text/css'>
|
|
13
13
|
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(
|
|
14
|
+
background-image: url(../../sort-arrow-sprite.png);
|
|
15
15
|
}
|
|
16
16
|
</style>
|
|
17
17
|
</head>
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<body>
|
|
20
20
|
<div class='wrapper'>
|
|
21
21
|
<div class='pad1'>
|
|
22
|
-
<h1><a href="
|
|
22
|
+
<h1><a href="../../index.html">All files</a> / <a href="index.html">src/builder</a> allocator.ts</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
@@ -193,16 +193,16 @@ export function getUpdatedAvailableRangesAfterFilling(
|
|
|
193
193
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
194
194
|
Code coverage generated by
|
|
195
195
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
196
|
-
at 2023-10-11T17:
|
|
196
|
+
at 2023-10-11T17:59:39.872Z
|
|
197
197
|
</div>
|
|
198
|
-
<script src="
|
|
198
|
+
<script src="../../prettify.js"></script>
|
|
199
199
|
<script>
|
|
200
200
|
window.onload = function () {
|
|
201
201
|
prettyPrint();
|
|
202
202
|
};
|
|
203
203
|
</script>
|
|
204
|
-
<script src="
|
|
205
|
-
<script src="
|
|
204
|
+
<script src="../../sorter.js"></script>
|
|
205
|
+
<script src="../../block-navigation.js"></script>
|
|
206
206
|
</body>
|
|
207
207
|
</html>
|
|
208
208
|
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for src</title>
|
|
6
|
+
<title>Code coverage report for src/builder</title>
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="
|
|
9
|
-
<link rel="stylesheet" href="
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="
|
|
8
|
+
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
11
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
12
|
<style type='text/css'>
|
|
13
13
|
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(
|
|
14
|
+
background-image: url(../../sort-arrow-sprite.png);
|
|
15
15
|
}
|
|
16
16
|
</style>
|
|
17
17
|
</head>
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<body>
|
|
20
20
|
<div class='wrapper'>
|
|
21
21
|
<div class='pad1'>
|
|
22
|
-
<h1><a href="
|
|
22
|
+
<h1><a href="../../index.html">All files</a> src/builder</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
@@ -116,16 +116,16 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at 2023-10-11T17:
|
|
119
|
+
at 2023-10-11T17:59:39.872Z
|
|
120
120
|
</div>
|
|
121
|
-
<script src="
|
|
121
|
+
<script src="../../prettify.js"></script>
|
|
122
122
|
<script>
|
|
123
123
|
window.onload = function () {
|
|
124
124
|
prettyPrint();
|
|
125
125
|
};
|
|
126
126
|
</script>
|
|
127
|
-
<script src="
|
|
128
|
-
<script src="
|
|
127
|
+
<script src="../../sorter.js"></script>
|
|
128
|
+
<script src="../../block-navigation.js"></script>
|
|
129
129
|
</body>
|
|
130
130
|
</html>
|
|
131
131
|
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for src/traffic.ts</title>
|
|
6
|
+
<title>Code coverage report for src/builder/traffic.ts</title>
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="
|
|
9
|
-
<link rel="stylesheet" href="
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="
|
|
8
|
+
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
11
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
12
|
<style type='text/css'>
|
|
13
13
|
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(
|
|
14
|
+
background-image: url(../../sort-arrow-sprite.png);
|
|
15
15
|
}
|
|
16
16
|
</style>
|
|
17
17
|
</head>
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<body>
|
|
20
20
|
<div class='wrapper'>
|
|
21
21
|
<div class='pad1'>
|
|
22
|
-
<h1><a href="
|
|
22
|
+
<h1><a href="../../index.html">All files</a> / <a href="index.html">src/builder</a> traffic.ts</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
@@ -553,16 +553,16 @@ export function getTraffic(
|
|
|
553
553
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
554
554
|
Code coverage generated by
|
|
555
555
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
556
|
-
at 2023-10-11T17:
|
|
556
|
+
at 2023-10-11T17:59:39.872Z
|
|
557
557
|
</div>
|
|
558
|
-
<script src="
|
|
558
|
+
<script src="../../prettify.js"></script>
|
|
559
559
|
<script>
|
|
560
560
|
window.onload = function () {
|
|
561
561
|
prettyPrint();
|
|
562
562
|
};
|
|
563
563
|
</script>
|
|
564
|
-
<script src="
|
|
565
|
-
<script src="
|
|
564
|
+
<script src="../../sorter.js"></script>
|
|
565
|
+
<script src="../../block-navigation.js"></script>
|
|
566
566
|
</body>
|
|
567
567
|
</html>
|
|
568
568
|
|
package/coverage/lcov.info
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
TN:
|
|
2
|
-
SF:lib/allocator.js
|
|
2
|
+
SF:lib/builder/allocator.js
|
|
3
3
|
FN:4,getAllocation
|
|
4
4
|
FN:19,getUpdatedAvailableRangesAfterFilling
|
|
5
5
|
FNF:2
|
|
@@ -45,7 +45,7 @@ BRF:6
|
|
|
45
45
|
BRH:6
|
|
46
46
|
end_of_record
|
|
47
47
|
TN:
|
|
48
|
-
SF:lib/traffic.js
|
|
48
|
+
SF:lib/builder/traffic.js
|
|
49
49
|
FN:6,detectIfVariationsChanged
|
|
50
50
|
FN:12,(anonymous_1)
|
|
51
51
|
FN:17,(anonymous_2)
|
|
@@ -183,7 +183,7 @@ BRF:42
|
|
|
183
183
|
BRH:33
|
|
184
184
|
end_of_record
|
|
185
185
|
TN:
|
|
186
|
-
SF:src/allocator.ts
|
|
186
|
+
SF:src/builder/allocator.ts
|
|
187
187
|
FN:3,getAllocation
|
|
188
188
|
FN:21,getUpdatedAvailableRangesAfterFilling
|
|
189
189
|
FNF:2
|
|
@@ -226,7 +226,7 @@ BRF:5
|
|
|
226
226
|
BRH:5
|
|
227
227
|
end_of_record
|
|
228
228
|
TN:
|
|
229
|
-
SF:src/traffic.ts
|
|
229
|
+
SF:src/builder/traffic.ts
|
|
230
230
|
FN:6,detectIfVariationsChanged
|
|
231
231
|
FN:15,(anonymous_1)
|
|
232
232
|
FN:20,(anonymous_2)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"allocator.js","sourceRoot":"","sources":["../../src/builder/allocator.ts"],"names":[],"mappings":";;;AAEA,SAAgB,aAAa,CAAC,eAAwB,EAAE,IAAgB;IACtE,IAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE;QAClD,IAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAA,KAAK,GAAS,KAAK,GAAd,EAAE,GAAG,GAAI,KAAK,GAAT,CAAU;QAE3B,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC;QACxC,SAAS,IAAI,SAAS,CAAC;QACvB,CAAC,EAAE,CAAC;KACL;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAhBD,sCAgBC;AAED,SAAgB,qCAAqC,CACnD,eAAwB,EACxB,IAAgB;IAEhB,IAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE;QAClD,IAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAA,KAAK,GAAS,KAAK,GAAd,EAAE,GAAG,GAAI,KAAK,GAAT,CAAU;QAC3B,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;QACnD,IAAI,SAAS,GAAG,GAAG,GAAG,KAAK,EAAE;YAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;SACvC;QACD,SAAS,IAAI,SAAS,CAAC;QACvB,CAAC,EAAE,CAAC;KACL;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AApBD,sFAoBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"allocator.spec.js","sourceRoot":"","sources":["../../src/builder/allocator.spec.ts"],"names":[],"mappings":";;AACA,yCAAmF;AAEnF,QAAQ,CAAC,iBAAiB,EAAE;IAC1B,IAAI,CAAC,eAAe,EAAE;QACpB,MAAM,CAAC,yBAAa,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,CAAC,iDAAqC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE;QACjC,IAAM,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAY,CAAC;QAC9C,IAAM,MAAM,GAAG,IAAA,yBAAa,EAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAEnD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAExC,IAAM,sBAAsB,GAAG,IAAA,iDAAqC,EAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAC3F,MAAM,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gCAAgC,EAAE;QACrC,IAAM,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAY,CAAC;QAC9C,IAAM,MAAM,GAAG,IAAA,yBAAa,EAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAElD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAElC,IAAM,sBAAsB,GAAG,IAAA,iDAAqC,EAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAC1F,MAAM,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6BAA6B,EAAE;QAClC,IAAM,eAAe,GAAG;YACtB,CAAC,CAAC,EAAE,EAAE,CAAC;YACP,CAAC,EAAE,EAAE,GAAG,CAAC;SACC,CAAC;QACb,IAAM,MAAM,GAAG,IAAA,yBAAa,EAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAEnD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAExC,IAAM,sBAAsB,GAAG,IAAA,iDAAqC,EAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAC3F,MAAM,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oDAAoD,EAAE;QACzD,IAAM,eAAe,GAAG;YACtB,CAAC,CAAC,EAAE,EAAE,CAAC;YACP,CAAC,EAAE,EAAE,GAAG,CAAC;SACC,CAAC;QACb,IAAM,MAAM,GAAG,IAAA,yBAAa,EAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAElD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAExC,IAAM,sBAAsB,GAAG,IAAA,iDAAqC,EAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAC1F,MAAM,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iCAAiC,EAAE;QACtC,IAAM,eAAe,GAAG;YACtB,CAAC,CAAC,EAAE,EAAE,CAAC;YACP,CAAC,EAAE,EAAE,GAAG,CAAC;SACC,CAAC;QACb,IAAM,MAAM,GAAG,IAAA,yBAAa,EAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAElD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,CAAC,CAAC,EAAE,EAAE,CAAC;YACP,CAAC,EAAE,EAAE,EAAE,CAAC;SACT,CAAC,CAAC;QAEH,IAAM,sBAAsB,GAAG,IAAA,iDAAqC,EAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAC1F,MAAM,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wDAAwD,EAAE;QAC7D,IAAM,eAAe,GAAG;YACtB,CAAC,CAAC,EAAE,EAAE,CAAC;YACP,CAAC,EAAE,EAAE,GAAG,CAAC;SACC,CAAC;QACb,IAAM,MAAM,GAAG,IAAA,yBAAa,EAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAElD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,CAAC,CAAC,EAAE,EAAE,CAAC;YACP,CAAC,EAAE,EAAE,EAAE,CAAC;SACT,CAAC,CAAC;QAEH,IAAM,sBAAsB,GAAG,IAAA,iDAAqC,EAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAC1F,MAAM,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4EAA4E,EAAE;QACjF,IAAM,eAAe,GAAG;YACtB,CAAC,CAAC,EAAE,EAAE,CAAC;YACP,CAAC,EAAE,EAAE,EAAE,CAAC;YACR,CAAC,EAAE,EAAE,EAAE,CAAC;SACE,CAAC;QACb,IAAM,MAAM,GAAG,IAAA,yBAAa,EAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAElD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,CAAC,CAAC,EAAE,EAAE,CAAC;YACP,CAAC,EAAE,EAAE,EAAE,CAAC;YACR,CAAC,EAAE,EAAE,EAAE,CAAC;SACT,CAAC,CAAC;QAEH,IAAM,sBAAsB,GAAG,IAAA,iDAAqC,EAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAC1F,MAAM,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DatafileContent, ExistingState, FeatureKey } from "@featurevisor/types";
|
|
2
|
+
import { ProjectConfig } from "../config";
|
|
3
|
+
import { Datasource } from "../datasource";
|
|
4
|
+
export interface BuildOptions {
|
|
5
|
+
schemaVersion: string;
|
|
6
|
+
revision: string;
|
|
7
|
+
environment: string;
|
|
8
|
+
tag?: string;
|
|
9
|
+
features?: FeatureKey[];
|
|
10
|
+
}
|
|
11
|
+
export declare function buildDatafile(projectConfig: ProjectConfig, datasource: Datasource, options: BuildOptions, existingState: ExistingState): DatafileContent;
|
|
@@ -1,67 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.
|
|
3
|
+
exports.buildDatafile = void 0;
|
|
15
4
|
var fs = require("fs");
|
|
16
|
-
var
|
|
17
|
-
var mkdirp = require("mkdirp");
|
|
18
|
-
var config_1 = require("./config");
|
|
19
|
-
var datasource_1 = require("./datasource/datasource");
|
|
5
|
+
var utils_1 = require("../utils");
|
|
20
6
|
var traffic_1 = require("./traffic");
|
|
21
|
-
var
|
|
22
|
-
function getDatafilePath(projectConfig, environment, tag) {
|
|
23
|
-
var fileName = "datafile-tag-".concat(tag, ".json");
|
|
24
|
-
return path.join(projectConfig.outputDirectoryPath, environment, fileName);
|
|
25
|
-
}
|
|
26
|
-
exports.getDatafilePath = getDatafilePath;
|
|
27
|
-
function getExistingStateFilePath(projectConfig, environment) {
|
|
28
|
-
return path.join(projectConfig.stateDirectoryPath, "existing-state-".concat(environment, ".json"));
|
|
29
|
-
}
|
|
30
|
-
exports.getExistingStateFilePath = getExistingStateFilePath;
|
|
31
|
-
function getFeatureRanges(projectConfig, datasource) {
|
|
32
|
-
var featureRanges = new Map();
|
|
33
|
-
var featureIsInGroup = {}; // featureKey => boolean
|
|
34
|
-
var groups = [];
|
|
35
|
-
if (fs.existsSync(projectConfig.groupsDirectoryPath)) {
|
|
36
|
-
var groupFiles = datasource.listGroups();
|
|
37
|
-
var _loop_1 = function (groupKey) {
|
|
38
|
-
var parsedGroup = datasource.readGroup(groupKey);
|
|
39
|
-
groups.push(__assign(__assign({}, parsedGroup), { key: groupKey }));
|
|
40
|
-
var accumulatedPercentage = 0;
|
|
41
|
-
parsedGroup.slots.forEach(function (slot, slotIndex) {
|
|
42
|
-
var isFirstSlot = slotIndex === 0;
|
|
43
|
-
if (slot.feature) {
|
|
44
|
-
var featureKey = slot.feature;
|
|
45
|
-
if (typeof featureKey === "string") {
|
|
46
|
-
featureIsInGroup[featureKey] = true;
|
|
47
|
-
}
|
|
48
|
-
var featureRangesForFeature = featureRanges.get(featureKey) || [];
|
|
49
|
-
var start = isFirstSlot ? accumulatedPercentage : accumulatedPercentage + 1;
|
|
50
|
-
var end = accumulatedPercentage + slot.percentage * 1000;
|
|
51
|
-
featureRangesForFeature.push([start, end]);
|
|
52
|
-
featureRanges.set(slot.feature, featureRangesForFeature);
|
|
53
|
-
}
|
|
54
|
-
accumulatedPercentage += slot.percentage * 1000;
|
|
55
|
-
});
|
|
56
|
-
};
|
|
57
|
-
for (var _i = 0, groupFiles_1 = groupFiles; _i < groupFiles_1.length; _i++) {
|
|
58
|
-
var groupKey = groupFiles_1[_i];
|
|
59
|
-
_loop_1(groupKey);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return { featureRanges: featureRanges, featureIsInGroup: featureIsInGroup };
|
|
63
|
-
}
|
|
64
|
-
exports.getFeatureRanges = getFeatureRanges;
|
|
7
|
+
var getFeatureRanges_1 = require("./getFeatureRanges");
|
|
65
8
|
function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
66
9
|
var datafileContent = {
|
|
67
10
|
schemaVersion: options.schemaVersion,
|
|
@@ -72,7 +15,7 @@ function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
|
72
15
|
};
|
|
73
16
|
var segmentKeysUsedByTag = new Set();
|
|
74
17
|
var attributeKeysUsedByTag = new Set();
|
|
75
|
-
var _a = getFeatureRanges(projectConfig, datasource), featureRanges = _a.featureRanges, featureIsInGroup = _a.featureIsInGroup;
|
|
18
|
+
var _a = (0, getFeatureRanges_1.getFeatureRanges)(projectConfig, datasource), featureRanges = _a.featureRanges, featureIsInGroup = _a.featureIsInGroup;
|
|
76
19
|
// features
|
|
77
20
|
var features = [];
|
|
78
21
|
var featuresDirectory = projectConfig.featuresDirectoryPath;
|
|
@@ -241,48 +184,4 @@ function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
|
241
184
|
return datafileContent;
|
|
242
185
|
}
|
|
243
186
|
exports.buildDatafile = buildDatafile;
|
|
244
|
-
|
|
245
|
-
if (cliOptions === void 0) { cliOptions = {}; }
|
|
246
|
-
var tags = projectConfig.tags;
|
|
247
|
-
var environments = projectConfig.environments;
|
|
248
|
-
var pkg = require(path.join(rootDirectoryPath, "package.json"));
|
|
249
|
-
var datasource = new datasource_1.Datasource(projectConfig);
|
|
250
|
-
for (var _i = 0, environments_1 = environments; _i < environments_1.length; _i++) {
|
|
251
|
-
var environment = environments_1[_i];
|
|
252
|
-
console.log("\nBuilding datafiles for environment: ".concat(environment));
|
|
253
|
-
var existingStateFilePath = getExistingStateFilePath(projectConfig, environment);
|
|
254
|
-
var existingState = fs.existsSync(existingStateFilePath)
|
|
255
|
-
? require(existingStateFilePath)
|
|
256
|
-
: {
|
|
257
|
-
features: {},
|
|
258
|
-
};
|
|
259
|
-
for (var _a = 0, tags_1 = tags; _a < tags_1.length; _a++) {
|
|
260
|
-
var tag = tags_1[_a];
|
|
261
|
-
console.log("\n => Tag: ".concat(tag));
|
|
262
|
-
var datafileContent = buildDatafile(projectConfig, datasource, {
|
|
263
|
-
schemaVersion: config_1.SCHEMA_VERSION,
|
|
264
|
-
revision: cliOptions.revision || pkg.version,
|
|
265
|
-
environment: environment,
|
|
266
|
-
tag: tag,
|
|
267
|
-
}, existingState);
|
|
268
|
-
// write datafile for environment/tag
|
|
269
|
-
var outputEnvironmentDirPath = path.join(projectConfig.outputDirectoryPath, environment);
|
|
270
|
-
mkdirp.sync(outputEnvironmentDirPath);
|
|
271
|
-
var outputFilePath = getDatafilePath(projectConfig, environment, tag);
|
|
272
|
-
fs.writeFileSync(outputFilePath, projectConfig.prettyDatafile
|
|
273
|
-
? JSON.stringify(datafileContent, null, 2)
|
|
274
|
-
: JSON.stringify(datafileContent));
|
|
275
|
-
var shortPath = outputFilePath.replace(rootDirectoryPath + path.sep, "");
|
|
276
|
-
console.log(" Datafile generated: ".concat(shortPath));
|
|
277
|
-
}
|
|
278
|
-
// write state for environment
|
|
279
|
-
if (!fs.existsSync(projectConfig.stateDirectoryPath)) {
|
|
280
|
-
mkdirp.sync(projectConfig.stateDirectoryPath);
|
|
281
|
-
}
|
|
282
|
-
fs.writeFileSync(existingStateFilePath, projectConfig.prettyState
|
|
283
|
-
? JSON.stringify(existingState, null, 2)
|
|
284
|
-
: JSON.stringify(existingState));
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
exports.buildProject = buildProject;
|
|
288
|
-
//# sourceMappingURL=builder.js.map
|
|
187
|
+
//# sourceMappingURL=buildDatafile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildDatafile.js","sourceRoot":"","sources":["../../src/builder/buildDatafile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { EnvironmentKey } from "@featurevisor/types";
|
|
2
|
+
import { ProjectConfig } from "../config";
|
|
3
|
+
export declare function getDatafilePath(projectConfig: ProjectConfig, environment: EnvironmentKey, tag: string): string;
|
|
4
|
+
export declare function getExistingStateFilePath(projectConfig: ProjectConfig, environment: EnvironmentKey): string;
|
|
5
|
+
export interface BuildCLIOptions {
|
|
6
|
+
revision?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function buildProject(rootDirectoryPath: any, projectConfig: ProjectConfig, cliOptions?: BuildCLIOptions): void;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildProject = exports.getExistingStateFilePath = exports.getDatafilePath = void 0;
|
|
4
|
+
var fs = require("fs");
|
|
5
|
+
var path = require("path");
|
|
6
|
+
var mkdirp = require("mkdirp");
|
|
7
|
+
var config_1 = require("../config");
|
|
8
|
+
var datasource_1 = require("../datasource");
|
|
9
|
+
var buildDatafile_1 = require("./buildDatafile");
|
|
10
|
+
function getDatafilePath(projectConfig, environment, tag) {
|
|
11
|
+
var fileName = "datafile-tag-".concat(tag, ".json");
|
|
12
|
+
return path.join(projectConfig.outputDirectoryPath, environment, fileName);
|
|
13
|
+
}
|
|
14
|
+
exports.getDatafilePath = getDatafilePath;
|
|
15
|
+
function getExistingStateFilePath(projectConfig, environment) {
|
|
16
|
+
return path.join(projectConfig.stateDirectoryPath, "existing-state-".concat(environment, ".json"));
|
|
17
|
+
}
|
|
18
|
+
exports.getExistingStateFilePath = getExistingStateFilePath;
|
|
19
|
+
function buildProject(rootDirectoryPath, projectConfig, cliOptions) {
|
|
20
|
+
if (cliOptions === void 0) { cliOptions = {}; }
|
|
21
|
+
var tags = projectConfig.tags;
|
|
22
|
+
var environments = projectConfig.environments;
|
|
23
|
+
var pkg = require(path.join(rootDirectoryPath, "package.json"));
|
|
24
|
+
var datasource = new datasource_1.Datasource(projectConfig);
|
|
25
|
+
for (var _i = 0, environments_1 = environments; _i < environments_1.length; _i++) {
|
|
26
|
+
var environment = environments_1[_i];
|
|
27
|
+
console.log("\nBuilding datafiles for environment: ".concat(environment));
|
|
28
|
+
var existingStateFilePath = getExistingStateFilePath(projectConfig, environment);
|
|
29
|
+
var existingState = fs.existsSync(existingStateFilePath)
|
|
30
|
+
? require(existingStateFilePath)
|
|
31
|
+
: {
|
|
32
|
+
features: {},
|
|
33
|
+
};
|
|
34
|
+
for (var _a = 0, tags_1 = tags; _a < tags_1.length; _a++) {
|
|
35
|
+
var tag = tags_1[_a];
|
|
36
|
+
console.log("\n => Tag: ".concat(tag));
|
|
37
|
+
var datafileContent = (0, buildDatafile_1.buildDatafile)(projectConfig, datasource, {
|
|
38
|
+
schemaVersion: config_1.SCHEMA_VERSION,
|
|
39
|
+
revision: cliOptions.revision || pkg.version,
|
|
40
|
+
environment: environment,
|
|
41
|
+
tag: tag,
|
|
42
|
+
}, existingState);
|
|
43
|
+
// write datafile for environment/tag
|
|
44
|
+
var outputEnvironmentDirPath = path.join(projectConfig.outputDirectoryPath, environment);
|
|
45
|
+
mkdirp.sync(outputEnvironmentDirPath);
|
|
46
|
+
var outputFilePath = getDatafilePath(projectConfig, environment, tag);
|
|
47
|
+
fs.writeFileSync(outputFilePath, projectConfig.prettyDatafile
|
|
48
|
+
? JSON.stringify(datafileContent, null, 2)
|
|
49
|
+
: JSON.stringify(datafileContent));
|
|
50
|
+
var shortPath = outputFilePath.replace(rootDirectoryPath + path.sep, "");
|
|
51
|
+
console.log(" Datafile generated: ".concat(shortPath));
|
|
52
|
+
}
|
|
53
|
+
// write state for environment
|
|
54
|
+
if (!fs.existsSync(projectConfig.stateDirectoryPath)) {
|
|
55
|
+
mkdirp.sync(projectConfig.stateDirectoryPath);
|
|
56
|
+
}
|
|
57
|
+
fs.writeFileSync(existingStateFilePath, projectConfig.prettyState
|
|
58
|
+
? JSON.stringify(existingState, null, 2)
|
|
59
|
+
: JSON.stringify(existingState));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.buildProject = buildProject;
|
|
63
|
+
//# sourceMappingURL=buildProject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildProject.js","sourceRoot":"","sources":["../../src/builder/buildProject.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FeatureKey, Range } from "@featurevisor/types";
|
|
2
|
+
import { ProjectConfig } from "../config";
|
|
3
|
+
import { Datasource } from "../datasource";
|
|
4
|
+
export type FeatureRanges = Map<FeatureKey, Range[]>;
|
|
5
|
+
export interface FeatureRangesResult {
|
|
6
|
+
featureRanges: FeatureRanges;
|
|
7
|
+
featureIsInGroup: {
|
|
8
|
+
[key: string]: boolean;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export declare function getFeatureRanges(projectConfig: ProjectConfig, datasource: Datasource): FeatureRangesResult;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.getFeatureRanges = void 0;
|
|
15
|
+
var fs = require("fs");
|
|
16
|
+
function getFeatureRanges(projectConfig, datasource) {
|
|
17
|
+
var featureRanges = new Map();
|
|
18
|
+
var featureIsInGroup = {}; // featureKey => boolean
|
|
19
|
+
var groups = [];
|
|
20
|
+
if (fs.existsSync(projectConfig.groupsDirectoryPath)) {
|
|
21
|
+
var groupFiles = datasource.listGroups();
|
|
22
|
+
var _loop_1 = function (groupKey) {
|
|
23
|
+
var parsedGroup = datasource.readGroup(groupKey);
|
|
24
|
+
groups.push(__assign(__assign({}, parsedGroup), { key: groupKey }));
|
|
25
|
+
var accumulatedPercentage = 0;
|
|
26
|
+
parsedGroup.slots.forEach(function (slot, slotIndex) {
|
|
27
|
+
var isFirstSlot = slotIndex === 0;
|
|
28
|
+
if (slot.feature) {
|
|
29
|
+
var featureKey = slot.feature;
|
|
30
|
+
if (typeof featureKey === "string") {
|
|
31
|
+
featureIsInGroup[featureKey] = true;
|
|
32
|
+
}
|
|
33
|
+
var featureRangesForFeature = featureRanges.get(featureKey) || [];
|
|
34
|
+
var start = isFirstSlot ? accumulatedPercentage : accumulatedPercentage + 1;
|
|
35
|
+
var end = accumulatedPercentage + slot.percentage * 1000;
|
|
36
|
+
featureRangesForFeature.push([start, end]);
|
|
37
|
+
featureRanges.set(slot.feature, featureRangesForFeature);
|
|
38
|
+
}
|
|
39
|
+
accumulatedPercentage += slot.percentage * 1000;
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
for (var _i = 0, groupFiles_1 = groupFiles; _i < groupFiles_1.length; _i++) {
|
|
43
|
+
var groupKey = groupFiles_1[_i];
|
|
44
|
+
_loop_1(groupKey);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return { featureRanges: featureRanges, featureIsInGroup: featureIsInGroup };
|
|
48
|
+
}
|
|
49
|
+
exports.getFeatureRanges = getFeatureRanges;
|
|
50
|
+
//# sourceMappingURL=getFeatureRanges.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFeatureRanges.js","sourceRoot":"","sources":["../../src/builder/getFeatureRanges.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uBAAyB;AAczB,SAAgB,gBAAgB,CAC9B,aAA4B,EAC5B,UAAsB;IAEtB,IAAM,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;IACrD,IAAM,gBAAgB,GAAG,EAAE,CAAC,CAAC,wBAAwB;IAErD,IAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE;QACpD,IAAM,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;gCAEhC,QAAQ;YACjB,IAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEnD,MAAM,CAAC,IAAI,uBACN,WAAW,KACd,GAAG,EAAE,QAAQ,IACb,CAAC;YAEH,IAAI,qBAAqB,GAAG,CAAC,CAAC;YAC9B,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,SAAS;gBACjD,IAAM,WAAW,GAAG,SAAS,KAAK,CAAC,CAAC;gBAEpC,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,IAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;oBAEhC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;wBAClC,gBAAgB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;qBACrC;oBAED,IAAM,uBAAuB,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;oBAEpE,IAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,GAAG,CAAC,CAAC;oBAC9E,IAAM,GAAG,GAAG,qBAAqB,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBAE3D,uBAAuB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;oBAE3C,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;iBAC1D;gBAED,qBAAqB,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAClD,CAAC,CAAC,CAAC;;QA9BL,KAAuB,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU;YAA5B,IAAM,QAAQ,mBAAA;oBAAR,QAAQ;SA+BlB;KACF;IAED,OAAO,EAAE,aAAa,eAAA,EAAE,gBAAgB,kBAAA,EAAE,CAAC;AAC7C,CAAC;AA9CD,4CA8CC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./buildDatafile"), exports);
|
|
18
|
+
__exportStar(require("./buildProject"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/builder/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,iDAA+B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traffic.js","sourceRoot":"","sources":["../../src/builder/traffic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traffic.spec.js","sourceRoot":"","sources":["../../src/builder/traffic.spec.ts"],"names":[],"mappings":"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"}
|