@featurevisor/core 2.17.0 → 2.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/coverage/clover.xml +1692 -1196
  3. package/coverage/coverage-final.json +29 -22
  4. package/coverage/lcov-report/builder/allocator.ts.html +26 -26
  5. package/coverage/lcov-report/builder/buildDatafile.ts.html +2017 -0
  6. package/coverage/lcov-report/builder/buildScopedConditions.ts.html +35 -35
  7. package/coverage/lcov-report/builder/buildScopedDatafile.ts.html +213 -45
  8. package/coverage/lcov-report/builder/buildScopedSegments.ts.html +28 -28
  9. package/coverage/lcov-report/builder/convertToV1.ts.html +583 -0
  10. package/coverage/lcov-report/builder/getFeatureRanges.ts.html +268 -0
  11. package/coverage/lcov-report/builder/hashes.ts.html +412 -0
  12. package/coverage/lcov-report/builder/index.html +90 -30
  13. package/coverage/lcov-report/builder/mutateVariables.ts.html +66 -45
  14. package/coverage/lcov-report/builder/mutator.ts.html +95 -95
  15. package/coverage/lcov-report/builder/revision.ts.html +1 -1
  16. package/coverage/lcov-report/builder/traffic.ts.html +60 -57
  17. package/coverage/lcov-report/config/index.html +1 -1
  18. package/coverage/lcov-report/config/index.ts.html +2 -2
  19. package/coverage/lcov-report/config/projectConfig.ts.html +28 -28
  20. package/coverage/lcov-report/datasource/adapter.ts.html +2 -2
  21. package/coverage/lcov-report/datasource/datasource.ts.html +4 -4
  22. package/coverage/lcov-report/datasource/filesystemAdapter.ts.html +34 -34
  23. package/coverage/lcov-report/datasource/index.html +1 -1
  24. package/coverage/lcov-report/datasource/index.ts.html +1 -1
  25. package/coverage/lcov-report/index.html +39 -39
  26. package/coverage/lcov-report/linter/attributeSchema.ts.html +1 -1
  27. package/coverage/lcov-report/linter/checkCircularDependency.ts.html +1 -1
  28. package/coverage/lcov-report/linter/checkPercentageExceedingSlot.ts.html +1 -1
  29. package/coverage/lcov-report/linter/conditionSchema.ts.html +17 -17
  30. package/coverage/lcov-report/linter/featureSchema.ts.html +879 -417
  31. package/coverage/lcov-report/linter/groupSchema.ts.html +1 -1
  32. package/coverage/lcov-report/linter/index.html +34 -34
  33. package/coverage/lcov-report/linter/lintProject.ts.html +25 -25
  34. package/coverage/lcov-report/linter/mutationNotation.ts.html +224 -122
  35. package/coverage/lcov-report/linter/printError.ts.html +1 -1
  36. package/coverage/lcov-report/linter/schema.ts.html +175 -85
  37. package/coverage/lcov-report/linter/segmentSchema.ts.html +1 -1
  38. package/coverage/lcov-report/linter/testSchema.ts.html +5 -5
  39. package/coverage/lcov-report/list/index.html +1 -1
  40. package/coverage/lcov-report/list/matrix.ts.html +1 -1
  41. package/coverage/lcov-report/parsers/index.html +1 -1
  42. package/coverage/lcov-report/parsers/index.ts.html +4 -4
  43. package/coverage/lcov-report/parsers/json.ts.html +2 -2
  44. package/coverage/lcov-report/parsers/yml.ts.html +6 -6
  45. package/coverage/lcov-report/tester/cliFormat.ts.html +1 -1
  46. package/coverage/lcov-report/tester/helpers.ts.html +1 -1
  47. package/coverage/lcov-report/tester/index.html +1 -1
  48. package/coverage/lcov-report/utils/extractKeys.ts.html +493 -0
  49. package/coverage/lcov-report/utils/git.ts.html +3 -3
  50. package/coverage/lcov-report/utils/index.html +54 -9
  51. package/coverage/lcov-report/utils/index.ts.html +94 -0
  52. package/coverage/lcov-report/utils/pretty.ts.html +121 -0
  53. package/coverage/lcov.info +3206 -2260
  54. package/json-schema/attribute.json +25 -9
  55. package/json-schema/feature.json +319 -238
  56. package/json-schema/segment.json +76 -45
  57. package/lib/builder/buildDatafile.js +50 -3
  58. package/lib/builder/buildDatafile.js.map +1 -1
  59. package/lib/builder/buildDatafile.spec.d.ts +1 -0
  60. package/lib/builder/buildDatafile.spec.js +233 -0
  61. package/lib/builder/buildDatafile.spec.js.map +1 -0
  62. package/lib/builder/buildScopedDatafile.js +37 -1
  63. package/lib/builder/buildScopedDatafile.js.map +1 -1
  64. package/lib/builder/buildScopedDatafile.spec.js +289 -0
  65. package/lib/builder/buildScopedDatafile.spec.js.map +1 -1
  66. package/lib/builder/mutateVariables.d.ts +1 -1
  67. package/lib/builder/mutateVariables.js +4 -1
  68. package/lib/builder/mutateVariables.js.map +1 -1
  69. package/lib/builder/mutateVariables.spec.js +29 -0
  70. package/lib/builder/mutateVariables.spec.js.map +1 -1
  71. package/lib/builder/traffic.js +1 -0
  72. package/lib/builder/traffic.js.map +1 -1
  73. package/lib/builder/traffic.spec.js +26 -0
  74. package/lib/builder/traffic.spec.js.map +1 -1
  75. package/lib/generate-code/typescript.js +63 -20
  76. package/lib/generate-code/typescript.js.map +1 -1
  77. package/lib/linter/featureSchema.d.ts +237 -22
  78. package/lib/linter/featureSchema.js +175 -84
  79. package/lib/linter/featureSchema.js.map +1 -1
  80. package/lib/linter/featureSchema.spec.js +268 -0
  81. package/lib/linter/featureSchema.spec.js.map +1 -1
  82. package/lib/linter/mutationNotation.js +54 -19
  83. package/lib/linter/mutationNotation.js.map +1 -1
  84. package/lib/linter/mutationNotation.spec.js +49 -0
  85. package/lib/linter/mutationNotation.spec.js.map +1 -1
  86. package/lib/linter/schema.d.ts +1 -0
  87. package/lib/linter/schema.js +13 -0
  88. package/lib/linter/schema.js.map +1 -1
  89. package/lib/linter/schema.spec.js +51 -0
  90. package/lib/linter/schema.spec.js.map +1 -1
  91. package/package.json +5 -5
  92. package/src/builder/buildDatafile.spec.ts +267 -0
  93. package/src/builder/buildDatafile.ts +85 -4
  94. package/src/builder/buildScopedDatafile.spec.ts +330 -0
  95. package/src/builder/buildScopedDatafile.ts +57 -1
  96. package/src/builder/mutateVariables.spec.ts +45 -0
  97. package/src/builder/mutateVariables.ts +7 -0
  98. package/src/builder/traffic.spec.ts +33 -0
  99. package/src/builder/traffic.ts +1 -0
  100. package/src/generate-code/typescript.ts +87 -20
  101. package/src/linter/featureSchema.spec.ts +315 -0
  102. package/src/linter/featureSchema.ts +269 -115
  103. package/src/linter/mutationNotation.spec.ts +62 -0
  104. package/src/linter/mutationNotation.ts +47 -13
  105. package/src/linter/schema.spec.ts +72 -0
  106. package/src/linter/schema.ts +30 -0
@@ -100,9 +100,14 @@ function valueMatchesSchema(schema, value, schemasByKey) {
100
100
  if (typeof value !== "object" || value === null || Array.isArray(value))
101
101
  return false;
102
102
  const props = resolved.properties;
103
- if (!props || typeof props !== "object")
104
- return true;
103
+ const additional = resolved.additionalProperties;
105
104
  const obj = value;
105
+ if ((!props || typeof props !== "object") && (!additional || typeof additional !== "object")) {
106
+ return true;
107
+ }
108
+ if (!props || typeof props !== "object") {
109
+ return Object.keys(obj).every((key) => valueMatchesSchema(additional, obj[key], schemasByKey));
110
+ }
106
111
  const required = new Set(resolved.required || []);
107
112
  for (const key of required) {
108
113
  if (!Object.prototype.hasOwnProperty.call(obj, key))
@@ -112,10 +117,17 @@ function valueMatchesSchema(schema, value, schemasByKey) {
112
117
  }
113
118
  for (const key of Object.keys(obj)) {
114
119
  const propSchema = props[key];
115
- if (!propSchema)
116
- return false;
117
- if (!valueMatchesSchema(propSchema, obj[key], schemasByKey))
120
+ if (propSchema) {
121
+ if (!valueMatchesSchema(propSchema, obj[key], schemasByKey))
122
+ return false;
123
+ }
124
+ else if (additional && typeof additional === "object") {
125
+ if (!valueMatchesSchema(additional, obj[key], schemasByKey))
126
+ return false;
127
+ }
128
+ else {
118
129
  return false;
130
+ }
119
131
  }
120
132
  return true;
121
133
  }
@@ -211,6 +223,12 @@ function refineRequiredKeysInSchema(schema, pathPrefix, ctx, schemasByKey) {
211
223
  }
212
224
  }
213
225
  }
226
+ const additionalProperties = current.additionalProperties;
227
+ if (additionalProperties &&
228
+ typeof additionalProperties === "object" &&
229
+ !Array.isArray(additionalProperties)) {
230
+ refineRequiredKeysInSchema(additionalProperties, [...pathPrefix, "additionalProperties"], ctx, schemasByKey);
231
+ }
214
232
  if (items && typeof items === "object" && !Array.isArray(items)) {
215
233
  refineRequiredKeysInSchema(items, [...pathPrefix, "items"], ctx, schemasByKey);
216
234
  }
@@ -303,6 +321,7 @@ function refineVariableValueArray(projectConfig, variableSchema, variableValue,
303
321
  function refineVariableValueObject(projectConfig, variableSchema, variableValue, path, ctx, variableKey, schemasByKey) {
304
322
  const label = getVariableLabel(variableSchema, variableKey, path);
305
323
  const schemaProperties = variableSchema.properties;
324
+ const additionalProperties = variableSchema.additionalProperties;
306
325
  if (schemaProperties && typeof schemaProperties === "object") {
307
326
  const requiredKeys = variableSchema.required && variableSchema.required.length > 0
308
327
  ? variableSchema.required.filter((k) => Object.prototype.hasOwnProperty.call(schemaProperties, k))
@@ -318,7 +337,10 @@ function refineVariableValueObject(projectConfig, variableSchema, variableValue,
318
337
  }
319
338
  for (const key of Object.keys(variableValue)) {
320
339
  const propSchema = schemaProperties[key];
321
- if (!propSchema) {
340
+ if (!propSchema && additionalProperties && typeof additionalProperties === "object") {
341
+ superRefineVariableValue(projectConfig, additionalProperties, variableValue[key], [...path, key], ctx, key, schemasByKey);
342
+ }
343
+ else if (!propSchema) {
322
344
  ctx.addIssue({
323
345
  code: zod_1.z.ZodIssueCode.custom,
324
346
  message: `Unknown property "${key}" in variable "${label}" (not in schema)`,
@@ -330,6 +352,11 @@ function refineVariableValueObject(projectConfig, variableSchema, variableValue,
330
352
  }
331
353
  }
332
354
  }
355
+ else if (additionalProperties && typeof additionalProperties === "object") {
356
+ for (const key of Object.keys(variableValue)) {
357
+ superRefineVariableValue(projectConfig, additionalProperties, variableValue[key], [...path, key], ctx, key, schemasByKey);
358
+ }
359
+ }
333
360
  else {
334
361
  for (const key of Object.keys(variableValue)) {
335
362
  const propValue = variableValue[key];
@@ -672,6 +699,101 @@ function refineVariableEntry(projectConfig, variableSchemaByKey, variableKey, va
672
699
  }
673
700
  superRefineVariableValue(projectConfig, variableSchema, variableValue, path, ctx, variableKey, schemasByKey);
674
701
  }
702
+ function refineVariableOverrides({ ctx, variableSchemaByKey, variableOverrides, pathPrefix, projectConfig, schemasByKey, }) {
703
+ for (const variableKey of Object.keys(variableOverrides)) {
704
+ if ((0, mutationNotation_1.isMutationKey)(variableKey)) {
705
+ ctx.addIssue({
706
+ code: zod_1.z.ZodIssueCode.custom,
707
+ message: `Variable override key "${variableKey}" must be a declared variable key, not mutation notation. ` +
708
+ "Use mutation notation inside each override's `value` object.",
709
+ path: [...pathPrefix, variableKey],
710
+ });
711
+ continue;
712
+ }
713
+ const variableSchema = variableSchemaByKey[variableKey];
714
+ if (!variableSchema) {
715
+ ctx.addIssue({
716
+ code: zod_1.z.ZodIssueCode.custom,
717
+ message: `Variable "${variableKey}" is not defined in \`variablesSchema\`.`,
718
+ path: [...pathPrefix, variableKey],
719
+ });
720
+ continue;
721
+ }
722
+ const variableSchemaWithRef = variableSchema;
723
+ const resolvedVariableSchema = resolveVariableSchema(variableSchema, schemasByKey);
724
+ if (variableSchemaWithRef.schema) {
725
+ if (!resolvedVariableSchema) {
726
+ ctx.addIssue({
727
+ code: zod_1.z.ZodIssueCode.custom,
728
+ message: `Schema "${variableSchemaWithRef.schema}" could not be loaded for variable "${variableKey}".`,
729
+ path: [...pathPrefix, variableKey],
730
+ });
731
+ continue;
732
+ }
733
+ }
734
+ const overrides = variableOverrides[variableKey];
735
+ if (!Array.isArray(overrides)) {
736
+ continue;
737
+ }
738
+ overrides.forEach((override, overrideN) => {
739
+ const overrideValue = override.value;
740
+ const valuePath = [...pathPrefix, variableKey, overrideN, "value"];
741
+ if (typeof overrideValue === "object" &&
742
+ overrideValue !== null &&
743
+ !Array.isArray(overrideValue)) {
744
+ const pathMap = overrideValue;
745
+ const pathKeys = Object.keys(pathMap);
746
+ const hasStructuredObjectSchema = resolvedVariableSchema?.type === "object" &&
747
+ (Boolean(resolvedVariableSchema.properties) ||
748
+ Boolean(resolvedVariableSchema.additionalProperties));
749
+ const treatAsPathMap = pathKeys.some((pathKey) => (0, mutationNotation_1.isMutationKey)(pathKey)) ||
750
+ (hasStructuredObjectSchema && pathKeys.length > 0);
751
+ if (treatAsPathMap) {
752
+ for (const pathKey of pathKeys) {
753
+ const composedMutationKey = `${variableKey}.${pathKey}`;
754
+ const validation = (0, mutationNotation_1.validateMutationKey)(composedMutationKey, variableSchemaByKey, schemasByKey);
755
+ if (!validation.valid) {
756
+ ctx.addIssue({
757
+ code: zod_1.z.ZodIssueCode.custom,
758
+ message: validation.error ??
759
+ `Invalid mutation path "${pathKey}" in variableOverride for "${variableKey}".`,
760
+ path: [...valuePath, pathKey],
761
+ });
762
+ continue;
763
+ }
764
+ if (validation.operation === "remove") {
765
+ if (pathMap[pathKey] !== null) {
766
+ ctx.addIssue({
767
+ code: zod_1.z.ZodIssueCode.custom,
768
+ message: `Mutation "${pathKey}:remove" must use \`null\` as value.`,
769
+ path: [...valuePath, pathKey],
770
+ });
771
+ }
772
+ continue;
773
+ }
774
+ const fallbackValueSchema = validation.operation === "append" ||
775
+ validation.operation === "prepend" ||
776
+ validation.operation === "before" ||
777
+ validation.operation === "after"
778
+ ? { type: "string" }
779
+ : null;
780
+ const valueSchema = validation.valueSchema ?? fallbackValueSchema;
781
+ if (!valueSchema) {
782
+ continue;
783
+ }
784
+ superRefineVariableValue(projectConfig, valueSchema, pathMap[pathKey], [...valuePath, pathKey], ctx, pathKey, schemasByKey);
785
+ }
786
+ }
787
+ else {
788
+ superRefineVariableValue(projectConfig, variableSchema, overrideValue, valuePath, ctx, variableKey, schemasByKey);
789
+ }
790
+ }
791
+ else {
792
+ superRefineVariableValue(projectConfig, variableSchema, overrideValue, valuePath, ctx, variableKey, schemasByKey);
793
+ }
794
+ });
795
+ }
796
+ }
675
797
  function refineForce({ ctx, parsedFeature, // eslint-disable-line
676
798
  variableSchemaByKey, variationValues, force, pathPrefix, projectConfig, schemasByKey, }) {
677
799
  force.forEach((f, fN) => {
@@ -701,6 +823,17 @@ function refineRules({ ctx, parsedFeature, variableSchemaByKey, variationValues,
701
823
  refineVariableEntry(projectConfig, variableSchemaByKey, variableKey, rule.variables[variableKey], pathPrefix.concat([ruleN, "variables", variableKey]), ctx, schemasByKey);
702
824
  });
703
825
  }
826
+ // rules[n].variableOverrides[key][].value (path-map or full value)
827
+ if (rule.variableOverrides) {
828
+ refineVariableOverrides({
829
+ ctx,
830
+ variableSchemaByKey,
831
+ variableOverrides: rule.variableOverrides,
832
+ pathPrefix: [...pathPrefix, ruleN, "variableOverrides"],
833
+ projectConfig,
834
+ schemasByKey,
835
+ });
836
+ }
704
837
  // rules[n].variationWeights
705
838
  if (rule.variationWeights) {
706
839
  if (!parsedFeature.variations) {
@@ -757,6 +890,11 @@ function getFeatureZodSchema(projectConfig, conditionsZodSchema, availableAttrib
757
890
  const schemaZodSchema = (0, schema_1.getSchemaZodSchema)(availableSchemaKeys);
758
891
  const variableValueZodSchema = schema_1.valueZodSchema;
759
892
  const variableValueOrNullZodSchema = zod_1.z.union([schema_1.valueZodSchema, zod_1.z.null()]);
893
+ const overridePathMapValueZodSchema = zod_1.z.record(variableValueOrNullZodSchema);
894
+ const overrideValueZodSchema = zod_1.z.union([
895
+ variableValueOrNullZodSchema,
896
+ overridePathMapValueZodSchema,
897
+ ]);
760
898
  const variationValueZodSchema = zod_1.z.string().min(1);
761
899
  const plainGroupSegment = zod_1.z.string().refine((value) => value === "*" || availableSegmentKeys.includes(value), (value) => ({
762
900
  message: `Unknown segment key "${value}"`,
@@ -793,6 +931,22 @@ function getFeatureZodSchema(projectConfig, conditionsZodSchema, availableAttrib
793
931
  enabled: zod_1.z.boolean().optional(),
794
932
  variation: variationValueZodSchema.optional(),
795
933
  variables: zod_1.z.record(variableValueOrNullZodSchema).optional(),
934
+ variableOverrides: zod_1.z
935
+ .record(zod_1.z.array(zod_1.z.union([
936
+ zod_1.z
937
+ .object({
938
+ conditions: conditionsZodSchema,
939
+ value: overrideValueZodSchema,
940
+ })
941
+ .strict(),
942
+ zod_1.z
943
+ .object({
944
+ segments: groupSegmentsZodSchema,
945
+ value: overrideValueZodSchema,
946
+ })
947
+ .strict(),
948
+ ])))
949
+ .optional(),
796
950
  variationWeights: zod_1.z.record(zod_1.z.number().min(0).max(100)).optional(),
797
951
  })
798
952
  .strict())
@@ -891,6 +1045,7 @@ function getFeatureZodSchema(projectConfig, conditionsZodSchema, availableAttrib
891
1045
  type: zod_1.z.union([zod_1.z.literal("json"), schema_1.propertyTypeEnum]).optional(),
892
1046
  items: schemaZodSchema.optional(),
893
1047
  properties: zod_1.z.record(schemaZodSchema).optional(),
1048
+ additionalProperties: schemaZodSchema.optional(),
894
1049
  required: zod_1.z.array(zod_1.z.string()).optional(),
895
1050
  enum: zod_1.z.array(variableValueZodSchema).optional(),
896
1051
  const: variableValueZodSchema.optional(),
@@ -920,7 +1075,7 @@ function getFeatureZodSchema(projectConfig, conditionsZodSchema, availableAttrib
920
1075
  if (hasRef && (hasInline || hasOneOf)) {
921
1076
  ctx.addIssue({
922
1077
  code: zod_1.z.ZodIssueCode.custom,
923
- message: "Variable schema cannot have both `schema` (reference) and inline properties (`type`, `oneOf`, `properties`, `required`, `items`). Use one or the other.",
1078
+ message: "Variable schema cannot have both `schema` (reference) and inline properties (`type`, `oneOf`, `properties`, `additionalProperties`, `required`, `items`). Use one or the other.",
924
1079
  path: [],
925
1080
  });
926
1081
  return;
@@ -928,6 +1083,8 @@ function getFeatureZodSchema(projectConfig, conditionsZodSchema, availableAttrib
928
1083
  if (hasRef) {
929
1084
  const hasInlineStructure = ("type" in variableSchema && variableSchema.type != null) ||
930
1085
  ("properties" in variableSchema && variableSchema.properties != null) ||
1086
+ ("additionalProperties" in variableSchema &&
1087
+ variableSchema.additionalProperties != null) ||
931
1088
  ("required" in variableSchema && variableSchema.required != null) ||
932
1089
  ("items" in variableSchema && variableSchema.items != null) ||
933
1090
  ("oneOf" in variableSchema && variableSchema.oneOf != null);
@@ -942,7 +1099,7 @@ function getFeatureZodSchema(projectConfig, conditionsZodSchema, availableAttrib
942
1099
  if (hasInlineStructure) {
943
1100
  ctx.addIssue({
944
1101
  code: zod_1.z.ZodIssueCode.custom,
945
- message: "When `schema` is set, do not set `type`, `oneOf`, `properties`, `required`, or `items`.",
1102
+ message: "When `schema` is set, do not set `type`, `oneOf`, `properties`, `additionalProperties`, `required`, or `items`.",
946
1103
  path: [],
947
1104
  });
948
1105
  }
@@ -988,13 +1145,13 @@ function getFeatureZodSchema(projectConfig, conditionsZodSchema, availableAttrib
988
1145
  zod_1.z
989
1146
  .object({
990
1147
  conditions: conditionsZodSchema,
991
- value: variableValueZodSchema,
1148
+ value: overrideValueZodSchema,
992
1149
  })
993
1150
  .strict(),
994
1151
  zod_1.z
995
1152
  .object({
996
1153
  segments: groupSegmentsZodSchema,
997
- value: variableValueZodSchema,
1154
+ value: overrideValueZodSchema,
998
1155
  })
999
1156
  .strict(),
1000
1157
  ])))
@@ -1109,80 +1266,14 @@ function getFeatureZodSchema(projectConfig, conditionsZodSchema, availableAttrib
1109
1266
  }
1110
1267
  // variations[n].variableOverrides[key][].value (path-map or full value)
1111
1268
  if (variation.variableOverrides) {
1112
- for (const variableKey of Object.keys(variation.variableOverrides)) {
1113
- const variableSchema = variableSchemaByKey[variableKey];
1114
- if (!variableSchema) {
1115
- ctx.addIssue({
1116
- code: zod_1.z.ZodIssueCode.custom,
1117
- message: `Variable "${variableKey}" is not defined in \`variablesSchema\`.`,
1118
- path: ["variations", variationN, "variableOverrides", variableKey],
1119
- });
1120
- continue;
1121
- }
1122
- // When variable references a schema by name, ensure it can be resolved
1123
- const variableSchemaWithRef = variableSchema;
1124
- if (variableSchemaWithRef.schema) {
1125
- const resolvedVarSchema = resolveVariableSchema(variableSchema, schemasByKey);
1126
- if (!resolvedVarSchema) {
1127
- ctx.addIssue({
1128
- code: zod_1.z.ZodIssueCode.custom,
1129
- message: `Schema "${variableSchemaWithRef.schema}" could not be loaded for variable "${variableKey}".`,
1130
- path: ["variations", variationN, "variableOverrides", variableKey],
1131
- });
1132
- continue;
1133
- }
1134
- }
1135
- const overrides = variation.variableOverrides[variableKey];
1136
- if (!Array.isArray(overrides))
1137
- continue;
1138
- overrides.forEach((override, overrideN) => {
1139
- const overrideValue = override.value;
1140
- const valuePath = [
1141
- "variations",
1142
- variationN,
1143
- "variableOverrides",
1144
- variableKey,
1145
- overrideN,
1146
- "value",
1147
- ];
1148
- if (typeof overrideValue === "object" &&
1149
- overrideValue !== null &&
1150
- !Array.isArray(overrideValue)) {
1151
- const pathMap = overrideValue;
1152
- for (const pathKey of Object.keys(pathMap)) {
1153
- const pathSegments = (0, mutationNotation_1.parsePathMapKey)(pathKey);
1154
- if (!pathSegments || pathSegments.length === 0) {
1155
- ctx.addIssue({
1156
- code: zod_1.z.ZodIssueCode.custom,
1157
- message: `Invalid mutation path "${pathKey}" in variableOverride for "${variableKey}".`,
1158
- path: [...valuePath, pathKey],
1159
- });
1160
- continue;
1161
- }
1162
- const atPathSchema = (0, mutationNotation_1.resolveSchemaAtPath)(variableSchema, pathSegments, schemasByKey);
1163
- if (!atPathSchema) {
1164
- const effectiveSchema = resolveVariableSchema(variableSchema, schemasByKey);
1165
- const isFlatObject = effectiveSchema?.type === "object" &&
1166
- (!effectiveSchema.properties ||
1167
- Object.keys(effectiveSchema.properties).length === 0);
1168
- if (isFlatObject) {
1169
- continue;
1170
- }
1171
- ctx.addIssue({
1172
- code: zod_1.z.ZodIssueCode.custom,
1173
- message: `Path "${pathKey}" is invalid for variable "${variableKey}" (not in schema).`,
1174
- path: [...valuePath, pathKey],
1175
- });
1176
- continue;
1177
- }
1178
- superRefineVariableValue(projectConfig, atPathSchema, pathMap[pathKey], [...valuePath, pathKey], ctx, pathKey, schemasByKey);
1179
- }
1180
- }
1181
- else {
1182
- superRefineVariableValue(projectConfig, variableSchema, overrideValue, valuePath, ctx, variableKey, schemasByKey);
1183
- }
1184
- });
1185
- }
1269
+ refineVariableOverrides({
1270
+ ctx,
1271
+ variableSchemaByKey,
1272
+ variableOverrides: variation.variableOverrides,
1273
+ pathPrefix: ["variations", variationN, "variableOverrides"],
1274
+ projectConfig,
1275
+ schemasByKey,
1276
+ });
1186
1277
  }
1187
1278
  });
1188
1279
  }
@@ -1 +1 @@
1
- {"version":3,"file":"featureSchema.js","sourceRoot":"","sources":["../../src/linter/featureSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"featureSchema.js","sourceRoot":"","sources":["../../src/linter/featureSchema.ts"],"names":[],"mappings":"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"}