@featurevisor/core 2.26.1 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/coverage/clover.xml +4991 -3130
- package/coverage/coverage-final.json +63 -39
- package/coverage/lcov-report/block-navigation.js +1 -1
- package/coverage/lcov-report/index.html +248 -98
- package/coverage/lcov-report/sorter.js +21 -7
- package/coverage/lcov-report/src/assess-distribution/index.html +116 -0
- package/coverage/lcov-report/src/assess-distribution/index.ts.html +754 -0
- package/coverage/lcov-report/{list → src/benchmark}/index.html +30 -30
- package/coverage/lcov-report/src/benchmark/index.ts.html +793 -0
- package/coverage/lcov-report/{builder → src/builder}/allocator.ts.html +38 -38
- package/coverage/lcov-report/{builder/buildScopedConditions.ts.html → src/builder/applyContextToConditions.ts.html} +80 -65
- package/coverage/lcov-report/{builder/buildScopedDatafile.ts.html → src/builder/applyContextToDatafile.ts.html} +92 -92
- package/coverage/lcov-report/{builder/buildScopedSegments.ts.html → src/builder/applyContextToSegments.ts.html} +103 -67
- package/coverage/lcov-report/{builder → src/builder}/buildDatafile.ts.html +336 -306
- package/coverage/lcov-report/src/builder/buildProject.ts.html +1117 -0
- package/coverage/lcov-report/src/builder/buildRuntimeDatafiles.ts.html +256 -0
- package/coverage/lcov-report/{builder → src/builder}/getFeatureRanges.ts.html +22 -22
- package/coverage/lcov-report/{builder → src/builder}/hashes.ts.html +50 -50
- package/coverage/lcov-report/{builder → src/builder}/index.html +114 -84
- package/coverage/lcov-report/{tester/cliFormat.ts.html → src/builder/index.ts.html} +17 -29
- package/coverage/lcov-report/{builder → src/builder}/mutateVariables.ts.html +55 -55
- package/coverage/lcov-report/{builder → src/builder}/mutator.ts.html +118 -118
- package/coverage/lcov-report/{builder → src/builder}/revision.ts.html +15 -15
- package/coverage/lcov-report/{builder → src/builder}/traffic.ts.html +86 -86
- package/coverage/lcov-report/src/cli/cli.ts.html +400 -0
- package/coverage/lcov-report/{tester → src/cli}/index.html +41 -41
- package/coverage/lcov-report/src/cli/plugins.ts.html +214 -0
- package/coverage/lcov-report/{config → src/config}/index.html +31 -31
- package/coverage/lcov-report/{config → src/config}/index.ts.html +12 -12
- package/coverage/lcov-report/{config → src/config}/projectConfig.ts.html +312 -96
- package/coverage/lcov-report/{datasource → src/datasource}/adapter.ts.html +28 -73
- package/coverage/lcov-report/{datasource → src/datasource}/datasource.ts.html +191 -104
- package/coverage/lcov-report/{datasource → src/datasource}/filesystemAdapter.ts.html +233 -635
- package/coverage/lcov-report/{datasource → src/datasource}/index.html +48 -48
- package/coverage/lcov-report/{datasource → src/datasource}/index.ts.html +14 -14
- package/coverage/lcov-report/src/evaluate/index.html +116 -0
- package/coverage/lcov-report/src/evaluate/index.ts.html +814 -0
- package/coverage/lcov-report/src/find-duplicate-segments/findDuplicateSegments.ts.html +313 -0
- package/coverage/lcov-report/src/find-duplicate-segments/index.html +131 -0
- package/coverage/lcov-report/src/find-duplicate-segments/index.ts.html +307 -0
- package/coverage/lcov-report/src/find-usage/index.html +116 -0
- package/coverage/lcov-report/src/find-usage/index.ts.html +1780 -0
- package/coverage/lcov-report/src/generate-code/index.html +131 -0
- package/coverage/lcov-report/src/generate-code/index.ts.html +403 -0
- package/coverage/lcov-report/{generate-code → src/generate-code}/typescript.ts.html +266 -1361
- package/coverage/lcov-report/{generate-code → src}/index.html +38 -23
- package/coverage/lcov-report/src/info/index.html +116 -0
- package/coverage/lcov-report/src/info/index.ts.html +472 -0
- package/coverage/lcov-report/src/init/index.html +116 -0
- package/coverage/lcov-report/src/init/index.ts.html +280 -0
- package/coverage/lcov-report/{linter → src/linter}/attributeSchema.ts.html +160 -157
- package/coverage/lcov-report/{linter → src/linter}/checkCircularDependency.ts.html +25 -25
- package/coverage/lcov-report/{linter → src/linter}/checkPercentageExceedingSlot.ts.html +42 -42
- package/coverage/lcov-report/{linter → src/linter}/conditionSchema.ts.html +207 -207
- package/coverage/lcov-report/{linter → src/linter}/featureSchema.ts.html +462 -471
- package/coverage/lcov-report/{linter → src/linter}/groupSchema.ts.html +25 -22
- package/coverage/lcov-report/{linter → src/linter}/index.html +129 -99
- package/coverage/lcov-report/src/linter/index.ts.html +88 -0
- package/coverage/lcov-report/{linter → src/linter}/lintProject.ts.html +740 -332
- package/coverage/lcov-report/{linter → src/linter}/mutationNotation.ts.html +130 -130
- package/coverage/lcov-report/{linter → src/linter}/printError.ts.html +27 -27
- package/coverage/lcov-report/{linter → src/linter}/schema.ts.html +153 -150
- package/coverage/lcov-report/{linter → src/linter}/segmentSchema.ts.html +18 -15
- package/coverage/lcov-report/src/linter/targetSchema.ts.html +223 -0
- package/coverage/lcov-report/{linter → src/linter}/testSchema.ts.html +54 -48
- package/coverage/lcov-report/{linter → src/linter}/zodHelpers.ts.html +17 -17
- package/coverage/lcov-report/src/list/index.html +131 -0
- package/coverage/lcov-report/src/list/index.ts.html +2065 -0
- package/coverage/lcov-report/{list → src/list}/matrix.ts.html +43 -58
- package/coverage/lcov-report/src/promoter/index.html +116 -0
- package/coverage/lcov-report/src/promoter/index.ts.html +3883 -0
- package/coverage/lcov-report/src/sets.ts.html +313 -0
- package/coverage/lcov-report/src/targeting.ts.html +403 -0
- package/coverage/lcov-report/src/tester/cliFormat.ts.html +133 -0
- package/coverage/lcov-report/{tester → src/tester}/helpers.ts.html +15 -15
- package/coverage/lcov-report/src/tester/index.html +206 -0
- package/coverage/lcov-report/src/tester/prettyDuration.ts.html +187 -0
- package/coverage/lcov-report/src/tester/printTestResult.ts.html +337 -0
- package/coverage/lcov-report/src/tester/testFeature.ts.html +1186 -0
- package/coverage/lcov-report/src/tester/testProject.ts.html +1018 -0
- package/coverage/lcov-report/src/tester/testSegment.ts.html +316 -0
- package/coverage/lcov-report/{utils → src/utils}/extractKeys.ts.html +68 -68
- package/coverage/lcov-report/{utils → src/utils}/git.ts.html +44 -68
- package/coverage/lcov-report/{utils → src/utils}/index.html +44 -44
- package/coverage/lcov-report/{utils → src/utils}/index.ts.html +14 -14
- package/coverage/lcov-report/{utils → src/utils}/pretty.ts.html +20 -20
- package/coverage/lcov.info +10121 -5723
- package/jest.config.js +13 -4
- package/lib/assess-distribution/index.d.ts +1 -1
- package/lib/assess-distribution/index.js +59 -40
- package/lib/assess-distribution/index.js.map +1 -1
- package/lib/benchmark/index.d.ts +8 -5
- package/lib/benchmark/index.js +82 -65
- package/lib/benchmark/index.js.map +1 -1
- package/lib/builder/applyContextToConditions.d.ts +5 -0
- package/lib/builder/{buildScopedConditions.js → applyContextToConditions.js} +19 -14
- package/lib/builder/applyContextToConditions.js.map +1 -0
- package/lib/builder/applyContextToDatafile.d.ts +2 -0
- package/lib/builder/{buildScopedDatafile.js → applyContextToDatafile.js} +26 -26
- package/lib/builder/applyContextToDatafile.js.map +1 -0
- package/lib/builder/applyContextToSegments.d.ts +5 -0
- package/lib/builder/{buildScopedSegments.js → applyContextToSegments.js} +19 -14
- package/lib/builder/applyContextToSegments.js.map +1 -0
- package/lib/builder/buildDatafile.d.ts +9 -6
- package/lib/builder/buildDatafile.js +86 -51
- package/lib/builder/buildDatafile.js.map +1 -1
- package/lib/builder/buildProject.d.ts +17 -3
- package/lib/builder/buildProject.js +151 -59
- package/lib/builder/buildProject.js.map +1 -1
- package/lib/builder/buildRuntimeDatafiles.d.ts +12 -0
- package/lib/builder/buildRuntimeDatafiles.js +35 -0
- package/lib/builder/buildRuntimeDatafiles.js.map +1 -0
- package/lib/builder/getFeatureRanges.js +34 -1
- package/lib/builder/getFeatureRanges.js.map +1 -1
- package/lib/builder/hashes.js +34 -1
- package/lib/builder/hashes.js.map +1 -1
- package/lib/builder/index.d.ts +0 -1
- package/lib/builder/index.js +0 -1
- package/lib/builder/index.js.map +1 -1
- package/lib/cli/cli.js +0 -4
- package/lib/cli/cli.js.map +1 -1
- package/lib/cli/plugins.js +7 -2
- package/lib/cli/plugins.js.map +1 -1
- package/lib/config/projectConfig.d.ts +17 -17
- package/lib/config/projectConfig.js +101 -15
- package/lib/config/projectConfig.js.map +1 -1
- package/lib/datasource/adapter.d.ts +7 -9
- package/lib/datasource/adapter.js +0 -7
- package/lib/datasource/adapter.js.map +1 -1
- package/lib/datasource/datasource.d.ts +15 -5
- package/lib/datasource/datasource.js +37 -9
- package/lib/datasource/datasource.js.map +1 -1
- package/lib/datasource/filesystemAdapter.d.ts +4 -10
- package/lib/datasource/filesystemAdapter.js +111 -149
- package/lib/datasource/filesystemAdapter.js.map +1 -1
- package/lib/evaluate/index.d.ts +1 -7
- package/lib/evaluate/index.js +81 -67
- package/lib/evaluate/index.js.map +1 -1
- package/lib/find-duplicate-segments/findDuplicateSegments.js +34 -1
- package/lib/find-duplicate-segments/findDuplicateSegments.js.map +1 -1
- package/lib/find-duplicate-segments/index.js +21 -13
- package/lib/find-duplicate-segments/index.js.map +1 -1
- package/lib/find-usage/index.js +57 -41
- package/lib/find-usage/index.js.map +1 -1
- package/lib/generate-code/index.d.ts +1 -1
- package/lib/generate-code/index.js +64 -21
- package/lib/generate-code/index.js.map +1 -1
- package/lib/generate-code/typescript.d.ts +1 -1
- package/lib/generate-code/typescript.js +59 -333
- package/lib/generate-code/typescript.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/info/index.js +57 -16
- package/lib/info/index.js.map +1 -1
- package/lib/init/index.d.ts +2 -2
- package/lib/init/index.js +39 -3
- package/lib/init/index.js.map +1 -1
- package/lib/linter/attributeSchema.d.ts +1 -0
- package/lib/linter/attributeSchema.js +1 -0
- package/lib/linter/attributeSchema.js.map +1 -1
- package/lib/linter/conditionSchema.js +5 -5
- package/lib/linter/conditionSchema.js.map +1 -1
- package/lib/linter/featureSchema.d.ts +4 -1
- package/lib/linter/featureSchema.js +15 -13
- package/lib/linter/featureSchema.js.map +1 -1
- package/lib/linter/groupSchema.d.ts +1 -0
- package/lib/linter/groupSchema.js +1 -0
- package/lib/linter/groupSchema.js.map +1 -1
- package/lib/linter/lintProject.d.ts +1 -3
- package/lib/linter/lintProject.js +198 -68
- package/lib/linter/lintProject.js.map +1 -1
- package/lib/linter/schema.js +1 -0
- package/lib/linter/schema.js.map +1 -1
- package/lib/linter/segmentSchema.d.ts +1 -0
- package/lib/linter/segmentSchema.js +1 -0
- package/lib/linter/segmentSchema.js.map +1 -1
- package/lib/linter/targetSchema.d.ts +16 -0
- package/lib/linter/targetSchema.js +40 -0
- package/lib/linter/targetSchema.js.map +1 -0
- package/lib/linter/testSchema.d.ts +4 -3
- package/lib/linter/testSchema.js +9 -4
- package/lib/linter/testSchema.js.map +1 -1
- package/lib/list/index.d.ts +1 -0
- package/lib/list/index.js +131 -12
- package/lib/list/index.js.map +1 -1
- package/lib/list/matrix.js +3 -7
- package/lib/list/matrix.js.map +1 -1
- package/lib/promoter/index.d.ts +50 -0
- package/lib/promoter/index.js +880 -0
- package/lib/promoter/index.js.map +1 -0
- package/lib/sets.d.ts +11 -0
- package/lib/sets.js +81 -0
- package/lib/sets.js.map +1 -0
- package/lib/targeting.d.ts +14 -0
- package/lib/targeting.js +82 -0
- package/lib/targeting.js.map +1 -0
- package/lib/tester/cliFormat.d.ts +7 -1
- package/lib/tester/cliFormat.js +11 -2
- package/lib/tester/cliFormat.js.map +1 -1
- package/lib/tester/printTestResult.js +2 -2
- package/lib/tester/printTestResult.js.map +1 -1
- package/lib/tester/testFeature.d.ts +0 -1
- package/lib/tester/testFeature.js +8 -25
- package/lib/tester/testFeature.js.map +1 -1
- package/lib/tester/testProject.d.ts +2 -3
- package/lib/tester/testProject.js +93 -86
- package/lib/tester/testProject.js.map +1 -1
- package/lib/tester/testSegment.d.ts +1 -1
- package/lib/tester/testSegment.js +3 -21
- package/lib/tester/testSegment.js.map +1 -1
- package/lib/utils/git.js +45 -19
- package/lib/utils/git.js.map +1 -1
- package/package.json +12 -12
- package/src/assess-distribution/index.ts +72 -52
- package/src/benchmark/index.ts +124 -91
- package/src/builder/{buildScopedConditions.spec.ts → applyContextToConditions.spec.ts} +160 -142
- package/src/builder/{buildScopedConditions.ts → applyContextToConditions.ts} +19 -14
- package/src/builder/{buildScopedDatafile.spec.ts → applyContextToDatafile.spec.ts} +141 -81
- package/src/builder/{buildScopedDatafile.ts → applyContextToDatafile.ts} +33 -33
- package/src/builder/{buildScopedSegments.spec.ts → applyContextToSegments.spec.ts} +171 -151
- package/src/builder/{buildScopedSegments.ts → applyContextToSegments.ts} +26 -14
- package/src/builder/buildDatafile.spec.ts +192 -14
- package/src/builder/buildDatafile.ts +74 -64
- package/src/builder/buildProject.ts +171 -86
- package/src/builder/buildRuntimeDatafiles.ts +57 -0
- package/src/builder/index.ts +0 -1
- package/src/cli/cli.ts +0 -5
- package/src/cli/plugins.ts +7 -2
- package/src/config/projectConfig.spec.ts +171 -8
- package/src/config/projectConfig.ts +100 -28
- package/src/datasource/adapter.ts +8 -23
- package/src/datasource/datasource.ts +50 -21
- package/src/datasource/filesystemAdapter.spec.ts +133 -74
- package/src/datasource/filesystemAdapter.ts +93 -227
- package/src/evaluate/index.ts +109 -97
- package/src/find-duplicate-segments/index.ts +34 -16
- package/src/find-usage/index.ts +89 -44
- package/src/generate-code/index.ts +36 -24
- package/src/generate-code/typescript.spec.ts +106 -0
- package/src/generate-code/typescript.ts +33 -398
- package/src/index.ts +2 -1
- package/src/info/index.ts +72 -16
- package/src/init/index.ts +1 -1
- package/src/linter/attributeSchema.ts +1 -0
- package/src/linter/conditionSchema.spec.ts +23 -3
- package/src/linter/conditionSchema.ts +5 -5
- package/src/linter/featureSchema.spec.ts +107 -18
- package/src/linter/featureSchema.ts +25 -28
- package/src/linter/groupSchema.ts +1 -0
- package/src/linter/lintProject.spec.ts +131 -92
- package/src/linter/lintProject.ts +233 -97
- package/src/linter/schema.ts +1 -0
- package/src/linter/segmentSchema.spec.ts +5 -3
- package/src/linter/segmentSchema.ts +1 -0
- package/src/linter/targetSchema.spec.ts +159 -0
- package/src/linter/targetSchema.ts +46 -0
- package/src/linter/testSchema.spec.ts +70 -5
- package/src/linter/testSchema.ts +12 -10
- package/src/list/index.spec.ts +135 -0
- package/src/list/index.ts +188 -12
- package/src/list/matrix.ts +3 -8
- package/src/promoter/index.spec.ts +617 -0
- package/src/promoter/index.ts +1266 -0
- package/src/sets.ts +76 -0
- package/src/targeting.spec.ts +74 -0
- package/src/targeting.ts +106 -0
- package/src/tester/cliFormat.ts +11 -1
- package/src/tester/printTestResult.ts +12 -3
- package/src/tester/testFeature.ts +10 -36
- package/src/tester/testProject.spec.ts +50 -0
- package/src/tester/testProject.ts +89 -140
- package/src/tester/testSegment.ts +5 -22
- package/src/utils/git.ts +13 -21
- package/tsconfig.cjs.json +5 -1
- package/tsconfig.typecheck.json +9 -0
- package/coverage/lcov-report/builder/convertToV1.ts.html +0 -583
- package/lib/builder/allocator.spec.d.ts +0 -1
- package/lib/builder/allocator.spec.js +0 -85
- package/lib/builder/allocator.spec.js.map +0 -1
- package/lib/builder/buildDatafile.spec.d.ts +0 -1
- package/lib/builder/buildDatafile.spec.js +0 -233
- package/lib/builder/buildDatafile.spec.js.map +0 -1
- package/lib/builder/buildScopedConditions.d.ts +0 -5
- package/lib/builder/buildScopedConditions.js.map +0 -1
- package/lib/builder/buildScopedConditions.spec.d.ts +0 -1
- package/lib/builder/buildScopedConditions.spec.js +0 -2167
- package/lib/builder/buildScopedConditions.spec.js.map +0 -1
- package/lib/builder/buildScopedDatafile.d.ts +0 -2
- package/lib/builder/buildScopedDatafile.js.map +0 -1
- package/lib/builder/buildScopedDatafile.spec.d.ts +0 -1
- package/lib/builder/buildScopedDatafile.spec.js +0 -2277
- package/lib/builder/buildScopedDatafile.spec.js.map +0 -1
- package/lib/builder/buildScopedSegments.d.ts +0 -5
- package/lib/builder/buildScopedSegments.js.map +0 -1
- package/lib/builder/buildScopedSegments.spec.d.ts +0 -1
- package/lib/builder/buildScopedSegments.spec.js +0 -1062
- package/lib/builder/buildScopedSegments.spec.js.map +0 -1
- package/lib/builder/convertToV1.d.ts +0 -10
- package/lib/builder/convertToV1.js +0 -119
- package/lib/builder/convertToV1.js.map +0 -1
- package/lib/builder/mutateVariables.spec.d.ts +0 -1
- package/lib/builder/mutateVariables.spec.js +0 -1074
- package/lib/builder/mutateVariables.spec.js.map +0 -1
- package/lib/builder/mutator.spec.d.ts +0 -1
- package/lib/builder/mutator.spec.js +0 -368
- package/lib/builder/mutator.spec.js.map +0 -1
- package/lib/builder/revision.spec.d.ts +0 -1
- package/lib/builder/revision.spec.js +0 -21
- package/lib/builder/revision.spec.js.map +0 -1
- package/lib/builder/traffic.spec.d.ts +0 -1
- package/lib/builder/traffic.spec.js +0 -872
- package/lib/builder/traffic.spec.js.map +0 -1
- package/lib/config/projectConfig.spec.d.ts +0 -1
- package/lib/config/projectConfig.spec.js +0 -24
- package/lib/config/projectConfig.spec.js.map +0 -1
- package/lib/datasource/filesystemAdapter.spec.d.ts +0 -1
- package/lib/datasource/filesystemAdapter.spec.js +0 -88
- package/lib/datasource/filesystemAdapter.spec.js.map +0 -1
- package/lib/generate-code/typescript.spec.d.ts +0 -1
- package/lib/generate-code/typescript.spec.js +0 -78
- package/lib/generate-code/typescript.spec.js.map +0 -1
- package/lib/linter/attributeSchema.spec.d.ts +0 -1
- package/lib/linter/attributeSchema.spec.js +0 -266
- package/lib/linter/attributeSchema.spec.js.map +0 -1
- package/lib/linter/conditionSchema.spec.d.ts +0 -1
- package/lib/linter/conditionSchema.spec.js +0 -380
- package/lib/linter/conditionSchema.spec.js.map +0 -1
- package/lib/linter/featureSchema.spec.d.ts +0 -1
- package/lib/linter/featureSchema.spec.js +0 -1552
- package/lib/linter/featureSchema.spec.js.map +0 -1
- package/lib/linter/lintProject.spec.d.ts +0 -1
- package/lib/linter/lintProject.spec.js +0 -211
- package/lib/linter/lintProject.spec.js.map +0 -1
- package/lib/linter/mutationNotation.spec.d.ts +0 -1
- package/lib/linter/mutationNotation.spec.js +0 -598
- package/lib/linter/mutationNotation.spec.js.map +0 -1
- package/lib/linter/schema.spec.d.ts +0 -1
- package/lib/linter/schema.spec.js +0 -535
- package/lib/linter/schema.spec.js.map +0 -1
- package/lib/linter/segmentSchema.spec.d.ts +0 -1
- package/lib/linter/segmentSchema.spec.js +0 -303
- package/lib/linter/segmentSchema.spec.js.map +0 -1
- package/lib/linter/testSchema.spec.d.ts +0 -1
- package/lib/linter/testSchema.spec.js +0 -162
- package/lib/linter/testSchema.spec.js.map +0 -1
- package/lib/list/matrix.spec.d.ts +0 -1
- package/lib/list/matrix.spec.js +0 -42
- package/lib/list/matrix.spec.js.map +0 -1
- package/lib/site/exportSite.d.ts +0 -2
- package/lib/site/exportSite.js +0 -30
- package/lib/site/exportSite.js.map +0 -1
- package/lib/site/generateHistory.d.ts +0 -3
- package/lib/site/generateHistory.js +0 -31
- package/lib/site/generateHistory.js.map +0 -1
- package/lib/site/generateSiteSearchIndex.d.ts +0 -4
- package/lib/site/generateSiteSearchIndex.js +0 -195
- package/lib/site/generateSiteSearchIndex.js.map +0 -1
- package/lib/site/getLastModifiedFromHistory.d.ts +0 -2
- package/lib/site/getLastModifiedFromHistory.js +0 -18
- package/lib/site/getLastModifiedFromHistory.js.map +0 -1
- package/lib/site/getOwnerAndRepoFromUrl.d.ts +0 -4
- package/lib/site/getOwnerAndRepoFromUrl.js +0 -20
- package/lib/site/getOwnerAndRepoFromUrl.js.map +0 -1
- package/lib/site/getRelativePaths.d.ts +0 -6
- package/lib/site/getRelativePaths.js +0 -15
- package/lib/site/getRelativePaths.js.map +0 -1
- package/lib/site/getRepoDetails.d.ts +0 -8
- package/lib/site/getRepoDetails.js +0 -48
- package/lib/site/getRepoDetails.js.map +0 -1
- package/lib/site/index.d.ts +0 -2
- package/lib/site/index.js +0 -43
- package/lib/site/index.js.map +0 -1
- package/lib/site/serveSite.d.ts +0 -2
- package/lib/site/serveSite.js +0 -54
- package/lib/site/serveSite.js.map +0 -1
- package/lib/tester/helpers.spec.d.ts +0 -1
- package/lib/tester/helpers.spec.js +0 -115
- package/lib/tester/helpers.spec.js.map +0 -1
- package/src/builder/convertToV1.ts +0 -166
- package/src/site/exportSite.ts +0 -42
- package/src/site/generateHistory.ts +0 -40
- package/src/site/generateSiteSearchIndex.ts +0 -258
- package/src/site/getLastModifiedFromHistory.ts +0 -21
- package/src/site/getOwnerAndRepoFromUrl.ts +0 -17
- package/src/site/getRelativePaths.ts +0 -24
- package/src/site/getRepoDetails.ts +0 -62
- package/src/site/index.ts +0 -46
- package/src/site/serveSite.ts +0 -58
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"traffic.spec.js","sourceRoot":"","sources":["../../src/builder/traffic.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const fs = require("fs");
|
|
4
|
-
const os = require("os");
|
|
5
|
-
const path = require("path");
|
|
6
|
-
const projectConfig_1 = require("./projectConfig");
|
|
7
|
-
function createTempProject(configBody) {
|
|
8
|
-
const tempRoot = fs.mkdtempSync(path.join(os.tmpdir(), "featurevisor-project-config-"));
|
|
9
|
-
fs.writeFileSync(path.join(tempRoot, "featurevisor.config.js"), configBody, "utf8");
|
|
10
|
-
return tempRoot;
|
|
11
|
-
}
|
|
12
|
-
describe("core: projectConfig", () => {
|
|
13
|
-
it("sets splitByEnvironment=false and environmentsDirectoryPath by default", () => {
|
|
14
|
-
const root = createTempProject("module.exports = {};");
|
|
15
|
-
const config = (0, projectConfig_1.getProjectConfig)(root);
|
|
16
|
-
expect(config.splitByEnvironment).toBe(false);
|
|
17
|
-
expect(config.environmentsDirectoryPath).toBe(path.join(root, projectConfig_1.ENVIRONMENTS_DIRECTORY_NAME));
|
|
18
|
-
});
|
|
19
|
-
it("throws when splitByEnvironment=true and environments=false", () => {
|
|
20
|
-
const root = createTempProject("module.exports = { splitByEnvironment: true, environments: false };");
|
|
21
|
-
expect(() => (0, projectConfig_1.getProjectConfig)(root)).toThrow("Invalid configuration: splitByEnvironment=true requires environments to be an array");
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
//# sourceMappingURL=projectConfig.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"projectConfig.spec.js","sourceRoot":"","sources":["../../src/config/projectConfig.spec.ts"],"names":[],"mappings":";;AAAA,yBAAyB;AACzB,yBAAyB;AACzB,6BAA6B;AAE7B,mDAAgF;AAEhF,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,8BAA8B,CAAC,CAAC,CAAC;IACxF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,wBAAwB,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACpF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAChF,MAAM,IAAI,GAAG,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAA,gCAAgB,EAAC,IAAI,CAAC,CAAC;QAEtC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,2CAA2B,CAAC,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,IAAI,GAAG,iBAAiB,CAC5B,qEAAqE,CACtE,CAAC;QAEF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,gCAAgB,EAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAC1C,qFAAqF,CACtF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const fs = require("fs");
|
|
4
|
-
const os = require("os");
|
|
5
|
-
const path = require("path");
|
|
6
|
-
const config_1 = require("../config");
|
|
7
|
-
const datasource_1 = require("./datasource");
|
|
8
|
-
function writeFile(filePath, content) {
|
|
9
|
-
fs.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
10
|
-
fs.writeFileSync(filePath, content, "utf8");
|
|
11
|
-
}
|
|
12
|
-
function createSplitProject(configBody) {
|
|
13
|
-
const root = fs.mkdtempSync(path.join(os.tmpdir(), "featurevisor-fs-adapter-"));
|
|
14
|
-
writeFile(path.join(root, "featurevisor.config.js"), configBody);
|
|
15
|
-
return root;
|
|
16
|
-
}
|
|
17
|
-
describe("core: filesystemAdapter (splitByEnvironment)", () => {
|
|
18
|
-
it("merges environment files into readFeature output", async () => {
|
|
19
|
-
const root = createSplitProject("module.exports = { environments: ['staging', 'production'], splitByEnvironment: true };");
|
|
20
|
-
writeFile(path.join(root, "features", "checkout.yml"), [
|
|
21
|
-
"key: checkout",
|
|
22
|
-
"description: Checkout feature",
|
|
23
|
-
"tags:",
|
|
24
|
-
" - all",
|
|
25
|
-
"bucketBy: userId",
|
|
26
|
-
].join("\n"));
|
|
27
|
-
writeFile(path.join(root, "environments", "staging", "checkout.yml"), ["rules:", " - key: everyone", " segments: '*'", " percentage: 100"].join("\n"));
|
|
28
|
-
writeFile(path.join(root, "environments", "production", "checkout.yml"), [
|
|
29
|
-
"rules:",
|
|
30
|
-
" - key: everyone",
|
|
31
|
-
" segments: '*'",
|
|
32
|
-
" percentage: 0",
|
|
33
|
-
"expose: false",
|
|
34
|
-
].join("\n"));
|
|
35
|
-
const config = (0, config_1.getProjectConfig)(root);
|
|
36
|
-
const datasource = new datasource_1.Datasource(config, root);
|
|
37
|
-
const feature = await datasource.readFeature("checkout");
|
|
38
|
-
const rulesByEnvironment = feature.rules;
|
|
39
|
-
const exposeByEnvironment = feature.expose;
|
|
40
|
-
expect(rulesByEnvironment?.staging?.[0]?.percentage).toBe(100);
|
|
41
|
-
expect(rulesByEnvironment?.production?.[0]?.percentage).toBe(0);
|
|
42
|
-
expect(exposeByEnvironment?.production).toBe(false);
|
|
43
|
-
});
|
|
44
|
-
it("throws when any environment feature file is missing", async () => {
|
|
45
|
-
const root = createSplitProject("module.exports = { environments: ['staging', 'production'], splitByEnvironment: true };");
|
|
46
|
-
writeFile(path.join(root, "features", "myFeature.yml"), ["key: myFeature", "description: My feature", "tags:", " - all", "bucketBy: userId"].join("\n"));
|
|
47
|
-
writeFile(path.join(root, "environments", "staging", "myFeature.yml"), ["rules:", " - key: everyone", " segments: '*'", " percentage: 100"].join("\n"));
|
|
48
|
-
const config = (0, config_1.getProjectConfig)(root);
|
|
49
|
-
const datasource = new datasource_1.Datasource(config, root);
|
|
50
|
-
await expect(datasource.readFeature("myFeature")).rejects.toMatchObject({
|
|
51
|
-
featurevisorFilePath: expect.stringContaining(path.join("environments", "production", "myFeature.yml")),
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
it("throws when base feature file still defines rules in split mode", async () => {
|
|
55
|
-
const root = createSplitProject("module.exports = { environments: ['staging'], splitByEnvironment: true };");
|
|
56
|
-
writeFile(path.join(root, "features", "foo.yml"), [
|
|
57
|
-
"key: foo",
|
|
58
|
-
"description: Foo",
|
|
59
|
-
"tags:",
|
|
60
|
-
" - all",
|
|
61
|
-
"bucketBy: userId",
|
|
62
|
-
"rules:",
|
|
63
|
-
" staging:",
|
|
64
|
-
" - key: everyone",
|
|
65
|
-
" segments: '*'",
|
|
66
|
-
" percentage: 100",
|
|
67
|
-
].join("\n"));
|
|
68
|
-
writeFile(path.join(root, "environments", "staging", "foo.yml"), ["rules:", " - key: everyone", " segments: '*'", " percentage: 100"].join("\n"));
|
|
69
|
-
const config = (0, config_1.getProjectConfig)(root);
|
|
70
|
-
const datasource = new datasource_1.Datasource(config, root);
|
|
71
|
-
await expect(datasource.readFeature("foo")).rejects.toThrow("base file must not define rules, force, or expose when splitByEnvironment=true");
|
|
72
|
-
});
|
|
73
|
-
it("throws when environment file has unknown keys", async () => {
|
|
74
|
-
const root = createSplitProject("module.exports = { environments: ['staging'], splitByEnvironment: true };");
|
|
75
|
-
writeFile(path.join(root, "features", "foo.yml"), ["key: foo", "description: Foo", "tags:", " - all", "bucketBy: userId"].join("\n"));
|
|
76
|
-
writeFile(path.join(root, "environments", "staging", "foo.yml"), [
|
|
77
|
-
"rules:",
|
|
78
|
-
" - key: everyone",
|
|
79
|
-
" segments: '*'",
|
|
80
|
-
" percentage: 100",
|
|
81
|
-
"extraKey: not allowed",
|
|
82
|
-
].join("\n"));
|
|
83
|
-
const config = (0, config_1.getProjectConfig)(root);
|
|
84
|
-
const datasource = new datasource_1.Datasource(config, root);
|
|
85
|
-
await expect(datasource.readFeature("foo")).rejects.toThrow("Unknown key(s) in environment feature file: extraKey");
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
//# sourceMappingURL=filesystemAdapter.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filesystemAdapter.spec.js","sourceRoot":"","sources":["../../src/datasource/filesystemAdapter.spec.ts"],"names":[],"mappings":";;AAAA,yBAAyB;AACzB,yBAAyB;AACzB,6BAA6B;AAE7B,sCAA6C;AAC7C,6CAA0C;AAE1C,SAAS,SAAS,CAAC,QAAgB,EAAE,OAAe;IAClD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAChF,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,wBAAwB,CAAC,EAAE,UAAU,CAAC,CAAC;IAEjE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;IAC5D,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,IAAI,GAAG,kBAAkB,CAC7B,yFAAyF,CAC1F,CAAC;QAEF,SAAS,CACP,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,EAC3C;YACE,eAAe;YACf,+BAA+B;YAC/B,OAAO;YACP,SAAS;YACT,kBAAkB;SACnB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QAEF,SAAS,CACP,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,CAAC,EAC1D,CAAC,QAAQ,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACvF,CAAC;QAEF,SAAS,CACP,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,CAAC,EAC7D;YACE,QAAQ;YACR,mBAAmB;YACnB,mBAAmB;YACnB,mBAAmB;YACnB,eAAe;SAChB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,yBAAgB,EAAC,IAAI,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAA8B,CAAC;QAClE,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAiC,CAAC;QAEtE,MAAM,CAAC,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/D,MAAM,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,IAAI,GAAG,kBAAkB,CAC7B,yFAAyF,CAC1F,CAAC;QAEF,SAAS,CACP,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,CAAC,EAC5C,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC,IAAI,CACxF,IAAI,CACL,CACF,CAAC;QAEF,SAAS,CACP,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,CAAC,EAC3D,CAAC,QAAQ,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACvF,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,yBAAgB,EAAC,IAAI,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEhD,MAAM,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YACtE,oBAAoB,EAAE,MAAM,CAAC,gBAAgB,CAC3C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,eAAe,CAAC,CACzD;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,IAAI,GAAG,kBAAkB,CAC7B,2EAA2E,CAC5E,CAAC;QAEF,SAAS,CACP,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EACtC;YACE,UAAU;YACV,kBAAkB;YAClB,OAAO;YACP,SAAS;YACT,kBAAkB;YAClB,QAAQ;YACR,YAAY;YACZ,qBAAqB;YACrB,qBAAqB;YACrB,uBAAuB;SACxB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QAEF,SAAS,CACP,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,CAAC,EACrD,CAAC,QAAQ,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACvF,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,yBAAgB,EAAC,IAAI,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEhD,MAAM,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACzD,gFAAgF,CACjF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,IAAI,GAAG,kBAAkB,CAC7B,2EAA2E,CAC5E,CAAC;QAEF,SAAS,CACP,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EACtC,CAAC,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACpF,CAAC;QAEF,SAAS,CACP,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,CAAC,EACrD;YACE,QAAQ;YACR,mBAAmB;YACnB,mBAAmB;YACnB,qBAAqB;YACrB,uBAAuB;SACxB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,yBAAgB,EAAC,IAAI,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEhD,MAAM,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACzD,sDAAsD,CACvD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const fs = require("fs");
|
|
4
|
-
const os = require("os");
|
|
5
|
-
const path = require("path");
|
|
6
|
-
const projectConfig_1 = require("../config/projectConfig");
|
|
7
|
-
const datasource_1 = require("../datasource");
|
|
8
|
-
const typescript_1 = require("./typescript");
|
|
9
|
-
function createTempProjectFromExample1() {
|
|
10
|
-
const fixturePath = path.resolve(__dirname, "../../../../examples/example-1");
|
|
11
|
-
const tempRoot = fs.mkdtempSync(path.join(os.tmpdir(), "featurevisor-codegen-"));
|
|
12
|
-
fs.cpSync(fixturePath, tempRoot, { recursive: true });
|
|
13
|
-
return tempRoot;
|
|
14
|
-
}
|
|
15
|
-
describe("generate-code/typescript", () => {
|
|
16
|
-
let tempProjectPath;
|
|
17
|
-
let outputPath;
|
|
18
|
-
beforeEach(() => {
|
|
19
|
-
tempProjectPath = createTempProjectFromExample1();
|
|
20
|
-
outputPath = path.join(tempProjectPath, "generated");
|
|
21
|
-
fs.mkdirSync(outputPath, { recursive: true });
|
|
22
|
-
fs.writeFileSync(path.join(tempProjectPath, "attributes", "account.yml"), [
|
|
23
|
-
"description: Account",
|
|
24
|
-
"type: object",
|
|
25
|
-
"required:",
|
|
26
|
-
" - plan",
|
|
27
|
-
"properties:",
|
|
28
|
-
" plan:",
|
|
29
|
-
" type: string",
|
|
30
|
-
" enum:",
|
|
31
|
-
" - free",
|
|
32
|
-
" - pro",
|
|
33
|
-
" locale:",
|
|
34
|
-
" type: string",
|
|
35
|
-
].join("\n"), "utf8");
|
|
36
|
-
fs.writeFileSync(path.join(tempProjectPath, "attributes", "permissions.yml"), [
|
|
37
|
-
"description: Permissions",
|
|
38
|
-
"type: array",
|
|
39
|
-
"items:",
|
|
40
|
-
" type: string",
|
|
41
|
-
" enum:",
|
|
42
|
-
" - read",
|
|
43
|
-
" - write",
|
|
44
|
-
" - admin",
|
|
45
|
-
].join("\n"), "utf8");
|
|
46
|
-
});
|
|
47
|
-
afterEach(() => {
|
|
48
|
-
fs.rmSync(tempProjectPath, { recursive: true, force: true });
|
|
49
|
-
});
|
|
50
|
-
it("generates schema-aware context types for attributes", async () => {
|
|
51
|
-
const projectConfig = (0, projectConfig_1.getProjectConfig)(tempProjectPath);
|
|
52
|
-
const datasource = new datasource_1.Datasource(projectConfig, tempProjectPath);
|
|
53
|
-
await (0, typescript_1.generateTypeScriptCodeForProject)({
|
|
54
|
-
rootDirectoryPath: tempProjectPath,
|
|
55
|
-
projectConfig,
|
|
56
|
-
datasource,
|
|
57
|
-
options: {},
|
|
58
|
-
}, outputPath, {});
|
|
59
|
-
const attributesContent = fs.readFileSync(path.join(outputPath, "attributes.ts"), "utf8");
|
|
60
|
-
const contextContent = fs.readFileSync(path.join(outputPath, "context.ts"), "utf8");
|
|
61
|
-
const indexContent = fs.readFileSync(path.join(outputPath, "index.ts"), "utf8");
|
|
62
|
-
expect(attributesContent).toContain('export type AccountAttribute = { plan: "free" | "pro"; locale?: string };');
|
|
63
|
-
expect(attributesContent).toContain('export type PermissionsAttribute = ("read" | "write" | "admin")[];');
|
|
64
|
-
expect(attributesContent).toContain("export type VersionAttribute = string | number;");
|
|
65
|
-
expect(attributesContent).toContain("export type BrowserAttribute = { name?: string; version?: string };");
|
|
66
|
-
expect(contextContent).toContain("import type {");
|
|
67
|
-
expect(contextContent).toContain("AccountAttribute,");
|
|
68
|
-
expect(contextContent).toContain("PermissionsAttribute,");
|
|
69
|
-
expect(contextContent).toContain("VersionAttribute,");
|
|
70
|
-
expect(contextContent).toContain('} from "./attributes";');
|
|
71
|
-
expect(contextContent).toContain("account?: AccountAttribute;");
|
|
72
|
-
expect(contextContent).toContain("permissions?: PermissionsAttribute;");
|
|
73
|
-
expect(contextContent).toContain("version?: VersionAttribute;");
|
|
74
|
-
expect(contextContent).toContain("browser?: BrowserAttribute;");
|
|
75
|
-
expect(indexContent).toContain('export * from "./attributes";');
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
//# sourceMappingURL=typescript.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typescript.spec.js","sourceRoot":"","sources":["../../src/generate-code/typescript.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const attributeSchema_1 = require("./attributeSchema");
|
|
4
|
-
function parseAttribute(input) {
|
|
5
|
-
return (0, attributeSchema_1.getAttributeZodSchema)().safeParse(input);
|
|
6
|
-
}
|
|
7
|
-
function expectAttributeSuccess(input) {
|
|
8
|
-
const result = parseAttribute(input);
|
|
9
|
-
expect(result.success).toBe(true);
|
|
10
|
-
if (!result.success) {
|
|
11
|
-
const error = result.error;
|
|
12
|
-
const msg = error.issues.map((issue) => issue.message).join("; ");
|
|
13
|
-
throw new Error(`Expected attribute to pass: ${msg}`);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
function expectAttributeFailure(input, messageSubstring) {
|
|
17
|
-
const result = parseAttribute(input);
|
|
18
|
-
expect(result.success).toBe(false);
|
|
19
|
-
if (result.success) {
|
|
20
|
-
throw new Error("Expected attribute to fail");
|
|
21
|
-
}
|
|
22
|
-
const error = result.error;
|
|
23
|
-
if (messageSubstring) {
|
|
24
|
-
const messages = error.issues.map((issue) => issue.message).join(" ");
|
|
25
|
-
expect(messages).toContain(messageSubstring);
|
|
26
|
-
}
|
|
27
|
-
return error;
|
|
28
|
-
}
|
|
29
|
-
describe("attributeSchema.ts :: getAttributeZodSchema", () => {
|
|
30
|
-
it("accepts flat object attributes without additional schema details", () => {
|
|
31
|
-
expectAttributeSuccess({
|
|
32
|
-
description: "Traits",
|
|
33
|
-
type: "object",
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
it("accepts flat object properties and typed arrays", () => {
|
|
37
|
-
expectAttributeSuccess({
|
|
38
|
-
description: "Account",
|
|
39
|
-
type: "object",
|
|
40
|
-
required: ["plan"],
|
|
41
|
-
properties: {
|
|
42
|
-
plan: {
|
|
43
|
-
type: "string",
|
|
44
|
-
enum: ["free", "pro"],
|
|
45
|
-
},
|
|
46
|
-
locale: {
|
|
47
|
-
type: "string",
|
|
48
|
-
},
|
|
49
|
-
permissions: {
|
|
50
|
-
type: "array",
|
|
51
|
-
items: {
|
|
52
|
-
type: "string",
|
|
53
|
-
enum: ["read", "write", "admin"],
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
it("accepts array attributes without items when they stay flat", () => {
|
|
60
|
-
expectAttributeSuccess({
|
|
61
|
-
description: "Tags",
|
|
62
|
-
type: "array",
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
it("accepts string-array enums on array attributes", () => {
|
|
66
|
-
expectAttributeSuccess({
|
|
67
|
-
description: "Permissions",
|
|
68
|
-
type: "array",
|
|
69
|
-
items: {
|
|
70
|
-
type: "string",
|
|
71
|
-
},
|
|
72
|
-
enum: [["read"], ["write", "admin"]],
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
it("accepts top-level oneOf attributes without type", () => {
|
|
76
|
-
expectAttributeSuccess({
|
|
77
|
-
description: "Version number of the app",
|
|
78
|
-
oneOf: [{ type: "string" }, { type: "double" }],
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
it("accepts top-level oneOf attributes with branch-specific enums", () => {
|
|
82
|
-
expectAttributeSuccess({
|
|
83
|
-
description: "Plan or score",
|
|
84
|
-
oneOf: [
|
|
85
|
-
{ type: "string", enum: ["free", "pro"] },
|
|
86
|
-
{ type: "double", minimum: 0 },
|
|
87
|
-
],
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
it("requires items when array schema adds extra constraints", () => {
|
|
91
|
-
expectAttributeFailure({
|
|
92
|
-
description: "Permissions",
|
|
93
|
-
type: "array",
|
|
94
|
-
enum: [["read"], ["write"]],
|
|
95
|
-
}, "`items` is required");
|
|
96
|
-
});
|
|
97
|
-
it("rejects attributes without top-level type or oneOf", () => {
|
|
98
|
-
expectAttributeFailure({
|
|
99
|
-
description: "Country",
|
|
100
|
-
}, "either `type` or `oneOf`");
|
|
101
|
-
});
|
|
102
|
-
it("rejects attributes with both top-level type and oneOf", () => {
|
|
103
|
-
expectAttributeFailure({
|
|
104
|
-
description: "Version number of the app",
|
|
105
|
-
type: "string",
|
|
106
|
-
oneOf: [{ type: "string" }, { type: "double" }],
|
|
107
|
-
}, "cannot have both `type` and `oneOf`");
|
|
108
|
-
});
|
|
109
|
-
it("rejects top-level oneOf attributes when a branch enum does not match its type", () => {
|
|
110
|
-
expectAttributeFailure({
|
|
111
|
-
description: "Plan or score",
|
|
112
|
-
oneOf: [{ type: "string", enum: ["free", 1] }, { type: "double" }],
|
|
113
|
-
}, 'does not match type "string"');
|
|
114
|
-
});
|
|
115
|
-
it("rejects nested object properties inside object attributes", () => {
|
|
116
|
-
expectAttributeFailure({
|
|
117
|
-
description: "Account",
|
|
118
|
-
type: "object",
|
|
119
|
-
properties: {
|
|
120
|
-
metadata: {
|
|
121
|
-
type: "object",
|
|
122
|
-
properties: {
|
|
123
|
-
locale: {
|
|
124
|
-
type: "string",
|
|
125
|
-
},
|
|
126
|
-
},
|
|
127
|
-
},
|
|
128
|
-
},
|
|
129
|
-
}, "must stay flat");
|
|
130
|
-
});
|
|
131
|
-
it("rejects object additionalProperties that allow nested objects", () => {
|
|
132
|
-
expectAttributeFailure({
|
|
133
|
-
description: "Labels",
|
|
134
|
-
type: "object",
|
|
135
|
-
additionalProperties: {
|
|
136
|
-
type: "object",
|
|
137
|
-
properties: {
|
|
138
|
-
locale: {
|
|
139
|
-
type: "string",
|
|
140
|
-
},
|
|
141
|
-
},
|
|
142
|
-
},
|
|
143
|
-
}, "must stay flat");
|
|
144
|
-
});
|
|
145
|
-
it("rejects object properties whose oneOf allows nested objects", () => {
|
|
146
|
-
expectAttributeFailure({
|
|
147
|
-
description: "Account",
|
|
148
|
-
type: "object",
|
|
149
|
-
properties: {
|
|
150
|
-
metadata: {
|
|
151
|
-
oneOf: [
|
|
152
|
-
{ type: "string" },
|
|
153
|
-
{
|
|
154
|
-
type: "object",
|
|
155
|
-
properties: {
|
|
156
|
-
locale: {
|
|
157
|
-
type: "string",
|
|
158
|
-
},
|
|
159
|
-
},
|
|
160
|
-
},
|
|
161
|
-
],
|
|
162
|
-
},
|
|
163
|
-
},
|
|
164
|
-
}, "must stay flat");
|
|
165
|
-
});
|
|
166
|
-
it("rejects object additionalProperties whose oneOf allows nested objects", () => {
|
|
167
|
-
expectAttributeFailure({
|
|
168
|
-
description: "Labels",
|
|
169
|
-
type: "object",
|
|
170
|
-
additionalProperties: {
|
|
171
|
-
oneOf: [
|
|
172
|
-
{ type: "string" },
|
|
173
|
-
{
|
|
174
|
-
type: "object",
|
|
175
|
-
properties: {
|
|
176
|
-
locale: {
|
|
177
|
-
type: "string",
|
|
178
|
-
},
|
|
179
|
-
},
|
|
180
|
-
},
|
|
181
|
-
],
|
|
182
|
-
},
|
|
183
|
-
}, "must stay flat");
|
|
184
|
-
});
|
|
185
|
-
it("rejects non-string item types for array attributes", () => {
|
|
186
|
-
expectAttributeFailure({
|
|
187
|
-
description: "Scores",
|
|
188
|
-
type: "array",
|
|
189
|
-
items: {
|
|
190
|
-
type: "integer",
|
|
191
|
-
},
|
|
192
|
-
}, "items.type");
|
|
193
|
-
});
|
|
194
|
-
it("rejects non-string enum values for array attributes", () => {
|
|
195
|
-
expectAttributeFailure({
|
|
196
|
-
description: "Scores",
|
|
197
|
-
type: "array",
|
|
198
|
-
enum: [[1, 2]],
|
|
199
|
-
}, "array of strings");
|
|
200
|
-
});
|
|
201
|
-
it("rejects non-string const values for array attributes", () => {
|
|
202
|
-
expectAttributeFailure({
|
|
203
|
-
description: "Scores",
|
|
204
|
-
type: "array",
|
|
205
|
-
items: {
|
|
206
|
-
type: "string",
|
|
207
|
-
},
|
|
208
|
-
const: [1, 2],
|
|
209
|
-
}, "array of strings");
|
|
210
|
-
});
|
|
211
|
-
it("rejects required keys that are not declared in properties", () => {
|
|
212
|
-
expectAttributeFailure({
|
|
213
|
-
description: "Account",
|
|
214
|
-
type: "object",
|
|
215
|
-
required: ["plan", "tier"],
|
|
216
|
-
properties: {
|
|
217
|
-
plan: {
|
|
218
|
-
type: "string",
|
|
219
|
-
},
|
|
220
|
-
},
|
|
221
|
-
}, "Unknown required field");
|
|
222
|
-
});
|
|
223
|
-
it("accepts required keys on flat object attributes without declared properties", () => {
|
|
224
|
-
expectAttributeSuccess({
|
|
225
|
-
description: "Traits",
|
|
226
|
-
type: "object",
|
|
227
|
-
required: ["plan"],
|
|
228
|
-
});
|
|
229
|
-
});
|
|
230
|
-
it("rejects enum values that do not match semver/date string-like types", () => {
|
|
231
|
-
expectAttributeFailure({
|
|
232
|
-
description: "Browser version",
|
|
233
|
-
type: "semver",
|
|
234
|
-
enum: ["1.0.0", 2],
|
|
235
|
-
}, 'does not match type "semver"');
|
|
236
|
-
});
|
|
237
|
-
it("rejects minimum values greater than maximum for numeric attributes", () => {
|
|
238
|
-
expectAttributeFailure({
|
|
239
|
-
description: "Score",
|
|
240
|
-
type: "double",
|
|
241
|
-
minimum: 10,
|
|
242
|
-
maximum: 5,
|
|
243
|
-
}, "minimum");
|
|
244
|
-
});
|
|
245
|
-
it("rejects minLength values greater than maxLength for string attributes", () => {
|
|
246
|
-
expectAttributeFailure({
|
|
247
|
-
description: "Country",
|
|
248
|
-
type: "string",
|
|
249
|
-
minLength: 5,
|
|
250
|
-
maxLength: 2,
|
|
251
|
-
}, "minLength");
|
|
252
|
-
});
|
|
253
|
-
it("rejects invalid string patterns nested under object properties", () => {
|
|
254
|
-
expectAttributeFailure({
|
|
255
|
-
description: "Profile",
|
|
256
|
-
type: "object",
|
|
257
|
-
properties: {
|
|
258
|
-
email: {
|
|
259
|
-
type: "string",
|
|
260
|
-
pattern: "[",
|
|
261
|
-
},
|
|
262
|
-
},
|
|
263
|
-
}, "valid ECMA-262");
|
|
264
|
-
});
|
|
265
|
-
});
|
|
266
|
-
//# sourceMappingURL=attributeSchema.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attributeSchema.spec.js","sourceRoot":"","sources":["../../src/linter/attributeSchema.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|