@featurevisor/core 1.22.1 → 1.23.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/.eslintcache +1 -1
- package/CHANGELOG.md +11 -0
- package/coverage/clover.xml +2 -2
- package/coverage/lcov-report/index.html +1 -1
- package/coverage/lcov-report/lib/builder/allocator.js.html +1 -1
- package/coverage/lcov-report/lib/builder/index.html +1 -1
- package/coverage/lcov-report/lib/builder/revision.js.html +1 -1
- package/coverage/lcov-report/lib/builder/traffic.js.html +1 -1
- package/coverage/lcov-report/lib/tester/checkIfObjectsAreEqual.js.html +1 -1
- package/coverage/lcov-report/lib/tester/index.html +1 -1
- package/coverage/lcov-report/lib/tester/matrix.js.html +1 -1
- package/coverage/lcov-report/src/builder/allocator.ts.html +1 -1
- package/coverage/lcov-report/src/builder/index.html +1 -1
- package/coverage/lcov-report/src/builder/revision.ts.html +1 -1
- package/coverage/lcov-report/src/builder/traffic.ts.html +1 -1
- package/coverage/lcov-report/src/tester/checkIfObjectsAreEqual.ts.html +1 -1
- package/coverage/lcov-report/src/tester/index.html +1 -1
- package/coverage/lcov-report/src/tester/matrix.ts.html +1 -1
- package/lib/config/projectConfig.d.ts +1 -0
- package/lib/config/projectConfig.js +1 -0
- package/lib/config/projectConfig.js.map +1 -1
- package/lib/linter/featureSchema.js +15 -0
- package/lib/linter/featureSchema.js.map +1 -1
- package/package.json +2 -2
- package/src/config/projectConfig.ts +3 -0
- package/src/linter/featureSchema.ts +25 -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":1716676379058,"results":"67","hashOfConfig":"68"},{"size":3741,"mtime":1716676379058,"results":"69","hashOfConfig":"68"},{"size":3214,"mtime":1716676379058,"results":"70","hashOfConfig":"68"},{"size":1067,"mtime":1716676379058,"results":"71","hashOfConfig":"68"},{"size":10477,"mtime":1716676379058,"results":"72","hashOfConfig":"68"},{"size":2673,"mtime":1716676379058,"results":"73","hashOfConfig":"68"},{"size":1755,"mtime":1716676379058,"results":"74","hashOfConfig":"68"},{"size":65,"mtime":1716676379058,"results":"75","hashOfConfig":"68"},{"size":688,"mtime":1716676379058,"results":"76","hashOfConfig":"68"},{"size":760,"mtime":1716676379058,"results":"77","hashOfConfig":"68"},{"size":18016,"mtime":1716676379058,"results":"78","hashOfConfig":"68"},{"size":4894,"mtime":1716676379058,"results":"79","hashOfConfig":"68"},{"size":60,"mtime":1716676379058,"results":"80","hashOfConfig":"68"},{"size":1035,"mtime":1716676379058,"results":"81","hashOfConfig":"68"},{"size":4326,"mtime":1716676379058,"results":"82","hashOfConfig":"68"},{"size":1423,"mtime":1716676379058,"results":"83","hashOfConfig":"68"},{"size":5208,"mtime":1716676379058,"results":"84","hashOfConfig":"68"},{"size":10198,"mtime":1716676379058,"results":"85","hashOfConfig":"68"},{"size":94,"mtime":1716676379058,"results":"86","hashOfConfig":"68"},{"size":279,"mtime":1716676379058,"results":"87","hashOfConfig":"68"},{"size":4716,"mtime":1716676379058,"results":"88","hashOfConfig":"68"},{"size":1957,"mtime":1716676379058,"results":"89","hashOfConfig":"68"},{"size":820,"mtime":1716676379058,"results":"90","hashOfConfig":"68"},{"size":9681,"mtime":1716676379058,"results":"91","hashOfConfig":"68"},{"size":1476,"mtime":1716676379058,"results":"92","hashOfConfig":"68"},{"size":6250,"mtime":1716676379058,"results":"93","hashOfConfig":"68"},{"size":468,"mtime":1716676379058,"results":"94","hashOfConfig":"68"},{"size":1359,"mtime":1716676379058,"results":"95","hashOfConfig":"68"},{"size":1308,"mtime":1716676379058,"results":"96","hashOfConfig":"68"},{"size":359,"mtime":1716676379058,"results":"97","hashOfConfig":"68"},{"size":1119,"mtime":1716676379058,"results":"98","hashOfConfig":"68"},{"size":1464,"mtime":1716676379058,"results":"99","hashOfConfig":"68"},{"size":4007,"mtime":1716676379058,"results":"100","hashOfConfig":"68"},{"size":7758,"mtime":1716676379058,"results":"101","hashOfConfig":"68"},{"size":1221,"mtime":1716676379058,"results":"102","hashOfConfig":"68"},{"size":31,"mtime":1716676379058,"results":"103","hashOfConfig":"68"},{"size":9986,"mtime":1716676379058,"results":"104","hashOfConfig":"68"},{"size":982,"mtime":1716676379058,"results":"105","hashOfConfig":"68"},{"size":364,"mtime":1716676379058,"results":"106","hashOfConfig":"68"},{"size":2432,"mtime":1716676379058,"results":"107","hashOfConfig":"68"},{"size":641,"mtime":1716676379058,"results":"108","hashOfConfig":"68"},{"size":1481,"mtime":1716676379058,"results":"109","hashOfConfig":"68"},{"size":1178,"mtime":1716676379058,"results":"110","hashOfConfig":"68"},{"size":6187,"mtime":1716676379058,"results":"111","hashOfConfig":"68"},{"size":516,"mtime":1716676379062,"results":"112","hashOfConfig":"68"},{"size":496,"mtime":1716676379062,"results":"113","hashOfConfig":"68"},{"size":607,"mtime":1716676379062,"results":"114","hashOfConfig":"68"},{"size":1560,"mtime":1716676379062,"results":"115","hashOfConfig":"68"},{"size":59,"mtime":1716676379062,"results":"116","hashOfConfig":"68"},{"size":1681,"mtime":1716676379062,"results":"117","hashOfConfig":"68"},{"size":298,"mtime":1716676379062,"results":"118","hashOfConfig":"68"},{"size":932,"mtime":1716676379062,"results":"119","hashOfConfig":"68"},{"size":468,"mtime":1716676379062,"results":"120","hashOfConfig":"68"},{"size":212,"mtime":1716676379062,"results":"121","hashOfConfig":"68"},{"size":62,"mtime":1716676379062,"results":"122","hashOfConfig":"68"},{"size":1188,"mtime":1716676379062,"results":"123","hashOfConfig":"68"},{"size":5021,"mtime":1716676379062,"results":"124","hashOfConfig":"68"},{"size":516,"mtime":1716676379062,"results":"125","hashOfConfig":"68"},{"size":1691,"mtime":1716676379062,"results":"126","hashOfConfig":"68"},{"size":6627,"mtime":1716676379062,"results":"127","hashOfConfig":"68"},{"size":5631,"mtime":1716676379062,"results":"128","hashOfConfig":"68"},{"size":2328,"mtime":1716676379062,"results":"129","hashOfConfig":"68"},{"size":1993,"mtime":1716676379062,"results":"130","hashOfConfig":"68"},{"size":3641,"mtime":1716676379062,"results":"131","hashOfConfig":"68"},{"size":80,"mtime":1716676379062,"results":"132","hashOfConfig":"68"},{"size":304,"mtime":1716676379062,"results":"133","hashOfConfig":"68"},{"filePath":"134","messages":"135","suppressedMessages":"136","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1prqrsx",{"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/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":1716737639566,"results":"67","hashOfConfig":"68"},{"size":3741,"mtime":1716737639566,"results":"69","hashOfConfig":"68"},{"size":3214,"mtime":1716737639566,"results":"70","hashOfConfig":"68"},{"size":1067,"mtime":1716737639566,"results":"71","hashOfConfig":"68"},{"size":10477,"mtime":1716737639566,"results":"72","hashOfConfig":"68"},{"size":2673,"mtime":1716737639566,"results":"73","hashOfConfig":"68"},{"size":1755,"mtime":1716737639566,"results":"74","hashOfConfig":"68"},{"size":65,"mtime":1716737639566,"results":"75","hashOfConfig":"68"},{"size":688,"mtime":1716737639566,"results":"76","hashOfConfig":"68"},{"size":760,"mtime":1716737639566,"results":"77","hashOfConfig":"68"},{"size":18016,"mtime":1716737639566,"results":"78","hashOfConfig":"68"},{"size":4894,"mtime":1716737639566,"results":"79","hashOfConfig":"68"},{"size":60,"mtime":1716737639566,"results":"80","hashOfConfig":"68"},{"size":1035,"mtime":1716737639566,"results":"81","hashOfConfig":"68"},{"size":4392,"mtime":1716737639566,"results":"82","hashOfConfig":"68"},{"size":1423,"mtime":1716737639566,"results":"83","hashOfConfig":"68"},{"size":5208,"mtime":1716737639566,"results":"84","hashOfConfig":"68"},{"size":10198,"mtime":1716737639566,"results":"85","hashOfConfig":"68"},{"size":94,"mtime":1716737639566,"results":"86","hashOfConfig":"68"},{"size":279,"mtime":1716737639566,"results":"87","hashOfConfig":"68"},{"size":4716,"mtime":1716737639566,"results":"88","hashOfConfig":"68"},{"size":1957,"mtime":1716737639570,"results":"89","hashOfConfig":"68"},{"size":820,"mtime":1716737639570,"results":"90","hashOfConfig":"68"},{"size":9681,"mtime":1716737639570,"results":"91","hashOfConfig":"68"},{"size":1476,"mtime":1716737639570,"results":"92","hashOfConfig":"68"},{"size":6250,"mtime":1716737639570,"results":"93","hashOfConfig":"68"},{"size":468,"mtime":1716737639570,"results":"94","hashOfConfig":"68"},{"size":1359,"mtime":1716737639570,"results":"95","hashOfConfig":"68"},{"size":1308,"mtime":1716737639570,"results":"96","hashOfConfig":"68"},{"size":359,"mtime":1716737639570,"results":"97","hashOfConfig":"68"},{"size":1119,"mtime":1716737639570,"results":"98","hashOfConfig":"68"},{"size":1464,"mtime":1716737639570,"results":"99","hashOfConfig":"68"},{"size":4007,"mtime":1716737639570,"results":"100","hashOfConfig":"68"},{"size":8411,"mtime":1716737639570,"results":"101","hashOfConfig":"68"},{"size":1221,"mtime":1716737639570,"results":"102","hashOfConfig":"68"},{"size":31,"mtime":1716737639570,"results":"103","hashOfConfig":"68"},{"size":9986,"mtime":1716737639570,"results":"104","hashOfConfig":"68"},{"size":982,"mtime":1716737639570,"results":"105","hashOfConfig":"68"},{"size":364,"mtime":1716737639570,"results":"106","hashOfConfig":"68"},{"size":2432,"mtime":1716737639570,"results":"107","hashOfConfig":"68"},{"size":641,"mtime":1716737639570,"results":"108","hashOfConfig":"68"},{"size":1481,"mtime":1716737639570,"results":"109","hashOfConfig":"68"},{"size":1178,"mtime":1716737639570,"results":"110","hashOfConfig":"68"},{"size":6187,"mtime":1716737639570,"results":"111","hashOfConfig":"68"},{"size":516,"mtime":1716737639570,"results":"112","hashOfConfig":"68"},{"size":496,"mtime":1716737639570,"results":"113","hashOfConfig":"68"},{"size":607,"mtime":1716737639570,"results":"114","hashOfConfig":"68"},{"size":1560,"mtime":1716737639570,"results":"115","hashOfConfig":"68"},{"size":59,"mtime":1716737639570,"results":"116","hashOfConfig":"68"},{"size":1681,"mtime":1716737639570,"results":"117","hashOfConfig":"68"},{"size":298,"mtime":1716737639570,"results":"118","hashOfConfig":"68"},{"size":932,"mtime":1716737639570,"results":"119","hashOfConfig":"68"},{"size":468,"mtime":1716737639570,"results":"120","hashOfConfig":"68"},{"size":212,"mtime":1716737639570,"results":"121","hashOfConfig":"68"},{"size":62,"mtime":1716737639570,"results":"122","hashOfConfig":"68"},{"size":1188,"mtime":1716737639570,"results":"123","hashOfConfig":"68"},{"size":5021,"mtime":1716737639570,"results":"124","hashOfConfig":"68"},{"size":516,"mtime":1716737639570,"results":"125","hashOfConfig":"68"},{"size":1691,"mtime":1716737639570,"results":"126","hashOfConfig":"68"},{"size":6627,"mtime":1716737639570,"results":"127","hashOfConfig":"68"},{"size":5631,"mtime":1716737639570,"results":"128","hashOfConfig":"68"},{"size":2328,"mtime":1716737639570,"results":"129","hashOfConfig":"68"},{"size":1993,"mtime":1716737639570,"results":"130","hashOfConfig":"68"},{"size":3641,"mtime":1716737639570,"results":"131","hashOfConfig":"68"},{"size":80,"mtime":1716737639570,"results":"132","hashOfConfig":"68"},{"size":304,"mtime":1716737639570,"results":"133","hashOfConfig":"68"},{"filePath":"134","messages":"135","suppressedMessages":"136","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1prqrsx",{"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",""]
|
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
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.23.0](https://github.com/featurevisor/featurevisor/compare/v1.22.1...v1.23.0) (2024-05-26)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* enforce catch-all rule in features with configuration ([#305](https://github.com/featurevisor/featurevisor/issues/305)) ([bfcd01a](https://github.com/featurevisor/featurevisor/commit/bfcd01abbc61e051a5b05e882a9f3122baf2ba9e))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [1.22.1](https://github.com/featurevisor/featurevisor/compare/v1.22.0...v1.22.1) (2024-05-25)
|
|
7
18
|
|
|
8
19
|
|
package/coverage/clover.xml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<coverage generated="
|
|
3
|
-
<project timestamp="
|
|
2
|
+
<coverage generated="1716737777485" clover="3.2.0">
|
|
3
|
+
<project timestamp="1716737777485" 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-05-
|
|
149
|
+
at 2024-05-26T15:36:17.447Z
|
|
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-05-
|
|
187
|
+
at 2024-05-26T15:36:17.447Z
|
|
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-05-
|
|
134
|
+
at 2024-05-26T15:36:17.447Z
|
|
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-05-
|
|
139
|
+
at 2024-05-26T15:36:17.447Z
|
|
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-05-
|
|
457
|
+
at 2024-05-26T15:36:17.447Z
|
|
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-05-
|
|
142
|
+
at 2024-05-26T15:36:17.447Z
|
|
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-05-
|
|
119
|
+
at 2024-05-26T15:36:17.447Z
|
|
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-05-
|
|
475
|
+
at 2024-05-26T15:36:17.447Z
|
|
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-05-
|
|
208
|
+
at 2024-05-26T15:36:17.447Z
|
|
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-05-
|
|
134
|
+
at 2024-05-26T15:36:17.447Z
|
|
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-05-
|
|
139
|
+
at 2024-05-26T15:36:17.447Z
|
|
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-05-
|
|
568
|
+
at 2024-05-26T15:36:17.447Z
|
|
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-05-
|
|
145
|
+
at 2024-05-26T15:36:17.447Z
|
|
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-05-
|
|
119
|
+
at 2024-05-26T15:36:17.447Z
|
|
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-05-
|
|
628
|
+
at 2024-05-26T15:36:17.447Z
|
|
629
629
|
</div>
|
|
630
630
|
<script src="../../prettify.js"></script>
|
|
631
631
|
<script>
|
|
@@ -33,6 +33,7 @@ export interface ProjectConfig {
|
|
|
33
33
|
prettyDatafile: boolean;
|
|
34
34
|
stringify: boolean;
|
|
35
35
|
siteExportDirectoryPath: string;
|
|
36
|
+
enforceCatchAllRule?: boolean;
|
|
36
37
|
adapter: any;
|
|
37
38
|
}
|
|
38
39
|
export declare function getProjectConfig(rootDirectoryPath: string): ProjectConfig;
|
|
@@ -40,6 +40,7 @@ function getProjectConfig(rootDirectoryPath) {
|
|
|
40
40
|
stateDirectoryPath: path.join(rootDirectoryPath, exports.STATE_DIRECTORY_NAME),
|
|
41
41
|
outputDirectoryPath: path.join(rootDirectoryPath, exports.OUTPUT_DIRECTORY_NAME),
|
|
42
42
|
siteExportDirectoryPath: path.join(rootDirectoryPath, exports.SITE_EXPORT_DIRECTORY_NAME),
|
|
43
|
+
enforceCatchAllRule: false,
|
|
43
44
|
};
|
|
44
45
|
var configModulePath = path.join(rootDirectoryPath, exports.CONFIG_MODULE_NAME);
|
|
45
46
|
var customConfig = require(configModulePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectConfig.js","sourceRoot":"","sources":["../../src/config/projectConfig.ts"],"names":[],"mappings":";;;AAAA,2BAA6B;AAI7B,qCAA4C;AAC5C,qEAAoE;AAEvD,QAAA,uBAAuB,GAAG,UAAU,CAAC;AACrC,QAAA,uBAAuB,GAAG,UAAU,CAAC;AACrC,QAAA,yBAAyB,GAAG,YAAY,CAAC;AACzC,QAAA,qBAAqB,GAAG,QAAQ,CAAC;AACjC,QAAA,oBAAoB,GAAG,OAAO,CAAC;AAC/B,QAAA,oBAAoB,GAAG,eAAe,CAAC;AACvC,QAAA,qBAAqB,GAAG,MAAM,CAAC;AAC/B,QAAA,0BAA0B,GAAG,KAAK,CAAC;AAEnC,QAAA,kBAAkB,GAAG,wBAAwB,CAAC;AAC9C,QAAA,oBAAoB,GAAG,WAAW,CAAC;AAEnC,QAAA,oBAAoB,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AACjD,QAAA,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,QAAA,2BAA2B,GAAG,QAAQ,CAAC;AAEvC,QAAA,oBAAoB,GAAG,KAAK,CAAC;AAC7B,QAAA,uBAAuB,GAAG,KAAK,CAAC;AAEhC,QAAA,cAAc,GAAW,KAAK,CAAC;AAE/B,QAAA,cAAc,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"projectConfig.js","sourceRoot":"","sources":["../../src/config/projectConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,11 +64,26 @@ function getFeatureZodSchema(projectConfig, conditionsZodSchema, availableAttrib
|
|
|
64
64
|
variables: zod_1.z.record(variableValueZodSchema).optional(),
|
|
65
65
|
})
|
|
66
66
|
.strict())
|
|
67
|
+
// must have at least one rule
|
|
68
|
+
.refine(function (value) { return value.length > 0; }, function () { return ({
|
|
69
|
+
message: "Must have at least one rule",
|
|
70
|
+
}); })
|
|
71
|
+
// duplicate rules
|
|
67
72
|
.refine(function (value) {
|
|
68
73
|
var keys = value.map(function (v) { return v.key; });
|
|
69
74
|
return keys.length === new Set(keys).size;
|
|
70
75
|
}, function (value) { return ({
|
|
71
76
|
message: "Duplicate rule keys found: " + value.map(function (v) { return v.key; }).join(", "),
|
|
77
|
+
}); })
|
|
78
|
+
// enforce catch-all rule
|
|
79
|
+
.refine(function (value) {
|
|
80
|
+
if (!projectConfig.enforceCatchAllRule) {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
var hasCatchAllAsLastRule = value[value.length - 1].segments === "*";
|
|
84
|
+
return hasCatchAllAsLastRule;
|
|
85
|
+
}, function () { return ({
|
|
86
|
+
message: "Missing catch-all rule with `segments: \"*\"` at the end",
|
|
72
87
|
}); }),
|
|
73
88
|
force: zod_1.z
|
|
74
89
|
.array(zod_1.z.union([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"featureSchema.js","sourceRoot":"","sources":["../../src/linter/featureSchema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"featureSchema.js","sourceRoot":"","sources":["../../src/linter/featureSchema.ts"],"names":[],"mappings":";;;AAAA,2BAAwB;AAIxB,IAAM,QAAQ,GAAG,cAAc,CAAC;AAEhC,SAAgB,mBAAmB,CACjC,aAA4B,EAC5B,mBAAmB,EACnB,sBAA6C,EAC7C,oBAA2C,EAC3C,oBAA2C;IAE3C,IAAM,uBAAuB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClD,IAAM,sBAAsB,GAAG,OAAC,CAAC,KAAK,CAAC;QACrC,OAAC,CAAC,MAAM,EAAE;QACV,OAAC,CAAC,MAAM,EAAE;QACV,OAAC,CAAC,OAAO,EAAE;QACX,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;QACnB,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAC1B,UAAC,KAAK;YACJ,IAAI,MAAM,GAAG,IAAI,CAAC;YAElB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;gBAC7B,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;oBAClC,MAAM,GAAG,KAAK,CAAC;iBAChB;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC,EACD;YACE,OAAO,EAAE,oBAAoB;SAC9B,CACF;KACF,CAAC,CAAC;IAEH,IAAM,iBAAiB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CACzC,UAAC,KAAK,IAAK,OAAA,KAAK,KAAK,GAAG,IAAI,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAArD,CAAqD,EAChE,UAAC,KAAK,IAAK,OAAA,CAAC;QACV,OAAO,EAAE,gCAAwB,KAAK,OAAG;KAC1C,CAAC,EAFS,CAET,CACH,CAAC;IAEF,IAAM,oBAAoB,GAAG,OAAC,CAAC,KAAK,CAAC;QACnC,OAAC;aACE,MAAM,CAAC;YACN,GAAG,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,IAAI,CAAC,cAAM,OAAA,qBAAqB,EAArB,CAAqB,CAAC,CAAC;SAClD,CAAC;aACD,MAAM,EAAE;QACX,OAAC;aACE,MAAM,CAAC;YACN,EAAE,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,IAAI,CAAC,cAAM,OAAA,qBAAqB,EAArB,CAAqB,CAAC,CAAC;SACjD,CAAC;aACD,MAAM,EAAE;QACX,OAAC;aACE,MAAM,CAAC;YACN,GAAG,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,IAAI,CAAC,cAAM,OAAA,qBAAqB,EAArB,CAAqB,CAAC,CAAC;SAClD,CAAC;aACD,MAAM,EAAE;KACZ,CAAC,CAAC;IAEH,IAAM,qBAAqB,GAAG,OAAC,CAAC,KAAK,CAAC,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEjF,IAAM,sBAAsB,GAAG,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAEhG,IAAM,oBAAoB,GAAG,OAAC;SAC3B,MAAM,CAAC;QACN,MAAM,EAAE,OAAC;aACN,KAAK,CAAC;YACL,OAAC,CAAC,OAAO,EAAE;YACX,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAlC,CAAkC,CAAC,CAAC;SAC1E,CAAC;aACD,QAAQ,EAAE;QACb,KAAK,EAAE,OAAC;aACL,KAAK,CACJ,OAAC;aACE,MAAM,CAAC;YACN,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;YACf,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAClC,QAAQ,EAAE,sBAAsB;YAChC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;YAEtC,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC/B,SAAS,EAAE,uBAAuB,CAAC,QAAQ,EAAE;YAC7C,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;SACvD,CAAC;aACD,MAAM,EAAE,CACZ;YAED,8BAA8B;aAC7B,MAAM,CACL,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,MAAM,GAAG,CAAC,EAAhB,CAAgB,EAC3B,cAAM,OAAA,CAAC;YACL,OAAO,EAAE,6BAA6B;SACvC,CAAC,EAFI,CAEJ,CACH;YAED,kBAAkB;aACjB,MAAM,CACL,UAAC,KAAK;YACJ,IAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,EAAL,CAAK,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC5C,CAAC,EACD,UAAC,KAAK,IAAK,OAAA,CAAC;YACV,OAAO,EAAE,6BAA6B,GAAG,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,EAAL,CAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SAC5E,CAAC,EAFS,CAET,CACH;YAED,yBAAyB;aACxB,MAAM,CACL,UAAC,KAAK;YACJ,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE;gBACtC,OAAO,IAAI,CAAC;aACb;YAED,IAAM,qBAAqB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC;YACvE,OAAO,qBAAqB,CAAC;QAC/B,CAAC,EACD,cAAM,OAAA,CAAC;YACL,OAAO,EAAE,0DAA0D;SACpE,CAAC,EAFI,CAEJ,CACH;QACH,KAAK,EAAE,OAAC;aACL,KAAK,CACJ,OAAC,CAAC,KAAK,CAAC;YACN,OAAC;iBACE,MAAM,CAAC;gBACN,QAAQ,EAAE,sBAAsB;gBAChC,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;gBAC/B,SAAS,EAAE,uBAAuB,CAAC,QAAQ,EAAE;gBAC7C,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;aACvD,CAAC;iBACD,MAAM,EAAE;YACX,OAAC;iBACE,MAAM,CAAC;gBACN,UAAU,EAAE,mBAAmB;gBAC/B,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;gBAC/B,SAAS,EAAE,uBAAuB,CAAC,QAAQ,EAAE;gBAC7C,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;aACvD,CAAC;iBACD,MAAM,EAAE;SACZ,CAAC,CACH;aACA,QAAQ,EAAE;KACd,CAAC;SACD,MAAM,EAAE,CAAC;IAEZ,IAAM,qBAAqB,GAAG,EAAE,CAAC;IACjC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,UAAC,cAAc;QAChD,qBAAqB,CAAC,cAAc,CAAC,GAAG,oBAAoB,CAAC;IAC/D,CAAC,CAAC,CAAC;IACH,IAAM,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,CAAC;IAE1E,IAAM,qBAAqB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAC7C,UAAC,KAAK,IAAK,OAAA,KAAK,KAAK,GAAG,IAAI,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAvD,CAAuD,EAClE,UAAC,KAAK,IAAK,OAAA,CAAC;QACV,OAAO,EAAE,8BAAsB,KAAK,OAAG;KACxC,CAAC,EAFS,CAET,CACH,CAAC;IAEF,IAAM,mBAAmB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAC3C,UAAC,KAAK,IAAK,OAAA,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAApC,CAAoC,EAC/C,UAAC,KAAK,IAAK,OAAA,CAAC;QACV,OAAO,EAAE,4BAAoB,KAAK,OAAG;KACtC,CAAC,EAFS,CAET,CACH,CAAC;IAEF,IAAM,gBAAgB,GAAG,OAAC;SACvB,MAAM,CAAC;QACN,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAChC,UAAU,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAClC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;QACvB,IAAI,EAAE,OAAC;aACJ,KAAK,CACJ,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CACf,UAAC,KAAK,IAAK,OAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAApB,CAAoB,EAC/B,UAAC,KAAK,IAAK,OAAA,CAAC;YACV,OAAO,EAAE,gBAAQ,KAAK,sEAAkE;SACzF,CAAC,EAFS,CAET,CACH,CACF;aACA,MAAM,CACL,UAAC,KAAK;YACJ,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;QAC9C,CAAC,EACD,UAAC,KAAK,IAAK,OAAA,CAAC;YACV,OAAO,EAAE,wBAAwB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SACrD,CAAC,EAFS,CAET,CACH;QACH,QAAQ,EAAE,OAAC;aACR,KAAK,CACJ,OAAC,CAAC,KAAK,CAAC;YACN,mBAAmB;YACnB,OAAC;iBACE,MAAM,CAAC;gBACN,GAAG,EAAE,mBAAmB;gBACxB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aACjC,CAAC;iBACD,MAAM,EAAE;SACZ,CAAC,CACH;aACA,QAAQ,EAAE;QACb,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC;YAChB,qBAAqB;YACrB,OAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;YAC9B,OAAC;iBACE,MAAM,CAAC;gBACN,EAAE,EAAE,OAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;aACnC,CAAC;iBACD,MAAM,EAAE;SACZ,CAAC;QACF,eAAe,EAAE,OAAC;aACf,KAAK,CACJ,OAAC;aACE,MAAM,CAAC;YACN,GAAG,EAAE,OAAC;iBACH,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,KAAK,WAAW,EAArB,CAAqB,EAAE;gBACxC,OAAO,EAAE,sCAAoC;aAC9C,CAAC;YACJ,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACnF,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAClC,YAAY,EAAE,sBAAsB;SACrC,CAAC;aACD,MAAM,EAAE,CACZ;aACA,MAAM,CACL,UAAC,KAAK;YACJ,IAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,EAAL,CAAK,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC5C,CAAC,EACD,UAAC,KAAK,IAAK,OAAA,CAAC;YACV,OAAO,EAAE,iCAAiC,GAAG,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,EAAL,CAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SAChF,CAAC,EAFS,CAET,CACH;aACA,QAAQ,EAAE;QACb,UAAU,EAAE,OAAC;aACV,KAAK,CACJ,OAAC;aACE,MAAM,CAAC;YACN,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAClC,KAAK,EAAE,uBAAuB;YAC9B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;YAClC,SAAS,EAAE,OAAC;iBACT,KAAK,CACJ,OAAC;iBACE,MAAM,CAAC;gBACN,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtB,KAAK,EAAE,sBAAsB;gBAC7B,SAAS,EAAE,OAAC;qBACT,KAAK,CACJ,OAAC,CAAC,KAAK,CAAC;oBACN,OAAC;yBACE,MAAM,CAAC;wBACN,UAAU,EAAE,mBAAmB;wBAC/B,KAAK,EAAE,sBAAsB;qBAC9B,CAAC;yBACD,MAAM,EAAE;oBACX,OAAC;yBACE,MAAM,CAAC;wBACN,QAAQ,EAAE,sBAAsB;wBAChC,KAAK,EAAE,sBAAsB;qBAC9B,CAAC;yBACD,MAAM,EAAE;iBACZ,CAAC,CACH;qBACA,QAAQ,EAAE;aACd,CAAC;iBACD,MAAM,EAAE,CACZ;iBACA,QAAQ,EAAE;SACd,CAAC;aACD,MAAM,EAAE,CACZ;aACA,MAAM,CACL,UAAC,KAAK;YACJ,IAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAC;YAClD,OAAO,eAAe,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;QAClE,CAAC,EACD,UAAC,KAAK,IAAK,OAAA,CAAC;YACV,OAAO,EAAE,oCAAoC,GAAG,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SACrF,CAAC,EAFS,CAET,CACH;aACA,QAAQ,EAAE;QACb,YAAY,EAAE,wBAAwB;KACvC,CAAC;SACD,MAAM,EAAE,CAAC;IAEZ,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AA7RD,kDA6RC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@featurevisor/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.23.0",
|
|
4
4
|
"description": "Core package of Featurevisor for Node.js usage",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"@types/js-yaml": "^4.0.5",
|
|
58
58
|
"@types/tar": "^6.1.4"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "e6ad0df7b5f152950220de9a5a52a725ab00e83f"
|
|
61
61
|
}
|
|
@@ -44,6 +44,7 @@ export interface ProjectConfig {
|
|
|
44
44
|
prettyDatafile: boolean;
|
|
45
45
|
stringify: boolean;
|
|
46
46
|
siteExportDirectoryPath: string;
|
|
47
|
+
enforceCatchAllRule?: boolean;
|
|
47
48
|
adapter: any; // @TODO: type this properly later
|
|
48
49
|
}
|
|
49
50
|
|
|
@@ -70,6 +71,8 @@ export function getProjectConfig(rootDirectoryPath: string): ProjectConfig {
|
|
|
70
71
|
stateDirectoryPath: path.join(rootDirectoryPath, STATE_DIRECTORY_NAME),
|
|
71
72
|
outputDirectoryPath: path.join(rootDirectoryPath, OUTPUT_DIRECTORY_NAME),
|
|
72
73
|
siteExportDirectoryPath: path.join(rootDirectoryPath, SITE_EXPORT_DIRECTORY_NAME),
|
|
74
|
+
|
|
75
|
+
enforceCatchAllRule: false,
|
|
73
76
|
};
|
|
74
77
|
|
|
75
78
|
const configModulePath = path.join(rootDirectoryPath, CONFIG_MODULE_NAME);
|
|
@@ -87,6 +87,16 @@ export function getFeatureZodSchema(
|
|
|
87
87
|
})
|
|
88
88
|
.strict(),
|
|
89
89
|
)
|
|
90
|
+
|
|
91
|
+
// must have at least one rule
|
|
92
|
+
.refine(
|
|
93
|
+
(value) => value.length > 0,
|
|
94
|
+
() => ({
|
|
95
|
+
message: "Must have at least one rule",
|
|
96
|
+
}),
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
// duplicate rules
|
|
90
100
|
.refine(
|
|
91
101
|
(value) => {
|
|
92
102
|
const keys = value.map((v) => v.key);
|
|
@@ -95,6 +105,21 @@ export function getFeatureZodSchema(
|
|
|
95
105
|
(value) => ({
|
|
96
106
|
message: "Duplicate rule keys found: " + value.map((v) => v.key).join(", "),
|
|
97
107
|
}),
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
// enforce catch-all rule
|
|
111
|
+
.refine(
|
|
112
|
+
(value) => {
|
|
113
|
+
if (!projectConfig.enforceCatchAllRule) {
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
const hasCatchAllAsLastRule = value[value.length - 1].segments === "*";
|
|
118
|
+
return hasCatchAllAsLastRule;
|
|
119
|
+
},
|
|
120
|
+
() => ({
|
|
121
|
+
message: `Missing catch-all rule with \`segments: "*"\` at the end`,
|
|
122
|
+
}),
|
|
98
123
|
),
|
|
99
124
|
force: z
|
|
100
125
|
.array(
|