@featurevisor/core 2.11.0 → 2.13.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 +1410 -11
  3. package/coverage/coverage-final.json +21 -2
  4. package/coverage/lcov-report/builder/allocator.ts.html +1 -1
  5. package/coverage/lcov-report/builder/buildScopedConditions.ts.html +1 -1
  6. package/coverage/lcov-report/builder/buildScopedDatafile.ts.html +1 -1
  7. package/coverage/lcov-report/builder/buildScopedSegments.ts.html +1 -1
  8. package/coverage/lcov-report/builder/index.html +1 -1
  9. package/coverage/lcov-report/builder/revision.ts.html +1 -1
  10. package/coverage/lcov-report/builder/traffic.ts.html +1 -1
  11. package/coverage/lcov-report/config/index.html +116 -0
  12. package/coverage/lcov-report/config/projectConfig.ts.html +676 -0
  13. package/coverage/lcov-report/datasource/adapter.ts.html +235 -0
  14. package/coverage/lcov-report/datasource/datasource.ts.html +862 -0
  15. package/coverage/lcov-report/datasource/filesystemAdapter.ts.html +1354 -0
  16. package/coverage/lcov-report/datasource/index.html +161 -0
  17. package/coverage/lcov-report/datasource/index.ts.html +94 -0
  18. package/coverage/lcov-report/index.html +80 -20
  19. package/coverage/lcov-report/linter/attributeSchema.ts.html +175 -0
  20. package/coverage/lcov-report/linter/checkCircularDependency.ts.html +220 -0
  21. package/coverage/lcov-report/linter/checkPercentageExceedingSlot.ts.html +268 -0
  22. package/coverage/lcov-report/linter/conditionSchema.ts.html +775 -0
  23. package/coverage/lcov-report/linter/featureSchema.ts.html +4924 -0
  24. package/coverage/lcov-report/linter/groupSchema.ts.html +226 -0
  25. package/coverage/lcov-report/linter/index.html +266 -0
  26. package/coverage/lcov-report/linter/lintProject.ts.html +1840 -0
  27. package/coverage/lcov-report/linter/printError.ts.html +238 -0
  28. package/coverage/lcov-report/linter/schema.ts.html +1471 -0
  29. package/coverage/lcov-report/linter/segmentSchema.ts.html +130 -0
  30. package/coverage/lcov-report/linter/testSchema.ts.html +550 -0
  31. package/coverage/lcov-report/list/index.html +1 -1
  32. package/coverage/lcov-report/list/matrix.ts.html +1 -1
  33. package/coverage/lcov-report/parsers/index.html +20 -5
  34. package/coverage/lcov-report/parsers/index.ts.html +151 -0
  35. package/coverage/lcov-report/parsers/json.ts.html +2 -2
  36. package/coverage/lcov-report/parsers/yml.ts.html +6 -6
  37. package/coverage/lcov-report/tester/cliFormat.ts.html +103 -0
  38. package/coverage/lcov-report/tester/helpers.ts.html +1 -1
  39. package/coverage/lcov-report/tester/index.html +20 -5
  40. package/coverage/lcov-report/utils/git.ts.html +481 -0
  41. package/coverage/lcov-report/utils/index.html +116 -0
  42. package/coverage/lcov.info +2798 -7
  43. package/lib/builder/buildDatafile.js +15 -1
  44. package/lib/builder/buildDatafile.js.map +1 -1
  45. package/lib/config/projectConfig.d.ts +2 -0
  46. package/lib/config/projectConfig.js +3 -1
  47. package/lib/config/projectConfig.js.map +1 -1
  48. package/lib/datasource/datasource.d.ts +6 -1
  49. package/lib/datasource/datasource.js +16 -0
  50. package/lib/datasource/datasource.js.map +1 -1
  51. package/lib/datasource/filesystemAdapter.js +10 -0
  52. package/lib/datasource/filesystemAdapter.js.map +1 -1
  53. package/lib/generate-code/typescript.js +280 -46
  54. package/lib/generate-code/typescript.js.map +1 -1
  55. package/lib/linter/conditionSchema.spec.d.ts +1 -0
  56. package/lib/linter/conditionSchema.spec.js +331 -0
  57. package/lib/linter/conditionSchema.spec.js.map +1 -0
  58. package/lib/linter/featureSchema.d.ts +129 -20
  59. package/lib/linter/featureSchema.js +489 -48
  60. package/lib/linter/featureSchema.js.map +1 -1
  61. package/lib/linter/featureSchema.spec.d.ts +1 -0
  62. package/lib/linter/featureSchema.spec.js +978 -0
  63. package/lib/linter/featureSchema.spec.js.map +1 -0
  64. package/lib/linter/lintProject.d.ts +17 -1
  65. package/lib/linter/lintProject.js +228 -169
  66. package/lib/linter/lintProject.js.map +1 -1
  67. package/lib/linter/lintProject.spec.d.ts +1 -0
  68. package/lib/linter/lintProject.spec.js +86 -0
  69. package/lib/linter/lintProject.spec.js.map +1 -0
  70. package/lib/linter/printError.d.ts +7 -0
  71. package/lib/linter/printError.js +30 -15
  72. package/lib/linter/printError.js.map +1 -1
  73. package/lib/linter/schema.d.ts +42 -0
  74. package/lib/linter/schema.js +417 -0
  75. package/lib/linter/schema.js.map +1 -0
  76. package/lib/linter/schema.spec.d.ts +1 -0
  77. package/lib/linter/schema.spec.js +483 -0
  78. package/lib/linter/schema.spec.js.map +1 -0
  79. package/lib/linter/segmentSchema.spec.d.ts +1 -0
  80. package/lib/linter/segmentSchema.spec.js +231 -0
  81. package/lib/linter/segmentSchema.spec.js.map +1 -0
  82. package/lib/tester/testFeature.js +5 -3
  83. package/lib/tester/testFeature.js.map +1 -1
  84. package/lib/utils/git.js +3 -0
  85. package/lib/utils/git.js.map +1 -1
  86. package/package.json +5 -5
  87. package/src/builder/buildDatafile.ts +17 -1
  88. package/src/config/projectConfig.ts +3 -0
  89. package/src/datasource/datasource.ts +23 -0
  90. package/src/datasource/filesystemAdapter.ts +7 -0
  91. package/src/generate-code/typescript.ts +330 -49
  92. package/src/linter/conditionSchema.spec.ts +446 -0
  93. package/src/linter/featureSchema.spec.ts +1218 -0
  94. package/src/linter/featureSchema.ts +671 -69
  95. package/src/linter/lintProject.spec.ts +115 -0
  96. package/src/linter/lintProject.ts +303 -217
  97. package/src/linter/printError.ts +40 -16
  98. package/src/linter/schema.spec.ts +617 -0
  99. package/src/linter/schema.ts +462 -0
  100. package/src/linter/segmentSchema.spec.ts +273 -0
  101. package/src/tester/testFeature.ts +5 -3
  102. package/src/utils/git.ts +2 -0
  103. package/lib/linter/propertySchema.d.ts +0 -5
  104. package/lib/linter/propertySchema.js +0 -43
  105. package/lib/linter/propertySchema.js.map +0 -1
  106. package/src/linter/propertySchema.ts +0 -47
@@ -1 +1 @@
1
- {"version":3,"file":"lintProject.js","sourceRoot":"","sources":["../../src/linter/lintProject.ts"],"names":[],"mappings":";;;AAoCA,kCA2ZC;AA/bD,uBAAuB;AACvB,6BAA6B;AAE7B,uDAA0D;AAC1D,uDAA2D;AAC3D,mDAAsD;AACtD,+CAAkD;AAClD,mDAAsD;AACtD,6CAAiD;AAEjD,uEAAiF;AACjF,iFAA6F;AAC7F,6CAA6C;AAE7C,mDAAgF;AAShF,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAChD,MAAM,uBAAuB,GAAG,wDAAwD,CAAC;AAEzF,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAClD,MAAM,0BAA0B,GAAG,qDAAqD,CAAC;AAEzF,KAAK,UAAU,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS;IACjE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAa,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEpF,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,IAAkB,EAClB,UAA8B,EAAE;IAEhC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAE3C,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,SAAS,kBAAkB,CAAC,IAAY,EAAE,GAAW,EAAE,QAAQ,GAAG,KAAK;QACrE,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC;QACvD,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;QACtE,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;QACtE,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE9E,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,uCAAuC,UAAU,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,kBAAkB;IAClB,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC;IACrD,MAAM,kBAAkB,GAAG,IAAA,uCAAqB,GAAE,CAAC;IAEnD,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;QAC9D,MAAM,YAAY,GAAG,CAAC,UAAU;YAC9B,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAErD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,YAAY,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAChE,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAEtD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,qCAAyB,EAAE,QAAQ,CAAC,CAAC;gBAEjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;oBACvE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,0BAAc,EAAE,8BAA8B,GAAG,GAAG,CAAC,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,0BAAc,EAAE,QAAQ,0BAA0B,EAAE,CAAC,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAEnD,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAEpD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,qCAAyB,EAAE,QAAQ,CAAC,CAAC;oBAEjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;wBACvE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvD,CAAC;oBAED,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;wBACtB,IAAA,0BAAa,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;oBAED,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,qCAAyB,EAAE,QAAQ,CAAC,CAAC;gBAEjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;oBACvE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAEf,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,mBAAmB,GAAG,MAAM,UAAU,CAAC,uBAAuB,EAAE,CAAC;IAEvE,gBAAgB;IAChB,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;IACjD,MAAM,mBAAmB,GAAG,IAAA,wCAAsB,EAChD,aAAa,EACb,mBAA4C,CAC7C,CAAC;IACF,MAAM,gBAAgB,GAAG,IAAA,mCAAmB,EAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;IAEjF,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC5D,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE7F,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,YAAY,CAAC,MAAM,gBAAgB,CAAC,CAAC;QAC9D,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,qCAAyB,EAAE,QAAQ,CAAC,CAAC;gBAEjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;oBACrE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,0BAAc,EAAE,8BAA8B,GAAG,GAAG,CAAC,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,0BAAc,EAAE,QAAQ,uBAAuB,EAAE,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAEjD,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAElD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,qCAAyB,EAAE,QAAQ,CAAC,CAAC;oBAEjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;wBACrE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvD,CAAC;oBAED,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;wBACtB,IAAA,0BAAa,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;oBAED,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,qCAAyB,EAAE,QAAQ,CAAC,CAAC;gBAEjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;oBACrE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAEf,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;IACjD,MAAM,gBAAgB,GAAG,IAAA,mCAAmB,EAC1C,aAAa,EACb,mBAAmB,EACnB,mBAA4C,EAC5C,QAAiC,EACjC,QAAiC,CAClC,CAAC;IAEF,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC5D,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE7F,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,YAAY,CAAC,MAAM,gBAAgB,CAAC,CAAC;QAC9D,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,qCAAyB,EAAE,QAAQ,CAAC,CAAC;gBAEjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;oBACrE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,0BAAc,EAAE,8BAA8B,GAAG,GAAG,CAAC,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,0BAAc,EAAE,QAAQ,uBAAuB,EAAE,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAED,IAAI,MAAM,CAAC;YAEX,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAE3C,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAElD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,qCAAyB,EAAE,QAAQ,CAAC,CAAC;oBAEjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;wBACrE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvD,CAAC;oBAED,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;wBACtB,IAAA,0BAAa,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;oBAED,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,qCAAyB,EAAE,QAAQ,CAAC,CAAC;gBAEjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;oBACrE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAEf,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAED,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,IAAA,8DAAoC,EAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/E,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,GAAG,CAAC,qCAAyB,EAAE,QAAQ,CAAC,CAAC;oBAEjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;wBACrE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvD,CAAC;oBAED,OAAO,CAAC,GAAG,CAAC,0BAAc,EAAE,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBAExD,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,cAAc;IACd,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;IAC7C,MAAM,cAAc,GAAG,IAAA,+BAAiB,EAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAE9E,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;QAC1D,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,YAAY,CAAC,MAAM,cAAc,CAAC,CAAC;QAC5D,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAElD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,qCAAyB,EAAE,QAAQ,CAAC,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,0BAAc,EAAE,8BAA8B,GAAG,GAAG,CAAC,CAAC;gBAElE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;oBACnE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,0BAAc,EAAE,QAAQ,uBAAuB,EAAE,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAED,IAAI,MAAM,CAAC;YAEX,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAEzC,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAEhD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,qCAAyB,EAAE,QAAQ,CAAC,CAAC;oBAEjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;wBACnE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvD,CAAC;oBAED,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;wBACtB,IAAA,0BAAa,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;oBAED,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,qCAAyB,EAAE,QAAQ,CAAC,CAAC;gBAEjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;oBACnE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAEf,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC;oBACH,MAAM,IAAA,0EAA2C,EAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAClF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,GAAG,CAAC,qCAAyB,EAAE,QAAQ,CAAC,CAAC;oBACjD,OAAO,CAAC,GAAG,CAAC,0BAAc,EAAE,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBACxD,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,iDAAiD;IAEjD,aAAa;IACb,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC;IAE3C,MAAM,cAAc,GAAG,IAAA,8BAAiB,EACtC,aAAa,EACb,QAAiC,EACjC,QAAiC,CAClC,CAAC;IAEF,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QACzD,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEvF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,YAAY,CAAC,MAAM,aAAa,CAAC,CAAC;QAC3D,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAEjD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,qCAAyB,EAAE,QAAQ,CAAC,CAAC;gBAEjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;oBAClE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,0BAAc,EAAE,8BAA8B,GAAG,GAAG,CAAC,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,0BAAc,EAAE,QAAQ,uBAAuB,EAAE,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAE9C,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAEhD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,qCAAyB,EAAE,QAAQ,CAAC,CAAC;oBAEjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;wBAClE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvD,CAAC;oBAED,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;wBACtB,IAAA,0BAAa,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAE5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC;oBAED,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,qCAAyB,EAAE,QAAQ,CAAC,CAAC;gBAEjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;oBAClE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAEf,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAEY,QAAA,UAAU,GAAW;IAChC,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,KAAK,WAAW,OAAO;QAC9B,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAEzE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC;YACE,iBAAiB;YACjB,aAAa;YACb,UAAU;YACV,OAAO,EAAE,MAAM;SAChB,EACD;YACE,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CACF,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,mBAAmB;SACjC;QACD;YACE,OAAO,EAAE,2BAA2B;YACpC,WAAW,EAAE,oBAAoB;SAClC;QACD;YACE,OAAO,EAAE,2BAA2B;YACpC,WAAW,EAAE,oBAAoB;SAClC;QACD;YACE,OAAO,EAAE,yBAAyB;YAClC,WAAW,EAAE,kBAAkB;SAChC;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,WAAW,EAAE,iBAAiB;SAC/B;QACD;YACE,OAAO,EAAE,yBAAyB;YAClC,WAAW,EAAE,+CAA+C;SAC7D;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"lintProject.js","sourceRoot":"","sources":["../../src/linter/lintProject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,86 @@
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 lintProject_1 = require("./lintProject");
9
+ function createTempProjectFromExample1() {
10
+ const fixturePath = path.resolve(__dirname, "../../../../examples/example-1");
11
+ const tempRoot = fs.mkdtempSync(path.join(os.tmpdir(), "featurevisor-lint-"));
12
+ fs.cpSync(fixturePath, tempRoot, { recursive: true });
13
+ return tempRoot;
14
+ }
15
+ function getDeps(rootDirectoryPath) {
16
+ const projectConfig = (0, projectConfig_1.getProjectConfig)(rootDirectoryPath);
17
+ const datasource = new datasource_1.Datasource(projectConfig, rootDirectoryPath);
18
+ return {
19
+ rootDirectoryPath,
20
+ projectConfig,
21
+ datasource,
22
+ options: {},
23
+ };
24
+ }
25
+ describe("core: lintProject", function () {
26
+ let tempProjectPath;
27
+ beforeEach(() => {
28
+ tempProjectPath = createTempProjectFromExample1();
29
+ });
30
+ afterEach(() => {
31
+ fs.rmSync(tempProjectPath, { recursive: true, force: true });
32
+ jest.restoreAllMocks();
33
+ });
34
+ it("returns JSON-friendly empty errors array for a valid project", async () => {
35
+ const result = await (0, lintProject_1.lintProject)(getDeps(tempProjectPath), { json: true });
36
+ expect(result).toEqual({
37
+ hasError: false,
38
+ errors: [],
39
+ });
40
+ });
41
+ it("returns structured errors in JSON mode", async () => {
42
+ fs.writeFileSync(path.join(tempProjectPath, "attributes", "invalid name.yml"), "description: this has an invalid key name\ntype: string\n", "utf8");
43
+ const result = await (0, lintProject_1.lintProject)(getDeps(tempProjectPath), {
44
+ json: true,
45
+ entityType: "attribute",
46
+ });
47
+ expect(result.hasError).toBe(true);
48
+ expect(result.errors.length).toBeGreaterThan(0);
49
+ expect(result.errors[0]).toMatchObject({
50
+ entityType: "attribute",
51
+ key: "invalid name",
52
+ message: 'Invalid name: "invalid name"',
53
+ code: "invalid_name",
54
+ path: [],
55
+ });
56
+ expect(result.errors[0].filePath).toContain("attributes");
57
+ });
58
+ it("plugin prints pretty JSON only once in --json --pretty mode", async () => {
59
+ const consoleLogSpy = jest.spyOn(console, "log").mockImplementation(() => { });
60
+ const pluginResult = await lintProject_1.lintPlugin.handler({
61
+ ...getDeps(tempProjectPath),
62
+ parsed: {
63
+ json: true,
64
+ pretty: true,
65
+ },
66
+ });
67
+ expect(pluginResult).toBeUndefined();
68
+ expect(consoleLogSpy).toHaveBeenCalledTimes(1);
69
+ const output = consoleLogSpy.mock.calls[0][0];
70
+ expect(output).toContain('\n "errors": []\n');
71
+ });
72
+ it("does not call process.exit for zod validation errors while linting tests", async () => {
73
+ fs.writeFileSync(path.join(tempProjectPath, "tests", "broken.spec.yml"), "feature: foo\n", "utf8");
74
+ const processExitSpy = jest
75
+ .spyOn(process, "exit")
76
+ .mockImplementation((() => undefined));
77
+ const result = await (0, lintProject_1.lintProject)(getDeps(tempProjectPath), {
78
+ json: true,
79
+ entityType: "test",
80
+ });
81
+ expect(result.hasError).toBe(true);
82
+ expect(result.errors.length).toBeGreaterThan(0);
83
+ expect(processExitSpy).not.toHaveBeenCalled();
84
+ });
85
+ });
86
+ //# sourceMappingURL=lintProject.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lintProject.spec.js","sourceRoot":"","sources":["../../src/linter/lintProject.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,9 @@
1
1
  import { ZodError } from "zod";
2
+ export interface LintIssueFromZod {
3
+ message: string;
4
+ path: (string | number)[];
5
+ code?: string;
6
+ value?: unknown;
7
+ }
8
+ export declare function getLintIssuesFromZodError(e: ZodError): LintIssueFromZod[];
2
9
  export declare function printZodError(e: ZodError): void;
@@ -1,24 +1,39 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLintIssuesFromZodError = getLintIssuesFromZodError;
3
4
  exports.printZodError = printZodError;
4
5
  const cliFormat_1 = require("../tester/cliFormat");
5
- function printZodError(e) {
6
- const { issues } = e;
7
- issues.forEach((issue) => {
8
- if (issue.code === "invalid_union" && issue.path.length === 0 && issue.unionErrors.length > 0) {
9
- // invalid_union
6
+ function getLintIssuesFromZodError(e) {
7
+ return e.issues
8
+ .map((issue) => {
9
+ if (issue.code === "invalid_union" &&
10
+ issue.path.length === 0 &&
11
+ issue.unionErrors.length > 0) {
10
12
  const lastUnionError = issue.unionErrors[issue.unionErrors.length - 1];
11
- console.error(cliFormat_1.CLI_FORMAT_RED, ` => Error: ${lastUnionError.issues[0].message}`);
12
- console.error(" Path:", lastUnionError.issues[0].path.join("."));
13
+ const nestedIssue = lastUnionError.issues[0];
14
+ return {
15
+ message: nestedIssue.message,
16
+ path: nestedIssue.path,
17
+ code: nestedIssue.code,
18
+ value: nestedIssue.received,
19
+ };
13
20
  }
14
- else {
15
- // others
16
- console.error(cliFormat_1.CLI_FORMAT_RED, ` => Error: ${issue.message}`);
17
- console.error(" Path:", issue.path.join("."));
18
- const receivedValue = issue.received;
19
- if (typeof receivedValue !== "undefined" && receivedValue !== "undefined") {
20
- console.error(" Value:", receivedValue);
21
- }
21
+ return {
22
+ message: issue.message,
23
+ path: issue.path,
24
+ code: issue.code,
25
+ value: issue.received,
26
+ };
27
+ })
28
+ .filter(Boolean);
29
+ }
30
+ function printZodError(e) {
31
+ const issues = getLintIssuesFromZodError(e);
32
+ issues.forEach((issue) => {
33
+ console.error(cliFormat_1.CLI_FORMAT_RED, ` => Error: ${issue.message}`);
34
+ console.error(" Path:", issue.path.join("."));
35
+ if (typeof issue.value !== "undefined" && issue.value !== "undefined") {
36
+ console.error(" Value:", issue.value);
22
37
  }
23
38
  console.error("");
24
39
  });
@@ -1 +1 @@
1
- {"version":3,"file":"printError.js","sourceRoot":"","sources":["../../src/linter/printError.ts"],"names":[],"mappings":";;AAIA,sCAsBC;AAxBD,mDAAqD;AAErD,SAAgB,aAAa,CAAC,CAAW;IACvC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAErB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9F,gBAAgB;YAChB,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,0BAAc,EAAE,eAAe,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACjF,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,SAAS;YACT,OAAO,CAAC,KAAK,CAAC,0BAAc,EAAE,eAAe,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAElD,MAAM,aAAa,GAAI,KAAa,CAAC,QAAQ,CAAC;YAC9C,IAAI,OAAO,aAAa,KAAK,WAAW,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;gBAC1E,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"printError.js","sourceRoot":"","sources":["../../src/linter/printError.ts"],"names":[],"mappings":";;AAWA,8DA2BC;AAED,sCAUC;AAhDD,mDAAqD;AASrD,SAAgB,yBAAyB,CAAC,CAAW;IACnD,OAAO,CAAC,CAAC,MAAM;SACZ,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,IACE,KAAK,CAAC,IAAI,KAAK,eAAe;YAC9B,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YACvB,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAC5B,CAAC;YACD,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvE,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAE7C,OAAO;gBACL,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,KAAK,EAAG,WAAmB,CAAC,QAAQ;aACrC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAG,KAAa,CAAC,QAAQ;SAC/B,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,SAAgB,aAAa,CAAC,CAAW;IACvC,MAAM,MAAM,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,OAAO,CAAC,KAAK,CAAC,0BAAc,EAAE,eAAe,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,WAAW,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACtE,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,42 @@
1
+ import type { Schema, SchemaKey, Value } from "@featurevisor/types";
2
+ import { z } from "zod";
3
+ type SchemaLike = {
4
+ type?: string;
5
+ enum?: unknown[];
6
+ const?: unknown;
7
+ minimum?: number;
8
+ maximum?: number;
9
+ minLength?: number;
10
+ maxLength?: number;
11
+ pattern?: string;
12
+ minItems?: number;
13
+ maxItems?: number;
14
+ uniqueItems?: boolean;
15
+ items?: unknown;
16
+ properties?: Record<string, unknown>;
17
+ oneOf?: unknown[];
18
+ };
19
+ /**
20
+ * Recursively validates that when a schema has both `type` and `enum`, every enum value matches the type.
21
+ * Also recurses into oneOf branches.
22
+ */
23
+ export declare function refineEnumMatchesType(schema: SchemaLike, pathPrefix: (string | number)[], ctx: z.RefinementCtx): void;
24
+ /**
25
+ * Validates that when a schema has type "integer" or "double", minimum <= maximum when both set,
26
+ * and const/enum values (if present) fall within the range.
27
+ */
28
+ export declare function refineMinimumMaximum(schema: SchemaLike, pathPrefix: (string | number)[], ctx: z.RefinementCtx): void;
29
+ /**
30
+ * Validates that when a schema has type "string", minLength <= maxLength when both set,
31
+ * pattern is a valid RegExp (if set), and const/enum string values satisfy length and pattern.
32
+ */
33
+ export declare function refineStringLengthPattern(schema: SchemaLike, pathPrefix: (string | number)[], ctx: z.RefinementCtx): void;
34
+ /**
35
+ * Validates that when a schema has type "array", minItems <= maxItems when both set,
36
+ * and const/enum array values (if present) satisfy length and uniqueItems.
37
+ */
38
+ export declare function refineArrayItems(schema: SchemaLike, pathPrefix: (string | number)[], ctx: z.RefinementCtx): void;
39
+ export declare const valueZodSchema: z.ZodType<Value>;
40
+ export declare const propertyTypeEnum: z.ZodEnum<["boolean", "string", "integer", "double", "object", "array"]>;
41
+ export declare function getSchemaZodSchema(schemaKeys?: SchemaKey[]): z.ZodType<Schema, z.ZodTypeDef, Schema>;
42
+ export {};