@featurevisor/core 1.2.3 → 1.3.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 +19 -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/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/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/builder/buildDatafile.js +7 -1
- package/lib/builder/buildDatafile.js.map +1 -1
- package/lib/linter/featureSchema.js +6 -6
- package/lib/linter/featureSchema.js.map +1 -1
- package/lib/tester/testProject.d.ts +12 -0
- package/lib/tester/testProject.js +72 -49
- package/lib/tester/testProject.js.map +1 -1
- package/package.json +5 -5
- package/src/builder/buildDatafile.ts +8 -0
- package/src/linter/featureSchema.ts +4 -1
- package/src/tester/testProject.ts +83 -49
package/.eslintcache
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/allocator.spec.ts":"1","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/allocator.ts":"2","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/buildDatafile.ts":"3","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/buildProject.ts":"4","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/getFeatureRanges.ts":"5","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/index.ts":"6","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/traffic.spec.ts":"7","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/traffic.ts":"8","/home/runner/work/featurevisor/featurevisor/packages/core/src/config/index.ts":"9","/home/runner/work/featurevisor/featurevisor/packages/core/src/config/parsers.ts":"10","/home/runner/work/featurevisor/featurevisor/packages/core/src/config/projectConfig.ts":"11","/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/adapter.ts":"12","/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/datasource.ts":"13","/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/filesystemAdapter.ts":"14","/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/index.ts":"15","/home/runner/work/featurevisor/featurevisor/packages/core/src/dependencies.ts":"16","/home/runner/work/featurevisor/featurevisor/packages/core/src/find-duplicate-segments/findDuplicateSegments.ts":"17","/home/runner/work/featurevisor/featurevisor/packages/core/src/find-duplicate-segments/index.ts":"18","/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/index.ts":"19","/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/typescript.ts":"20","/home/runner/work/featurevisor/featurevisor/packages/core/src/index.ts":"21","/home/runner/work/featurevisor/featurevisor/packages/core/src/init/index.ts":"22","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/attributeSchema.ts":"23","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/checkCircularDependency.ts":"24","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/conditionSchema.ts":"25","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/featureSchema.ts":"26","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/groupSchema.ts":"27","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/index.ts":"28","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/lintProject.ts":"29","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/printJoiError.ts":"30","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/segmentSchema.ts":"31","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/testSchema.ts":"32","/home/runner/work/featurevisor/featurevisor/packages/core/src/restore/index.ts":"33","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/exportSite.ts":"34","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/generateHistory.ts":"35","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/generateSiteSearchIndex.ts":"36","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getLastModifiedFromHistory.ts":"37","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getOwnerAndRepoFromUrl.ts":"38","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getRelativePaths.ts":"39","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getRepoDetails.ts":"40","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/index.ts":"41","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/serveSite.ts":"42","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/checkIfArraysAreEqual.ts":"43","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/checkIfObjectsAreEqual.spec.ts":"44","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/checkIfObjectsAreEqual.ts":"45","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/cliFormat.ts":"46","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/index.ts":"47","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/matrix.spec.ts":"48","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/matrix.ts":"49","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/prettyDuration.ts":"50","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/printTestResult.ts":"51","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/testFeature.ts":"52","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/testProject.ts":"53","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/testSegment.ts":"54","/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/extractKeys.ts":"55","/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/git.ts":"56","/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/index.ts":"57"},{"size":3214,"mtime":1705597787936,"results":"58","hashOfConfig":"59"},{"size":1014,"mtime":1705597787936,"results":"60","hashOfConfig":"59"},{"size":8883,"mtime":1705597787936,"results":"61","hashOfConfig":"59"},{"size":1359,"mtime":1705597787936,"results":"62","hashOfConfig":"59"},{"size":1755,"mtime":1705597787936,"results":"63","hashOfConfig":"59"},{"size":65,"mtime":1705597787936,"results":"64","hashOfConfig":"59"},{"size":12889,"mtime":1705597787936,"results":"65","hashOfConfig":"59"},{"size":5052,"mtime":1705597787936,"results":"66","hashOfConfig":"59"},{"size":60,"mtime":1705597787936,"results":"67","hashOfConfig":"59"},{"size":1035,"mtime":1705597787936,"results":"68","hashOfConfig":"59"},{"size":3464,"mtime":1705597787936,"results":"69","hashOfConfig":"59"},{"size":1305,"mtime":1705597787936,"results":"70","hashOfConfig":"59"},{"size":5028,"mtime":1705597787936,"results":"71","hashOfConfig":"59"},{"size":9261,"mtime":1705597787940,"results":"72","hashOfConfig":"59"},{"size":94,"mtime":1705597787940,"results":"73","hashOfConfig":"59"},{"size":279,"mtime":1705597787940,"results":"74","hashOfConfig":"59"},{"size":1033,"mtime":1705597787940,"results":"75","hashOfConfig":"59"},{"size":540,"mtime":1705597787940,"results":"76","hashOfConfig":"59"},{"size":1476,"mtime":1705597787940,"results":"77","hashOfConfig":"59"},{"size":6250,"mtime":1705597787940,"results":"78","hashOfConfig":"59"},{"size":318,"mtime":1705597787940,"results":"79","hashOfConfig":"59"},{"size":1308,"mtime":1705597787940,"results":"80","hashOfConfig":"59"},{"size":351,"mtime":1705597787940,"results":"81","hashOfConfig":"59"},{"size":1119,"mtime":1705597787940,"results":"82","hashOfConfig":"59"},{"size":3003,"mtime":1705597787940,"results":"83","hashOfConfig":"59"},{"size":5833,"mtime":1705597787940,"results":"84","hashOfConfig":"59"},{"size":2114,"mtime":1705597787940,"results":"85","hashOfConfig":"59"},{"size":31,"mtime":1705597787940,"results":"86","hashOfConfig":"59"},{"size":4524,"mtime":1705597787940,"results":"87","hashOfConfig":"59"},{"size":323,"mtime":1705597787940,"results":"88","hashOfConfig":"59"},{"size":368,"mtime":1705597787940,"results":"89","hashOfConfig":"59"},{"size":1890,"mtime":1705597787940,"results":"90","hashOfConfig":"59"},{"size":641,"mtime":1705597787940,"results":"91","hashOfConfig":"59"},{"size":1481,"mtime":1705597787940,"results":"92","hashOfConfig":"59"},{"size":1178,"mtime":1705597787940,"results":"93","hashOfConfig":"59"},{"size":6187,"mtime":1705597787940,"results":"94","hashOfConfig":"59"},{"size":516,"mtime":1705597787940,"results":"95","hashOfConfig":"59"},{"size":496,"mtime":1705597787940,"results":"96","hashOfConfig":"59"},{"size":607,"mtime":1705597787940,"results":"97","hashOfConfig":"59"},{"size":1560,"mtime":1705597787940,"results":"98","hashOfConfig":"59"},{"size":59,"mtime":1705597787940,"results":"99","hashOfConfig":"59"},{"size":1681,"mtime":1705597787940,"results":"100","hashOfConfig":"59"},{"size":298,"mtime":1705597787940,"results":"101","hashOfConfig":"59"},{"size":932,"mtime":1705597787940,"results":"102","hashOfConfig":"59"},{"size":468,"mtime":1705597787940,"results":"103","hashOfConfig":"59"},{"size":156,"mtime":1705597787940,"results":"104","hashOfConfig":"59"},{"size":31,"mtime":1705597787940,"results":"105","hashOfConfig":"59"},{"size":1188,"mtime":1705597787940,"results":"106","hashOfConfig":"59"},{"size":5021,"mtime":1705597787940,"results":"107","hashOfConfig":"59"},{"size":516,"mtime":1705597787940,"results":"108","hashOfConfig":"59"},{"size":1691,"mtime":1705597787940,"results":"109","hashOfConfig":"59"},{"size":7060,"mtime":1705597787940,"results":"110","hashOfConfig":"59"},{"size":3900,"mtime":1705597787940,"results":"111","hashOfConfig":"59"},{"size":2273,"mtime":1705597787940,"results":"112","hashOfConfig":"59"},{"size":1993,"mtime":1705597787940,"results":"113","hashOfConfig":"59"},{"size":3641,"mtime":1705597787940,"results":"114","hashOfConfig":"59"},{"size":54,"mtime":1705597787940,"results":"115","hashOfConfig":"59"},{"filePath":"116","messages":"117","suppressedMessages":"118","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"o8ti19",{"filePath":"119","messages":"120","suppressedMessages":"121","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"122","messages":"123","suppressedMessages":"124","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"125","messages":"126","suppressedMessages":"127","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"128","messages":"129","suppressedMessages":"130","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"131","messages":"132","suppressedMessages":"133","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"134","messages":"135","suppressedMessages":"136","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"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},"/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/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",[],["287","288"],"/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/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/generate-code/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/typescript.ts",[],["289"],"/home/runner/work/featurevisor/featurevisor/packages/core/src/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/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/printJoiError.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",[],[],{"ruleId":"290","severity":2,"message":"291","line":22,"column":7,"nodeType":"292","messageId":"293","endLine":22,"endColumn":18,"suppressions":"294"},{"ruleId":"295","severity":2,"message":"296","line":22,"column":21,"nodeType":"297","messageId":"298","endLine":22,"endColumn":81,"fix":"299","suppressions":"300"},{"ruleId":"290","severity":2,"message":"301","line":51,"column":10,"nodeType":"292","messageId":"293","endLine":51,"endColumn":38,"suppressions":"302"},"@typescript-eslint/no-unused-vars","'commitRegex' is assigned a value but never used.","Identifier","unusedVar",["303"],"no-regex-spaces","Spaces are hard to count. Use {3}.","Literal","multipleSpaces",{"range":"304","text":"305"},["306"],"'getFeaturevisorTypeFromValue' is defined but never used.",["307"],{"kind":"308","justification":"309"},[515,518]," {3}",{"kind":"308","justification":"309"},{"kind":"308","justification":"309"},"directive",""]
|
|
1
|
+
[{"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/allocator.spec.ts":"1","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/allocator.ts":"2","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/buildDatafile.ts":"3","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/buildProject.ts":"4","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/getFeatureRanges.ts":"5","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/index.ts":"6","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/traffic.spec.ts":"7","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/traffic.ts":"8","/home/runner/work/featurevisor/featurevisor/packages/core/src/config/index.ts":"9","/home/runner/work/featurevisor/featurevisor/packages/core/src/config/parsers.ts":"10","/home/runner/work/featurevisor/featurevisor/packages/core/src/config/projectConfig.ts":"11","/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/adapter.ts":"12","/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/datasource.ts":"13","/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/filesystemAdapter.ts":"14","/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/index.ts":"15","/home/runner/work/featurevisor/featurevisor/packages/core/src/dependencies.ts":"16","/home/runner/work/featurevisor/featurevisor/packages/core/src/find-duplicate-segments/findDuplicateSegments.ts":"17","/home/runner/work/featurevisor/featurevisor/packages/core/src/find-duplicate-segments/index.ts":"18","/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/index.ts":"19","/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/typescript.ts":"20","/home/runner/work/featurevisor/featurevisor/packages/core/src/index.ts":"21","/home/runner/work/featurevisor/featurevisor/packages/core/src/init/index.ts":"22","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/attributeSchema.ts":"23","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/checkCircularDependency.ts":"24","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/conditionSchema.ts":"25","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/featureSchema.ts":"26","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/groupSchema.ts":"27","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/index.ts":"28","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/lintProject.ts":"29","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/printJoiError.ts":"30","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/segmentSchema.ts":"31","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/testSchema.ts":"32","/home/runner/work/featurevisor/featurevisor/packages/core/src/restore/index.ts":"33","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/exportSite.ts":"34","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/generateHistory.ts":"35","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/generateSiteSearchIndex.ts":"36","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getLastModifiedFromHistory.ts":"37","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getOwnerAndRepoFromUrl.ts":"38","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getRelativePaths.ts":"39","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/getRepoDetails.ts":"40","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/index.ts":"41","/home/runner/work/featurevisor/featurevisor/packages/core/src/site/serveSite.ts":"42","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/checkIfArraysAreEqual.ts":"43","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/checkIfObjectsAreEqual.spec.ts":"44","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/checkIfObjectsAreEqual.ts":"45","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/cliFormat.ts":"46","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/index.ts":"47","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/matrix.spec.ts":"48","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/matrix.ts":"49","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/prettyDuration.ts":"50","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/printTestResult.ts":"51","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/testFeature.ts":"52","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/testProject.ts":"53","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/testSegment.ts":"54","/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/extractKeys.ts":"55","/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/git.ts":"56","/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/index.ts":"57"},{"size":3214,"mtime":1706045803775,"results":"58","hashOfConfig":"59"},{"size":1014,"mtime":1706045803775,"results":"60","hashOfConfig":"59"},{"size":9170,"mtime":1706045803775,"results":"61","hashOfConfig":"59"},{"size":1359,"mtime":1706045803775,"results":"62","hashOfConfig":"59"},{"size":1755,"mtime":1706045803775,"results":"63","hashOfConfig":"59"},{"size":65,"mtime":1706045803775,"results":"64","hashOfConfig":"59"},{"size":12889,"mtime":1706045803775,"results":"65","hashOfConfig":"59"},{"size":5052,"mtime":1706045803775,"results":"66","hashOfConfig":"59"},{"size":60,"mtime":1706045803775,"results":"67","hashOfConfig":"59"},{"size":1035,"mtime":1706045803775,"results":"68","hashOfConfig":"59"},{"size":3464,"mtime":1706045803775,"results":"69","hashOfConfig":"59"},{"size":1305,"mtime":1706045803775,"results":"70","hashOfConfig":"59"},{"size":5028,"mtime":1706045803775,"results":"71","hashOfConfig":"59"},{"size":9261,"mtime":1706045803775,"results":"72","hashOfConfig":"59"},{"size":94,"mtime":1706045803775,"results":"73","hashOfConfig":"59"},{"size":279,"mtime":1706045803775,"results":"74","hashOfConfig":"59"},{"size":1033,"mtime":1706045803775,"results":"75","hashOfConfig":"59"},{"size":540,"mtime":1706045803775,"results":"76","hashOfConfig":"59"},{"size":1476,"mtime":1706045803775,"results":"77","hashOfConfig":"59"},{"size":6250,"mtime":1706045803775,"results":"78","hashOfConfig":"59"},{"size":318,"mtime":1706045803775,"results":"79","hashOfConfig":"59"},{"size":1308,"mtime":1706045803775,"results":"80","hashOfConfig":"59"},{"size":351,"mtime":1706045803775,"results":"81","hashOfConfig":"59"},{"size":1119,"mtime":1706045803775,"results":"82","hashOfConfig":"59"},{"size":3003,"mtime":1706045803775,"results":"83","hashOfConfig":"59"},{"size":5938,"mtime":1706045803775,"results":"84","hashOfConfig":"59"},{"size":2114,"mtime":1706045803775,"results":"85","hashOfConfig":"59"},{"size":31,"mtime":1706045803775,"results":"86","hashOfConfig":"59"},{"size":4524,"mtime":1706045803775,"results":"87","hashOfConfig":"59"},{"size":323,"mtime":1706045803775,"results":"88","hashOfConfig":"59"},{"size":368,"mtime":1706045803775,"results":"89","hashOfConfig":"59"},{"size":1890,"mtime":1706045803775,"results":"90","hashOfConfig":"59"},{"size":641,"mtime":1706045803775,"results":"91","hashOfConfig":"59"},{"size":1481,"mtime":1706045803775,"results":"92","hashOfConfig":"59"},{"size":1178,"mtime":1706045803775,"results":"93","hashOfConfig":"59"},{"size":6187,"mtime":1706045803775,"results":"94","hashOfConfig":"59"},{"size":516,"mtime":1706045803775,"results":"95","hashOfConfig":"59"},{"size":496,"mtime":1706045803775,"results":"96","hashOfConfig":"59"},{"size":607,"mtime":1706045803775,"results":"97","hashOfConfig":"59"},{"size":1560,"mtime":1706045803775,"results":"98","hashOfConfig":"59"},{"size":59,"mtime":1706045803775,"results":"99","hashOfConfig":"59"},{"size":1681,"mtime":1706045803775,"results":"100","hashOfConfig":"59"},{"size":298,"mtime":1706045803775,"results":"101","hashOfConfig":"59"},{"size":932,"mtime":1706045803775,"results":"102","hashOfConfig":"59"},{"size":468,"mtime":1706045803775,"results":"103","hashOfConfig":"59"},{"size":156,"mtime":1706045803775,"results":"104","hashOfConfig":"59"},{"size":31,"mtime":1706045803775,"results":"105","hashOfConfig":"59"},{"size":1188,"mtime":1706045803775,"results":"106","hashOfConfig":"59"},{"size":5021,"mtime":1706045803775,"results":"107","hashOfConfig":"59"},{"size":516,"mtime":1706045803775,"results":"108","hashOfConfig":"59"},{"size":1691,"mtime":1706045803775,"results":"109","hashOfConfig":"59"},{"size":7060,"mtime":1706045803775,"results":"110","hashOfConfig":"59"},{"size":4420,"mtime":1706045803775,"results":"111","hashOfConfig":"59"},{"size":2273,"mtime":1706045803775,"results":"112","hashOfConfig":"59"},{"size":1993,"mtime":1706045803775,"results":"113","hashOfConfig":"59"},{"size":3641,"mtime":1706045803775,"results":"114","hashOfConfig":"59"},{"size":54,"mtime":1706045803775,"results":"115","hashOfConfig":"59"},{"filePath":"116","messages":"117","suppressedMessages":"118","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"o8ti19",{"filePath":"119","messages":"120","suppressedMessages":"121","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"122","messages":"123","suppressedMessages":"124","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"125","messages":"126","suppressedMessages":"127","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"128","messages":"129","suppressedMessages":"130","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"131","messages":"132","suppressedMessages":"133","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"134","messages":"135","suppressedMessages":"136","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"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},"/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/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",[],["287","288"],"/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/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/generate-code/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/typescript.ts",[],["289"],"/home/runner/work/featurevisor/featurevisor/packages/core/src/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/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/printJoiError.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",[],[],{"ruleId":"290","severity":2,"message":"291","line":22,"column":7,"nodeType":"292","messageId":"293","endLine":22,"endColumn":18,"suppressions":"294"},{"ruleId":"295","severity":2,"message":"296","line":22,"column":21,"nodeType":"297","messageId":"298","endLine":22,"endColumn":81,"fix":"299","suppressions":"300"},{"ruleId":"290","severity":2,"message":"301","line":51,"column":10,"nodeType":"292","messageId":"293","endLine":51,"endColumn":38,"suppressions":"302"},"@typescript-eslint/no-unused-vars","'commitRegex' is assigned a value but never used.","Identifier","unusedVar",["303"],"no-regex-spaces","Spaces are hard to count. Use {3}.","Literal","multipleSpaces",{"range":"304","text":"305"},["306"],"'getFeaturevisorTypeFromValue' is defined but never used.",["307"],{"kind":"308","justification":"309"},[515,518]," {3}",{"kind":"308","justification":"309"},{"kind":"308","justification":"309"},"directive",""]
|
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,25 @@
|
|
|
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.3.0](https://github.com/featurevisor/featurevisor/compare/v1.2.4...v1.3.0) (2024-01-23)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* allow exposing features with tags + environment combination ([#254](https://github.com/featurevisor/featurevisor/issues/254)) ([1ae08e7](https://github.com/featurevisor/featurevisor/commit/1ae08e71393b620f98f7080aff18033a3e3b7192))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [1.2.4](https://github.com/featurevisor/featurevisor/compare/v1.2.3...v1.2.4) (2024-01-20)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @featurevisor/core
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
6
25
|
## [1.2.3](https://github.com/featurevisor/featurevisor/compare/v1.2.2...v1.2.3) (2024-01-18)
|
|
7
26
|
|
|
8
27
|
**Note:** Version bump only for package @featurevisor/core
|
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="1706045939881" clover="3.2.0">
|
|
3
|
+
<project timestamp="1706045939881" name="All files">
|
|
4
4
|
<metrics statements="355" coveredstatements="236" conditionals="181" coveredconditionals="109" methods="52" coveredmethods="35" elements="588" coveredelements="380" complexity="0" loc="355" ncloc="355" packages="4" files="8" classes="8"/>
|
|
5
5
|
<package name="lib.builder">
|
|
6
6
|
<metrics statements="92" coveredstatements="87" conditionals="52" coveredconditionals="42" methods="14" coveredmethods="14"/>
|
|
@@ -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-01-
|
|
149
|
+
at 2024-01-23T21:38:59.839Z
|
|
150
150
|
</div>
|
|
151
151
|
<script src="prettify.js"></script>
|
|
152
152
|
<script>
|
|
@@ -175,7 +175,7 @@ exports.getUpdatedAvailableRangesAfterFilling = getUpdatedAvailableRangesAfterFi
|
|
|
175
175
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
176
176
|
Code coverage generated by
|
|
177
177
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
178
|
-
at 2024-01-
|
|
178
|
+
at 2024-01-23T21:38:59.839Z
|
|
179
179
|
</div>
|
|
180
180
|
<script src="../../prettify.js"></script>
|
|
181
181
|
<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-01-
|
|
119
|
+
at 2024-01-23T21:38:59.839Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -460,7 +460,7 @@ exports.getTraffic = getTraffic;
|
|
|
460
460
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
461
461
|
Code coverage generated by
|
|
462
462
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
463
|
-
at 2024-01-
|
|
463
|
+
at 2024-01-23T21:38:59.839Z
|
|
464
464
|
</div>
|
|
465
465
|
<script src="../../prettify.js"></script>
|
|
466
466
|
<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-01-
|
|
142
|
+
at 2024-01-23T21:38:59.839Z
|
|
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-01-
|
|
119
|
+
at 2024-01-23T21:38:59.839Z
|
|
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-01-
|
|
475
|
+
at 2024-01-23T21:38:59.839Z
|
|
476
476
|
</div>
|
|
477
477
|
<script src="../../prettify.js"></script>
|
|
478
478
|
<script>
|
|
@@ -193,7 +193,7 @@ export function getUpdatedAvailableRangesAfterFilling(
|
|
|
193
193
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
194
194
|
Code coverage generated by
|
|
195
195
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
196
|
-
at 2024-01-
|
|
196
|
+
at 2024-01-23T21:38:59.839Z
|
|
197
197
|
</div>
|
|
198
198
|
<script src="../../prettify.js"></script>
|
|
199
199
|
<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-01-
|
|
119
|
+
at 2024-01-23T21:38:59.839Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -574,7 +574,7 @@ export function getTraffic(
|
|
|
574
574
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
575
575
|
Code coverage generated by
|
|
576
576
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
577
|
-
at 2024-01-
|
|
577
|
+
at 2024-01-23T21:38:59.839Z
|
|
578
578
|
</div>
|
|
579
579
|
<script src="../../prettify.js"></script>
|
|
580
580
|
<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-01-
|
|
145
|
+
at 2024-01-23T21:38:59.839Z
|
|
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-01-
|
|
119
|
+
at 2024-01-23T21:38:59.839Z
|
|
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-01-
|
|
628
|
+
at 2024-01-23T21:38:59.839Z
|
|
629
629
|
</div>
|
|
630
630
|
<script src="../../prettify.js"></script>
|
|
631
631
|
<script>
|
|
@@ -44,7 +44,7 @@ var getFeatureRanges_1 = require("./getFeatureRanges");
|
|
|
44
44
|
function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
45
45
|
var _a;
|
|
46
46
|
return __awaiter(this, void 0, void 0, function () {
|
|
47
|
-
var datafileContent, segmentKeysUsedByTag, attributeKeysUsedByTag, _b, featureRanges, featureIsInGroup, features, featuresDirectory, featureFiles, _i, featureFiles_1, featureKey, parsedFeature, _c, _d, parsedRule, extractedSegmentKeys, feature, segments, segmentsDirectory, segmentFiles, _e, segmentFiles_1, segmentKey, parsedSegment, extractedAttributeKeys, segment, attributes, attributesDirectory, attributeFiles, _f, attributeFiles_1, attributeKey, parsedAttribute, attribute;
|
|
47
|
+
var datafileContent, segmentKeysUsedByTag, attributeKeysUsedByTag, _b, featureRanges, featureIsInGroup, features, featuresDirectory, featureFiles, _i, featureFiles_1, featureKey, parsedFeature, exposeTags, _c, _d, parsedRule, extractedSegmentKeys, feature, segments, segmentsDirectory, segmentFiles, _e, segmentFiles_1, segmentKey, parsedSegment, extractedAttributeKeys, segment, attributes, attributesDirectory, attributeFiles, _f, attributeFiles_1, attributeKey, parsedAttribute, attribute;
|
|
48
48
|
return __generator(this, function (_g) {
|
|
49
49
|
switch (_g.label) {
|
|
50
50
|
case 0:
|
|
@@ -86,6 +86,12 @@ function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
|
86
86
|
if (parsedFeature.environments[options.environment].expose === false) {
|
|
87
87
|
return [3 /*break*/, 5];
|
|
88
88
|
}
|
|
89
|
+
if (Array.isArray(parsedFeature.environments[options.environment].expose)) {
|
|
90
|
+
exposeTags = parsedFeature.environments[options.environment].expose;
|
|
91
|
+
if (options.tag && exposeTags.indexOf(options.tag) === -1) {
|
|
92
|
+
return [3 /*break*/, 5];
|
|
93
|
+
}
|
|
94
|
+
}
|
|
89
95
|
for (_c = 0, _d = parsedFeature.environments[options.environment].rules; _c < _d.length; _c++) {
|
|
90
96
|
parsedRule = _d[_c];
|
|
91
97
|
extractedSegmentKeys = (0, utils_1.extractSegmentKeysFromGroupSegments)(parsedRule.segments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildDatafile.js","sourceRoot":"","sources":["../../src/builder/buildDatafile.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"buildDatafile.js","sourceRoot":"","sources":["../../src/builder/buildDatafile.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ exports.getFeatureJoiSchema = void 0;
|
|
|
13
13
|
var Joi = require("joi");
|
|
14
14
|
var tagRegex = /^[a-z0-9-]+$/;
|
|
15
15
|
function getFeatureJoiSchema(projectConfig, conditionsJoiSchema, availableSegmentKeys, availableFeatureKeys) {
|
|
16
|
-
var _a, _b, _c;
|
|
16
|
+
var _a, _b, _c, _d;
|
|
17
17
|
var variationValueJoiSchema = Joi.string().required();
|
|
18
18
|
var variableValueJoiSchema = Joi.alternatives()
|
|
19
19
|
.try(
|
|
@@ -45,7 +45,7 @@ function getFeatureJoiSchema(projectConfig, conditionsJoiSchema, availableSegmen
|
|
|
45
45
|
var groupSegment = Joi.alternatives().try(andOrNotGroupSegment, plainGroupSegment);
|
|
46
46
|
var groupSegmentsJoiSchema = Joi.alternatives().try(Joi.array().items(groupSegment), groupSegment);
|
|
47
47
|
var environmentJoiSchema = Joi.object({
|
|
48
|
-
expose: Joi.boolean(),
|
|
48
|
+
expose: Joi.alternatives().try(Joi.boolean(), Joi.array().items((_b = Joi.string()).valid.apply(_b, projectConfig.tags))),
|
|
49
49
|
rules: Joi.array()
|
|
50
50
|
.items(Joi.object({
|
|
51
51
|
key: Joi.string().required(),
|
|
@@ -85,12 +85,12 @@ function getFeatureJoiSchema(projectConfig, conditionsJoiSchema, availableSegmen
|
|
|
85
85
|
}))
|
|
86
86
|
.required(),
|
|
87
87
|
required: Joi.array()
|
|
88
|
-
.items(Joi.alternatives().try((
|
|
88
|
+
.items(Joi.alternatives().try((_c = Joi.string()
|
|
89
89
|
.required())
|
|
90
|
-
.valid.apply(
|
|
91
|
-
key: (
|
|
90
|
+
.valid.apply(_c, availableFeatureKeys), Joi.object({
|
|
91
|
+
key: (_d = Joi.string()
|
|
92
92
|
.required())
|
|
93
|
-
.valid.apply(
|
|
93
|
+
.valid.apply(_d, availableFeatureKeys),
|
|
94
94
|
variation: Joi.string().optional(), // @TODO: can be made stricter
|
|
95
95
|
})))
|
|
96
96
|
.optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"featureSchema.js","sourceRoot":"","sources":["../../src/linter/featureSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yBAA2B;AAI3B,IAAM,QAAQ,GAAG,cAAc,CAAC;AAEhC,SAAgB,mBAAmB,CACjC,aAA4B,EAC5B,mBAAmB,EACnB,oBAA8B,EAC9B,oBAA8B;;IAE9B,IAAM,uBAAuB,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;IACxD,IAAM,sBAAsB,GAAG,GAAG,CAAC,YAAY,EAAE;SAC9C,GAAG;IACF,uDAAuD;IACvD,GAAG,CAAC,MAAM,EAAE,EACZ,GAAG,CAAC,MAAM,EAAE,EACZ,GAAG,CAAC,OAAO,EAAE,EACb,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAC/B,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK;QACjC,IAAI,MAAM,GAAG,IAAI,CAAC;QAElB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;YAC7B,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;gBAClC,MAAM,GAAG,KAAK,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACvC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CACH;SACA,KAAK,CAAC,EAAE,CAAC,CAAC;IAEb,IAAM,iBAAiB,GAAG,CAAA,KAAA,GAAG,CAAC,MAAM,EAAE,CAAA,CAAC,KAAK,0BAAC,GAAG,GAAK,oBAAoB,SAAC,CAAC;IAE3E,IAAM,oBAAoB,GAAG,GAAG,CAAC,YAAY,EAAE;SAC5C,GAAG,CACF,GAAG,CAAC,MAAM,CAAC;QACT,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,iBAAiB,CAAC;KAC7E,CAAC,EACF,GAAG,CAAC,MAAM,CAAC;QACT,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,iBAAiB,CAAC;KAC5E,CAAC,EACF,GAAG,CAAC,MAAM,CAAC;QACT,0CAA0C;QAC1C,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,iBAAiB,CAAC;KAC7E,CAAC,CACH;SACA,EAAE,CAAC,sBAAsB,CAAC,CAAC;IAE9B,IAAM,YAAY,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;IAErF,IAAM,sBAAsB,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,GAAG,CACnD,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,EAC/B,YAAY,CACb,CAAC;IAEF,IAAM,oBAAoB,GAAG,GAAG,CAAC,MAAM,CAAC;QACtC,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"featureSchema.js","sourceRoot":"","sources":["../../src/linter/featureSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,4 +5,16 @@ export interface TestProjectOptions {
|
|
|
5
5
|
verbose?: boolean;
|
|
6
6
|
showDatafile?: boolean;
|
|
7
7
|
}
|
|
8
|
+
export interface TestPatterns {
|
|
9
|
+
keyPattern?: RegExp;
|
|
10
|
+
assertionPattern?: RegExp;
|
|
11
|
+
}
|
|
12
|
+
export interface ExecutionResult {
|
|
13
|
+
passed: boolean;
|
|
14
|
+
assertionsCount: {
|
|
15
|
+
passed: number;
|
|
16
|
+
failed: number;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export declare function executeTest(testFile: string, deps: Dependencies, options: TestProjectOptions, patterns: TestPatterns): Promise<ExecutionResult | undefined>;
|
|
8
20
|
export declare function testProject(deps: Dependencies, options?: TestProjectOptions): Promise<boolean>;
|
|
@@ -36,21 +36,77 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.testProject = void 0;
|
|
39
|
+
exports.testProject = exports.executeTest = void 0;
|
|
40
40
|
var fs = require("fs");
|
|
41
41
|
var testSegment_1 = require("./testSegment");
|
|
42
42
|
var testFeature_1 = require("./testFeature");
|
|
43
43
|
var cliFormat_1 = require("./cliFormat");
|
|
44
44
|
var prettyDuration_1 = require("./prettyDuration");
|
|
45
45
|
var printTestResult_1 = require("./printTestResult");
|
|
46
|
+
function executeTest(testFile, deps, options, patterns) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
48
|
+
var datasource, projectConfig, rootDirectoryPath, testFilePath, t, tAsSegment, tAsFeature, key, type, executionResult, testResult;
|
|
49
|
+
return __generator(this, function (_a) {
|
|
50
|
+
switch (_a.label) {
|
|
51
|
+
case 0:
|
|
52
|
+
datasource = deps.datasource, projectConfig = deps.projectConfig, rootDirectoryPath = deps.rootDirectoryPath;
|
|
53
|
+
testFilePath = datasource.getTestSpecName(testFile);
|
|
54
|
+
return [4 /*yield*/, datasource.readTest(testFile)];
|
|
55
|
+
case 1:
|
|
56
|
+
t = _a.sent();
|
|
57
|
+
tAsSegment = t;
|
|
58
|
+
tAsFeature = t;
|
|
59
|
+
key = tAsSegment.segment || tAsFeature.feature;
|
|
60
|
+
type = tAsSegment.segment ? "segment" : "feature";
|
|
61
|
+
executionResult = {
|
|
62
|
+
passed: true,
|
|
63
|
+
assertionsCount: {
|
|
64
|
+
passed: 0,
|
|
65
|
+
failed: 0,
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
if (!key) {
|
|
69
|
+
console.error(" => Invalid test: ".concat(JSON.stringify(t)));
|
|
70
|
+
executionResult.passed = false;
|
|
71
|
+
return [2 /*return*/, executionResult];
|
|
72
|
+
}
|
|
73
|
+
if (patterns.keyPattern && !patterns.keyPattern.test(key)) {
|
|
74
|
+
return [2 /*return*/];
|
|
75
|
+
}
|
|
76
|
+
if (!(type === "segment")) return [3 /*break*/, 3];
|
|
77
|
+
return [4 /*yield*/, (0, testSegment_1.testSegment)(datasource, tAsSegment, patterns)];
|
|
78
|
+
case 2:
|
|
79
|
+
testResult = _a.sent();
|
|
80
|
+
return [3 /*break*/, 5];
|
|
81
|
+
case 3: return [4 /*yield*/, (0, testFeature_1.testFeature)(datasource, projectConfig, tAsFeature, options, patterns)];
|
|
82
|
+
case 4:
|
|
83
|
+
testResult = _a.sent();
|
|
84
|
+
_a.label = 5;
|
|
85
|
+
case 5:
|
|
86
|
+
(0, printTestResult_1.printTestResult)(testResult, testFilePath, rootDirectoryPath);
|
|
87
|
+
if (!testResult.passed) {
|
|
88
|
+
executionResult.passed = false;
|
|
89
|
+
executionResult.assertionsCount.failed = testResult.assertions.filter(function (a) { return !a.passed; }).length;
|
|
90
|
+
executionResult.assertionsCount.passed +=
|
|
91
|
+
testResult.assertions.length - executionResult.assertionsCount.failed;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
executionResult.assertionsCount.passed = testResult.assertions.length;
|
|
95
|
+
}
|
|
96
|
+
return [2 /*return*/, executionResult];
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
exports.executeTest = executeTest;
|
|
46
102
|
function testProject(deps, options) {
|
|
47
103
|
if (options === void 0) { options = {}; }
|
|
48
104
|
return __awaiter(this, void 0, void 0, function () {
|
|
49
|
-
var
|
|
105
|
+
var projectConfig, datasource, hasError, testFiles, startTime, patterns, passedTestsCount, failedTestsCount, passedAssertionsCount, failedAssertionsCount, _i, testFiles_1, testFile, executionResult, diffInMs, testSpecsMessage, testAssertionsMessage;
|
|
50
106
|
return __generator(this, function (_a) {
|
|
51
107
|
switch (_a.label) {
|
|
52
108
|
case 0:
|
|
53
|
-
|
|
109
|
+
projectConfig = deps.projectConfig, datasource = deps.datasource;
|
|
54
110
|
hasError = false;
|
|
55
111
|
if (!fs.existsSync(projectConfig.testsDirectoryPath)) {
|
|
56
112
|
console.error("Tests directory does not exist: ".concat(projectConfig.testsDirectoryPath));
|
|
@@ -77,61 +133,28 @@ function testProject(deps, options) {
|
|
|
77
133
|
_i = 0, testFiles_1 = testFiles;
|
|
78
134
|
_a.label = 2;
|
|
79
135
|
case 2:
|
|
80
|
-
if (!(_i < testFiles_1.length)) return [3 /*break*/,
|
|
136
|
+
if (!(_i < testFiles_1.length)) return [3 /*break*/, 5];
|
|
81
137
|
testFile = testFiles_1[_i];
|
|
82
|
-
|
|
83
|
-
return [4 /*yield*/, datasource.readTest(testFile)];
|
|
138
|
+
return [4 /*yield*/, executeTest(testFile, deps, options, patterns)];
|
|
84
139
|
case 3:
|
|
85
|
-
|
|
86
|
-
if (!
|
|
87
|
-
|
|
88
|
-
if (patterns.keyPattern && !patterns.keyPattern.test(test_1.segment)) {
|
|
89
|
-
return [3 /*break*/, 8];
|
|
140
|
+
executionResult = _a.sent();
|
|
141
|
+
if (!executionResult) {
|
|
142
|
+
return [3 /*break*/, 4];
|
|
90
143
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
testResult = _a.sent();
|
|
94
|
-
(0, printTestResult_1.printTestResult)(testResult, testFilePath, rootDirectoryPath);
|
|
95
|
-
if (!testResult.passed) {
|
|
96
|
-
hasError = true;
|
|
97
|
-
failedTestsCount++;
|
|
98
|
-
failedAssertionsCount += testResult.assertions.filter(function (a) { return !a.passed; }).length;
|
|
99
|
-
passedAssertionsCount += testResult.assertions.length - failedAssertionsCount;
|
|
144
|
+
if (executionResult.passed) {
|
|
145
|
+
passedTestsCount += 1;
|
|
100
146
|
}
|
|
101
147
|
else {
|
|
102
|
-
passedTestsCount++;
|
|
103
|
-
passedAssertionsCount += testResult.assertions.length;
|
|
104
|
-
}
|
|
105
|
-
return [3 /*break*/, 8];
|
|
106
|
-
case 5:
|
|
107
|
-
if (!t.feature) return [3 /*break*/, 7];
|
|
108
|
-
test_2 = t;
|
|
109
|
-
if (patterns.keyPattern && !patterns.keyPattern.test(test_2.feature)) {
|
|
110
|
-
return [3 /*break*/, 8];
|
|
111
|
-
}
|
|
112
|
-
return [4 /*yield*/, (0, testFeature_1.testFeature)(datasource, projectConfig, test_2, options, patterns)];
|
|
113
|
-
case 6:
|
|
114
|
-
testResult = _a.sent();
|
|
115
|
-
(0, printTestResult_1.printTestResult)(testResult, testFilePath, rootDirectoryPath);
|
|
116
|
-
if (!testResult.passed) {
|
|
117
148
|
hasError = true;
|
|
118
|
-
failedTestsCount
|
|
119
|
-
failedAssertionsCount += testResult.assertions.filter(function (a) { return !a.passed; }).length;
|
|
120
|
-
passedAssertionsCount += testResult.assertions.length - failedAssertionsCount;
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
passedTestsCount++;
|
|
124
|
-
passedAssertionsCount += testResult.assertions.length;
|
|
149
|
+
failedTestsCount += 1;
|
|
125
150
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
_a.label = 8;
|
|
131
|
-
case 8:
|
|
151
|
+
passedAssertionsCount += executionResult.assertionsCount.passed;
|
|
152
|
+
failedAssertionsCount += executionResult.assertionsCount.failed;
|
|
153
|
+
_a.label = 4;
|
|
154
|
+
case 4:
|
|
132
155
|
_i++;
|
|
133
156
|
return [3 /*break*/, 2];
|
|
134
|
-
case
|
|
157
|
+
case 5:
|
|
135
158
|
diffInMs = Date.now() - startTime;
|
|
136
159
|
console.log("\n---\n");
|
|
137
160
|
testSpecsMessage = "Test specs: ".concat(passedTestsCount, " passed, ").concat(failedTestsCount, " failed");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testProject.js","sourceRoot":"","sources":["../../src/tester/testProject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uBAAyB;AAIzB,6CAA4C;AAC5C,6CAA4C;AAC5C,yCAAgF;AAEhF,mDAAkD;AAClD,qDAAoD;
|
|
1
|
+
{"version":3,"file":"testProject.js","sourceRoot":"","sources":["../../src/tester/testProject.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@featurevisor/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.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",
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
},
|
|
45
45
|
"license": "MIT",
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@featurevisor/sdk": "^1.
|
|
48
|
-
"@featurevisor/site": "^1.
|
|
49
|
-
"@featurevisor/types": "^1.
|
|
47
|
+
"@featurevisor/sdk": "^1.3.0",
|
|
48
|
+
"@featurevisor/site": "^1.3.0",
|
|
49
|
+
"@featurevisor/types": "^1.3.0",
|
|
50
50
|
"axios": "^1.3.4",
|
|
51
51
|
"joi": "^17.8.3",
|
|
52
52
|
"js-yaml": "^4.1.0",
|
|
@@ -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": "92829e94ab09474433695d29577bd3eb22490f97"
|
|
61
61
|
}
|
|
@@ -78,6 +78,14 @@ export async function buildDatafile(
|
|
|
78
78
|
continue;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
+
if (Array.isArray(parsedFeature.environments[options.environment].expose)) {
|
|
82
|
+
const exposeTags = parsedFeature.environments[options.environment].expose as string[];
|
|
83
|
+
|
|
84
|
+
if (options.tag && exposeTags.indexOf(options.tag) === -1) {
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
81
89
|
for (const parsedRule of parsedFeature.environments[options.environment].rules) {
|
|
82
90
|
const extractedSegmentKeys = extractSegmentKeysFromGroupSegments(parsedRule.segments);
|
|
83
91
|
extractedSegmentKeys.forEach((segmentKey) => segmentKeysUsedByTag.add(segmentKey));
|
|
@@ -61,7 +61,10 @@ export function getFeatureJoiSchema(
|
|
|
61
61
|
);
|
|
62
62
|
|
|
63
63
|
const environmentJoiSchema = Joi.object({
|
|
64
|
-
expose: Joi.
|
|
64
|
+
expose: Joi.alternatives().try(
|
|
65
|
+
Joi.boolean(),
|
|
66
|
+
Joi.array().items(Joi.string().valid(...projectConfig.tags)),
|
|
67
|
+
),
|
|
65
68
|
rules: Joi.array()
|
|
66
69
|
.items(
|
|
67
70
|
Joi.object({
|
|
@@ -16,11 +16,82 @@ export interface TestProjectOptions {
|
|
|
16
16
|
showDatafile?: boolean;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
export interface TestPatterns {
|
|
20
|
+
keyPattern?: RegExp;
|
|
21
|
+
assertionPattern?: RegExp;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface ExecutionResult {
|
|
25
|
+
passed: boolean;
|
|
26
|
+
assertionsCount: {
|
|
27
|
+
passed: number;
|
|
28
|
+
failed: number;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export async function executeTest(
|
|
33
|
+
testFile: string,
|
|
34
|
+
deps: Dependencies,
|
|
35
|
+
options: TestProjectOptions,
|
|
36
|
+
patterns: TestPatterns,
|
|
37
|
+
): Promise<ExecutionResult | undefined> {
|
|
38
|
+
const { datasource, projectConfig, rootDirectoryPath } = deps;
|
|
39
|
+
|
|
40
|
+
const testFilePath = datasource.getTestSpecName(testFile);
|
|
41
|
+
|
|
42
|
+
const t = await datasource.readTest(testFile);
|
|
43
|
+
|
|
44
|
+
const tAsSegment = t as TestSegment;
|
|
45
|
+
const tAsFeature = t as TestFeature;
|
|
46
|
+
const key = tAsSegment.segment || tAsFeature.feature;
|
|
47
|
+
const type = tAsSegment.segment ? "segment" : "feature";
|
|
48
|
+
|
|
49
|
+
const executionResult: ExecutionResult = {
|
|
50
|
+
passed: true,
|
|
51
|
+
assertionsCount: {
|
|
52
|
+
passed: 0,
|
|
53
|
+
failed: 0,
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
if (!key) {
|
|
58
|
+
console.error(` => Invalid test: ${JSON.stringify(t)}`);
|
|
59
|
+
executionResult.passed = false;
|
|
60
|
+
|
|
61
|
+
return executionResult;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (patterns.keyPattern && !patterns.keyPattern.test(key)) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
let testResult;
|
|
69
|
+
if (type === "segment") {
|
|
70
|
+
testResult = await testSegment(datasource, tAsSegment, patterns);
|
|
71
|
+
} else {
|
|
72
|
+
testResult = await testFeature(datasource, projectConfig, tAsFeature, options, patterns);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
printTestResult(testResult, testFilePath, rootDirectoryPath);
|
|
76
|
+
|
|
77
|
+
if (!testResult.passed) {
|
|
78
|
+
executionResult.passed = false;
|
|
79
|
+
|
|
80
|
+
executionResult.assertionsCount.failed = testResult.assertions.filter((a) => !a.passed).length;
|
|
81
|
+
executionResult.assertionsCount.passed +=
|
|
82
|
+
testResult.assertions.length - executionResult.assertionsCount.failed;
|
|
83
|
+
} else {
|
|
84
|
+
executionResult.assertionsCount.passed = testResult.assertions.length;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return executionResult;
|
|
88
|
+
}
|
|
89
|
+
|
|
19
90
|
export async function testProject(
|
|
20
91
|
deps: Dependencies,
|
|
21
92
|
options: TestProjectOptions = {},
|
|
22
93
|
): Promise<boolean> {
|
|
23
|
-
const {
|
|
94
|
+
const { projectConfig, datasource } = deps;
|
|
24
95
|
|
|
25
96
|
let hasError = false;
|
|
26
97
|
|
|
@@ -42,7 +113,7 @@ export async function testProject(
|
|
|
42
113
|
|
|
43
114
|
const startTime = Date.now();
|
|
44
115
|
|
|
45
|
-
const patterns = {
|
|
116
|
+
const patterns: TestPatterns = {
|
|
46
117
|
keyPattern: options.keyPattern ? new RegExp(options.keyPattern) : undefined,
|
|
47
118
|
assertionPattern: options.assertionPattern ? new RegExp(options.assertionPattern) : undefined,
|
|
48
119
|
};
|
|
@@ -54,58 +125,21 @@ export async function testProject(
|
|
|
54
125
|
let failedAssertionsCount = 0;
|
|
55
126
|
|
|
56
127
|
for (const testFile of testFiles) {
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
const t = await datasource.readTest(testFile);
|
|
60
|
-
|
|
61
|
-
if ((t as TestSegment).segment) {
|
|
62
|
-
// segment testing
|
|
63
|
-
const test = t as TestSegment;
|
|
64
|
-
|
|
65
|
-
if (patterns.keyPattern && !patterns.keyPattern.test(test.segment)) {
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
const testResult = await testSegment(datasource, test, patterns);
|
|
70
|
-
printTestResult(testResult, testFilePath, rootDirectoryPath);
|
|
128
|
+
const executionResult = await executeTest(testFile, deps, options, patterns);
|
|
71
129
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
failedAssertionsCount += testResult.assertions.filter((a) => !a.passed).length;
|
|
77
|
-
passedAssertionsCount += testResult.assertions.length - failedAssertionsCount;
|
|
78
|
-
} else {
|
|
79
|
-
passedTestsCount++;
|
|
80
|
-
|
|
81
|
-
passedAssertionsCount += testResult.assertions.length;
|
|
82
|
-
}
|
|
83
|
-
} else if ((t as TestFeature).feature) {
|
|
84
|
-
// feature testing
|
|
85
|
-
const test = t as TestFeature;
|
|
86
|
-
|
|
87
|
-
if (patterns.keyPattern && !patterns.keyPattern.test(test.feature)) {
|
|
88
|
-
continue;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
const testResult = await testFeature(datasource, projectConfig, test, options, patterns);
|
|
92
|
-
printTestResult(testResult, testFilePath, rootDirectoryPath);
|
|
93
|
-
|
|
94
|
-
if (!testResult.passed) {
|
|
95
|
-
hasError = true;
|
|
96
|
-
failedTestsCount++;
|
|
97
|
-
|
|
98
|
-
failedAssertionsCount += testResult.assertions.filter((a) => !a.passed).length;
|
|
99
|
-
passedAssertionsCount += testResult.assertions.length - failedAssertionsCount;
|
|
100
|
-
} else {
|
|
101
|
-
passedTestsCount++;
|
|
130
|
+
if (!executionResult) {
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
102
133
|
|
|
103
|
-
|
|
104
|
-
|
|
134
|
+
if (executionResult.passed) {
|
|
135
|
+
passedTestsCount += 1;
|
|
105
136
|
} else {
|
|
106
|
-
console.error(` => Invalid test: ${JSON.stringify(test)}`);
|
|
107
137
|
hasError = true;
|
|
138
|
+
failedTestsCount += 1;
|
|
108
139
|
}
|
|
140
|
+
|
|
141
|
+
passedAssertionsCount += executionResult.assertionsCount.passed;
|
|
142
|
+
failedAssertionsCount += executionResult.assertionsCount.failed;
|
|
109
143
|
}
|
|
110
144
|
|
|
111
145
|
const diffInMs = Date.now() - startTime;
|