@featurevisor/core 2.13.0 → 2.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/coverage/clover.xml +1499 -1028
- package/coverage/coverage-final.json +21 -17
- package/coverage/lcov-report/builder/allocator.ts.html +1 -1
- package/coverage/lcov-report/builder/buildScopedConditions.ts.html +1 -1
- package/coverage/lcov-report/builder/buildScopedDatafile.ts.html +1 -1
- package/coverage/lcov-report/builder/buildScopedSegments.ts.html +1 -1
- package/coverage/lcov-report/builder/index.html +38 -8
- package/coverage/lcov-report/builder/mutateVariables.ts.html +400 -0
- package/coverage/lcov-report/builder/mutator.ts.html +796 -0
- package/coverage/lcov-report/builder/revision.ts.html +1 -1
- package/coverage/lcov-report/builder/traffic.ts.html +1 -1
- package/coverage/lcov-report/config/index.html +30 -15
- package/coverage/lcov-report/config/index.ts.html +88 -0
- package/coverage/lcov-report/config/projectConfig.ts.html +79 -46
- package/coverage/lcov-report/datasource/adapter.ts.html +74 -11
- package/coverage/lcov-report/datasource/datasource.ts.html +77 -26
- package/coverage/lcov-report/datasource/filesystemAdapter.ts.html +693 -69
- package/coverage/lcov-report/datasource/index.html +35 -35
- package/coverage/lcov-report/datasource/index.ts.html +1 -1
- package/coverage/lcov-report/index.html +53 -53
- package/coverage/lcov-report/linter/attributeSchema.ts.html +4 -4
- package/coverage/lcov-report/linter/checkCircularDependency.ts.html +1 -1
- package/coverage/lcov-report/linter/checkPercentageExceedingSlot.ts.html +1 -1
- package/coverage/lcov-report/linter/conditionSchema.ts.html +7 -7
- package/coverage/lcov-report/linter/featureSchema.ts.html +848 -389
- package/coverage/lcov-report/linter/groupSchema.ts.html +3 -3
- package/coverage/lcov-report/linter/index.html +50 -35
- package/coverage/lcov-report/linter/lintProject.ts.html +437 -92
- package/coverage/lcov-report/linter/mutationNotation.ts.html +1309 -0
- package/coverage/lcov-report/linter/printError.ts.html +9 -9
- package/coverage/lcov-report/linter/schema.ts.html +69 -69
- package/coverage/lcov-report/linter/segmentSchema.ts.html +3 -3
- package/coverage/lcov-report/linter/testSchema.ts.html +10 -10
- package/coverage/lcov-report/list/index.html +1 -1
- package/coverage/lcov-report/list/matrix.ts.html +1 -1
- package/coverage/lcov-report/parsers/index.html +1 -1
- package/coverage/lcov-report/parsers/index.ts.html +4 -4
- package/coverage/lcov-report/parsers/json.ts.html +2 -2
- package/coverage/lcov-report/parsers/yml.ts.html +6 -6
- package/coverage/lcov-report/tester/cliFormat.ts.html +1 -1
- package/coverage/lcov-report/tester/helpers.ts.html +1 -1
- package/coverage/lcov-report/tester/index.html +1 -1
- package/coverage/lcov-report/utils/git.ts.html +118 -16
- package/coverage/lcov-report/utils/index.html +14 -14
- package/coverage/lcov.info +2918 -1932
- package/lib/builder/buildDatafile.js +8 -3
- package/lib/builder/buildDatafile.js.map +1 -1
- package/lib/builder/mutateVariables.d.ts +14 -0
- package/lib/builder/mutateVariables.js +90 -0
- package/lib/builder/mutateVariables.js.map +1 -0
- package/lib/builder/mutateVariables.spec.d.ts +1 -0
- package/lib/builder/mutateVariables.spec.js +1045 -0
- package/lib/builder/mutateVariables.spec.js.map +1 -0
- package/lib/builder/mutator.d.ts +20 -0
- package/lib/builder/mutator.js +223 -0
- package/lib/builder/mutator.js.map +1 -0
- package/lib/builder/mutator.spec.d.ts +1 -0
- package/lib/builder/mutator.spec.js +368 -0
- package/lib/builder/mutator.spec.js.map +1 -0
- package/lib/config/projectConfig.d.ts +3 -0
- package/lib/config/projectConfig.js +7 -1
- package/lib/config/projectConfig.js.map +1 -1
- package/lib/config/projectConfig.spec.d.ts +1 -0
- package/lib/config/projectConfig.spec.js +24 -0
- package/lib/config/projectConfig.spec.js.map +1 -0
- package/lib/datasource/adapter.d.ts +7 -0
- package/lib/datasource/adapter.js +7 -0
- package/lib/datasource/adapter.js.map +1 -1
- package/lib/datasource/datasource.d.ts +3 -1
- package/lib/datasource/datasource.js +6 -0
- package/lib/datasource/datasource.js.map +1 -1
- package/lib/datasource/filesystemAdapter.d.ts +8 -0
- package/lib/datasource/filesystemAdapter.js +134 -7
- package/lib/datasource/filesystemAdapter.js.map +1 -1
- package/lib/datasource/filesystemAdapter.spec.d.ts +1 -0
- package/lib/datasource/filesystemAdapter.spec.js +88 -0
- package/lib/datasource/filesystemAdapter.spec.js.map +1 -0
- package/lib/linter/conditionSchema.spec.js +2 -0
- package/lib/linter/conditionSchema.spec.js.map +1 -1
- package/lib/linter/featureSchema.d.ts +7 -7
- package/lib/linter/featureSchema.js +176 -103
- package/lib/linter/featureSchema.js.map +1 -1
- package/lib/linter/featureSchema.spec.js +167 -0
- package/lib/linter/featureSchema.spec.js.map +1 -1
- package/lib/linter/lintProject.d.ts +2 -0
- package/lib/linter/lintProject.js +85 -8
- package/lib/linter/lintProject.js.map +1 -1
- package/lib/linter/lintProject.spec.js +37 -0
- package/lib/linter/lintProject.spec.js.map +1 -1
- package/lib/linter/mutationNotation.d.ts +47 -0
- package/lib/linter/mutationNotation.js +381 -0
- package/lib/linter/mutationNotation.js.map +1 -0
- package/lib/linter/mutationNotation.spec.d.ts +1 -0
- package/lib/linter/mutationNotation.spec.js +549 -0
- package/lib/linter/mutationNotation.spec.js.map +1 -0
- package/lib/linter/segmentSchema.spec.js +2 -0
- package/lib/linter/segmentSchema.spec.js.map +1 -1
- package/lib/utils/git.js +32 -7
- package/lib/utils/git.js.map +1 -1
- package/package.json +2 -2
- package/src/builder/buildDatafile.ts +29 -3
- package/src/builder/mutateVariables.spec.ts +1134 -0
- package/src/builder/mutateVariables.ts +105 -0
- package/src/builder/mutator.spec.ts +413 -0
- package/src/builder/mutator.ts +237 -0
- package/src/config/projectConfig.spec.ts +31 -0
- package/src/config/projectConfig.ts +11 -0
- package/src/datasource/adapter.ts +21 -0
- package/src/datasource/datasource.ts +18 -1
- package/src/datasource/filesystemAdapter.spec.ts +153 -0
- package/src/datasource/filesystemAdapter.ts +216 -8
- package/src/linter/conditionSchema.spec.ts +2 -0
- package/src/linter/featureSchema.spec.ts +203 -0
- package/src/linter/featureSchema.ts +320 -167
- package/src/linter/lintProject.spec.ts +74 -0
- package/src/linter/lintProject.ts +123 -8
- package/src/linter/mutationNotation.spec.ts +642 -0
- package/src/linter/mutationNotation.ts +408 -0
- package/src/linter/segmentSchema.spec.ts +2 -0
- package/src/utils/git.ts +41 -7
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">43.
|
|
26
|
+
<span class="strong">43.28% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>29/67</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">38.
|
|
40
|
+
<span class="strong">38.63% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>17/44</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">43.
|
|
47
|
+
<span class="strong">43.28% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>29/67</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -322,7 +322,24 @@
|
|
|
322
322
|
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
323
|
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
324
|
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
-
<a name='L260'></a><a href='#L260'>260</a
|
|
325
|
+
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
+
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
+
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
+
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
+
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
+
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
+
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
+
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
+
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
+
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
+
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
+
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
+
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
+
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
+
<a name='L274'></a><a href='#L274'>274</a>
|
|
340
|
+
<a name='L275'></a><a href='#L275'>275</a>
|
|
341
|
+
<a name='L276'></a><a href='#L276'>276</a>
|
|
342
|
+
<a name='L277'></a><a href='#L277'>277</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
326
343
|
<span class="cline-any cline-neutral"> </span>
|
|
327
344
|
<span class="cline-any cline-neutral"> </span>
|
|
328
345
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -344,19 +361,24 @@
|
|
|
344
361
|
<span class="cline-any cline-neutral"> </span>
|
|
345
362
|
<span class="cline-any cline-neutral"> </span>
|
|
346
363
|
<span class="cline-any cline-neutral"> </span>
|
|
347
|
-
<span class="cline-any cline-yes">1x</span>
|
|
348
364
|
<span class="cline-any cline-neutral"> </span>
|
|
349
365
|
<span class="cline-any cline-neutral"> </span>
|
|
350
366
|
<span class="cline-any cline-neutral"> </span>
|
|
351
|
-
<span class="cline-any cline-yes">4x</span>
|
|
352
|
-
<span class="cline-any cline-yes">4x</span>
|
|
353
367
|
<span class="cline-any cline-neutral"> </span>
|
|
354
|
-
<span class="cline-any cline-
|
|
368
|
+
<span class="cline-any cline-neutral"> </span>
|
|
369
|
+
<span class="cline-any cline-yes">2x</span>
|
|
370
|
+
<span class="cline-any cline-neutral"> </span>
|
|
371
|
+
<span class="cline-any cline-neutral"> </span>
|
|
372
|
+
<span class="cline-any cline-neutral"> </span>
|
|
373
|
+
<span class="cline-any cline-yes">10x</span>
|
|
374
|
+
<span class="cline-any cline-yes">10x</span>
|
|
375
|
+
<span class="cline-any cline-neutral"> </span>
|
|
376
|
+
<span class="cline-any cline-yes">10x</span>
|
|
355
377
|
<span class="cline-any cline-neutral"> </span>
|
|
356
378
|
<span class="cline-any cline-neutral"> </span>
|
|
357
379
|
<span class="cline-any cline-neutral"> </span>
|
|
358
380
|
<span class="cline-any cline-neutral"> </span>
|
|
359
|
-
<span class="cline-any cline-yes">
|
|
381
|
+
<span class="cline-any cline-yes">247x</span>
|
|
360
382
|
<span class="cline-any cline-neutral"> </span>
|
|
361
383
|
<span class="cline-any cline-neutral"> </span>
|
|
362
384
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -398,7 +420,7 @@
|
|
|
398
420
|
<span class="cline-any cline-neutral"> </span>
|
|
399
421
|
<span class="cline-any cline-neutral"> </span>
|
|
400
422
|
<span class="cline-any cline-neutral"> </span>
|
|
401
|
-
<span class="cline-any cline-yes">
|
|
423
|
+
<span class="cline-any cline-yes">6x</span>
|
|
402
424
|
<span class="cline-any cline-neutral"> </span>
|
|
403
425
|
<span class="cline-any cline-neutral"> </span>
|
|
404
426
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -406,7 +428,11 @@
|
|
|
406
428
|
<span class="cline-any cline-neutral"> </span>
|
|
407
429
|
<span class="cline-any cline-neutral"> </span>
|
|
408
430
|
<span class="cline-any cline-neutral"> </span>
|
|
409
|
-
<span class="cline-any cline-yes">
|
|
431
|
+
<span class="cline-any cline-yes">60x</span>
|
|
432
|
+
<span class="cline-any cline-neutral"> </span>
|
|
433
|
+
<span class="cline-any cline-neutral"> </span>
|
|
434
|
+
<span class="cline-any cline-neutral"> </span>
|
|
435
|
+
<span class="cline-any cline-no"> </span>
|
|
410
436
|
<span class="cline-any cline-neutral"> </span>
|
|
411
437
|
<span class="cline-any cline-neutral"> </span>
|
|
412
438
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -421,6 +447,14 @@
|
|
|
421
447
|
<span class="cline-any cline-neutral"> </span>
|
|
422
448
|
<span class="cline-any cline-neutral"> </span>
|
|
423
449
|
<span class="cline-any cline-neutral"> </span>
|
|
450
|
+
<span class="cline-any cline-neutral"> </span>
|
|
451
|
+
<span class="cline-any cline-yes">1x</span>
|
|
452
|
+
<span class="cline-any cline-neutral"> </span>
|
|
453
|
+
<span class="cline-any cline-neutral"> </span>
|
|
454
|
+
<span class="cline-any cline-neutral"> </span>
|
|
455
|
+
<span class="cline-any cline-neutral"> </span>
|
|
456
|
+
<span class="cline-any cline-neutral"> </span>
|
|
457
|
+
<span class="cline-any cline-neutral"> </span>
|
|
424
458
|
<span class="cline-any cline-no"> </span>
|
|
425
459
|
<span class="cline-any cline-neutral"> </span>
|
|
426
460
|
<span class="cline-any cline-no"> </span>
|
|
@@ -448,7 +482,7 @@
|
|
|
448
482
|
<span class="cline-any cline-neutral"> </span>
|
|
449
483
|
<span class="cline-any cline-neutral"> </span>
|
|
450
484
|
<span class="cline-any cline-neutral"> </span>
|
|
451
|
-
<span class="cline-any cline-yes">
|
|
485
|
+
<span class="cline-any cline-yes">6x</span>
|
|
452
486
|
<span class="cline-any cline-neutral"> </span>
|
|
453
487
|
<span class="cline-any cline-neutral"> </span>
|
|
454
488
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -469,14 +503,14 @@
|
|
|
469
503
|
<span class="cline-any cline-neutral"> </span>
|
|
470
504
|
<span class="cline-any cline-neutral"> </span>
|
|
471
505
|
<span class="cline-any cline-neutral"> </span>
|
|
472
|
-
<span class="cline-any cline-yes">
|
|
506
|
+
<span class="cline-any cline-yes">12x</span>
|
|
473
507
|
<span class="cline-any cline-neutral"> </span>
|
|
474
508
|
<span class="cline-any cline-neutral"> </span>
|
|
475
509
|
<span class="cline-any cline-neutral"> </span>
|
|
476
|
-
<span class="cline-any cline-yes">
|
|
477
|
-
<span class="cline-any cline-yes">
|
|
510
|
+
<span class="cline-any cline-yes">6x</span>
|
|
511
|
+
<span class="cline-any cline-yes">6x</span>
|
|
478
512
|
<span class="cline-any cline-neutral"> </span>
|
|
479
|
-
<span class="cline-any cline-yes">
|
|
513
|
+
<span class="cline-any cline-yes">6x</span>
|
|
480
514
|
<span class="cline-any cline-yes">45x</span>
|
|
481
515
|
<span class="cline-any cline-neutral"> </span>
|
|
482
516
|
<span class="cline-any cline-yes">45x</span>
|
|
@@ -490,7 +524,7 @@
|
|
|
490
524
|
<span class="cline-any cline-neutral"> </span>
|
|
491
525
|
<span class="cline-any cline-neutral"> </span>
|
|
492
526
|
<span class="cline-any cline-neutral"> </span>
|
|
493
|
-
<span class="cline-any cline-yes">
|
|
527
|
+
<span class="cline-any cline-yes">6x</span>
|
|
494
528
|
<span class="cline-any cline-neutral"> </span>
|
|
495
529
|
<span class="cline-any cline-neutral"> </span>
|
|
496
530
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -511,7 +545,7 @@
|
|
|
511
545
|
<span class="cline-any cline-neutral"> </span>
|
|
512
546
|
<span class="cline-any cline-neutral"> </span>
|
|
513
547
|
<span class="cline-any cline-neutral"> </span>
|
|
514
|
-
<span class="cline-any cline-yes">
|
|
548
|
+
<span class="cline-any cline-yes">6x</span>
|
|
515
549
|
<span class="cline-any cline-neutral"> </span>
|
|
516
550
|
<span class="cline-any cline-neutral"> </span>
|
|
517
551
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -532,7 +566,7 @@
|
|
|
532
566
|
<span class="cline-any cline-neutral"> </span>
|
|
533
567
|
<span class="cline-any cline-neutral"> </span>
|
|
534
568
|
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-yes">
|
|
569
|
+
<span class="cline-any cline-yes">6x</span>
|
|
536
570
|
<span class="cline-any cline-neutral"> </span>
|
|
537
571
|
<span class="cline-any cline-neutral"> </span>
|
|
538
572
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -553,11 +587,11 @@
|
|
|
553
587
|
<span class="cline-any cline-neutral"> </span>
|
|
554
588
|
<span class="cline-any cline-neutral"> </span>
|
|
555
589
|
<span class="cline-any cline-neutral"> </span>
|
|
556
|
-
<span class="cline-any cline-yes">
|
|
590
|
+
<span class="cline-any cline-yes">6x</span>
|
|
557
591
|
<span class="cline-any cline-neutral"> </span>
|
|
558
592
|
<span class="cline-any cline-neutral"> </span>
|
|
559
593
|
<span class="cline-any cline-neutral"> </span>
|
|
560
|
-
<span class="cline-any cline-yes">
|
|
594
|
+
<span class="cline-any cline-yes">85x</span>
|
|
561
595
|
<span class="cline-any cline-neutral"> </span>
|
|
562
596
|
<span class="cline-any cline-neutral"> </span>
|
|
563
597
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -601,7 +635,12 @@
|
|
|
601
635
|
import { ProjectConfig } from "../config";
|
|
602
636
|
import { CustomParser } from "../parsers";
|
|
603
637
|
|
|
604
|
-
import {
|
|
638
|
+
import {
|
|
639
|
+
Adapter,
|
|
640
|
+
DatafileOptions,
|
|
641
|
+
FeatureEnvironmentProperty,
|
|
642
|
+
FeatureSourcePaths,
|
|
643
|
+
} from "./adapter";
|
|
605
644
|
|
|
606
645
|
export class Datasource {
|
|
607
646
|
private adapter: Adapter;
|
|
@@ -676,6 +715,18 @@ export class Datasource {
|
|
|
676
715
|
<span class="cstat-no" title="statement not covered" > return this.adapter.deleteEntity("feature", featureKey);</span>
|
|
677
716
|
}
|
|
678
717
|
|
|
718
|
+
<span class="fstat-no" title="function not covered" > getFeatureSourcePaths(</span>featureKey: FeatureKey): Promise<FeatureSourcePaths | undefined> {
|
|
719
|
+
<span class="cstat-no" title="statement not covered" > return this.adapter.getFeatureSourcePaths(featureKey);</span>
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
getFeaturePropertySourcePath(
|
|
723
|
+
featureKey: FeatureKey,
|
|
724
|
+
property: FeatureEnvironmentProperty,
|
|
725
|
+
environment?: string,
|
|
726
|
+
): Promise<string | undefined> {
|
|
727
|
+
return this.adapter.getFeaturePropertySourcePath(featureKey, property, environment);
|
|
728
|
+
}
|
|
729
|
+
|
|
679
730
|
<span class="fstat-no" title="function not covered" > async </span>getRequiredFeaturesChain(
|
|
680
731
|
featureKey: FeatureKey,
|
|
681
732
|
chain = <span class="branch-0 cbranch-no" title="branch not covered" >new Set<FeatureKey>(),</span>
|
|
@@ -847,7 +898,7 @@ export class Datasource {
|
|
|
847
898
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
848
899
|
Code coverage generated by
|
|
849
900
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
850
|
-
at 2026-02-
|
|
901
|
+
at 2026-02-25T22:03:15.189Z
|
|
851
902
|
</div>
|
|
852
903
|
<script src="../prettify.js"></script>
|
|
853
904
|
<script>
|