@featurevisor/core 1.25.0 → 1.27.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 (91) hide show
  1. package/.eslintcache +1 -1
  2. package/CHANGELOG.md +22 -0
  3. package/coverage/clover.xml +2 -2
  4. package/coverage/lcov-report/index.html +1 -1
  5. package/coverage/lcov-report/lib/builder/allocator.js.html +1 -1
  6. package/coverage/lcov-report/lib/builder/index.html +1 -1
  7. package/coverage/lcov-report/lib/builder/revision.js.html +1 -1
  8. package/coverage/lcov-report/lib/builder/traffic.js.html +1 -1
  9. package/coverage/lcov-report/lib/tester/checkIfObjectsAreEqual.js.html +1 -1
  10. package/coverage/lcov-report/lib/tester/index.html +1 -1
  11. package/coverage/lcov-report/lib/tester/matrix.js.html +1 -1
  12. package/coverage/lcov-report/src/builder/allocator.ts.html +1 -1
  13. package/coverage/lcov-report/src/builder/index.html +1 -1
  14. package/coverage/lcov-report/src/builder/revision.ts.html +1 -1
  15. package/coverage/lcov-report/src/builder/traffic.ts.html +1 -1
  16. package/coverage/lcov-report/src/tester/checkIfObjectsAreEqual.ts.html +1 -1
  17. package/coverage/lcov-report/src/tester/index.html +1 -1
  18. package/coverage/lcov-report/src/tester/matrix.ts.html +1 -1
  19. package/lib/assess-distribution/index.d.ts +2 -0
  20. package/lib/assess-distribution/index.js +37 -1
  21. package/lib/assess-distribution/index.js.map +1 -1
  22. package/lib/benchmark/index.d.ts +2 -0
  23. package/lib/benchmark/index.js +43 -1
  24. package/lib/benchmark/index.js.map +1 -1
  25. package/lib/builder/buildProject.d.ts +3 -0
  26. package/lib/builder/buildProject.js +52 -4
  27. package/lib/builder/buildProject.js.map +1 -1
  28. package/lib/cli/cli.d.ts +26 -0
  29. package/lib/cli/cli.js +133 -0
  30. package/lib/cli/cli.js.map +1 -0
  31. package/lib/cli/index.d.ts +2 -0
  32. package/lib/cli/index.js +19 -0
  33. package/lib/cli/index.js.map +1 -0
  34. package/lib/cli/plugins.d.ts +4 -0
  35. package/lib/cli/plugins.js +37 -0
  36. package/lib/cli/plugins.js.map +1 -0
  37. package/lib/config/projectConfig.d.ts +3 -0
  38. package/lib/config/projectConfig.js +69 -1
  39. package/lib/config/projectConfig.js.map +1 -1
  40. package/lib/evaluate/index.d.ts +2 -0
  41. package/lib/evaluate/index.js +35 -1
  42. package/lib/evaluate/index.js.map +1 -1
  43. package/lib/find-duplicate-segments/index.d.ts +2 -0
  44. package/lib/find-duplicate-segments/index.js +34 -1
  45. package/lib/find-duplicate-segments/index.js.map +1 -1
  46. package/lib/find-usage/index.d.ts +2 -0
  47. package/lib/find-usage/index.js +50 -1
  48. package/lib/find-usage/index.js.map +1 -1
  49. package/lib/generate-code/index.d.ts +2 -0
  50. package/lib/generate-code/index.js +31 -1
  51. package/lib/generate-code/index.js.map +1 -1
  52. package/lib/index.d.ts +1 -0
  53. package/lib/index.js +1 -0
  54. package/lib/index.js.map +1 -1
  55. package/lib/info/index.d.ts +2 -0
  56. package/lib/info/index.js +28 -1
  57. package/lib/info/index.js.map +1 -1
  58. package/lib/init/index.d.ts +2 -0
  59. package/lib/init/index.js +65 -1
  60. package/lib/init/index.js.map +1 -1
  61. package/lib/linter/lintProject.d.ts +2 -0
  62. package/lib/linter/lintProject.js +56 -1
  63. package/lib/linter/lintProject.js.map +1 -1
  64. package/lib/restore/index.d.ts +2 -0
  65. package/lib/restore/index.js +28 -1
  66. package/lib/restore/index.js.map +1 -1
  67. package/lib/site/index.d.ts +2 -2
  68. package/lib/site/index.js +86 -14
  69. package/lib/site/index.js.map +1 -1
  70. package/lib/tester/testProject.d.ts +2 -0
  71. package/lib/tester/testProject.js +52 -1
  72. package/lib/tester/testProject.js.map +1 -1
  73. package/package.json +3 -2
  74. package/src/assess-distribution/index.ts +32 -0
  75. package/src/benchmark/index.ts +40 -0
  76. package/src/builder/buildProject.ts +49 -4
  77. package/src/cli/cli.ts +105 -0
  78. package/src/cli/index.ts +2 -0
  79. package/src/cli/plugins.ts +38 -0
  80. package/src/config/projectConfig.ts +28 -0
  81. package/src/evaluate/index.ts +30 -0
  82. package/src/find-duplicate-segments/index.ts +28 -0
  83. package/src/find-usage/index.ts +44 -0
  84. package/src/generate-code/index.ts +25 -0
  85. package/src/index.ts +1 -0
  86. package/src/info/index.ts +19 -0
  87. package/src/init/index.ts +21 -0
  88. package/src/linter/lintProject.ts +51 -0
  89. package/src/restore/index.ts +19 -0
  90. package/src/site/index.ts +46 -2
  91. package/src/tester/testProject.ts +46 -0
package/.eslintcache CHANGED
@@ -1 +1 @@
1
- [{"/home/runner/work/featurevisor/featurevisor/packages/core/src/assess-distribution/index.ts":"1","/home/runner/work/featurevisor/featurevisor/packages/core/src/benchmark/index.ts":"2","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/allocator.spec.ts":"3","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/allocator.ts":"4","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/buildDatafile.ts":"5","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/buildProject.ts":"6","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/getFeatureRanges.ts":"7","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/index.ts":"8","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/revision.spec.ts":"9","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/revision.ts":"10","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/traffic.spec.ts":"11","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/traffic.ts":"12","/home/runner/work/featurevisor/featurevisor/packages/core/src/config/index.ts":"13","/home/runner/work/featurevisor/featurevisor/packages/core/src/config/parsers.ts":"14","/home/runner/work/featurevisor/featurevisor/packages/core/src/config/projectConfig.ts":"15","/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/adapter.ts":"16","/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/datasource.ts":"17","/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/filesystemAdapter.ts":"18","/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/index.ts":"19","/home/runner/work/featurevisor/featurevisor/packages/core/src/dependencies.ts":"20","/home/runner/work/featurevisor/featurevisor/packages/core/src/evaluate/index.ts":"21","/home/runner/work/featurevisor/featurevisor/packages/core/src/find-duplicate-segments/findDuplicateSegments.ts":"22","/home/runner/work/featurevisor/featurevisor/packages/core/src/find-duplicate-segments/index.ts":"23","/home/runner/work/featurevisor/featurevisor/packages/core/src/find-usage/index.ts":"24","/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/index.ts":"25","/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/typescript.ts":"26","/home/runner/work/featurevisor/featurevisor/packages/core/src/index.ts":"27","/home/runner/work/featurevisor/featurevisor/packages/core/src/info/index.ts":"28","/home/runner/work/featurevisor/featurevisor/packages/core/src/init/index.ts":"29","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/attributeSchema.ts":"30","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/checkCircularDependency.ts":"31","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/checkPercentageExceedingSlot.ts":"32","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/conditionSchema.ts":"33","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/featureSchema.ts":"34","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/groupSchema.ts":"35","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/index.ts":"36","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/lintProject.ts":"37","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/printError.ts":"38","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/segmentSchema.ts":"39","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/testSchema.ts":"40","/home/runner/work/featurevisor/featurevisor/packages/core/src/restore/index.ts":"41","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/exportSite.ts":"42","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/generateHistory.ts":"43","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/generateSiteSearchIndex.ts":"44","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getLastModifiedFromHistory.ts":"45","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getOwnerAndRepoFromUrl.ts":"46","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getRelativePaths.ts":"47","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getRepoDetails.ts":"48","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/index.ts":"49","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/serveSite.ts":"50","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/checkIfArraysAreEqual.ts":"51","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/checkIfObjectsAreEqual.spec.ts":"52","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/checkIfObjectsAreEqual.ts":"53","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/cliFormat.ts":"54","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/index.ts":"55","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/matrix.spec.ts":"56","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/matrix.ts":"57","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/prettyDuration.ts":"58","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/printTestResult.ts":"59","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/testFeature.ts":"60","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/testProject.ts":"61","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/testSegment.ts":"62","/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/extractKeys.ts":"63","/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/git.ts":"64","/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/index.ts":"65","/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/pretty.ts":"66"},{"size":4276,"mtime":1721144488302,"results":"67","hashOfConfig":"68"},{"size":3741,"mtime":1721144488302,"results":"69","hashOfConfig":"68"},{"size":3214,"mtime":1721144488302,"results":"70","hashOfConfig":"68"},{"size":1067,"mtime":1721144488302,"results":"71","hashOfConfig":"68"},{"size":10477,"mtime":1721144488302,"results":"72","hashOfConfig":"68"},{"size":2673,"mtime":1721144488302,"results":"73","hashOfConfig":"68"},{"size":1755,"mtime":1721144488302,"results":"74","hashOfConfig":"68"},{"size":65,"mtime":1721144488302,"results":"75","hashOfConfig":"68"},{"size":688,"mtime":1721144488302,"results":"76","hashOfConfig":"68"},{"size":760,"mtime":1721144488302,"results":"77","hashOfConfig":"68"},{"size":18016,"mtime":1721144488302,"results":"78","hashOfConfig":"68"},{"size":4894,"mtime":1721144488302,"results":"79","hashOfConfig":"68"},{"size":60,"mtime":1721144488302,"results":"80","hashOfConfig":"68"},{"size":1035,"mtime":1721144488302,"results":"81","hashOfConfig":"68"},{"size":4392,"mtime":1721144488302,"results":"82","hashOfConfig":"68"},{"size":1423,"mtime":1721144488302,"results":"83","hashOfConfig":"68"},{"size":5208,"mtime":1721144488302,"results":"84","hashOfConfig":"68"},{"size":10198,"mtime":1721144488302,"results":"85","hashOfConfig":"68"},{"size":94,"mtime":1721144488302,"results":"86","hashOfConfig":"68"},{"size":279,"mtime":1721144488302,"results":"87","hashOfConfig":"68"},{"size":4716,"mtime":1721144488302,"results":"88","hashOfConfig":"68"},{"size":1957,"mtime":1721144488302,"results":"89","hashOfConfig":"68"},{"size":820,"mtime":1721144488302,"results":"90","hashOfConfig":"68"},{"size":11346,"mtime":1721144488302,"results":"91","hashOfConfig":"68"},{"size":1476,"mtime":1721144488302,"results":"92","hashOfConfig":"68"},{"size":6250,"mtime":1721144488302,"results":"93","hashOfConfig":"68"},{"size":468,"mtime":1721144488302,"results":"94","hashOfConfig":"68"},{"size":1646,"mtime":1721144488306,"results":"95","hashOfConfig":"68"},{"size":1308,"mtime":1721144488306,"results":"96","hashOfConfig":"68"},{"size":359,"mtime":1721144488306,"results":"97","hashOfConfig":"68"},{"size":1119,"mtime":1721144488306,"results":"98","hashOfConfig":"68"},{"size":1464,"mtime":1721144488306,"results":"99","hashOfConfig":"68"},{"size":4007,"mtime":1721144488306,"results":"100","hashOfConfig":"68"},{"size":8411,"mtime":1721144488306,"results":"101","hashOfConfig":"68"},{"size":1221,"mtime":1721144488306,"results":"102","hashOfConfig":"68"},{"size":31,"mtime":1721144488306,"results":"103","hashOfConfig":"68"},{"size":9986,"mtime":1721144488306,"results":"104","hashOfConfig":"68"},{"size":982,"mtime":1721144488306,"results":"105","hashOfConfig":"68"},{"size":364,"mtime":1721144488306,"results":"106","hashOfConfig":"68"},{"size":2432,"mtime":1721144488306,"results":"107","hashOfConfig":"68"},{"size":641,"mtime":1721144488306,"results":"108","hashOfConfig":"68"},{"size":1481,"mtime":1721144488306,"results":"109","hashOfConfig":"68"},{"size":1178,"mtime":1721144488306,"results":"110","hashOfConfig":"68"},{"size":6187,"mtime":1721144488306,"results":"111","hashOfConfig":"68"},{"size":516,"mtime":1721144488306,"results":"112","hashOfConfig":"68"},{"size":496,"mtime":1721144488306,"results":"113","hashOfConfig":"68"},{"size":607,"mtime":1721144488306,"results":"114","hashOfConfig":"68"},{"size":1560,"mtime":1721144488306,"results":"115","hashOfConfig":"68"},{"size":59,"mtime":1721144488306,"results":"116","hashOfConfig":"68"},{"size":1681,"mtime":1721144488306,"results":"117","hashOfConfig":"68"},{"size":298,"mtime":1721144488306,"results":"118","hashOfConfig":"68"},{"size":932,"mtime":1721144488306,"results":"119","hashOfConfig":"68"},{"size":468,"mtime":1721144488306,"results":"120","hashOfConfig":"68"},{"size":212,"mtime":1721144488306,"results":"121","hashOfConfig":"68"},{"size":62,"mtime":1721144488306,"results":"122","hashOfConfig":"68"},{"size":1188,"mtime":1721144488306,"results":"123","hashOfConfig":"68"},{"size":5021,"mtime":1721144488306,"results":"124","hashOfConfig":"68"},{"size":516,"mtime":1721144488306,"results":"125","hashOfConfig":"68"},{"size":1691,"mtime":1721144488306,"results":"126","hashOfConfig":"68"},{"size":6627,"mtime":1721144488306,"results":"127","hashOfConfig":"68"},{"size":5631,"mtime":1721144488306,"results":"128","hashOfConfig":"68"},{"size":2328,"mtime":1721144488306,"results":"129","hashOfConfig":"68"},{"size":1993,"mtime":1721144488306,"results":"130","hashOfConfig":"68"},{"size":3641,"mtime":1721144488306,"results":"131","hashOfConfig":"68"},{"size":80,"mtime":1721144488306,"results":"132","hashOfConfig":"68"},{"size":304,"mtime":1721144488306,"results":"133","hashOfConfig":"68"},{"filePath":"134","messages":"135","suppressedMessages":"136","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1phe751",{"filePath":"137","messages":"138","suppressedMessages":"139","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"140","messages":"141","suppressedMessages":"142","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"143","messages":"144","suppressedMessages":"145","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"146","messages":"147","suppressedMessages":"148","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"149","messages":"150","suppressedMessages":"151","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"152","messages":"153","suppressedMessages":"154","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"155","messages":"156","suppressedMessages":"157","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"158","messages":"159","suppressedMessages":"160","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"161","messages":"162","suppressedMessages":"163","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"164","messages":"165","suppressedMessages":"166","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"167","messages":"168","suppressedMessages":"169","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"170","messages":"171","suppressedMessages":"172","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"173","messages":"174","suppressedMessages":"175","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"176","messages":"177","suppressedMessages":"178","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"179","messages":"180","suppressedMessages":"181","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"182","messages":"183","suppressedMessages":"184","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"185","messages":"186","suppressedMessages":"187","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"188","messages":"189","suppressedMessages":"190","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"191","messages":"192","suppressedMessages":"193","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"194","messages":"195","suppressedMessages":"196","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"197","messages":"198","suppressedMessages":"199","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"200","messages":"201","suppressedMessages":"202","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"203","messages":"204","suppressedMessages":"205","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"206","messages":"207","suppressedMessages":"208","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"209","messages":"210","suppressedMessages":"211","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"212","messages":"213","suppressedMessages":"214","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"215","messages":"216","suppressedMessages":"217","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"218","messages":"219","suppressedMessages":"220","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"221","messages":"222","suppressedMessages":"223","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"224","messages":"225","suppressedMessages":"226","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"227","messages":"228","suppressedMessages":"229","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"230","messages":"231","suppressedMessages":"232","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"233","messages":"234","suppressedMessages":"235","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"236","messages":"237","suppressedMessages":"238","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"239","messages":"240","suppressedMessages":"241","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"242","messages":"243","suppressedMessages":"244","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"245","messages":"246","suppressedMessages":"247","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"248","messages":"249","suppressedMessages":"250","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"251","messages":"252","suppressedMessages":"253","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"254","messages":"255","suppressedMessages":"256","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"257","messages":"258","suppressedMessages":"259","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"260","messages":"261","suppressedMessages":"262","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"263","messages":"264","suppressedMessages":"265","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"266","messages":"267","suppressedMessages":"268","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"269","messages":"270","suppressedMessages":"271","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"272","messages":"273","suppressedMessages":"274","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"275","messages":"276","suppressedMessages":"277","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"278","messages":"279","suppressedMessages":"280","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"281","messages":"282","suppressedMessages":"283","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"284","messages":"285","suppressedMessages":"286","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"287","messages":"288","suppressedMessages":"289","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"290","messages":"291","suppressedMessages":"292","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"293","messages":"294","suppressedMessages":"295","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"296","messages":"297","suppressedMessages":"298","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"299","messages":"300","suppressedMessages":"301","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"302","messages":"303","suppressedMessages":"304","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"305","messages":"306","suppressedMessages":"307","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"308","messages":"309","suppressedMessages":"310","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"311","messages":"312","suppressedMessages":"313","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"314","messages":"315","suppressedMessages":"316","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"317","messages":"318","suppressedMessages":"319","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"320","messages":"321","suppressedMessages":"322","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"323","messages":"324","suppressedMessages":"325","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"326","messages":"327","suppressedMessages":"328","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"329","messages":"330","suppressedMessages":"331","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/home/runner/work/featurevisor/featurevisor/packages/core/src/assess-distribution/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/benchmark/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/allocator.spec.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/allocator.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/buildDatafile.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/buildProject.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/getFeatureRanges.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/revision.spec.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/revision.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/traffic.spec.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/traffic.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/config/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/config/parsers.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/config/projectConfig.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/adapter.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/datasource.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/filesystemAdapter.ts",[],["332","333"],"/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/dependencies.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/evaluate/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/find-duplicate-segments/findDuplicateSegments.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/find-duplicate-segments/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/find-usage/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/typescript.ts",[],["334"],"/home/runner/work/featurevisor/featurevisor/packages/core/src/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/info/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/init/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/attributeSchema.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/checkCircularDependency.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/checkPercentageExceedingSlot.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/conditionSchema.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/featureSchema.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/groupSchema.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/lintProject.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/printError.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/segmentSchema.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/testSchema.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/restore/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site/exportSite.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site/generateHistory.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site/generateSiteSearchIndex.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getLastModifiedFromHistory.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getOwnerAndRepoFromUrl.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getRelativePaths.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getRepoDetails.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site/serveSite.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/checkIfArraysAreEqual.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/checkIfObjectsAreEqual.spec.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/checkIfObjectsAreEqual.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/cliFormat.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/matrix.spec.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/matrix.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/prettyDuration.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/printTestResult.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/testFeature.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/testProject.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/testSegment.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/extractKeys.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/git.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/pretty.ts",[],[],{"ruleId":"335","severity":2,"message":"336","line":22,"column":7,"nodeType":"337","messageId":"338","endLine":22,"endColumn":18,"suppressions":"339"},{"ruleId":"340","severity":2,"message":"341","line":22,"column":21,"nodeType":"342","messageId":"343","endLine":22,"endColumn":81,"fix":"344","suppressions":"345"},{"ruleId":"335","severity":2,"message":"346","line":51,"column":10,"nodeType":"337","messageId":"338","endLine":51,"endColumn":38,"suppressions":"347"},"@typescript-eslint/no-unused-vars","'commitRegex' is assigned a value but never used.","Identifier","unusedVar",["348"],"no-regex-spaces","Spaces are hard to count. Use {3}.","Literal","multipleSpaces",{"range":"349","text":"350"},["351"],"'getFeaturevisorTypeFromValue' is defined but never used.",["352"],{"kind":"353","justification":"354"},[515,518]," {3}",{"kind":"353","justification":"354"},{"kind":"353","justification":"354"},"directive",""]
1
+ [{"/home/runner/work/featurevisor/featurevisor/packages/core/src/assess-distribution/index.ts":"1","/home/runner/work/featurevisor/featurevisor/packages/core/src/benchmark/index.ts":"2","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/allocator.spec.ts":"3","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/allocator.ts":"4","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/buildDatafile.ts":"5","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/buildProject.ts":"6","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/getFeatureRanges.ts":"7","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/index.ts":"8","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/revision.spec.ts":"9","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/revision.ts":"10","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/traffic.spec.ts":"11","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/traffic.ts":"12","/home/runner/work/featurevisor/featurevisor/packages/core/src/cli/cli.ts":"13","/home/runner/work/featurevisor/featurevisor/packages/core/src/cli/index.ts":"14","/home/runner/work/featurevisor/featurevisor/packages/core/src/cli/plugins.ts":"15","/home/runner/work/featurevisor/featurevisor/packages/core/src/config/index.ts":"16","/home/runner/work/featurevisor/featurevisor/packages/core/src/config/parsers.ts":"17","/home/runner/work/featurevisor/featurevisor/packages/core/src/config/projectConfig.ts":"18","/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/adapter.ts":"19","/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/datasource.ts":"20","/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/filesystemAdapter.ts":"21","/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/index.ts":"22","/home/runner/work/featurevisor/featurevisor/packages/core/src/dependencies.ts":"23","/home/runner/work/featurevisor/featurevisor/packages/core/src/evaluate/index.ts":"24","/home/runner/work/featurevisor/featurevisor/packages/core/src/find-duplicate-segments/findDuplicateSegments.ts":"25","/home/runner/work/featurevisor/featurevisor/packages/core/src/find-duplicate-segments/index.ts":"26","/home/runner/work/featurevisor/featurevisor/packages/core/src/find-usage/index.ts":"27","/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/index.ts":"28","/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/typescript.ts":"29","/home/runner/work/featurevisor/featurevisor/packages/core/src/index.ts":"30","/home/runner/work/featurevisor/featurevisor/packages/core/src/info/index.ts":"31","/home/runner/work/featurevisor/featurevisor/packages/core/src/init/index.ts":"32","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/attributeSchema.ts":"33","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/checkCircularDependency.ts":"34","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/checkPercentageExceedingSlot.ts":"35","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/conditionSchema.ts":"36","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/featureSchema.ts":"37","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/groupSchema.ts":"38","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/index.ts":"39","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/lintProject.ts":"40","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/printError.ts":"41","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/segmentSchema.ts":"42","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/testSchema.ts":"43","/home/runner/work/featurevisor/featurevisor/packages/core/src/restore/index.ts":"44","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/exportSite.ts":"45","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/generateHistory.ts":"46","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/generateSiteSearchIndex.ts":"47","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getLastModifiedFromHistory.ts":"48","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getOwnerAndRepoFromUrl.ts":"49","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getRelativePaths.ts":"50","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getRepoDetails.ts":"51","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/index.ts":"52","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/serveSite.ts":"53","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/checkIfArraysAreEqual.ts":"54","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/checkIfObjectsAreEqual.spec.ts":"55","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/checkIfObjectsAreEqual.ts":"56","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/cliFormat.ts":"57","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/index.ts":"58","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/matrix.spec.ts":"59","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/matrix.ts":"60","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/prettyDuration.ts":"61","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/printTestResult.ts":"62","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/testFeature.ts":"63","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/testProject.ts":"64","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/testSegment.ts":"65","/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/extractKeys.ts":"66","/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/git.ts":"67","/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/index.ts":"68","/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/pretty.ts":"69"},{"size":5264,"mtime":1723067365530,"results":"70","hashOfConfig":"71"},{"size":4981,"mtime":1723067365530,"results":"72","hashOfConfig":"71"},{"size":3214,"mtime":1723067365530,"results":"73","hashOfConfig":"71"},{"size":1067,"mtime":1723067365530,"results":"74","hashOfConfig":"71"},{"size":10477,"mtime":1723067365530,"results":"75","hashOfConfig":"71"},{"size":3980,"mtime":1723067365530,"results":"76","hashOfConfig":"71"},{"size":1755,"mtime":1723067365530,"results":"77","hashOfConfig":"71"},{"size":65,"mtime":1723067365530,"results":"78","hashOfConfig":"71"},{"size":688,"mtime":1723067365530,"results":"79","hashOfConfig":"71"},{"size":760,"mtime":1723067365530,"results":"80","hashOfConfig":"71"},{"size":18016,"mtime":1723067365530,"results":"81","hashOfConfig":"71"},{"size":4894,"mtime":1723067365530,"results":"82","hashOfConfig":"71"},{"size":2569,"mtime":1723067365530,"results":"83","hashOfConfig":"71"},{"size":50,"mtime":1723067365530,"results":"84","hashOfConfig":"71"},{"size":1185,"mtime":1723067365530,"results":"85","hashOfConfig":"71"},{"size":60,"mtime":1723067365530,"results":"86","hashOfConfig":"71"},{"size":1035,"mtime":1723067365530,"results":"87","hashOfConfig":"71"},{"size":5098,"mtime":1723067365530,"results":"88","hashOfConfig":"71"},{"size":1423,"mtime":1723067365530,"results":"89","hashOfConfig":"71"},{"size":5208,"mtime":1723067365530,"results":"90","hashOfConfig":"71"},{"size":10198,"mtime":1723067365530,"results":"91","hashOfConfig":"71"},{"size":94,"mtime":1723067365530,"results":"92","hashOfConfig":"71"},{"size":279,"mtime":1723067365530,"results":"93","hashOfConfig":"71"},{"size":5510,"mtime":1723067365530,"results":"94","hashOfConfig":"71"},{"size":1957,"mtime":1723067365534,"results":"95","hashOfConfig":"71"},{"size":1523,"mtime":1723067365534,"results":"96","hashOfConfig":"71"},{"size":12460,"mtime":1723067365534,"results":"97","hashOfConfig":"71"},{"size":2086,"mtime":1723067365534,"results":"98","hashOfConfig":"71"},{"size":6250,"mtime":1723067365534,"results":"99","hashOfConfig":"71"},{"size":491,"mtime":1723067365534,"results":"100","hashOfConfig":"71"},{"size":2065,"mtime":1723067365534,"results":"101","hashOfConfig":"71"},{"size":1818,"mtime":1723067365534,"results":"102","hashOfConfig":"71"},{"size":359,"mtime":1723067365534,"results":"103","hashOfConfig":"71"},{"size":1119,"mtime":1723067365534,"results":"104","hashOfConfig":"71"},{"size":1464,"mtime":1723067365534,"results":"105","hashOfConfig":"71"},{"size":4007,"mtime":1723067365534,"results":"106","hashOfConfig":"71"},{"size":8411,"mtime":1723067365534,"results":"107","hashOfConfig":"71"},{"size":1221,"mtime":1723067365534,"results":"108","hashOfConfig":"71"},{"size":31,"mtime":1723067365534,"results":"109","hashOfConfig":"71"},{"size":11101,"mtime":1723067365534,"results":"110","hashOfConfig":"71"},{"size":982,"mtime":1723067365534,"results":"111","hashOfConfig":"71"},{"size":364,"mtime":1723067365534,"results":"112","hashOfConfig":"71"},{"size":2432,"mtime":1723067365534,"results":"113","hashOfConfig":"71"},{"size":1053,"mtime":1723067365534,"results":"114","hashOfConfig":"71"},{"size":1481,"mtime":1723067365534,"results":"115","hashOfConfig":"71"},{"size":1178,"mtime":1723067365534,"results":"116","hashOfConfig":"71"},{"size":6187,"mtime":1723067365534,"results":"117","hashOfConfig":"71"},{"size":516,"mtime":1723067365534,"results":"118","hashOfConfig":"71"},{"size":496,"mtime":1723067365534,"results":"119","hashOfConfig":"71"},{"size":607,"mtime":1723067365534,"results":"120","hashOfConfig":"71"},{"size":1560,"mtime":1723067365534,"results":"121","hashOfConfig":"71"},{"size":1068,"mtime":1723067365534,"results":"122","hashOfConfig":"71"},{"size":1681,"mtime":1723067365534,"results":"123","hashOfConfig":"71"},{"size":298,"mtime":1723067365534,"results":"124","hashOfConfig":"71"},{"size":932,"mtime":1723067365534,"results":"125","hashOfConfig":"71"},{"size":468,"mtime":1723067365534,"results":"126","hashOfConfig":"71"},{"size":212,"mtime":1723067365534,"results":"127","hashOfConfig":"71"},{"size":62,"mtime":1723067365534,"results":"128","hashOfConfig":"71"},{"size":1188,"mtime":1723067365534,"results":"129","hashOfConfig":"71"},{"size":5021,"mtime":1723067365534,"results":"130","hashOfConfig":"71"},{"size":516,"mtime":1723067365534,"results":"131","hashOfConfig":"71"},{"size":1691,"mtime":1723067365534,"results":"132","hashOfConfig":"71"},{"size":6627,"mtime":1723067365534,"results":"133","hashOfConfig":"71"},{"size":6674,"mtime":1723067365534,"results":"134","hashOfConfig":"71"},{"size":2328,"mtime":1723067365534,"results":"135","hashOfConfig":"71"},{"size":1993,"mtime":1723067365534,"results":"136","hashOfConfig":"71"},{"size":3641,"mtime":1723067365534,"results":"137","hashOfConfig":"71"},{"size":80,"mtime":1723067365534,"results":"138","hashOfConfig":"71"},{"size":304,"mtime":1723067365534,"results":"139","hashOfConfig":"71"},{"filePath":"140","messages":"141","suppressedMessages":"142","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"162pbz4",{"filePath":"143","messages":"144","suppressedMessages":"145","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"146","messages":"147","suppressedMessages":"148","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"149","messages":"150","suppressedMessages":"151","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"152","messages":"153","suppressedMessages":"154","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"155","messages":"156","suppressedMessages":"157","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"158","messages":"159","suppressedMessages":"160","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"161","messages":"162","suppressedMessages":"163","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"164","messages":"165","suppressedMessages":"166","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"167","messages":"168","suppressedMessages":"169","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"170","messages":"171","suppressedMessages":"172","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"173","messages":"174","suppressedMessages":"175","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"176","messages":"177","suppressedMessages":"178","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"179","messages":"180","suppressedMessages":"181","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"182","messages":"183","suppressedMessages":"184","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"185","messages":"186","suppressedMessages":"187","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"188","messages":"189","suppressedMessages":"190","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"191","messages":"192","suppressedMessages":"193","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"194","messages":"195","suppressedMessages":"196","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"197","messages":"198","suppressedMessages":"199","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"200","messages":"201","suppressedMessages":"202","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"203","messages":"204","suppressedMessages":"205","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"206","messages":"207","suppressedMessages":"208","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"209","messages":"210","suppressedMessages":"211","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"212","messages":"213","suppressedMessages":"214","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"215","messages":"216","suppressedMessages":"217","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"218","messages":"219","suppressedMessages":"220","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"221","messages":"222","suppressedMessages":"223","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"224","messages":"225","suppressedMessages":"226","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"227","messages":"228","suppressedMessages":"229","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"230","messages":"231","suppressedMessages":"232","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"233","messages":"234","suppressedMessages":"235","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"236","messages":"237","suppressedMessages":"238","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"239","messages":"240","suppressedMessages":"241","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"242","messages":"243","suppressedMessages":"244","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"245","messages":"246","suppressedMessages":"247","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"248","messages":"249","suppressedMessages":"250","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"251","messages":"252","suppressedMessages":"253","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"254","messages":"255","suppressedMessages":"256","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"257","messages":"258","suppressedMessages":"259","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"260","messages":"261","suppressedMessages":"262","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"263","messages":"264","suppressedMessages":"265","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"266","messages":"267","suppressedMessages":"268","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"269","messages":"270","suppressedMessages":"271","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"272","messages":"273","suppressedMessages":"274","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"275","messages":"276","suppressedMessages":"277","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"278","messages":"279","suppressedMessages":"280","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"281","messages":"282","suppressedMessages":"283","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"284","messages":"285","suppressedMessages":"286","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"287","messages":"288","suppressedMessages":"289","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"290","messages":"291","suppressedMessages":"292","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"293","messages":"294","suppressedMessages":"295","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"296","messages":"297","suppressedMessages":"298","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"299","messages":"300","suppressedMessages":"301","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"302","messages":"303","suppressedMessages":"304","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"305","messages":"306","suppressedMessages":"307","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"308","messages":"309","suppressedMessages":"310","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"311","messages":"312","suppressedMessages":"313","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"314","messages":"315","suppressedMessages":"316","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"317","messages":"318","suppressedMessages":"319","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"320","messages":"321","suppressedMessages":"322","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"323","messages":"324","suppressedMessages":"325","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"326","messages":"327","suppressedMessages":"328","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"329","messages":"330","suppressedMessages":"331","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"332","messages":"333","suppressedMessages":"334","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"335","messages":"336","suppressedMessages":"337","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"338","messages":"339","suppressedMessages":"340","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"341","messages":"342","suppressedMessages":"343","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"344","messages":"345","suppressedMessages":"346","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/home/runner/work/featurevisor/featurevisor/packages/core/src/assess-distribution/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/benchmark/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/allocator.spec.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/allocator.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/buildDatafile.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/buildProject.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/getFeatureRanges.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/revision.spec.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/revision.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/traffic.spec.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/traffic.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/cli/cli.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/cli/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/cli/plugins.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/config/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/config/parsers.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/config/projectConfig.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/adapter.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/datasource.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/filesystemAdapter.ts",[],["347","348"],"/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/dependencies.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/evaluate/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/find-duplicate-segments/findDuplicateSegments.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/find-duplicate-segments/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/find-usage/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/typescript.ts",[],["349"],"/home/runner/work/featurevisor/featurevisor/packages/core/src/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/info/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/init/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/attributeSchema.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/checkCircularDependency.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/checkPercentageExceedingSlot.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/conditionSchema.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/featureSchema.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/groupSchema.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/lintProject.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/printError.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/segmentSchema.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/testSchema.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/restore/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site/exportSite.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site/generateHistory.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site/generateSiteSearchIndex.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getLastModifiedFromHistory.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getOwnerAndRepoFromUrl.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getRelativePaths.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getRepoDetails.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site/serveSite.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/checkIfArraysAreEqual.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/checkIfObjectsAreEqual.spec.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/checkIfObjectsAreEqual.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/cliFormat.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/matrix.spec.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/matrix.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/prettyDuration.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/printTestResult.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/testFeature.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/testProject.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/testSegment.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/extractKeys.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/git.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/pretty.ts",[],[],{"ruleId":"350","severity":2,"message":"351","line":22,"column":7,"nodeType":"352","messageId":"353","endLine":22,"endColumn":18,"suppressions":"354"},{"ruleId":"355","severity":2,"message":"356","line":22,"column":21,"nodeType":"357","messageId":"358","endLine":22,"endColumn":81,"fix":"359","suppressions":"360"},{"ruleId":"350","severity":2,"message":"361","line":51,"column":10,"nodeType":"352","messageId":"353","endLine":51,"endColumn":38,"suppressions":"362"},"@typescript-eslint/no-unused-vars","'commitRegex' is assigned a value but never used.","Identifier","unusedVar",["363"],"no-regex-spaces","Spaces are hard to count. Use {3}.","Literal","multipleSpaces",{"range":"364","text":"365"},["366"],"'getFeaturevisorTypeFromValue' is defined but never used.",["367"],{"kind":"368","justification":"369"},[515,518]," {3}",{"kind":"368","justification":"369"},{"kind":"368","justification":"369"},"directive",""]
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
+ # [1.27.0](https://github.com/featurevisor/featurevisor/compare/v1.26.0...v1.27.0) (2024-08-07)
7
+
8
+
9
+ ### Features
10
+
11
+ * Plugins API ([#318](https://github.com/featurevisor/featurevisor/issues/318)) ([f86312b](https://github.com/featurevisor/featurevisor/commit/f86312bbf02466f2926783edd590e78e254060fd))
12
+
13
+
14
+
15
+
16
+
17
+ # [1.26.0](https://github.com/featurevisor/featurevisor/compare/v1.25.0...v1.26.0) (2024-07-19)
18
+
19
+
20
+ ### Features
21
+
22
+ * allow building datafiles without making changes to state files ([#314](https://github.com/featurevisor/featurevisor/issues/314)) ([d02c005](https://github.com/featurevisor/featurevisor/commit/d02c005c8792e5111b234015adb030773bba64a5))
23
+
24
+
25
+
26
+
27
+
6
28
  # [1.25.0](https://github.com/featurevisor/featurevisor/compare/v1.24.0...v1.25.0) (2024-07-16)
7
29
 
8
30
 
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1721144617084" clover="3.2.0">
3
- <project timestamp="1721144617084" name="All files">
2
+ <coverage generated="1723067497591" clover="3.2.0">
3
+ <project timestamp="1723067497591" name="All files">
4
4
  <metrics statements="381" coveredstatements="260" conditionals="193" coveredconditionals="122" methods="54" coveredmethods="37" elements="628" coveredelements="419" complexity="0" loc="381" ncloc="381" packages="4" files="10" classes="10"/>
5
5
  <package name="lib.builder">
6
6
  <metrics statements="106" coveredstatements="100" conditionals="60" coveredconditionals="50" methods="15" coveredmethods="15"/>
@@ -146,7 +146,7 @@
146
146
  <div class='footer quiet pad2 space-top1 center small'>
147
147
  Code coverage generated by
148
148
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at 2024-07-16T15:43:37.046Z
149
+ at 2024-08-07T21:51:37.552Z
150
150
  </div>
151
151
  <script src="prettify.js"></script>
152
152
  <script>
@@ -184,7 +184,7 @@ exports.getUpdatedAvailableRangesAfterFilling = getUpdatedAvailableRangesAfterFi
184
184
  <div class='footer quiet pad2 space-top1 center small'>
185
185
  Code coverage generated by
186
186
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
187
- at 2024-07-16T15:43:37.046Z
187
+ at 2024-08-07T21:51:37.552Z
188
188
  </div>
189
189
  <script src="../../prettify.js"></script>
190
190
  <script>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at 2024-07-16T15:43:37.046Z
134
+ at 2024-08-07T21:51:37.552Z
135
135
  </div>
136
136
  <script src="../../prettify.js"></script>
137
137
  <script>
@@ -136,7 +136,7 @@ exports.getNextRevision = getNextRevision;
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
139
- at 2024-07-16T15:43:37.046Z
139
+ at 2024-08-07T21:51:37.552Z
140
140
  </div>
141
141
  <script src="../../prettify.js"></script>
142
142
  <script>
@@ -454,7 +454,7 @@ exports.getTraffic = getTraffic;
454
454
  <div class='footer quiet pad2 space-top1 center small'>
455
455
  Code coverage generated by
456
456
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
457
- at 2024-07-16T15:43:37.046Z
457
+ at 2024-08-07T21:51:37.552Z
458
458
  </div>
459
459
  <script src="../../prettify.js"></script>
460
460
  <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-07-16T15:43:37.046Z
142
+ at 2024-08-07T21:51:37.552Z
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-07-16T15:43:37.046Z
119
+ at 2024-08-07T21:51:37.552Z
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-07-16T15:43:37.046Z
475
+ at 2024-08-07T21:51:37.552Z
476
476
  </div>
477
477
  <script src="../../prettify.js"></script>
478
478
  <script>
@@ -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 2024-07-16T15:43:37.046Z
208
+ at 2024-08-07T21:51:37.552Z
209
209
  </div>
210
210
  <script src="../../prettify.js"></script>
211
211
  <script>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at 2024-07-16T15:43:37.046Z
134
+ at 2024-08-07T21:51:37.552Z
135
135
  </div>
136
136
  <script src="../../prettify.js"></script>
137
137
  <script>
@@ -136,7 +136,7 @@
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
139
- at 2024-07-16T15:43:37.046Z
139
+ at 2024-08-07T21:51:37.552Z
140
140
  </div>
141
141
  <script src="../../prettify.js"></script>
142
142
  <script>
@@ -565,7 +565,7 @@ export function getTraffic(
565
565
  <div class='footer quiet pad2 space-top1 center small'>
566
566
  Code coverage generated by
567
567
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
568
- at 2024-07-16T15:43:37.046Z
568
+ at 2024-08-07T21:51:37.552Z
569
569
  </div>
570
570
  <script src="../../prettify.js"></script>
571
571
  <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-07-16T15:43:37.046Z
145
+ at 2024-08-07T21:51:37.552Z
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-07-16T15:43:37.046Z
119
+ at 2024-08-07T21:51:37.552Z
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-07-16T15:43:37.046Z
628
+ at 2024-08-07T21:51:37.552Z
629
629
  </div>
630
630
  <script src="../../prettify.js"></script>
631
631
  <script>
@@ -1,5 +1,6 @@
1
1
  import { FeatureKey, AttributeKey, Context } from "@featurevisor/types";
2
2
  import { Dependencies } from "../dependencies";
3
+ import { Plugin } from "../cli";
3
4
  export interface AssessDistributionOptions {
4
5
  environment: string;
5
6
  feature: FeatureKey;
@@ -9,3 +10,4 @@ export interface AssessDistributionOptions {
9
10
  verbose?: boolean;
10
11
  }
11
12
  export declare function assessDistribution(deps: Dependencies, options: AssessDistributionOptions): Promise<void>;
13
+ export declare const assessDistributionPlugin: Plugin;
@@ -47,7 +47,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
47
47
  }
48
48
  };
49
49
  Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.assessDistribution = void 0;
50
+ exports.assessDistributionPlugin = exports.assessDistribution = void 0;
51
51
  var crypto_1 = require("crypto");
52
52
  var sdk_1 = require("@featurevisor/sdk");
53
53
  var builder_1 = require("../builder");
@@ -162,4 +162,40 @@ function assessDistribution(deps, options) {
162
162
  });
163
163
  }
164
164
  exports.assessDistribution = assessDistribution;
165
+ exports.assessDistributionPlugin = {
166
+ command: "assess-distribution",
167
+ handler: function (_a) {
168
+ var rootDirectoryPath = _a.rootDirectoryPath, projectConfig = _a.projectConfig, datasource = _a.datasource, parsed = _a.parsed;
169
+ return __awaiter(void 0, void 0, void 0, function () {
170
+ return __generator(this, function (_b) {
171
+ switch (_b.label) {
172
+ case 0: return [4 /*yield*/, assessDistribution({
173
+ rootDirectoryPath: rootDirectoryPath,
174
+ projectConfig: projectConfig,
175
+ datasource: datasource,
176
+ options: parsed,
177
+ }, {
178
+ environment: parsed.environment,
179
+ feature: parsed.feature,
180
+ n: parseInt(parsed.n, 10) || 1,
181
+ context: parsed.context ? JSON.parse(parsed.context) : {},
182
+ populateUuid: Array.isArray(parsed.populateUuid)
183
+ ? parsed.populateUuid
184
+ : [parsed.populateUuid].filter(Boolean),
185
+ verbose: parsed.verbose,
186
+ })];
187
+ case 1:
188
+ _b.sent();
189
+ return [2 /*return*/];
190
+ }
191
+ });
192
+ });
193
+ },
194
+ examples: [
195
+ {
196
+ command: "assess-distribution --environment=production --feature=my_feature --context='{}' --populateUuid=userId -n=100",
197
+ description: "test traffic distribution a feature against provided context",
198
+ },
199
+ ],
200
+ };
165
201
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assess-distribution/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assess-distribution/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { FeaturevisorInstance } from "@featurevisor/sdk";
2
2
  import { Dependencies } from "../dependencies";
3
+ import { Plugin } from "../cli";
3
4
  export interface BenchmarkOutput {
4
5
  value: any;
5
6
  duration: number;
@@ -16,3 +17,4 @@ export interface BenchmarkOptions {
16
17
  variable?: string;
17
18
  }
18
19
  export declare function benchmarkFeature(deps: Dependencies, options: BenchmarkOptions): Promise<void>;
20
+ export declare const benchmarkPlugin: Plugin;
@@ -36,7 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.benchmarkFeature = exports.benchmarkFeatureVariable = exports.benchmarkFeatureVariation = exports.benchmarkFeatureFlag = void 0;
39
+ exports.benchmarkPlugin = exports.benchmarkFeature = exports.benchmarkFeatureVariable = exports.benchmarkFeatureVariation = exports.benchmarkFeatureFlag = void 0;
40
40
  var sdk_1 = require("@featurevisor/sdk");
41
41
  var config_1 = require("../config");
42
42
  var builder_1 = require("../builder");
@@ -136,4 +136,46 @@ function benchmarkFeature(deps, options) {
136
136
  });
137
137
  }
138
138
  exports.benchmarkFeature = benchmarkFeature;
139
+ exports.benchmarkPlugin = {
140
+ command: "benchmark",
141
+ handler: function (_a) {
142
+ var rootDirectoryPath = _a.rootDirectoryPath, projectConfig = _a.projectConfig, datasource = _a.datasource, parsed = _a.parsed;
143
+ return __awaiter(void 0, void 0, void 0, function () {
144
+ return __generator(this, function (_b) {
145
+ switch (_b.label) {
146
+ case 0: return [4 /*yield*/, benchmarkFeature({
147
+ rootDirectoryPath: rootDirectoryPath,
148
+ projectConfig: projectConfig,
149
+ datasource: datasource,
150
+ options: parsed,
151
+ }, {
152
+ environment: parsed.environment,
153
+ feature: parsed.feature,
154
+ n: parseInt(parsed.n, 10) || 1,
155
+ context: parsed.context ? JSON.parse(parsed.context) : {},
156
+ variation: parsed.variation || undefined,
157
+ variable: parsed.variable || undefined,
158
+ })];
159
+ case 1:
160
+ _b.sent();
161
+ return [2 /*return*/];
162
+ }
163
+ });
164
+ });
165
+ },
166
+ examples: [
167
+ {
168
+ command: 'benchmark --environment=production --feature=my_feature -n=1000 --context=\'{"userId": "123"}\'',
169
+ description: "Benchmark a feature flag",
170
+ },
171
+ {
172
+ command: 'benchmark --environment=production --feature=my_feature -n=1000 --context=\'{"userId": "123"}\' --variation',
173
+ description: "Benchmark a feature variation",
174
+ },
175
+ {
176
+ command: 'benchmark --environment=production --feature=my_feature -n=1000 --context=\'{"userId": "123"}\' --variable=my-variable',
177
+ description: "Benchmark a feature variable",
178
+ },
179
+ ],
180
+ };
139
181
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/benchmark/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/benchmark/index.ts"],"names":[],"mappings":"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"}