@featurevisor/core 2.10.0 → 2.11.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/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.11.0](https://github.com/featurevisor/featurevisor/compare/v2.10.0...v2.11.0) (2026-02-17)
7
+
8
+
9
+ ### Features
10
+
11
+ * required properties in variable objects ([#389](https://github.com/featurevisor/featurevisor/issues/389)) ([c54c704](https://github.com/featurevisor/featurevisor/commit/c54c70455fa6025ff40cc5c810ef2f7dc774a926))
12
+
13
+
14
+
15
+
16
+
6
17
  # [2.10.0](https://github.com/featurevisor/featurevisor/compare/v2.9.0...v2.10.0) (2026-02-15)
7
18
 
8
19
 
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1771194435037" clover="3.2.0">
3
- <project timestamp="1771194435037" name="All files">
2
+ <coverage generated="1771366390218" clover="3.2.0">
3
+ <project timestamp="1771366390218" name="All files">
4
4
  <metrics statements="497" coveredstatements="416" conditionals="232" coveredconditionals="179" methods="70" coveredmethods="62" elements="799" coveredelements="657" complexity="0" loc="497" ncloc="497" packages="4" files="10" classes="10"/>
5
5
  <package name="builder">
6
6
  <metrics statements="276" coveredstatements="268" conditionals="104" coveredconditionals="95" methods="46" coveredmethods="46"/>
@@ -205,7 +205,7 @@ export function getUpdatedAvailableRangesAfterFilling(
205
205
  <div class='footer quiet pad2 space-top1 center small'>
206
206
  Code coverage generated by
207
207
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
208
- at 2026-02-15T22:27:15.008Z
208
+ at 2026-02-17T22:13:10.186Z
209
209
  </div>
210
210
  <script src="../prettify.js"></script>
211
211
  <script>
@@ -472,7 +472,7 @@ export function buildScopedCondition(
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 2026-02-15T22:27:15.008Z
475
+ at 2026-02-17T22:13:10.186Z
476
476
  </div>
477
477
  <script src="../prettify.js"></script>
478
478
  <script>
@@ -589,7 +589,7 @@ export function buildScopedDatafile(
589
589
  <div class='footer quiet pad2 space-top1 center small'>
590
590
  Code coverage generated by
591
591
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
592
- at 2026-02-15T22:27:15.008Z
592
+ at 2026-02-17T22:13:10.186Z
593
593
  </div>
594
594
  <script src="../prettify.js"></script>
595
595
  <script>
@@ -529,7 +529,7 @@ export function buildScopedGroupSegments(
529
529
  <div class='footer quiet pad2 space-top1 center small'>
530
530
  Code coverage generated by
531
531
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
532
- at 2026-02-15T22:27:15.008Z
532
+ at 2026-02-17T22:13:10.186Z
533
533
  </div>
534
534
  <script src="../prettify.js"></script>
535
535
  <script>
@@ -176,7 +176,7 @@
176
176
  <div class='footer quiet pad2 space-top1 center small'>
177
177
  Code coverage generated by
178
178
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
179
- at 2026-02-15T22:27:15.008Z
179
+ at 2026-02-17T22:13:10.186Z
180
180
  </div>
181
181
  <script src="../prettify.js"></script>
182
182
  <script>
@@ -136,7 +136,7 @@
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
139
- at 2026-02-15T22:27:15.008Z
139
+ at 2026-02-17T22:13:10.186Z
140
140
  </div>
141
141
  <script src="../prettify.js"></script>
142
142
  <script>
@@ -643,7 +643,7 @@ export function getTraffic(
643
643
  <div class='footer quiet pad2 space-top1 center small'>
644
644
  Code coverage generated by
645
645
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
646
- at 2026-02-15T22:27:15.008Z
646
+ at 2026-02-17T22:13:10.186Z
647
647
  </div>
648
648
  <script src="../prettify.js"></script>
649
649
  <script>
@@ -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 2026-02-15T22:27:15.008Z
149
+ at 2026-02-17T22:13:10.186Z
150
150
  </div>
151
151
  <script src="prettify.js"></script>
152
152
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-02-15T22:27:15.008Z
104
+ at 2026-02-17T22:13:10.186Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -721,7 +721,7 @@ export function <span class="fstat-no" title="function not covered" >getSegmentA
721
721
  <div class='footer quiet pad2 space-top1 center small'>
722
722
  Code coverage generated by
723
723
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
724
- at 2026-02-15T22:27:15.008Z
724
+ at 2026-02-17T22:13:10.186Z
725
725
  </div>
726
726
  <script src="../prettify.js"></script>
727
727
  <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 2026-02-15T22:27:15.008Z
119
+ at 2026-02-17T22:13:10.186Z
120
120
  </div>
121
121
  <script src="../prettify.js"></script>
122
122
  <script>
@@ -103,7 +103,7 @@ export const jsonParser: CustomParser = {
103
103
  <div class='footer quiet pad2 space-top1 center small'>
104
104
  Code coverage generated by
105
105
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
106
- at 2026-02-15T22:27:15.008Z
106
+ at 2026-02-17T22:13:10.186Z
107
107
  </div>
108
108
  <script src="../prettify.js"></script>
109
109
  <script>
@@ -574,7 +574,7 @@ export const ymlParser: CustomParser = {
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 2026-02-15T22:27:15.008Z
577
+ at 2026-02-17T22:13:10.186Z
578
578
  </div>
579
579
  <script src="../prettify.js"></script>
580
580
  <script>
@@ -298,7 +298,7 @@ export function checkIfArraysAreEqual(arr1: any[], arr2: any[]): boolean {
298
298
  <div class='footer quiet pad2 space-top1 center small'>
299
299
  Code coverage generated by
300
300
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
301
- at 2026-02-15T22:27:15.008Z
301
+ at 2026-02-17T22:13:10.186Z
302
302
  </div>
303
303
  <script src="../prettify.js"></script>
304
304
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-02-15T22:27:15.008Z
104
+ at 2026-02-17T22:13:10.186Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -54,7 +54,7 @@ function propertySchemaToTypeScriptType(schema) {
54
54
  const entries = Object.entries(props)
55
55
  .map(([k, v]) => {
56
56
  const propType = propertySchemaToTypeScriptType(v);
57
- const optional = requiredSet.size > 0 && !requiredSet.has(k);
57
+ const optional = !requiredSet.has(k);
58
58
  return optional ? `${k}?: ${propType}` : `${k}: ${propType}`;
59
59
  })
60
60
  .join("; ");
@@ -85,7 +85,7 @@ function generateVariableTypeDeclarations(variableKey, variableSchema) {
85
85
  const entries = Object.entries(props)
86
86
  .map(([k, v]) => {
87
87
  const propType = propertySchemaToTypeScriptType(v);
88
- const optional = requiredSet.size > 0 && !requiredSet.has(k);
88
+ const optional = !requiredSet.has(k);
89
89
  return optional
90
90
  ? `${INDENT_NS_BODY}${k}?: ${propType};`
91
91
  : `${INDENT_NS_BODY}${k}: ${propType};`;
@@ -105,7 +105,7 @@ function generateVariableTypeDeclarations(variableKey, variableSchema) {
105
105
  const entries = Object.entries(items.properties)
106
106
  .map(([k, v]) => {
107
107
  const propType = propertySchemaToTypeScriptType(v);
108
- const optional = requiredSet.size > 0 && !requiredSet.has(k);
108
+ const optional = !requiredSet.has(k);
109
109
  return optional
110
110
  ? `${INDENT_NS_BODY}${k}?: ${propType};`
111
111
  : `${INDENT_NS_BODY}${k}: ${propType};`;
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/generate-code/typescript.ts"],"names":[],"mappings":";;AAkMA,4EAuJC;AAzVD,yBAAyB;AACzB,6BAA6B;AAK7B,SAAS,uCAAuC,CAAC,gBAAwB;IACvE,QAAQ,gBAAgB,EAAE,CAAC;QACzB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,eAAe,CAAC;QACzB,KAAK,OAAO;YACV,OAAO,UAAU,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,yBAAyB,CAAC;QACnC,KAAK,MAAM;YACT,OAAO,SAAS,CAAC;QACnB;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,gBAAgB,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,8BAA8B,CAAC,MAAsB;IAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,OAAO;YACV,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,IAAI,8BAA8B,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YAC/D,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;YAChC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;qBAClC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;oBACd,MAAM,QAAQ,GAAG,8BAA8B,CAAC,CAAC,CAAC,CAAC;oBACnD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC7D,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC/D,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO,KAAK,OAAO,IAAI,CAAC;YAC1B,CAAC;YACD,OAAO,yBAAyB,CAAC;QACnC,CAAC;QACD;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,gCAAgC,CACvC,WAAmB,EACnB,cAA8B;IAE9B,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;IACzD,MAAM,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC;IACjE,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;IACjC,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IACpE,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC;QACxC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAE,cAAc,CAAC,QAAqB,IAAI,EAAE,CAAC,CAAC;YACzE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;iBAClC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,MAAM,QAAQ,GAAG,8BAA8B,CAAC,CAAmB,CAAC,CAAC;gBACrE,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC7D,OAAO,QAAQ;oBACb,CAAC,CAAC,GAAG,cAAc,GAAG,CAAC,MAAM,QAAQ,GAAG;oBACxC,CAAC,CAAC,GAAG,cAAc,GAAG,CAAC,KAAK,QAAQ,GAAG,CAAC;YAC5C,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,YAAY,CAAC,IAAI,CAAC,GAAG,SAAS,oBAAoB,QAAQ,OAAO,OAAO,KAAK,SAAS,GAAG,CAAC,CAAC;YAC3F,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;QAC1E,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,GAAG,SAAS,eAAe,QAAQ,6BAA6B,CAAC,CAAC;QACpF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;IAC1E,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,cAAc,CAAC,KAAuB,CAAC;YACrD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5F,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;qBAC7C,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;oBACd,MAAM,QAAQ,GAAG,8BAA8B,CAAC,CAAC,CAAC,CAAC;oBACnD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC7D,OAAO,QAAQ;wBACb,CAAC,CAAC,GAAG,cAAc,GAAG,CAAC,MAAM,QAAQ,GAAG;wBACxC,CAAC,CAAC,GAAG,cAAc,GAAG,CAAC,KAAK,QAAQ,GAAG,CAAC;gBAC5C,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,YAAY,CAAC,IAAI,CACf,GAAG,SAAS,oBAAoB,YAAY,OAAO,OAAO,KAAK,SAAS,GAAG,CAC5E,CAAC;gBACF,kEAAkE;gBAClE,OAAO;oBACL,YAAY;oBACZ,cAAc,EAAE,GAAG,YAAY,IAAI;oBACnC,UAAU,EAAE,YAAY;iBACzB,CAAC;YACJ,CAAC;YACD,+EAA+E;YAC/E,MAAM,QAAQ,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;YACvD,YAAY,CAAC,IAAI,CAAC,GAAG,SAAS,eAAe,YAAY,MAAM,QAAQ,GAAG,CAAC,CAAC;YAC5E,OAAO;gBACL,YAAY;gBACZ,cAAc,EAAE,GAAG,YAAY,IAAI;gBACnC,UAAU,EAAE,YAAY;aACzB,CAAC;QACJ,CAAC;QACD,8DAA8D;QAC9D,YAAY,CAAC,IAAI,CAAC,GAAG,SAAS,eAAe,YAAY,YAAY,CAAC,CAAC;QACvE,OAAO;YACL,YAAY;YACZ,cAAc,EAAE,GAAG,YAAY,IAAI;YACnC,UAAU,EAAE,YAAY;SACzB,CAAC;IACJ,CAAC;IAED,8CAA8C;IAC9C,MAAM,aAAa,GAAG,uCAAuC,CAAC,IAAI,CAAC,CAAC;IACpE,YAAY,CAAC,IAAI,CAAC,GAAG,SAAS,eAAe,QAAQ,MAAM,aAAa,GAAG,CAAC,CAAC;IAC7E,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,aAAa,CAAC,GAAG;IACxB,wEAAwE;IACxE,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE3D,kEAAkE;IAClE,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE/F,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,eAAe,CAAC,IAAI,EAAE,EAAE;IAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAE7C,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,mEAAmE;AACnE,MAAM,SAAS,GAAG,IAAI,CAAC;AACvB,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,MAAM,eAAe,GAAG;;;;;;;;;;;;CAYvB,CAAC,SAAS,EAAE,CAAC;AAEP,KAAK,UAAU,gCAAgC,CAAC,IAAkB,EAAE,UAAkB;IAC3F,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAE/C,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IAEjD,WAAW;IACX,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC9D,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,6BAA6B,eAAe,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAEjG,aAAa;IACb,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC;IACzD,MAAM,UAAU,GAAuC,EAAE,CAAC;IAE1D,KAAK,MAAM,YAAY,IAAI,cAAc,EAAE,CAAC;QAC1C,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAErE,IAAI,OAAO,eAAe,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpD,SAAS;QACX,CAAC;QAED,UAAU,CAAC,IAAI,CAAC;YACd,QAAQ,EAAE,eAAe,CAAC,QAAQ;YAClC,GAAG,EAAE,YAAY;YACjB,IAAI,EAAE,eAAe,CAAC,IAAI;YAC1B,cAAc,EAAE,uCAAuC,CAAC,eAAe,CAAC,IAAI,CAAC;SAC9E,CAAC,CAAC;IACL,CAAC;IAED,UAAU;IACV,MAAM,mBAAmB,GAAG,UAAU;SACnC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACjB,OAAO,KAAK,SAAS,CAAC,GAAG,MAAM,SAAS,CAAC,cAAc,GAAG,CAAC;IAC7D,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,cAAc,GAAG;;;;EAIvB,mBAAmB;;;CAGpB,CAAC,SAAS,EAAE,CAAC;IAEZ,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAChE,EAAE,CAAC,aAAa,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CACT,iCAAiC,eAAe,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,EAAE,CAC3F,CAAC;IAEF,WAAW;IACX,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;IAErD,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAE/D,IAAI,OAAO,aAAa,CAAC,QAAQ,KAAK,WAAW,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC5E,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;QAC7D,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEvC,IAAI,wBAAwB,GAAG,EAAE,CAAC;QAClC,IAAI,eAAe,GAAG,EAAE,CAAC;QAEzB,IAAI,aAAa,CAAC,eAAe,EAAE,CAAC;YAClC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YAChE,MAAM,eAAe,GAAa,EAAE,CAAC;YAErC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACvC,MAAM,cAAc,GAAG,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;gBAClE,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC;gBACzC,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,gCAAgC,CACnF,WAAW,EACX,cAAc,CACf,CAAC;gBACF,eAAe,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;gBAEtC,MAAM,kBAAkB,GAAG,cACzB,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAC/D,EAAE,CAAC;gBAEH,MAAM,UAAU,GACd,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,OAAO,IAAI,YAAY,KAAK,QAAQ,CAAC;gBACnF,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;oBAC5B,eAAe,IAAI;;EAE3B,SAAS,sBAAsB,aAAa,CAAC,WAAW,CAAC;EACzD,cAAc,wBAAwB,kBAAkB,aAAa,WAAW;EAChF,SAAS,GAAG,CAAC;gBACP,CAAC;qBAAM,IAAI,UAAU,EAAE,CAAC;oBACtB,eAAe,IAAI;;EAE3B,SAAS,sBAAsB,aAAa,CAAC,WAAW,CAAC,4BAA4B,cAAc;EACnG,cAAc,wBAAwB,kBAAkB,IAAI,UAAU,WAAW,WAAW;EAC5F,SAAS,GAAG,CAAC;gBACP,CAAC;qBAAM,CAAC;oBACN,eAAe,IAAI;;EAE3B,SAAS,sBAAsB,aAAa,CAAC,WAAW,CAAC,4BAA4B,cAAc;EACnG,cAAc,wBAAwB,kBAAkB,UAAU,WAAW;EAC7E,SAAS,GAAG,CAAC;gBACP,CAAC;YACH,CAAC;YAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,wBAAwB,GAAG,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG;;;;mBAIR,cAAc;EAC/B,SAAS,uBAAuB,UAAU,KAAK,wBAAwB;;EAEvE,SAAS;EACT,cAAc;EACd,SAAS;;EAET,SAAS;EACT,cAAc;EACd,SAAS,IAAI,eAAe;;CAE7B,CAAC,SAAS,EAAE,CAAC;QAEV,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,cAAc,KAAK,CAAC,CAAC;QAC/E,EAAE,CAAC,aAAa,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CACT,WAAW,UAAU,qBAAqB,eAAe,CACvD,iBAAiB,EACjB,wBAAwB,CACzB,EAAE,CACJ,CAAC;IACJ,CAAC;IAED,QAAQ;IACR,MAAM,YAAY,GAChB,CAAC,4BAA4B,EAAE,6BAA6B,CAAC;SAC1D,MAAM,CACL,iBAAiB,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE;QACzC,OAAO,oBAAoB,gBAAgB,IAAI,CAAC;IAClD,CAAC,CAAC,CACH;SACA,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,0BAA0B,eAAe,CAAC,iBAAiB,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;AAC7F,CAAC"}
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/generate-code/typescript.ts"],"names":[],"mappings":"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"}
@@ -22,11 +22,12 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
22
22
  }, {
23
23
  or?: string[];
24
24
  }>]>;
25
- variablesSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
25
+ variablesSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodObject<{
26
26
  deprecated: z.ZodOptional<z.ZodBoolean>;
27
27
  type: z.ZodUnion<[z.ZodLiteral<"json">, z.ZodEnum<["boolean", "string", "integer", "double", "object", "array"]>]>;
28
28
  items: z.ZodOptional<z.ZodType<import("@featurevisor/types").PropertySchema, z.ZodTypeDef, import("@featurevisor/types").PropertySchema>>;
29
29
  properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("@featurevisor/types").PropertySchema, z.ZodTypeDef, import("@featurevisor/types").PropertySchema>>>;
30
+ required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
30
31
  description: z.ZodOptional<z.ZodString>;
31
32
  defaultValue: z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>;
32
33
  disabledValue: z.ZodOptional<z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>>;
@@ -36,6 +37,7 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
36
37
  type?: "string" | "boolean" | "object" | "json" | "integer" | "double" | "array";
37
38
  items?: import("@featurevisor/types").PropertySchema;
38
39
  properties?: Record<string, import("@featurevisor/types").PropertySchema>;
40
+ required?: string[];
39
41
  description?: string;
40
42
  defaultValue?: import("@featurevisor/types").Value;
41
43
  disabledValue?: import("@featurevisor/types").Value;
@@ -45,6 +47,27 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
45
47
  type?: "string" | "boolean" | "object" | "json" | "integer" | "double" | "array";
46
48
  items?: import("@featurevisor/types").PropertySchema;
47
49
  properties?: Record<string, import("@featurevisor/types").PropertySchema>;
50
+ required?: string[];
51
+ description?: string;
52
+ defaultValue?: import("@featurevisor/types").Value;
53
+ disabledValue?: import("@featurevisor/types").Value;
54
+ useDefaultWhenDisabled?: boolean;
55
+ }>, {
56
+ deprecated?: boolean;
57
+ type?: "string" | "boolean" | "object" | "json" | "integer" | "double" | "array";
58
+ items?: import("@featurevisor/types").PropertySchema;
59
+ properties?: Record<string, import("@featurevisor/types").PropertySchema>;
60
+ required?: string[];
61
+ description?: string;
62
+ defaultValue?: import("@featurevisor/types").Value;
63
+ disabledValue?: import("@featurevisor/types").Value;
64
+ useDefaultWhenDisabled?: boolean;
65
+ }, {
66
+ deprecated?: boolean;
67
+ type?: "string" | "boolean" | "object" | "json" | "integer" | "double" | "array";
68
+ items?: import("@featurevisor/types").PropertySchema;
69
+ properties?: Record<string, import("@featurevisor/types").PropertySchema>;
70
+ required?: string[];
48
71
  description?: string;
49
72
  defaultValue?: import("@featurevisor/types").Value;
50
73
  disabledValue?: import("@featurevisor/types").Value;
@@ -366,6 +389,7 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
366
389
  type?: "string" | "boolean" | "object" | "json" | "integer" | "double" | "array";
367
390
  items?: import("@featurevisor/types").PropertySchema;
368
391
  properties?: Record<string, import("@featurevisor/types").PropertySchema>;
392
+ required?: string[];
369
393
  description?: string;
370
394
  defaultValue?: import("@featurevisor/types").Value;
371
395
  disabledValue?: import("@featurevisor/types").Value;
@@ -443,6 +467,7 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
443
467
  type?: "string" | "boolean" | "object" | "json" | "integer" | "double" | "array";
444
468
  items?: import("@featurevisor/types").PropertySchema;
445
469
  properties?: Record<string, import("@featurevisor/types").PropertySchema>;
470
+ required?: string[];
446
471
  description?: string;
447
472
  defaultValue?: import("@featurevisor/types").Value;
448
473
  disabledValue?: import("@featurevisor/types").Value;
@@ -520,6 +545,7 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
520
545
  type?: "string" | "boolean" | "object" | "json" | "integer" | "double" | "array";
521
546
  items?: import("@featurevisor/types").PropertySchema;
522
547
  properties?: Record<string, import("@featurevisor/types").PropertySchema>;
548
+ required?: string[];
523
549
  description?: string;
524
550
  defaultValue?: import("@featurevisor/types").Value;
525
551
  disabledValue?: import("@featurevisor/types").Value;
@@ -597,6 +623,7 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
597
623
  type?: "string" | "boolean" | "object" | "json" | "integer" | "double" | "array";
598
624
  items?: import("@featurevisor/types").PropertySchema;
599
625
  properties?: Record<string, import("@featurevisor/types").PropertySchema>;
626
+ required?: string[];
600
627
  description?: string;
601
628
  defaultValue?: import("@featurevisor/types").Value;
602
629
  disabledValue?: import("@featurevisor/types").Value;
@@ -18,6 +18,46 @@ function getVariableLabel(variableSchema, variableKey, path) {
18
18
  variableSchema?.key ??
19
19
  (path.length > 0 ? String(path[path.length - 1]) : "variable"));
20
20
  }
21
+ /**
22
+ * Recursively validates that every `required` array (at this level and in nested
23
+ * object/array schemas) only contains keys that exist in the same level's `properties`.
24
+ * Adds Zod issues with the correct path for invalid required field names.
25
+ */
26
+ function refineRequiredKeysInSchema(schema, pathPrefix, ctx) {
27
+ if (!schema || typeof schema !== "object")
28
+ return;
29
+ const effectiveType = schema.type;
30
+ const properties = schema.properties;
31
+ const required = schema.required;
32
+ const items = schema.items;
33
+ if (effectiveType === "object" &&
34
+ Array.isArray(required) &&
35
+ required.length > 0 &&
36
+ properties &&
37
+ typeof properties === "object") {
38
+ const allowedKeys = Object.keys(properties);
39
+ required.forEach((key, index) => {
40
+ if (!allowedKeys.includes(key)) {
41
+ ctx.addIssue({
42
+ code: zod_1.z.ZodIssueCode.custom,
43
+ message: `Unknown required field "${key}". \`required\` must only contain property names defined in \`properties\`. Allowed: ${allowedKeys.length ? allowedKeys.join(", ") : "(none)"}.`,
44
+ path: [...pathPrefix, "required", index],
45
+ });
46
+ }
47
+ });
48
+ }
49
+ if (properties && typeof properties === "object") {
50
+ for (const key of Object.keys(properties)) {
51
+ const nested = properties[key];
52
+ if (nested && typeof nested === "object") {
53
+ refineRequiredKeysInSchema(nested, [...pathPrefix, "properties", key], ctx);
54
+ }
55
+ }
56
+ }
57
+ if (items && typeof items === "object" && !Array.isArray(items)) {
58
+ refineRequiredKeysInSchema(items, [...pathPrefix, "items"], ctx);
59
+ }
60
+ }
21
61
  function typeOfValue(value) {
22
62
  if (value === null)
23
63
  return "null";
@@ -68,7 +108,7 @@ function refineVariableValueObject(projectConfig, variableSchema, variableValue,
68
108
  const schemaProperties = variableSchema.properties;
69
109
  if (schemaProperties && typeof schemaProperties === "object") {
70
110
  const requiredKeys = variableSchema.required && variableSchema.required.length > 0
71
- ? variableSchema.required
111
+ ? variableSchema.required.filter((k) => Object.prototype.hasOwnProperty.call(schemaProperties, k))
72
112
  : Object.keys(schemaProperties);
73
113
  for (const key of requiredKeys) {
74
114
  if (!Object.prototype.hasOwnProperty.call(variableValue, key)) {
@@ -499,12 +539,18 @@ function getFeatureZodSchema(projectConfig, conditionsZodSchema, availableAttrib
499
539
  items: propertyZodSchema.optional(),
500
540
  // object: when omitted, treated as flat object (primitive values only)
501
541
  properties: zod_1.z.record(propertyZodSchema).optional(),
542
+ // object: optional list of required property names
543
+ required: zod_1.z.array(zod_1.z.string()).optional(),
502
544
  description: zod_1.z.string().optional(),
503
545
  defaultValue: variableValueZodSchema,
504
546
  disabledValue: variableValueZodSchema.optional(),
505
547
  useDefaultWhenDisabled: zod_1.z.boolean().optional(),
506
548
  })
507
- .strict())
549
+ .strict()
550
+ .superRefine((variableSchema, ctx) => {
551
+ // Validate required ⊆ properties at this level and in all nested object schemas
552
+ refineRequiredKeysInSchema(variableSchema, [], ctx);
553
+ }))
508
554
  .optional(),
509
555
  disabledVariationValue: variationValueZodSchema.optional(),
510
556
  variations: zod_1.z
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@featurevisor/core",
3
- "version": "2.10.0",
3
+ "version": "2.11.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",
@@ -49,5 +49,5 @@
49
49
  "yargs": "^17.7.2",
50
50
  "zod": "^3.22.4"
51
51
  },
52
- "gitHead": "0cbe15fb45fd08ebd70125f1604ae7fe7e20756a"
52
+ "gitHead": "28d3914f1ab4fd280ddb7c9f71ec64bf3783cc38"
53
53
  }
@@ -56,7 +56,7 @@ function propertySchemaToTypeScriptType(schema: PropertySchema): string {
56
56
  const entries = Object.entries(props)
57
57
  .map(([k, v]) => {
58
58
  const propType = propertySchemaToTypeScriptType(v);
59
- const optional = requiredSet.size > 0 && !requiredSet.has(k);
59
+ const optional = !requiredSet.has(k);
60
60
  return optional ? `${k}?: ${propType}` : `${k}: ${propType}`;
61
61
  })
62
62
  .join("; ");
@@ -93,7 +93,7 @@ function generateVariableTypeDeclarations(
93
93
  const entries = Object.entries(props)
94
94
  .map(([k, v]) => {
95
95
  const propType = propertySchemaToTypeScriptType(v as PropertySchema);
96
- const optional = requiredSet.size > 0 && !requiredSet.has(k);
96
+ const optional = !requiredSet.has(k);
97
97
  return optional
98
98
  ? `${INDENT_NS_BODY}${k}?: ${propType};`
99
99
  : `${INDENT_NS_BODY}${k}: ${propType};`;
@@ -114,7 +114,7 @@ function generateVariableTypeDeclarations(
114
114
  const entries = Object.entries(items.properties)
115
115
  .map(([k, v]) => {
116
116
  const propType = propertySchemaToTypeScriptType(v);
117
- const optional = requiredSet.size > 0 && !requiredSet.has(k);
117
+ const optional = !requiredSet.has(k);
118
118
  return optional
119
119
  ? `${INDENT_NS_BODY}${k}?: ${propType};`
120
120
  : `${INDENT_NS_BODY}${k}: ${propType};`;
@@ -26,6 +26,69 @@ function getVariableLabel(variableSchema, variableKey, path) {
26
26
  );
27
27
  }
28
28
 
29
+ /**
30
+ * Recursively validates that every `required` array (at this level and in nested
31
+ * object/array schemas) only contains keys that exist in the same level's `properties`.
32
+ * Adds Zod issues with the correct path for invalid required field names.
33
+ */
34
+ function refineRequiredKeysInSchema(
35
+ schema: {
36
+ type?: string;
37
+ properties?: Record<string, unknown>;
38
+ required?: string[];
39
+ items?: unknown;
40
+ },
41
+ pathPrefix: (string | number)[],
42
+ ctx: z.RefinementCtx,
43
+ ): void {
44
+ if (!schema || typeof schema !== "object") return;
45
+
46
+ const effectiveType = schema.type;
47
+ const properties = schema.properties;
48
+ const required = schema.required;
49
+ const items = schema.items;
50
+
51
+ if (
52
+ effectiveType === "object" &&
53
+ Array.isArray(required) &&
54
+ required.length > 0 &&
55
+ properties &&
56
+ typeof properties === "object"
57
+ ) {
58
+ const allowedKeys = Object.keys(properties);
59
+ required.forEach((key, index) => {
60
+ if (!allowedKeys.includes(key)) {
61
+ ctx.addIssue({
62
+ code: z.ZodIssueCode.custom,
63
+ message: `Unknown required field "${key}". \`required\` must only contain property names defined in \`properties\`. Allowed: ${allowedKeys.length ? allowedKeys.join(", ") : "(none)"}.`,
64
+ path: [...pathPrefix, "required", index],
65
+ });
66
+ }
67
+ });
68
+ }
69
+
70
+ if (properties && typeof properties === "object") {
71
+ for (const key of Object.keys(properties)) {
72
+ const nested = properties[key];
73
+ if (nested && typeof nested === "object") {
74
+ refineRequiredKeysInSchema(
75
+ nested as Parameters<typeof refineRequiredKeysInSchema>[0],
76
+ [...pathPrefix, "properties", key],
77
+ ctx,
78
+ );
79
+ }
80
+ }
81
+ }
82
+
83
+ if (items && typeof items === "object" && !Array.isArray(items)) {
84
+ refineRequiredKeysInSchema(
85
+ items as Parameters<typeof refineRequiredKeysInSchema>[0],
86
+ [...pathPrefix, "items"],
87
+ ctx,
88
+ );
89
+ }
90
+ }
91
+
29
92
  function typeOfValue(value: unknown): string {
30
93
  if (value === null) return "null";
31
94
  if (value === undefined) return "undefined";
@@ -96,7 +159,9 @@ function refineVariableValueObject(
96
159
  if (schemaProperties && typeof schemaProperties === "object") {
97
160
  const requiredKeys =
98
161
  variableSchema.required && variableSchema.required.length > 0
99
- ? variableSchema.required
162
+ ? variableSchema.required.filter((k) =>
163
+ Object.prototype.hasOwnProperty.call(schemaProperties, k),
164
+ )
100
165
  : Object.keys(schemaProperties);
101
166
 
102
167
  for (const key of requiredKeys) {
@@ -679,6 +744,8 @@ export function getFeatureZodSchema(
679
744
  items: propertyZodSchema.optional(),
680
745
  // object: when omitted, treated as flat object (primitive values only)
681
746
  properties: z.record(propertyZodSchema).optional(),
747
+ // object: optional list of required property names
748
+ required: z.array(z.string()).optional(),
682
749
 
683
750
  description: z.string().optional(),
684
751
 
@@ -687,7 +754,15 @@ export function getFeatureZodSchema(
687
754
 
688
755
  useDefaultWhenDisabled: z.boolean().optional(),
689
756
  })
690
- .strict(),
757
+ .strict()
758
+ .superRefine((variableSchema, ctx) => {
759
+ // Validate required ⊆ properties at this level and in all nested object schemas
760
+ refineRequiredKeysInSchema(
761
+ variableSchema as Parameters<typeof refineRequiredKeysInSchema>[0],
762
+ [],
763
+ ctx,
764
+ );
765
+ }),
691
766
  )
692
767
  .optional(),
693
768