@featurevisor/core 2.7.0 → 2.9.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.
Files changed (78) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/coverage/clover.xml +110 -443
  3. package/coverage/coverage-final.json +3 -9
  4. package/coverage/lcov-report/{src/builder → builder}/allocator.ts.html +10 -10
  5. package/coverage/lcov-report/{src/builder → builder}/buildScopedConditions.ts.html +10 -10
  6. package/coverage/lcov-report/{src/builder → builder}/buildScopedDatafile.ts.html +10 -10
  7. package/coverage/lcov-report/{src/builder → builder}/buildScopedSegments.ts.html +10 -10
  8. package/coverage/lcov-report/{src/builder → builder}/index.html +10 -10
  9. package/coverage/lcov-report/{src/builder → builder}/revision.ts.html +10 -10
  10. package/coverage/lcov-report/{src/builder → builder}/traffic.ts.html +10 -10
  11. package/coverage/lcov-report/index.html +27 -57
  12. package/coverage/lcov-report/{src/list → list}/index.html +10 -10
  13. package/coverage/lcov-report/{src/list → list}/matrix.ts.html +10 -10
  14. package/coverage/lcov-report/{lib/tester → parsers}/index.html +41 -26
  15. package/coverage/lcov-report/parsers/json.ts.html +118 -0
  16. package/coverage/lcov-report/parsers/yml.ts.html +589 -0
  17. package/coverage/lcov-report/{src/tester → tester}/helpers.ts.html +10 -10
  18. package/coverage/lcov-report/{src/tester → tester}/index.html +10 -10
  19. package/coverage/lcov.info +198 -858
  20. package/jest.config.js +1 -0
  21. package/lib/config/index.d.ts +0 -1
  22. package/lib/config/index.js +0 -1
  23. package/lib/config/index.js.map +1 -1
  24. package/lib/config/projectConfig.d.ts +1 -1
  25. package/lib/config/projectConfig.js +1 -1
  26. package/lib/config/projectConfig.js.map +1 -1
  27. package/lib/datasource/datasource.js.map +1 -1
  28. package/lib/datasource/filesystemAdapter.js +1 -1
  29. package/lib/datasource/filesystemAdapter.js.map +1 -1
  30. package/lib/index.d.ts +1 -0
  31. package/lib/index.js +1 -0
  32. package/lib/index.js.map +1 -1
  33. package/lib/linter/conditionSchema.js +45 -6
  34. package/lib/linter/conditionSchema.js.map +1 -1
  35. package/lib/linter/featureSchema.d.ts +88 -88
  36. package/lib/{config/parsers.d.ts → parsers/index.d.ts} +5 -5
  37. package/lib/parsers/index.js +15 -0
  38. package/lib/parsers/index.js.map +1 -0
  39. package/lib/parsers/json.d.ts +2 -0
  40. package/lib/parsers/json.js +13 -0
  41. package/lib/parsers/json.js.map +1 -0
  42. package/lib/parsers/json.spec.d.ts +1 -0
  43. package/lib/parsers/json.spec.js +35 -0
  44. package/lib/parsers/json.spec.js.map +1 -0
  45. package/lib/parsers/yml.d.ts +2 -0
  46. package/lib/parsers/yml.js +154 -0
  47. package/lib/parsers/yml.js.map +1 -0
  48. package/lib/parsers/yml.spec.d.ts +1 -0
  49. package/lib/parsers/yml.spec.js +143 -0
  50. package/lib/parsers/yml.spec.js.map +1 -0
  51. package/lib/utils/git.js.map +1 -1
  52. package/package.json +4 -8
  53. package/src/config/index.ts +0 -1
  54. package/src/config/projectConfig.ts +1 -1
  55. package/src/datasource/datasource.ts +2 -1
  56. package/src/datasource/filesystemAdapter.ts +3 -2
  57. package/src/index.ts +1 -0
  58. package/src/linter/conditionSchema.ts +43 -6
  59. package/src/parsers/index.ts +22 -0
  60. package/src/parsers/json.spec.ts +36 -0
  61. package/src/parsers/json.ts +11 -0
  62. package/src/parsers/yml.spec.ts +174 -0
  63. package/src/parsers/yml.ts +168 -0
  64. package/src/utils/git.ts +2 -1
  65. package/tsconfig.cjs.json +2 -1
  66. package/coverage/lcov-report/lib/builder/allocator.js.html +0 -196
  67. package/coverage/lcov-report/lib/builder/buildScopedConditions.js.html +0 -373
  68. package/coverage/lcov-report/lib/builder/buildScopedDatafile.js.html +0 -403
  69. package/coverage/lcov-report/lib/builder/buildScopedSegments.js.html +0 -379
  70. package/coverage/lcov-report/lib/builder/index.html +0 -191
  71. package/coverage/lcov-report/lib/builder/revision.js.html +0 -148
  72. package/coverage/lcov-report/lib/builder/traffic.js.html +0 -493
  73. package/coverage/lcov-report/lib/list/index.html +0 -116
  74. package/coverage/lcov-report/lib/list/matrix.js.html +0 -532
  75. package/coverage/lcov-report/lib/tester/helpers.js.html +0 -295
  76. package/lib/config/parsers.js +0 -32
  77. package/lib/config/parsers.js.map +0 -1
  78. package/src/config/parsers.ts +0 -40
package/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.9.0](https://github.com/featurevisor/featurevisor/compare/v2.8.0...v2.9.0) (2026-02-08)
7
+
8
+
9
+ ### Features
10
+
11
+ * upgrade tar for init ([#386](https://github.com/featurevisor/featurevisor/issues/386)) ([a35db5f](https://github.com/featurevisor/featurevisor/commit/a35db5fefdbd543771263c7fff6d4f8b06b86119))
12
+
13
+
14
+
15
+
16
+
17
+ # [2.8.0](https://github.com/featurevisor/featurevisor/compare/v2.7.0...v2.8.0) (2026-02-08)
18
+
19
+
20
+ ### Features
21
+
22
+ * YAML parser to preserve comments and ordering when writing ([#385](https://github.com/featurevisor/featurevisor/issues/385)) ([01daaec](https://github.com/featurevisor/featurevisor/commit/01daaec7a7e872c528b30a886a92894a6adbfac3))
23
+
24
+
25
+
26
+
27
+
6
28
  # [2.7.0](https://github.com/featurevisor/featurevisor/compare/v2.6.7...v2.7.0) (2026-02-05)
7
29
 
8
30
 
@@ -1,445 +1,8 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1770332200832" clover="3.2.0">
3
- <project timestamp="1770332200832" name="All files">
4
- <metrics statements="806" coveredstatements="654" conditionals="437" coveredconditionals="334" methods="116" coveredmethods="100" elements="1359" coveredelements="1088" complexity="0" loc="806" ncloc="806" packages="6" files="16" classes="16"/>
5
- <package name="lib.builder">
6
- <metrics statements="276" coveredstatements="268" conditionals="173" coveredconditionals="151" methods="46" coveredmethods="46"/>
7
- <file name="allocator.js" path="/home/runner/work/featurevisor/featurevisor/packages/core/lib/builder/allocator.js">
8
- <metrics statements="28" coveredstatements="28" conditionals="8" coveredconditionals="8" methods="2" coveredmethods="2"/>
9
- <line num="2" count="2" type="stmt"/>
10
- <line num="3" count="2" type="stmt"/>
11
- <line num="4" count="2" type="stmt"/>
12
- <line num="6" count="37" type="stmt"/>
13
- <line num="7" count="37" type="stmt"/>
14
- <line num="8" count="37" type="stmt"/>
15
- <line num="9" count="37" type="cond" truecount="2" falsecount="0"/>
16
- <line num="10" count="39" type="stmt"/>
17
- <line num="11" count="39" type="stmt"/>
18
- <line num="12" count="39" type="stmt"/>
19
- <line num="13" count="39" type="stmt"/>
20
- <line num="14" count="39" type="stmt"/>
21
- <line num="15" count="39" type="stmt"/>
22
- <line num="17" count="37" type="stmt"/>
23
- <line num="20" count="38" type="cond" truecount="2" falsecount="0"/>
24
- <line num="21" count="4" type="stmt"/>
25
- <line num="23" count="34" type="stmt"/>
26
- <line num="24" count="34" type="stmt"/>
27
- <line num="25" count="34" type="stmt"/>
28
- <line num="26" count="34" type="cond" truecount="2" falsecount="0"/>
29
- <line num="27" count="40" type="stmt"/>
30
- <line num="28" count="40" type="stmt"/>
31
- <line num="29" count="40" type="stmt"/>
32
- <line num="30" count="40" type="cond" truecount="2" falsecount="0"/>
33
- <line num="31" count="27" type="stmt"/>
34
- <line num="33" count="40" type="stmt"/>
35
- <line num="34" count="40" type="stmt"/>
36
- <line num="36" count="34" type="stmt"/>
37
- </file>
38
- <file name="buildScopedConditions.js" path="/home/runner/work/featurevisor/featurevisor/packages/core/lib/builder/buildScopedConditions.js">
39
- <metrics statements="54" coveredstatements="54" conditionals="36" coveredconditionals="34" methods="15" coveredmethods="15"/>
40
- <line num="2" count="2" type="stmt"/>
41
- <line num="3" count="2" type="stmt"/>
42
- <line num="4" count="2" type="stmt"/>
43
- <line num="5" count="2" type="stmt"/>
44
- <line num="7" count="121" type="stmt"/>
45
- <line num="8" count="121" type="stmt"/>
46
- <line num="9" count="121" type="stmt"/>
47
- <line num="12" count="453" type="cond" truecount="2" falsecount="0"/>
48
- <line num="13" count="201" type="stmt"/>
49
- <line num="15" count="252" type="cond" truecount="2" falsecount="0"/>
50
- <line num="17" count="109" type="stmt"/>
51
- <line num="19" count="109" type="stmt"/>
52
- <line num="21" count="90" type="cond" truecount="2" falsecount="0"/>
53
- <line num="22" count="57" type="stmt"/>
54
- <line num="24" count="33" type="stmt"/>
55
- <line num="26" count="162" type="cond" truecount="1" falsecount="1"/>
56
- <line num="27" count="162" type="cond" truecount="2" falsecount="0"/>
57
- <line num="28" count="97" type="stmt"/>
58
- <line num="29" count="97" type="stmt"/>
59
- <line num="31" count="38" type="cond" truecount="2" falsecount="0"/>
60
- <line num="32" count="18" type="stmt"/>
61
- <line num="34" count="20" type="stmt"/>
62
- <line num="38" count="124" type="cond" truecount="2" falsecount="0"/>
63
- <line num="39" count="69" type="stmt"/>
64
- <line num="40" count="69" type="stmt"/>
65
- <line num="42" count="28" type="cond" truecount="2" falsecount="0"/>
66
- <line num="43" count="5" type="stmt"/>
67
- <line num="45" count="23" type="stmt"/>
68
- <line num="49" count="96" type="cond" truecount="2" falsecount="0"/>
69
- <line num="50" count="30" type="stmt"/>
70
- <line num="51" count="30" type="stmt"/>
71
- <line num="53" count="13" type="cond" truecount="2" falsecount="0"/>
72
- <line num="54" count="7" type="stmt"/>
73
- <line num="56" count="6" type="stmt"/>
74
- <line num="61" count="83" type="stmt"/>
75
- <line num="64" count="395" type="cond" truecount="2" falsecount="0"/>
76
- <line num="65" count="7" type="stmt"/>
77
- <line num="67" count="388" type="cond" truecount="2" falsecount="0"/>
78
- <line num="68" count="104" type="stmt"/>
79
- <line num="70" count="296" type="cond" truecount="1" falsecount="1"/>
80
- <line num="72" count="296" type="cond" truecount="2" falsecount="0"/>
81
- <line num="73" count="219" type="stmt"/>
82
- <line num="74" count="219" type="cond" truecount="2" falsecount="0"/>
83
- <line num="75" count="142" type="stmt"/>
84
- <line num="79" count="154" type="cond" truecount="2" falsecount="0"/>
85
- <line num="80" count="36" type="stmt"/>
86
- <line num="81" count="68" type="stmt"/>
87
- <line num="84" count="118" type="cond" truecount="2" falsecount="0"/>
88
- <line num="85" count="29" type="stmt"/>
89
- <line num="86" count="54" type="stmt"/>
90
- <line num="89" count="89" type="cond" truecount="2" falsecount="0"/>
91
- <line num="90" count="12" type="stmt"/>
92
- <line num="91" count="16" type="stmt"/>
93
- <line num="95" count="77" type="stmt"/>
94
- </file>
95
- <file name="buildScopedDatafile.js" path="/home/runner/work/featurevisor/featurevisor/packages/core/lib/builder/buildScopedDatafile.js">
96
- <metrics statements="61" coveredstatements="61" conditionals="29" coveredconditionals="26" methods="1" coveredmethods="1"/>
97
- <line num="2" count="1" type="stmt"/>
98
- <line num="3" count="1" type="stmt"/>
99
- <line num="4" count="1" type="stmt"/>
100
- <line num="5" count="1" type="stmt"/>
101
- <line num="6" count="1" type="stmt"/>
102
- <line num="8" count="68" type="stmt"/>
103
- <line num="12" count="68" type="stmt"/>
104
- <line num="13" count="68" type="stmt"/>
105
- <line num="15" count="68" type="stmt"/>
106
- <line num="16" count="77" type="stmt"/>
107
- <line num="17" count="77" type="stmt"/>
108
- <line num="18" count="77" type="stmt"/>
109
- <line num="19" count="77" type="stmt"/>
110
- <line num="20" count="77" type="cond" truecount="2" falsecount="0"/>
111
- <line num="21" count="52" type="stmt"/>
112
- <line num="25" count="68" type="stmt"/>
113
- <line num="26" count="56" type="stmt"/>
114
- <line num="28" count="56" type="cond" truecount="2" falsecount="0"/>
115
- <line num="29" count="19" type="stmt"/>
116
- <line num="30" count="19" type="stmt"/>
117
- <line num="32" count="19" type="cond" truecount="2" falsecount="0"/>
118
- <line num="33" count="13" type="stmt"/>
119
- <line num="36" count="19" type="cond" truecount="2" falsecount="0"/>
120
- <line num="37" count="7" type="stmt"/>
121
- <line num="42" count="56" type="stmt"/>
122
- <line num="43" count="56" type="cond" truecount="1" falsecount="1"/>
123
- <line num="44" count="56" type="stmt"/>
124
- <line num="45" count="33" type="stmt"/>
125
- <line num="47" count="33" type="stmt"/>
126
- <line num="49" count="33" type="cond" truecount="1" falsecount="1"/>
127
- <line num="50" count="33" type="stmt"/>
128
- <line num="55" count="56" type="cond" truecount="2" falsecount="0"/>
129
- <line num="56" count="21" type="stmt"/>
130
- <line num="57" count="21" type="stmt"/>
131
- <line num="58" count="21" type="stmt"/>
132
- <line num="60" count="21" type="cond" truecount="2" falsecount="0"/>
133
- <line num="61" count="20" type="stmt"/>
134
- <line num="62" count="20" type="stmt"/>
135
- <line num="63" count="20" type="stmt"/>
136
- <line num="64" count="21" type="stmt"/>
137
- <line num="66" count="21" type="cond" truecount="2" falsecount="0"/>
138
- <line num="67" count="16" type="stmt"/>
139
- <line num="70" count="21" type="cond" truecount="2" falsecount="0"/>
140
- <line num="71" count="5" type="stmt"/>
141
- <line num="73" count="21" type="stmt"/>
142
- <line num="77" count="21" type="stmt"/>
143
- <line num="81" count="56" type="cond" truecount="1" falsecount="1"/>
144
- <line num="82" count="56" type="stmt"/>
145
- <line num="84" count="56" type="stmt"/>
146
- <line num="85" count="33" type="stmt"/>
147
- <line num="86" count="33" type="stmt"/>
148
- <line num="87" count="33" type="cond" truecount="5" falsecount="0"/>
149
- <line num="90" count="6" type="stmt"/>
150
- <line num="92" count="33" type="cond" truecount="2" falsecount="0"/>
151
- <line num="93" count="27" type="stmt"/>
152
- <line num="94" count="27" type="stmt"/>
153
- <line num="97" count="56" type="stmt"/>
154
- <line num="99" count="56" type="stmt"/>
155
- <line num="102" count="68" type="stmt"/>
156
- <line num="103" count="52" type="stmt"/>
157
- <line num="105" count="68" type="stmt"/>
158
- </file>
159
- <file name="buildScopedSegments.js" path="/home/runner/work/featurevisor/featurevisor/packages/core/lib/builder/buildScopedSegments.js">
160
- <metrics statements="56" coveredstatements="56" conditionals="40" coveredconditionals="38" methods="15" coveredmethods="15"/>
161
- <line num="2" count="2" type="stmt"/>
162
- <line num="3" count="2" type="stmt"/>
163
- <line num="4" count="2" type="stmt"/>
164
- <line num="5" count="2" type="stmt"/>
165
- <line num="7" count="96" type="stmt"/>
166
- <line num="8" count="96" type="stmt"/>
167
- <line num="9" count="96" type="stmt"/>
168
- <line num="12" count="356" type="cond" truecount="2" falsecount="0"/>
169
- <line num="13" count="192" type="stmt"/>
170
- <line num="15" count="164" type="cond" truecount="2" falsecount="0"/>
171
- <line num="17" count="39" type="stmt"/>
172
- <line num="19" count="39" type="stmt"/>
173
- <line num="21" count="18" type="cond" truecount="2" falsecount="0"/>
174
- <line num="22" count="9" type="stmt"/>
175
- <line num="24" count="9" type="stmt"/>
176
- <line num="26" count="146" type="cond" truecount="2" falsecount="0"/>
177
- <line num="27" count="78" type="cond" truecount="2" falsecount="0"/>
178
- <line num="28" count="95" type="stmt"/>
179
- <line num="29" count="95" type="stmt"/>
180
- <line num="31" count="37" type="cond" truecount="2" falsecount="0"/>
181
- <line num="32" count="19" type="stmt"/>
182
- <line num="34" count="18" type="stmt"/>
183
- <line num="38" count="41" type="cond" truecount="2" falsecount="0"/>
184
- <line num="39" count="69" type="stmt"/>
185
- <line num="40" count="69" type="stmt"/>
186
- <line num="42" count="28" type="cond" truecount="2" falsecount="0"/>
187
- <line num="43" count="6" type="stmt"/>
188
- <line num="45" count="22" type="stmt"/>
189
- <line num="49" count="13" type="cond" truecount="1" falsecount="1"/>
190
- <line num="50" count="30" type="stmt"/>
191
- <line num="51" count="30" type="stmt"/>
192
- <line num="53" count="13" type="cond" truecount="2" falsecount="0"/>
193
- <line num="54" count="7" type="stmt"/>
194
- <line num="56" count="6" type="stmt"/>
195
- <line num="61" count="68" type="stmt"/>
196
- <line num="64" count="334" type="cond" truecount="2" falsecount="0"/>
197
- <line num="65" count="15" type="stmt"/>
198
- <line num="67" count="319" type="cond" truecount="2" falsecount="0"/>
199
- <line num="68" count="45" type="stmt"/>
200
- <line num="70" count="296" type="cond" truecount="2" falsecount="0"/>
201
- <line num="71" count="217" type="cond" truecount="2" falsecount="0"/>
202
- <line num="72" count="75" type="stmt"/>
203
- <line num="74" count="142" type="stmt"/>
204
- <line num="75" count="142" type="cond" truecount="2" falsecount="0"/>
205
- <line num="76" count="67" type="stmt"/>
206
- <line num="79" count="154" type="cond" truecount="2" falsecount="0"/>
207
- <line num="81" count="79" type="cond" truecount="2" falsecount="0"/>
208
- <line num="82" count="35" type="stmt"/>
209
- <line num="83" count="71" type="stmt"/>
210
- <line num="86" count="44" type="cond" truecount="2" falsecount="0"/>
211
- <line num="87" count="31" type="stmt"/>
212
- <line num="88" count="61" type="stmt"/>
213
- <line num="91" count="13" type="cond" truecount="1" falsecount="1"/>
214
- <line num="92" count="13" type="stmt"/>
215
- <line num="93" count="18" type="stmt"/>
216
- <line num="97" count="75" type="stmt"/>
217
- </file>
218
- <file name="revision.js" path="/home/runner/work/featurevisor/featurevisor/packages/core/lib/builder/revision.js">
219
- <metrics statements="11" coveredstatements="10" conditionals="8" coveredconditionals="7" methods="1" coveredmethods="1"/>
220
- <line num="2" count="1" type="stmt"/>
221
- <line num="3" count="1" type="stmt"/>
222
- <line num="6" count="7" type="cond" truecount="4" falsecount="0"/>
223
- <line num="7" count="2" type="stmt"/>
224
- <line num="10" count="5" type="cond" truecount="2" falsecount="0"/>
225
- <line num="11" count="2" type="stmt"/>
226
- <line num="14" count="3" type="stmt"/>
227
- <line num="15" count="3" type="stmt"/>
228
- <line num="16" count="3" type="cond" truecount="1" falsecount="1"/>
229
- <line num="17" count="3" type="stmt"/>
230
- <line num="20" count="0" type="stmt"/>
231
- </file>
232
- <file name="traffic.js" path="/home/runner/work/featurevisor/featurevisor/packages/core/lib/builder/traffic.js">
233
- <metrics statements="66" coveredstatements="59" conditionals="52" coveredconditionals="38" methods="12" coveredmethods="12"/>
234
- <line num="2" count="1" type="stmt"/>
235
- <line num="3" count="1" type="stmt"/>
236
- <line num="4" count="1" type="stmt"/>
237
- <line num="5" count="1" type="stmt"/>
238
- <line num="6" count="1" type="stmt"/>
239
- <line num="7" count="1" type="stmt"/>
240
- <line num="8" count="1" type="stmt"/>
241
- <line num="11" count="13" type="cond" truecount="4" falsecount="0"/>
242
- <line num="12" count="4" type="cond" truecount="3" falsecount="1"/>
243
- <line num="15" count="4" type="stmt"/>
244
- <line num="18" count="0" type="stmt"/>
245
- <line num="20" count="9" type="cond" truecount="1" falsecount="1"/>
246
- <line num="21" count="21" type="stmt"/>
247
- <line num="23" count="22" type="stmt"/>
248
- <line num="30" count="13" type="cond" truecount="2" falsecount="0"/>
249
- <line num="31" count="4" type="stmt"/>
250
- <line num="33" count="9" type="stmt"/>
251
- <line num="34" count="9" type="stmt"/>
252
- <line num="38" count="13" type="cond" truecount="2" falsecount="0"/>
253
- <line num="39" count="4" type="stmt"/>
254
- <line num="41" count="9" type="cond" truecount="1" falsecount="1"/>
255
- <line num="42" count="9" type="stmt"/>
256
- <line num="44" count="0" type="stmt"/>
257
- <line num="53" count="13" type="stmt"/>
258
- <line num="55" count="13" type="cond" truecount="2" falsecount="2"/>
259
- <line num="56" count="13" type="stmt"/>
260
- <line num="57" count="13" type="stmt"/>
261
- <line num="58" count="13" type="stmt"/>
262
- <line num="66" count="13" type="cond" truecount="1" falsecount="1"/>
263
- <line num="67" count="0" type="stmt"/>
264
- <line num="69" count="13" type="cond" truecount="1" falsecount="1"/>
265
- <line num="70" count="0" type="stmt"/>
266
- <line num="73" count="13" type="stmt"/>
267
- <line num="74" count="13" type="stmt"/>
268
- <line num="75" count="13" type="stmt"/>
269
- <line num="76" count="13" type="stmt"/>
270
- <line num="77" count="13" type="cond" truecount="5" falsecount="0"/>
271
- <line num="85" count="13" type="stmt"/>
272
- <line num="86" count="13" type="cond" truecount="5" falsecount="0"/>
273
- <line num="88" count="1" type="stmt"/>
274
- <line num="89" count="1" type="stmt"/>
275
- <line num="90" count="2" type="stmt"/>
276
- <line num="94" count="2" type="stmt"/>
277
- <line num="95" count="2" type="stmt"/>
278
- <line num="97" count="1" type="stmt"/>
279
- <line num="99" count="13" type="cond" truecount="1" falsecount="1"/>
280
- <line num="100" count="13" type="stmt"/>
281
- <line num="101" count="30" type="stmt"/>
282
- <line num="102" count="30" type="cond" truecount="2" falsecount="2"/>
283
- <line num="104" count="0" type="stmt"/>
284
- <line num="106" count="30" type="stmt"/>
285
- <line num="107" count="30" type="cond" truecount="2" falsecount="0"/>
286
- <line num="110" count="30" type="stmt"/>
287
- <line num="111" count="30" type="stmt"/>
288
- <line num="112" count="26" type="cond" truecount="1" falsecount="1"/>
289
- <line num="113" count="26" type="stmt"/>
290
- <line num="119" count="30" type="stmt"/>
291
- <line num="122" count="13" type="cond" truecount="1" falsecount="1"/>
292
- <line num="123" count="13" type="stmt"/>
293
- <line num="124" count="28" type="cond" truecount="3" falsecount="1"/>
294
- <line num="125" count="0" type="stmt"/>
295
- <line num="127" count="28" type="stmt"/>
296
- <line num="129" count="13" type="cond" truecount="1" falsecount="1"/>
297
- <line num="130" count="0" type="stmt"/>
298
- <line num="133" count="13" type="stmt"/>
299
- <line num="135" count="13" type="stmt"/>
300
- </file>
301
- </package>
302
- <package name="lib.list">
303
- <metrics statements="85" coveredstatements="20" conditionals="43" coveredconditionals="4" methods="10" coveredmethods="2"/>
304
- <file name="matrix.js" path="/home/runner/work/featurevisor/featurevisor/packages/core/lib/list/matrix.js">
305
- <metrics statements="85" coveredstatements="20" conditionals="43" coveredconditionals="4" methods="10" coveredmethods="2"/>
306
- <line num="2" count="1" type="stmt"/>
307
- <line num="3" count="1" type="stmt"/>
308
- <line num="4" count="1" type="stmt"/>
309
- <line num="5" count="1" type="stmt"/>
310
- <line num="6" count="1" type="stmt"/>
311
- <line num="7" count="1" type="stmt"/>
312
- <line num="8" count="1" type="stmt"/>
313
- <line num="10" count="10" type="stmt"/>
314
- <line num="11" count="10" type="stmt"/>
315
- <line num="12" count="10" type="stmt"/>
316
- <line num="13" count="20" type="stmt"/>
317
- <line num="14" count="20" type="cond" truecount="2" falsecount="0"/>
318
- <line num="15" count="12" type="stmt"/>
319
- <line num="18" count="8" type="stmt"/>
320
- <line num="23" count="3" type="stmt"/>
321
- <line num="24" count="3" type="cond" truecount="2" falsecount="0"/>
322
- <line num="25" count="1" type="stmt"/>
323
- <line num="27" count="2" type="stmt"/>
324
- <line num="28" count="2" type="stmt"/>
325
- <line num="29" count="2" type="stmt"/>
326
- <line num="32" count="0" type="cond" truecount="0" falsecount="2"/>
327
- <line num="33" count="0" type="stmt"/>
328
- <line num="35" count="0" type="cond" truecount="0" falsecount="2"/>
329
- <line num="36" count="0" type="stmt"/>
330
- <line num="39" count="0" type="cond" truecount="0" falsecount="5"/>
331
- <line num="40" count="0" type="stmt"/>
332
- <line num="41" count="0" type="stmt"/>
333
- <line num="44" count="0" type="stmt"/>
334
- <line num="46" count="0" type="stmt"/>
335
- <line num="52" count="0" type="stmt"/>
336
- <line num="54" count="0" type="stmt"/>
337
- <line num="56" count="0" type="cond" truecount="0" falsecount="2"/>
338
- <line num="57" count="0" type="stmt"/>
339
- <line num="58" count="0" type="stmt"/>
340
- <line num="61" count="0" type="stmt"/>
341
- <line num="62" count="0" type="cond" truecount="0" falsecount="2"/>
342
- <line num="63" count="0" type="stmt"/>
343
- <line num="69" count="0" type="cond" truecount="0" falsecount="2"/>
344
- <line num="70" count="0" type="stmt"/>
345
- <line num="73" count="0" type="cond" truecount="0" falsecount="2"/>
346
- <line num="74" count="0" type="stmt"/>
347
- <line num="77" count="0" type="cond" truecount="0" falsecount="2"/>
348
- <line num="78" count="0" type="stmt"/>
349
- <line num="80" count="0" type="stmt"/>
350
- <line num="83" count="0" type="cond" truecount="0" falsecount="2"/>
351
- <line num="84" count="0" type="stmt"/>
352
- <line num="86" count="0" type="cond" truecount="0" falsecount="2"/>
353
- <line num="87" count="0" type="stmt"/>
354
- <line num="89" count="0" type="cond" truecount="0" falsecount="2"/>
355
- <line num="90" count="0" type="stmt"/>
356
- <line num="93" count="0" type="stmt"/>
357
- <line num="95" count="0" type="stmt"/>
358
- <line num="96" count="0" type="stmt"/>
359
- <line num="98" count="0" type="stmt"/>
360
- <line num="99" count="0" type="stmt"/>
361
- <line num="100" count="0" type="stmt"/>
362
- <line num="101" count="0" type="stmt"/>
363
- <line num="102" count="0" type="stmt"/>
364
- <line num="104" count="0" type="cond" truecount="0" falsecount="2"/>
365
- <line num="105" count="0" type="stmt"/>
366
- <line num="107" count="0" type="cond" truecount="0" falsecount="2"/>
367
- <line num="108" count="0" type="stmt"/>
368
- <line num="111" count="0" type="stmt"/>
369
- <line num="113" count="0" type="stmt"/>
370
- <line num="114" count="0" type="stmt"/>
371
- <line num="116" count="0" type="stmt"/>
372
- <line num="122" count="0" type="stmt"/>
373
- <line num="124" count="0" type="stmt"/>
374
- <line num="125" count="0" type="stmt"/>
375
- <line num="126" count="0" type="stmt"/>
376
- <line num="129" count="0" type="cond" truecount="0" falsecount="2"/>
377
- <line num="130" count="0" type="stmt"/>
378
- <line num="132" count="0" type="stmt"/>
379
- <line num="135" count="0" type="cond" truecount="0" falsecount="2"/>
380
- <line num="136" count="0" type="stmt"/>
381
- <line num="137" count="0" type="cond" truecount="0" falsecount="2"/>
382
- <line num="138" count="0" type="stmt"/>
383
- <line num="140" count="0" type="stmt"/>
384
- <line num="141" count="0" type="stmt"/>
385
- <line num="142" count="0" type="stmt"/>
386
- <line num="143" count="0" type="stmt"/>
387
- <line num="144" count="0" type="stmt"/>
388
- <line num="145" count="0" type="cond" truecount="0" falsecount="2"/>
389
- <line num="146" count="0" type="stmt"/>
390
- <line num="148" count="0" type="stmt"/>
391
- </file>
392
- </package>
393
- <package name="lib.tester">
394
- <metrics statements="43" coveredstatements="40" conditionals="50" coveredconditionals="47" methods="2" coveredmethods="2"/>
395
- <file name="helpers.js" path="/home/runner/work/featurevisor/featurevisor/packages/core/lib/tester/helpers.js">
396
- <metrics statements="43" coveredstatements="40" conditionals="50" coveredconditionals="47" methods="2" coveredmethods="2"/>
397
- <line num="2" count="1" type="stmt"/>
398
- <line num="3" count="1" type="stmt"/>
399
- <line num="4" count="1" type="stmt"/>
400
- <line num="6" count="23" type="cond" truecount="1" falsecount="1"/>
401
- <line num="7" count="0" type="stmt"/>
402
- <line num="9" count="23" type="cond" truecount="5" falsecount="1"/>
403
- <line num="10" count="0" type="stmt"/>
404
- <line num="12" count="23" type="stmt"/>
405
- <line num="13" count="23" type="stmt"/>
406
- <line num="14" count="23" type="cond" truecount="2" falsecount="0"/>
407
- <line num="15" count="3" type="stmt"/>
408
- <line num="17" count="20" type="stmt"/>
409
- <line num="18" count="24" type="cond" truecount="2" falsecount="0"/>
410
- <line num="19" count="1" type="stmt"/>
411
- <line num="21" count="23" type="stmt"/>
412
- <line num="22" count="23" type="stmt"/>
413
- <line num="23" count="23" type="cond" truecount="4" falsecount="0"/>
414
- <line num="24" count="4" type="cond" truecount="2" falsecount="0"/>
415
- <line num="25" count="1" type="stmt"/>
416
- <line num="28" count="19" type="cond" truecount="4" falsecount="0"/>
417
- <line num="29" count="4" type="cond" truecount="2" falsecount="0"/>
418
- <line num="30" count="2" type="stmt"/>
419
- <line num="33" count="15" type="cond" truecount="2" falsecount="0"/>
420
- <line num="34" count="4" type="stmt"/>
421
- <line num="37" count="12" type="stmt"/>
422
- <line num="40" count="29" type="cond" truecount="1" falsecount="1"/>
423
- <line num="41" count="0" type="stmt"/>
424
- <line num="43" count="29" type="cond" truecount="4" falsecount="0"/>
425
- <line num="44" count="3" type="stmt"/>
426
- <line num="46" count="26" type="cond" truecount="2" falsecount="0"/>
427
- <line num="47" count="3" type="stmt"/>
428
- <line num="49" count="23" type="stmt"/>
429
- <line num="50" count="44" type="stmt"/>
430
- <line num="51" count="44" type="stmt"/>
431
- <line num="52" count="44" type="cond" truecount="4" falsecount="0"/>
432
- <line num="53" count="4" type="cond" truecount="2" falsecount="0"/>
433
- <line num="54" count="1" type="stmt"/>
434
- <line num="57" count="40" type="cond" truecount="6" falsecount="0"/>
435
- <line num="61" count="6" type="cond" truecount="2" falsecount="0"/>
436
- <line num="62" count="2" type="stmt"/>
437
- <line num="65" count="34" type="cond" truecount="2" falsecount="0"/>
438
- <line num="66" count="6" type="stmt"/>
439
- <line num="69" count="14" type="stmt"/>
440
- </file>
441
- </package>
442
- <package name="src.builder">
2
+ <coverage generated="1770571252749" clover="3.2.0">
3
+ <project timestamp="1770571252749" name="All files">
4
+ <metrics statements="497" coveredstatements="416" conditionals="232" coveredconditionals="179" methods="70" coveredmethods="62" elements="799" coveredelements="657" complexity="0" loc="497" ncloc="497" packages="4" files="10" classes="10"/>
5
+ <package name="builder">
443
6
  <metrics statements="276" coveredstatements="268" conditionals="104" coveredconditionals="95" methods="46" coveredmethods="46"/>
444
7
  <file name="allocator.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/allocator.ts">
445
8
  <metrics statements="27" coveredstatements="27" conditionals="6" coveredconditionals="6" methods="2" coveredmethods="2"/>
@@ -736,7 +299,7 @@
736
299
  <line num="190" count="13" type="stmt"/>
737
300
  </file>
738
301
  </package>
739
- <package name="src.list">
302
+ <package name="list">
740
303
  <metrics statements="84" coveredstatements="19" conditionals="30" coveredconditionals="3" methods="10" coveredmethods="2"/>
741
304
  <file name="matrix.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/list/matrix.ts">
742
305
  <metrics statements="84" coveredstatements="19" conditionals="30" coveredconditionals="3" methods="10" coveredmethods="2"/>
@@ -826,7 +389,111 @@
826
389
  <line num="216" count="0" type="stmt"/>
827
390
  </file>
828
391
  </package>
829
- <package name="src.tester">
392
+ <package name="parsers">
393
+ <metrics statements="95" coveredstatements="90" conditionals="61" coveredconditionals="47" methods="12" coveredmethods="12"/>
394
+ <file name="json.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/parsers/json.ts">
395
+ <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="2" coveredmethods="2"/>
396
+ <line num="3" count="1" type="stmt"/>
397
+ <line num="6" count="3" type="stmt"/>
398
+ <line num="9" count="2" type="stmt"/>
399
+ </file>
400
+ <file name="yml.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/parsers/yml.ts">
401
+ <metrics statements="92" coveredstatements="87" conditionals="61" coveredconditionals="47" methods="10" coveredmethods="10"/>
402
+ <line num="1" count="1" type="stmt"/>
403
+ <line num="3" count="1" type="stmt"/>
404
+ <line num="5" count="1" type="stmt"/>
405
+ <line num="10" count="8" type="cond" truecount="0" falsecount="1"/>
406
+ <line num="11" count="8" type="cond" truecount="1" falsecount="0"/>
407
+ <line num="12" count="8" type="stmt"/>
408
+ <line num="14" count="0" type="cond" truecount="0" falsecount="2"/>
409
+ <line num="18" count="5" type="cond" truecount="0" falsecount="1"/>
410
+ <line num="19" count="5" type="cond" truecount="1" falsecount="0"/>
411
+ <line num="20" count="5" type="stmt"/>
412
+ <line num="23" count="5" type="stmt"/>
413
+ <line num="24" count="5" type="cond" truecount="5" falsecount="0"/>
414
+ <line num="25" count="5" type="stmt"/>
415
+ <line num="26" count="5" type="cond" truecount="1" falsecount="0"/>
416
+ <line num="27" count="5" type="cond" truecount="0" falsecount="1"/>
417
+ <line num="32" count="1" type="cond" truecount="3" falsecount="0"/>
418
+ <line num="36" count="1" type="cond" truecount="3" falsecount="0"/>
419
+ <line num="40" count="3" type="cond" truecount="0" falsecount="1"/>
420
+ <line num="41" count="3" type="stmt"/>
421
+ <line num="42" count="3" type="cond" truecount="1" falsecount="0"/>
422
+ <line num="43" count="0" type="cond" truecount="0" falsecount="1"/>
423
+ <line num="44" count="0" type="stmt"/>
424
+ <line num="48" count="3" type="stmt"/>
425
+ <line num="56" count="10" type="cond" truecount="3" falsecount="0"/>
426
+ <line num="57" count="8" type="stmt"/>
427
+ <line num="58" count="8" type="stmt"/>
428
+ <line num="59" count="8" type="cond" truecount="1" falsecount="0"/>
429
+ <line num="60" count="5" type="cond" truecount="1" falsecount="0"/>
430
+ <line num="61" count="5" type="cond" truecount="0" falsecount="1"/>
431
+ <line num="63" count="8" type="stmt"/>
432
+ <line num="65" count="2" type="cond" truecount="1" falsecount="0"/>
433
+ <line num="66" count="1" type="cond" truecount="1" falsecount="1"/>
434
+ <line num="67" count="1" type="stmt"/>
435
+ <line num="68" count="1" type="cond" truecount="3" falsecount="0"/>
436
+ <line num="69" count="1" type="stmt"/>
437
+ <line num="70" count="3" type="stmt"/>
438
+ <line num="73" count="1" type="stmt"/>
439
+ <line num="74" count="1" type="stmt"/>
440
+ <line num="75" count="3" type="stmt"/>
441
+ <line num="76" count="3" type="stmt"/>
442
+ <line num="77" count="3" type="stmt"/>
443
+ <line num="79" count="1" type="stmt"/>
444
+ <line num="82" count="1" type="cond" truecount="1" falsecount="1"/>
445
+ <line num="83" count="1" type="stmt"/>
446
+ <line num="84" count="1" type="cond" truecount="1" falsecount="0"/>
447
+ <line num="85" count="1" type="cond" truecount="1" falsecount="1"/>
448
+ <line num="86" count="2" type="stmt"/>
449
+ <line num="87" count="2" type="cond" truecount="1" falsecount="0"/>
450
+ <line num="90" count="1" type="stmt"/>
451
+ <line num="91" count="1" type="stmt"/>
452
+ <line num="92" count="1" type="stmt"/>
453
+ <line num="93" count="2" type="stmt"/>
454
+ <line num="94" count="2" type="cond" truecount="2" falsecount="0"/>
455
+ <line num="95" count="2" type="stmt"/>
456
+ <line num="96" count="2" type="stmt"/>
457
+ <line num="97" count="2" type="cond" truecount="1" falsecount="0"/>
458
+ <line num="98" count="2" type="stmt"/>
459
+ <line num="100" count="1" type="stmt"/>
460
+ <line num="101" count="1" type="stmt"/>
461
+ <line num="102" count="1" type="cond" truecount="3" falsecount="0"/>
462
+ <line num="103" count="1" type="cond" truecount="0" falsecount="1"/>
463
+ <line num="104" count="1" type="cond" truecount="0" falsecount="1"/>
464
+ <line num="106" count="1" type="stmt"/>
465
+ <line num="116" count="2" type="stmt"/>
466
+ <line num="117" count="2" type="cond" truecount="2" falsecount="1"/>
467
+ <line num="118" count="0" type="stmt"/>
468
+ <line num="119" count="0" type="stmt"/>
469
+ <line num="122" count="2" type="stmt"/>
470
+ <line num="123" count="2" type="stmt"/>
471
+ <line num="124" count="2" type="stmt"/>
472
+ <line num="125" count="6" type="stmt"/>
473
+ <line num="126" count="6" type="cond" truecount="1" falsecount="0"/>
474
+ <line num="129" count="2" type="stmt"/>
475
+ <line num="130" count="2" type="stmt"/>
476
+ <line num="131" count="5" type="stmt"/>
477
+ <line num="132" count="5" type="stmt"/>
478
+ <line num="133" count="5" type="stmt"/>
479
+ <line num="134" count="5" type="cond" truecount="1" falsecount="0"/>
480
+ <line num="135" count="5" type="stmt"/>
481
+ <line num="138" count="2" type="stmt"/>
482
+ <line num="141" count="1" type="stmt"/>
483
+ <line num="144" count="3" type="stmt"/>
484
+ <line num="147" count="7" type="cond" truecount="3" falsecount="0"/>
485
+ <line num="148" count="3" type="stmt"/>
486
+ <line num="151" count="4" type="stmt"/>
487
+ <line num="152" count="4" type="cond" truecount="1" falsecount="0"/>
488
+ <line num="153" count="1" type="stmt"/>
489
+ <line num="157" count="3" type="cond" truecount="4" falsecount="0"/>
490
+ <line num="158" count="1" type="stmt"/>
491
+ <line num="161" count="2" type="stmt"/>
492
+ <line num="165" count="2" type="stmt"/>
493
+ <line num="166" count="2" type="stmt"/>
494
+ </file>
495
+ </package>
496
+ <package name="tester">
830
497
  <metrics statements="42" coveredstatements="39" conditionals="37" coveredconditionals="34" methods="2" coveredmethods="2"/>
831
498
  <file name="helpers.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/helpers.ts">
832
499
  <metrics statements="42" coveredstatements="39" conditionals="37" coveredconditionals="34" methods="2" coveredmethods="2"/>