@featurevisor/core 2.18.0 → 2.20.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 (96) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/coverage/clover.xml +1581 -1119
  3. package/coverage/coverage-final.json +29 -22
  4. package/coverage/lcov-report/builder/allocator.ts.html +26 -26
  5. package/coverage/lcov-report/builder/buildDatafile.ts.html +2017 -0
  6. package/coverage/lcov-report/builder/buildScopedConditions.ts.html +35 -35
  7. package/coverage/lcov-report/builder/buildScopedDatafile.ts.html +213 -45
  8. package/coverage/lcov-report/builder/buildScopedSegments.ts.html +28 -28
  9. package/coverage/lcov-report/builder/convertToV1.ts.html +583 -0
  10. package/coverage/lcov-report/builder/getFeatureRanges.ts.html +268 -0
  11. package/coverage/lcov-report/builder/hashes.ts.html +412 -0
  12. package/coverage/lcov-report/builder/index.html +90 -30
  13. package/coverage/lcov-report/builder/mutateVariables.ts.html +66 -45
  14. package/coverage/lcov-report/builder/mutator.ts.html +95 -95
  15. package/coverage/lcov-report/builder/revision.ts.html +1 -1
  16. package/coverage/lcov-report/builder/traffic.ts.html +60 -57
  17. package/coverage/lcov-report/config/index.html +1 -1
  18. package/coverage/lcov-report/config/index.ts.html +2 -2
  19. package/coverage/lcov-report/config/projectConfig.ts.html +28 -28
  20. package/coverage/lcov-report/datasource/adapter.ts.html +2 -2
  21. package/coverage/lcov-report/datasource/datasource.ts.html +4 -4
  22. package/coverage/lcov-report/datasource/filesystemAdapter.ts.html +34 -34
  23. package/coverage/lcov-report/datasource/index.html +1 -1
  24. package/coverage/lcov-report/datasource/index.ts.html +1 -1
  25. package/coverage/lcov-report/index.html +39 -39
  26. package/coverage/lcov-report/linter/attributeSchema.ts.html +1 -1
  27. package/coverage/lcov-report/linter/checkCircularDependency.ts.html +1 -1
  28. package/coverage/lcov-report/linter/checkPercentageExceedingSlot.ts.html +1 -1
  29. package/coverage/lcov-report/linter/conditionSchema.ts.html +17 -17
  30. package/coverage/lcov-report/linter/featureSchema.ts.html +686 -401
  31. package/coverage/lcov-report/linter/groupSchema.ts.html +1 -1
  32. package/coverage/lcov-report/linter/index.html +27 -27
  33. package/coverage/lcov-report/linter/lintProject.ts.html +25 -25
  34. package/coverage/lcov-report/linter/mutationNotation.ts.html +191 -122
  35. package/coverage/lcov-report/linter/printError.ts.html +1 -1
  36. package/coverage/lcov-report/linter/schema.ts.html +72 -72
  37. package/coverage/lcov-report/linter/segmentSchema.ts.html +1 -1
  38. package/coverage/lcov-report/linter/testSchema.ts.html +5 -5
  39. package/coverage/lcov-report/list/index.html +1 -1
  40. package/coverage/lcov-report/list/matrix.ts.html +1 -1
  41. package/coverage/lcov-report/parsers/index.html +1 -1
  42. package/coverage/lcov-report/parsers/index.ts.html +4 -4
  43. package/coverage/lcov-report/parsers/json.ts.html +2 -2
  44. package/coverage/lcov-report/parsers/yml.ts.html +6 -6
  45. package/coverage/lcov-report/tester/cliFormat.ts.html +1 -1
  46. package/coverage/lcov-report/tester/helpers.ts.html +1 -1
  47. package/coverage/lcov-report/tester/index.html +1 -1
  48. package/coverage/lcov-report/utils/extractKeys.ts.html +493 -0
  49. package/coverage/lcov-report/utils/git.ts.html +3 -3
  50. package/coverage/lcov-report/utils/index.html +54 -9
  51. package/coverage/lcov-report/utils/index.ts.html +94 -0
  52. package/coverage/lcov-report/utils/pretty.ts.html +121 -0
  53. package/coverage/lcov.info +2955 -2095
  54. package/lib/builder/buildDatafile.js +50 -3
  55. package/lib/builder/buildDatafile.js.map +1 -1
  56. package/lib/builder/buildDatafile.spec.d.ts +1 -0
  57. package/lib/builder/buildDatafile.spec.js +233 -0
  58. package/lib/builder/buildDatafile.spec.js.map +1 -0
  59. package/lib/builder/buildScopedDatafile.js +37 -1
  60. package/lib/builder/buildScopedDatafile.js.map +1 -1
  61. package/lib/builder/buildScopedDatafile.spec.js +289 -0
  62. package/lib/builder/buildScopedDatafile.spec.js.map +1 -1
  63. package/lib/builder/mutateVariables.d.ts +1 -1
  64. package/lib/builder/mutateVariables.js +4 -1
  65. package/lib/builder/mutateVariables.js.map +1 -1
  66. package/lib/builder/mutateVariables.spec.js +29 -0
  67. package/lib/builder/mutateVariables.spec.js.map +1 -1
  68. package/lib/builder/traffic.js +1 -0
  69. package/lib/builder/traffic.js.map +1 -1
  70. package/lib/builder/traffic.spec.js +26 -0
  71. package/lib/builder/traffic.spec.js.map +1 -1
  72. package/lib/generate-code/typescript.js +1 -1
  73. package/lib/generate-code/typescript.js.map +1 -1
  74. package/lib/linter/featureSchema.d.ts +228 -22
  75. package/lib/linter/featureSchema.js +137 -76
  76. package/lib/linter/featureSchema.js.map +1 -1
  77. package/lib/linter/featureSchema.spec.js +175 -0
  78. package/lib/linter/featureSchema.spec.js.map +1 -1
  79. package/lib/linter/mutationNotation.js +35 -10
  80. package/lib/linter/mutationNotation.js.map +1 -1
  81. package/lib/linter/mutationNotation.spec.js +31 -0
  82. package/lib/linter/mutationNotation.spec.js.map +1 -1
  83. package/package.json +5 -5
  84. package/src/builder/buildDatafile.spec.ts +267 -0
  85. package/src/builder/buildDatafile.ts +85 -4
  86. package/src/builder/buildScopedDatafile.spec.ts +330 -0
  87. package/src/builder/buildScopedDatafile.ts +57 -1
  88. package/src/builder/mutateVariables.spec.ts +45 -0
  89. package/src/builder/mutateVariables.ts +7 -0
  90. package/src/builder/traffic.spec.ts +33 -0
  91. package/src/builder/traffic.ts +1 -0
  92. package/src/generate-code/typescript.ts +1 -1
  93. package/src/linter/featureSchema.spec.ts +197 -0
  94. package/src/linter/featureSchema.ts +204 -109
  95. package/src/linter/mutationNotation.spec.ts +39 -0
  96. package/src/linter/mutationNotation.ts +30 -7
@@ -110,48 +110,48 @@
110
110
  <a name='L45'></a><a href='#L45'>45</a>
111
111
  <a name='L46'></a><a href='#L46'>46</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
112
112
  <span class="cline-any cline-neutral">&nbsp;</span>
113
- <span class="cline-any cline-yes">2x</span>
114
- <span class="cline-any cline-yes">37x</span>
113
+ <span class="cline-any cline-yes">3x</span>
114
+ <span class="cline-any cline-yes">40x</span>
115
115
  <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-yes">37x</span>
117
- <span class="cline-any cline-yes">37x</span>
118
- <span class="cline-any cline-yes">37x</span>
119
- <span class="cline-any cline-yes">39x</span>
120
- <span class="cline-any cline-yes">39x</span>
116
+ <span class="cline-any cline-yes">40x</span>
117
+ <span class="cline-any cline-yes">40x</span>
118
+ <span class="cline-any cline-yes">40x</span>
119
+ <span class="cline-any cline-yes">42x</span>
120
+ <span class="cline-any cline-yes">42x</span>
121
121
  <span class="cline-any cline-neutral">&nbsp;</span>
122
- <span class="cline-any cline-yes">39x</span>
123
- <span class="cline-any cline-yes">39x</span>
124
- <span class="cline-any cline-yes">39x</span>
125
- <span class="cline-any cline-yes">39x</span>
122
+ <span class="cline-any cline-yes">42x</span>
123
+ <span class="cline-any cline-yes">42x</span>
124
+ <span class="cline-any cline-yes">42x</span>
125
+ <span class="cline-any cline-yes">42x</span>
126
126
  <span class="cline-any cline-neutral">&nbsp;</span>
127
127
  <span class="cline-any cline-neutral">&nbsp;</span>
128
- <span class="cline-any cline-yes">37x</span>
128
+ <span class="cline-any cline-yes">40x</span>
129
129
  <span class="cline-any cline-neutral">&nbsp;</span>
130
130
  <span class="cline-any cline-neutral">&nbsp;</span>
131
- <span class="cline-any cline-yes">2x</span>
131
+ <span class="cline-any cline-yes">3x</span>
132
132
  <span class="cline-any cline-neutral">&nbsp;</span>
133
133
  <span class="cline-any cline-neutral">&nbsp;</span>
134
134
  <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-yes">38x</span>
135
+ <span class="cline-any cline-yes">41x</span>
136
136
  <span class="cline-any cline-yes">4x</span>
137
137
  <span class="cline-any cline-neutral">&nbsp;</span>
138
138
  <span class="cline-any cline-neutral">&nbsp;</span>
139
- <span class="cline-any cline-yes">34x</span>
139
+ <span class="cline-any cline-yes">37x</span>
140
140
  <span class="cline-any cline-neutral">&nbsp;</span>
141
- <span class="cline-any cline-yes">34x</span>
142
- <span class="cline-any cline-yes">34x</span>
143
- <span class="cline-any cline-yes">34x</span>
144
- <span class="cline-any cline-yes">40x</span>
145
- <span class="cline-any cline-yes">40x</span>
146
- <span class="cline-any cline-yes">40x</span>
147
- <span class="cline-any cline-yes">40x</span>
141
+ <span class="cline-any cline-yes">37x</span>
142
+ <span class="cline-any cline-yes">37x</span>
143
+ <span class="cline-any cline-yes">37x</span>
144
+ <span class="cline-any cline-yes">43x</span>
145
+ <span class="cline-any cline-yes">43x</span>
146
+ <span class="cline-any cline-yes">43x</span>
147
+ <span class="cline-any cline-yes">43x</span>
148
148
  <span class="cline-any cline-yes">27x</span>
149
149
  <span class="cline-any cline-neutral">&nbsp;</span>
150
- <span class="cline-any cline-yes">40x</span>
151
- <span class="cline-any cline-yes">40x</span>
150
+ <span class="cline-any cline-yes">43x</span>
151
+ <span class="cline-any cline-yes">43x</span>
152
152
  <span class="cline-any cline-neutral">&nbsp;</span>
153
153
  <span class="cline-any cline-neutral">&nbsp;</span>
154
- <span class="cline-any cline-yes">34x</span>
154
+ <span class="cline-any cline-yes">37x</span>
155
155
  <span class="cline-any cline-neutral">&nbsp;</span>
156
156
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { Range, Percentage } from "@featurevisor/types";
157
157
  &nbsp;
@@ -205,7 +205,7 @@ export function getUpdatedAvailableRangesAfterFilling(
205
205
  <div class='footer quiet pad2 space-top1 center small'>
206
206
  Code coverage generated by
207
207
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
208
- at 2026-02-27T20:35:38.828Z
208
+ at 2026-03-01T23:08:13.696Z
209
209
  </div>
210
210
  <script src="../prettify.js"></script>
211
211
  <script>