@featurevisor/core 1.10.0 → 1.11.1
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 +22 -0
- package/coverage/clover.xml +33 -5
- package/coverage/coverage-final.json +2 -0
- package/coverage/lcov-report/index.html +26 -26
- package/coverage/lcov-report/lib/builder/allocator.js.html +1 -1
- package/coverage/lcov-report/lib/builder/index.html +23 -8
- package/coverage/lcov-report/lib/builder/revision.js.html +151 -0
- package/coverage/lcov-report/lib/builder/traffic.js.html +1 -1
- package/coverage/lcov-report/lib/tester/checkIfObjectsAreEqual.js.html +1 -1
- package/coverage/lcov-report/lib/tester/index.html +1 -1
- package/coverage/lcov-report/lib/tester/matrix.js.html +1 -1
- package/coverage/lcov-report/src/builder/allocator.ts.html +1 -1
- package/coverage/lcov-report/src/builder/index.html +23 -8
- package/coverage/lcov-report/src/builder/revision.ts.html +151 -0
- package/coverage/lcov-report/src/builder/traffic.ts.html +1 -1
- package/coverage/lcov-report/src/tester/checkIfObjectsAreEqual.ts.html +1 -1
- package/coverage/lcov-report/src/tester/index.html +1 -1
- package/coverage/lcov-report/src/tester/matrix.ts.html +1 -1
- package/coverage/lcov.info +57 -0
- package/lib/builder/buildProject.js +34 -23
- package/lib/builder/buildProject.js.map +1 -1
- package/lib/builder/revision.d.ts +1 -0
- package/lib/builder/revision.js +23 -0
- package/lib/builder/revision.js.map +1 -0
- package/lib/builder/revision.spec.d.ts +1 -0
- package/lib/builder/revision.spec.js +21 -0
- package/lib/builder/revision.spec.js.map +1 -0
- package/lib/datasource/adapter.d.ts +2 -0
- package/lib/datasource/adapter.js.map +1 -1
- package/lib/datasource/datasource.d.ts +5 -0
- package/lib/datasource/datasource.js +9 -0
- package/lib/datasource/datasource.js.map +1 -1
- package/lib/datasource/filesystemAdapter.d.ts +6 -0
- package/lib/datasource/filesystemAdapter.js +45 -1
- package/lib/datasource/filesystemAdapter.js.map +1 -1
- package/lib/tester/testSegment.js +3 -2
- package/lib/tester/testSegment.js.map +1 -1
- package/package.json +3 -3
- package/src/builder/buildProject.ts +13 -5
- package/src/builder/revision.spec.ts +22 -0
- package/src/builder/revision.ts +22 -0
- package/src/datasource/adapter.ts +4 -0
- package/src/datasource/datasource.ts +11 -0
- package/src/datasource/filesystemAdapter.ts +39 -0
- package/src/tester/testSegment.ts +3 -2
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for lib/builder/revision.js</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
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
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../../index.html">All files</a> / <a href="index.html">lib/builder</a> revision.js</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">91.66% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>11/12</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">87.5% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>7/8</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>1/1</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">91.66% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>11/12</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
89
|
+
<span class="cline-any cline-yes">1x</span>
|
|
90
|
+
<span class="cline-any cline-yes">1x</span>
|
|
91
|
+
<span class="cline-any cline-neutral"> </span>
|
|
92
|
+
<span class="cline-any cline-neutral"> </span>
|
|
93
|
+
<span class="cline-any cline-yes">7x</span>
|
|
94
|
+
<span class="cline-any cline-yes">2x</span>
|
|
95
|
+
<span class="cline-any cline-neutral"> </span>
|
|
96
|
+
<span class="cline-any cline-neutral"> </span>
|
|
97
|
+
<span class="cline-any cline-yes">5x</span>
|
|
98
|
+
<span class="cline-any cline-yes">2x</span>
|
|
99
|
+
<span class="cline-any cline-neutral"> </span>
|
|
100
|
+
<span class="cline-any cline-neutral"> </span>
|
|
101
|
+
<span class="cline-any cline-yes">3x</span>
|
|
102
|
+
<span class="cline-any cline-yes">3x</span>
|
|
103
|
+
<span class="cline-any cline-yes">3x</span>
|
|
104
|
+
<span class="cline-any cline-yes">3x</span>
|
|
105
|
+
<span class="cline-any cline-neutral"> </span>
|
|
106
|
+
<span class="cline-any cline-neutral"> </span>
|
|
107
|
+
<span class="cline-any cline-no"> </span>
|
|
108
|
+
<span class="cline-any cline-neutral"> </span>
|
|
109
|
+
<span class="cline-any cline-yes">1x</span>
|
|
110
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">"use strict";
|
|
111
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
112
|
+
exports.getNextRevision = void 0;
|
|
113
|
+
function getNextRevision(currentRevision) {
|
|
114
|
+
// If the string is empty or can't be parsed with parseInt(), return "1".
|
|
115
|
+
if (!currentRevision || isNaN(parseInt(currentRevision, 10))) {
|
|
116
|
+
return "1";
|
|
117
|
+
}
|
|
118
|
+
// If the string is like an integer, increment it by 1 and return the value.
|
|
119
|
+
if (currentRevision.indexOf(".") === -1) {
|
|
120
|
+
return (parseInt(currentRevision, 10) + 1).toString();
|
|
121
|
+
}
|
|
122
|
+
// If the string is a semver, parse the patch version out of it, increment it by one and return it.
|
|
123
|
+
var parts = currentRevision.split(".");
|
|
124
|
+
var lastPart = parseInt(parts[parts.length - 1], 10);
|
|
125
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (!isNaN(lastPart)) {
|
|
126
|
+
return (lastPart + 1).toString();
|
|
127
|
+
}
|
|
128
|
+
// If the string can't be parsed as a semver, return "1".
|
|
129
|
+
<span class="cstat-no" title="statement not covered" > return "1";</span>
|
|
130
|
+
}
|
|
131
|
+
exports.getNextRevision = getNextRevision;
|
|
132
|
+
//# sourceMappingURL=revision.js.map</pre></td></tr></table></pre>
|
|
133
|
+
|
|
134
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
135
|
+
</div><!-- /wrapper -->
|
|
136
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
137
|
+
Code coverage generated by
|
|
138
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
139
|
+
at 2024-03-14T17:04:53.098Z
|
|
140
|
+
</div>
|
|
141
|
+
<script src="../../prettify.js"></script>
|
|
142
|
+
<script>
|
|
143
|
+
window.onload = function () {
|
|
144
|
+
prettyPrint();
|
|
145
|
+
};
|
|
146
|
+
</script>
|
|
147
|
+
<script src="../../sorter.js"></script>
|
|
148
|
+
<script src="../../block-navigation.js"></script>
|
|
149
|
+
</body>
|
|
150
|
+
</html>
|
|
151
|
+
|
|
@@ -460,7 +460,7 @@ exports.getTraffic = getTraffic;
|
|
|
460
460
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
461
461
|
Code coverage generated by
|
|
462
462
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
463
|
-
at 2024-03-
|
|
463
|
+
at 2024-03-14T17:04:53.098Z
|
|
464
464
|
</div>
|
|
465
465
|
<script src="../../prettify.js"></script>
|
|
466
466
|
<script>
|
|
@@ -139,7 +139,7 @@ exports.checkIfObjectsAreEqual = checkIfObjectsAreEqual;
|
|
|
139
139
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
140
140
|
Code coverage generated by
|
|
141
141
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
142
|
-
at 2024-03-
|
|
142
|
+
at 2024-03-14T17:04:53.098Z
|
|
143
143
|
</div>
|
|
144
144
|
<script src="../../prettify.js"></script>
|
|
145
145
|
<script>
|
|
@@ -116,7 +116,7 @@
|
|
|
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 2024-03-
|
|
119
|
+
at 2024-03-14T17:04:53.098Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -472,7 +472,7 @@ exports.getSegmentAssertionsFromMatrix = getSegmentAssertionsFromMatrix;
|
|
|
472
472
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
473
473
|
Code coverage generated by
|
|
474
474
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
475
|
-
at 2024-03-
|
|
475
|
+
at 2024-03-14T17:04:53.098Z
|
|
476
476
|
</div>
|
|
477
477
|
<script src="../../prettify.js"></script>
|
|
478
478
|
<script>
|
|
@@ -193,7 +193,7 @@ 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 2024-03-
|
|
196
|
+
at 2024-03-14T17:04:53.098Z
|
|
197
197
|
</div>
|
|
198
198
|
<script src="../../prettify.js"></script>
|
|
199
199
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">93.75% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>90/96</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">84.78% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>39/46</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>15/15</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">93.68% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>89/95</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -93,6 +93,21 @@
|
|
|
93
93
|
<td data-value="25" class="abs high">25/25</td>
|
|
94
94
|
</tr>
|
|
95
95
|
|
|
96
|
+
<tr>
|
|
97
|
+
<td class="file high" data-value="revision.ts"><a href="revision.ts.html">revision.ts</a></td>
|
|
98
|
+
<td data-value="90" class="pic high">
|
|
99
|
+
<div class="chart"><div class="cover-fill" style="width: 90%"></div><div class="cover-empty" style="width: 10%"></div></div>
|
|
100
|
+
</td>
|
|
101
|
+
<td data-value="90" class="pct high">90%</td>
|
|
102
|
+
<td data-value="10" class="abs high">9/10</td>
|
|
103
|
+
<td data-value="100" class="pct high">100%</td>
|
|
104
|
+
<td data-value="5" class="abs high">5/5</td>
|
|
105
|
+
<td data-value="100" class="pct high">100%</td>
|
|
106
|
+
<td data-value="1" class="abs high">1/1</td>
|
|
107
|
+
<td data-value="90" class="pct high">90%</td>
|
|
108
|
+
<td data-value="10" class="abs high">9/10</td>
|
|
109
|
+
</tr>
|
|
110
|
+
|
|
96
111
|
<tr>
|
|
97
112
|
<td class="file high" data-value="traffic.ts"><a href="traffic.ts.html">traffic.ts</a></td>
|
|
98
113
|
<td data-value="91.8" class="pic high">
|
|
@@ -116,7 +131,7 @@
|
|
|
116
131
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
132
|
Code coverage generated by
|
|
118
133
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at 2024-03-
|
|
134
|
+
at 2024-03-14T17:04:53.098Z
|
|
120
135
|
</div>
|
|
121
136
|
<script src="../../prettify.js"></script>
|
|
122
137
|
<script>
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/builder/revision.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
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
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../../index.html">All files</a> / <a href="index.html">src/builder</a> revision.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">90% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>9/10</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>5/5</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>1/1</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">90% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>9/10</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
89
|
+
<span class="cline-any cline-neutral"> </span>
|
|
90
|
+
<span class="cline-any cline-yes">7x</span>
|
|
91
|
+
<span class="cline-any cline-yes">2x</span>
|
|
92
|
+
<span class="cline-any cline-neutral"> </span>
|
|
93
|
+
<span class="cline-any cline-neutral"> </span>
|
|
94
|
+
<span class="cline-any cline-neutral"> </span>
|
|
95
|
+
<span class="cline-any cline-yes">5x</span>
|
|
96
|
+
<span class="cline-any cline-yes">2x</span>
|
|
97
|
+
<span class="cline-any cline-neutral"> </span>
|
|
98
|
+
<span class="cline-any cline-neutral"> </span>
|
|
99
|
+
<span class="cline-any cline-neutral"> </span>
|
|
100
|
+
<span class="cline-any cline-yes">3x</span>
|
|
101
|
+
<span class="cline-any cline-yes">3x</span>
|
|
102
|
+
<span class="cline-any cline-neutral"> </span>
|
|
103
|
+
<span class="cline-any cline-yes">3x</span>
|
|
104
|
+
<span class="cline-any cline-yes">3x</span>
|
|
105
|
+
<span class="cline-any cline-neutral"> </span>
|
|
106
|
+
<span class="cline-any cline-neutral"> </span>
|
|
107
|
+
<span class="cline-any cline-neutral"> </span>
|
|
108
|
+
<span class="cline-any cline-no"> </span>
|
|
109
|
+
<span class="cline-any cline-neutral"> </span>
|
|
110
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">export function getNextRevision(currentRevision: string) {
|
|
111
|
+
// If the string is empty or can't be parsed with parseInt(), return "1".
|
|
112
|
+
if (!currentRevision || isNaN(parseInt(currentRevision, 10))) {
|
|
113
|
+
return "1";
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// If the string is like an integer, increment it by 1 and return the value.
|
|
117
|
+
if (currentRevision.indexOf(".") === -1) {
|
|
118
|
+
return (parseInt(currentRevision, 10) + 1).toString();
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// If the string is a semver, parse the patch version out of it, increment it by one and return it.
|
|
122
|
+
const parts = currentRevision.split(".");
|
|
123
|
+
const lastPart = parseInt(parts[parts.length - 1], 10);
|
|
124
|
+
|
|
125
|
+
if (!isNaN(lastPart)) {
|
|
126
|
+
return (lastPart + 1).toString();
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// If the string can't be parsed as a semver, return "1".
|
|
130
|
+
<span class="cstat-no" title="statement not covered" > return "1";</span>
|
|
131
|
+
}
|
|
132
|
+
</pre></td></tr></table></pre>
|
|
133
|
+
|
|
134
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
135
|
+
</div><!-- /wrapper -->
|
|
136
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
137
|
+
Code coverage generated by
|
|
138
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
139
|
+
at 2024-03-14T17:04:53.098Z
|
|
140
|
+
</div>
|
|
141
|
+
<script src="../../prettify.js"></script>
|
|
142
|
+
<script>
|
|
143
|
+
window.onload = function () {
|
|
144
|
+
prettyPrint();
|
|
145
|
+
};
|
|
146
|
+
</script>
|
|
147
|
+
<script src="../../sorter.js"></script>
|
|
148
|
+
<script src="../../block-navigation.js"></script>
|
|
149
|
+
</body>
|
|
150
|
+
</html>
|
|
151
|
+
|
|
@@ -574,7 +574,7 @@ export function getTraffic(
|
|
|
574
574
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
575
575
|
Code coverage generated by
|
|
576
576
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
577
|
-
at 2024-03-
|
|
577
|
+
at 2024-03-14T17:04:53.098Z
|
|
578
578
|
</div>
|
|
579
579
|
<script src="../../prettify.js"></script>
|
|
580
580
|
<script>
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
143
143
|
Code coverage generated by
|
|
144
144
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
145
|
-
at 2024-03-
|
|
145
|
+
at 2024-03-14T17:04:53.098Z
|
|
146
146
|
</div>
|
|
147
147
|
<script src="../../prettify.js"></script>
|
|
148
148
|
<script>
|
|
@@ -116,7 +116,7 @@
|
|
|
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 2024-03-
|
|
119
|
+
at 2024-03-14T17:04:53.098Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -625,7 +625,7 @@ export function <span class="fstat-no" title="function not covered" >getSegmentA
|
|
|
625
625
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
626
626
|
Code coverage generated by
|
|
627
627
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
628
|
-
at 2024-03-
|
|
628
|
+
at 2024-03-14T17:04:53.098Z
|
|
629
629
|
</div>
|
|
630
630
|
<script src="../../prettify.js"></script>
|
|
631
631
|
<script>
|
package/coverage/lcov.info
CHANGED
|
@@ -45,6 +45,37 @@ BRF:6
|
|
|
45
45
|
BRH:6
|
|
46
46
|
end_of_record
|
|
47
47
|
TN:
|
|
48
|
+
SF:lib/builder/revision.js
|
|
49
|
+
FN:4,getNextRevision
|
|
50
|
+
FNF:1
|
|
51
|
+
FNH:1
|
|
52
|
+
FNDA:7,getNextRevision
|
|
53
|
+
DA:2,1
|
|
54
|
+
DA:3,1
|
|
55
|
+
DA:6,7
|
|
56
|
+
DA:7,2
|
|
57
|
+
DA:10,5
|
|
58
|
+
DA:11,2
|
|
59
|
+
DA:14,3
|
|
60
|
+
DA:15,3
|
|
61
|
+
DA:16,3
|
|
62
|
+
DA:17,3
|
|
63
|
+
DA:20,0
|
|
64
|
+
DA:22,1
|
|
65
|
+
LF:12
|
|
66
|
+
LH:11
|
|
67
|
+
BRDA:6,0,0,2
|
|
68
|
+
BRDA:6,0,1,5
|
|
69
|
+
BRDA:6,1,0,7
|
|
70
|
+
BRDA:6,1,1,6
|
|
71
|
+
BRDA:10,2,0,2
|
|
72
|
+
BRDA:10,2,1,3
|
|
73
|
+
BRDA:16,3,0,3
|
|
74
|
+
BRDA:16,3,1,0
|
|
75
|
+
BRF:8
|
|
76
|
+
BRH:7
|
|
77
|
+
end_of_record
|
|
78
|
+
TN:
|
|
48
79
|
SF:lib/builder/traffic.js
|
|
49
80
|
FN:6,detectIfVariationsChanged
|
|
50
81
|
FN:18,(anonymous_1)
|
|
@@ -425,6 +456,32 @@ BRF:5
|
|
|
425
456
|
BRH:5
|
|
426
457
|
end_of_record
|
|
427
458
|
TN:
|
|
459
|
+
SF:src/builder/revision.ts
|
|
460
|
+
FN:1,getNextRevision
|
|
461
|
+
FNF:1
|
|
462
|
+
FNH:1
|
|
463
|
+
FNDA:7,getNextRevision
|
|
464
|
+
DA:1,1
|
|
465
|
+
DA:3,7
|
|
466
|
+
DA:4,2
|
|
467
|
+
DA:8,5
|
|
468
|
+
DA:9,2
|
|
469
|
+
DA:13,3
|
|
470
|
+
DA:14,3
|
|
471
|
+
DA:16,3
|
|
472
|
+
DA:17,3
|
|
473
|
+
DA:21,0
|
|
474
|
+
LF:10
|
|
475
|
+
LH:9
|
|
476
|
+
BRDA:3,0,0,2
|
|
477
|
+
BRDA:3,1,0,7
|
|
478
|
+
BRDA:3,1,1,6
|
|
479
|
+
BRDA:8,2,0,2
|
|
480
|
+
BRDA:16,3,0,3
|
|
481
|
+
BRF:5
|
|
482
|
+
BRH:5
|
|
483
|
+
end_of_record
|
|
484
|
+
TN:
|
|
428
485
|
SF:src/builder/traffic.ts
|
|
429
486
|
FN:6,detectIfVariationsChanged
|
|
430
487
|
FN:22,(anonymous_1)
|
|
@@ -37,17 +37,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.buildProject = void 0;
|
|
40
|
-
var path = require("path");
|
|
41
40
|
var config_1 = require("../config");
|
|
41
|
+
var revision_1 = require("./revision");
|
|
42
42
|
var buildDatafile_1 = require("./buildDatafile");
|
|
43
43
|
function buildProject(deps, cliOptions) {
|
|
44
44
|
if (cliOptions === void 0) { cliOptions = {}; }
|
|
45
45
|
return __awaiter(this, void 0, void 0, function () {
|
|
46
|
-
var
|
|
46
|
+
var projectConfig, datasource, datafileContent, tags, environments, currentRevision, nextRevision, _i, environments_1, environment, existingState, _a, tags_1, tag, datafileContent;
|
|
47
47
|
return __generator(this, function (_b) {
|
|
48
48
|
switch (_b.label) {
|
|
49
49
|
case 0:
|
|
50
|
-
|
|
50
|
+
projectConfig = deps.projectConfig, datasource = deps.datasource;
|
|
51
51
|
if (!(cliOptions.environment && cliOptions.print)) return [3 /*break*/, 2];
|
|
52
52
|
return [4 /*yield*/, (0, buildDatafile_1.getCustomDatafile)({
|
|
53
53
|
featureKey: cliOptions.feature,
|
|
@@ -68,53 +68,64 @@ function buildProject(deps, cliOptions) {
|
|
|
68
68
|
case 2:
|
|
69
69
|
tags = projectConfig.tags;
|
|
70
70
|
environments = projectConfig.environments;
|
|
71
|
-
|
|
72
|
-
_i = 0, environments_1 = environments;
|
|
73
|
-
_b.label = 3;
|
|
71
|
+
return [4 /*yield*/, datasource.readRevision()];
|
|
74
72
|
case 3:
|
|
75
|
-
|
|
73
|
+
currentRevision = _b.sent();
|
|
74
|
+
console.log("\nCurrent revision:", currentRevision);
|
|
75
|
+
nextRevision = (cliOptions.revision && cliOptions.revision.toString()) || (0, revision_1.getNextRevision)(currentRevision);
|
|
76
|
+
_i = 0, environments_1 = environments;
|
|
77
|
+
_b.label = 4;
|
|
78
|
+
case 4:
|
|
79
|
+
if (!(_i < environments_1.length)) return [3 /*break*/, 14];
|
|
76
80
|
environment = environments_1[_i];
|
|
77
81
|
console.log("\nBuilding datafiles for environment: ".concat(environment));
|
|
78
82
|
return [4 /*yield*/, datasource.readState(environment)];
|
|
79
|
-
case
|
|
83
|
+
case 5:
|
|
80
84
|
existingState = _b.sent();
|
|
81
85
|
_a = 0, tags_1 = tags;
|
|
82
|
-
_b.label =
|
|
83
|
-
case
|
|
84
|
-
if (!(_a < tags_1.length)) return [3 /*break*/,
|
|
86
|
+
_b.label = 6;
|
|
87
|
+
case 6:
|
|
88
|
+
if (!(_a < tags_1.length)) return [3 /*break*/, 10];
|
|
85
89
|
tag = tags_1[_a];
|
|
86
90
|
console.log("\n => Tag: ".concat(tag));
|
|
87
91
|
return [4 /*yield*/, (0, buildDatafile_1.buildDatafile)(projectConfig, datasource, {
|
|
88
92
|
schemaVersion: config_1.SCHEMA_VERSION,
|
|
89
|
-
revision:
|
|
93
|
+
revision: nextRevision,
|
|
90
94
|
environment: environment,
|
|
91
95
|
tag: tag,
|
|
92
96
|
}, existingState)];
|
|
93
|
-
case
|
|
97
|
+
case 7:
|
|
94
98
|
datafileContent = _b.sent();
|
|
95
99
|
// write datafile for environment/tag
|
|
96
100
|
return [4 /*yield*/, datasource.writeDatafile(datafileContent, {
|
|
97
101
|
environment: environment,
|
|
98
102
|
tag: tag,
|
|
99
103
|
})];
|
|
100
|
-
case
|
|
104
|
+
case 8:
|
|
101
105
|
// write datafile for environment/tag
|
|
102
106
|
_b.sent();
|
|
103
|
-
_b.label =
|
|
104
|
-
case
|
|
107
|
+
_b.label = 9;
|
|
108
|
+
case 9:
|
|
105
109
|
_a++;
|
|
106
|
-
return [3 /*break*/,
|
|
107
|
-
case
|
|
110
|
+
return [3 /*break*/, 6];
|
|
111
|
+
case 10:
|
|
108
112
|
// write state for environment
|
|
109
113
|
return [4 /*yield*/, datasource.writeState(environment, existingState)];
|
|
110
|
-
case
|
|
114
|
+
case 11:
|
|
111
115
|
// write state for environment
|
|
112
116
|
_b.sent();
|
|
113
|
-
|
|
114
|
-
|
|
117
|
+
// write revision
|
|
118
|
+
return [4 /*yield*/, datasource.writeRevision(nextRevision)];
|
|
119
|
+
case 12:
|
|
120
|
+
// write revision
|
|
121
|
+
_b.sent();
|
|
122
|
+
_b.label = 13;
|
|
123
|
+
case 13:
|
|
115
124
|
_i++;
|
|
116
|
-
return [3 /*break*/,
|
|
117
|
-
case
|
|
125
|
+
return [3 /*break*/, 4];
|
|
126
|
+
case 14:
|
|
127
|
+
console.log("\nLatest revision:", nextRevision);
|
|
128
|
+
return [2 /*return*/];
|
|
118
129
|
}
|
|
119
130
|
});
|
|
120
131
|
});
|