jsxpression 0.1.38 → 0.1.41

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 (87) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/lib/analyze/analysis-error.d.ts +1 -1
  3. package/lib/analyze/analysis-error.d.ts.map +1 -1
  4. package/lib/analyze/analysis-report.d.ts.map +1 -1
  5. package/lib/analyze/analysis-report.js.map +1 -1
  6. package/lib/analyze/data/analyze.d.ts +2 -2
  7. package/lib/analyze/data/analyze.d.ts.map +1 -1
  8. package/lib/analyze/data/data-access.d.ts +1 -1
  9. package/lib/analyze/data/data-access.d.ts.map +1 -1
  10. package/lib/analyze/data/method-calls.d.ts +1 -1
  11. package/lib/analyze/data/method-calls.d.ts.map +1 -1
  12. package/lib/analyze/data/utils.d.ts +3 -3
  13. package/lib/analyze/data/utils.d.ts.map +1 -1
  14. package/lib/analyze/jsx/analyze.d.ts +2 -2
  15. package/lib/analyze/jsx/analyze.d.ts.map +1 -1
  16. package/lib/analyze/jsx/element-attributes.js.map +1 -1
  17. package/lib/analyze/jsx/element-children.js +5 -6
  18. package/lib/analyze/jsx/element-children.js.map +1 -1
  19. package/lib/analyze/security/analyze.d.ts +2 -2
  20. package/lib/analyze/security/analyze.d.ts.map +1 -1
  21. package/lib/analyze/security/analyze.js +2 -1
  22. package/lib/analyze/security/analyze.js.map +1 -1
  23. package/lib/analyze/security/expressions.d.ts +1 -1
  24. package/lib/analyze/security/expressions.d.ts.map +1 -1
  25. package/lib/analyze/security/identifiers.js.map +1 -1
  26. package/lib/analyze/validation-context.d.ts.map +1 -1
  27. package/lib/codegen/builtins/builtin-types.js.map +1 -1
  28. package/lib/codegen/generate-typescript-definitions.d.ts +1 -1
  29. package/lib/codegen/generate-typescript-definitions.d.ts.map +1 -1
  30. package/lib/codegen/generate-typescript-definitions.js +6 -1
  31. package/lib/codegen/generate-typescript-definitions.js.map +1 -1
  32. package/lib/codegen/schema/component-types.js.map +1 -1
  33. package/lib/codegen/schema/data-types.js.map +1 -1
  34. package/lib/codegen/schema/function-types.d.ts.map +1 -1
  35. package/lib/codegen/schema/function-types.js +3 -1
  36. package/lib/codegen/schema/function-types.js.map +1 -1
  37. package/lib/codegen/schema/utils.d.ts +1 -1
  38. package/lib/codegen/schema/utils.d.ts.map +1 -1
  39. package/lib/codegen/schema/utils.js +1 -1
  40. package/lib/codegen/schema/utils.js.map +1 -1
  41. package/lib/compile/compilation-error.d.ts.map +1 -1
  42. package/lib/compile/compile.js.map +1 -1
  43. package/lib/evaluate/evaluate.js +2 -2
  44. package/lib/evaluate/evaluate.js.map +1 -1
  45. package/lib/evaluate/evaluation-error.d.ts.map +1 -1
  46. package/lib/index.d.ts +1 -1
  47. package/lib/index.d.ts.map +1 -1
  48. package/lib/index.js +1 -1
  49. package/lib/index.js.map +1 -1
  50. package/lib/parse/parse-error.d.ts.map +1 -1
  51. package/lib/render.d.ts +2 -2
  52. package/lib/render.d.ts.map +1 -1
  53. package/lib/render.js.map +1 -1
  54. package/lib/schema.js.map +1 -1
  55. package/lib/traverse.d.ts.map +1 -1
  56. package/lib/traverse.js +0 -1
  57. package/lib/traverse.js.map +1 -1
  58. package/lib/validate.d.ts +1 -1
  59. package/lib/validate.d.ts.map +1 -1
  60. package/lib/validate.js.map +1 -1
  61. package/package.json +2 -2
  62. package/src/analyze/analysis-error.ts +1 -1
  63. package/src/analyze/analyze.test.ts +8 -6
  64. package/src/analyze/data/analyze.ts +2 -2
  65. package/src/analyze/data/data-access.ts +1 -1
  66. package/src/analyze/data/method-calls.ts +1 -1
  67. package/src/analyze/data/utils.ts +3 -3
  68. package/src/analyze/jsx/analyze.ts +2 -2
  69. package/src/analyze/jsx/element-attributes.ts +1 -1
  70. package/src/analyze/jsx/element-children.ts +5 -5
  71. package/src/analyze/security/analyze.ts +4 -4
  72. package/src/analyze/security/expressions.ts +1 -1
  73. package/src/analyze/security/identifiers.ts +3 -3
  74. package/src/builtins.ts +1 -1
  75. package/src/codegen/generate-typescript-definitions.test.ts +27 -27
  76. package/src/codegen/generate-typescript-definitions.ts +7 -2
  77. package/src/codegen/schema/function-types.ts +4 -2
  78. package/src/codegen/schema/utils.ts +3 -3
  79. package/src/compile/compile.ts +15 -15
  80. package/src/evaluate/evaluate.test.ts +19 -19
  81. package/src/evaluate/evaluate.ts +2 -2
  82. package/src/index.ts +1 -1
  83. package/src/render.test.ts +5 -2
  84. package/src/render.ts +4 -3
  85. package/src/schema.ts +1 -1
  86. package/src/traverse.ts +12 -13
  87. package/src/validate.ts +1 -1
package/lib/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { type Schema, type PropertySchema, type FunctionSchema, serializePropertySchemaToJson, deserializePropertySchemaFromJson } from "./schema.js";
1
+ export { type Schema, type PropertySchema, type FunctionSchema, serializePropertySchemaToJson, deserializePropertySchemaFromJson, } from "./schema.js";
2
2
  export { ParseError } from "./parse/index.js";
3
3
  export { CompilationError } from "./compile/index.js";
4
4
  export { AnalysisError } from "./analyze/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,6BAA6B,EAC7B,iCAAiC,EAClC,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC"}
package/lib/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { serializePropertySchemaToJson, deserializePropertySchemaFromJson } from "./schema.js";
1
+ export { serializePropertySchemaToJson, deserializePropertySchemaFromJson, } from "./schema.js";
2
2
  export { ParseError } from "./parse/index.js";
3
3
  export { CompilationError } from "./compile/index.js";
4
4
  export { AnalysisError } from "./analyze/index.js";
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,6BAA6B,EAC7B,iCAAiC,EAClC,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAsB,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAA6C,MAAM,eAAe,CAAC;AAEpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAsB,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAA6C,MAAM,eAAe,CAAC;AAEpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-error.d.ts","sourceRoot":"","sources":["../../src/parse/parse-error.ts"],"names":[],"mappings":"AAAA,KAAK,GAAG,GAAG;IACT,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,qBAAa,UAAW,SAAQ,KAAK;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;gBAEP,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG;CAKvC"}
1
+ {"version":3,"file":"parse-error.d.ts","sourceRoot":"","sources":["../../src/parse/parse-error.ts"],"names":[],"mappings":"AAAA,KAAK,GAAG,GAAG;IACT,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,qBAAa,UAAW,SAAQ,KAAK;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IAEnB,YAAY,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAIrC;CACF"}
package/lib/render.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { EvaluateOptions } from "./evaluate/evaluate.js";
2
- import { Schema } from "./schema.js";
1
+ import type { EvaluateOptions } from "./evaluate/evaluate.js";
2
+ import type { Schema } from "./schema.js";
3
3
  /**
4
4
  * Configuration options for rendering JSX expressions.
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IAChE;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,MAAM,CAAC,CAAC,GAAG,GAAG,EAC5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,EAAE,WAAe,EAAE,GAAG,OAAO,EAAE,GAAE,aAAa,CAAC,CAAC,CAAM,GACrD,CAAC,CASH;AAED,wBAAgB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,WAAe,EAAE,GAAE,aAAa,CAAC,CAAC,CAAM,GAAG,MAAM,CAOnH"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IAChE;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,MAAM,CAAC,CAAC,GAAG,GAAG,EAC5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,EAAE,WAAe,EAAE,GAAG,OAAO,EAAE,GAAE,aAAa,CAAC,CAAC,CAAM,GACrD,CAAC,CASH;AAED,wBAAgB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,WAAe,EAAE,GAAE,aAAa,CAAC,CAAC,CAAM,GAAG,MAAM,CAOnH"}
package/lib/render.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAmB,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAiB5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,UAAU,MAAM,CACpB,MAAc,EACd,MAAc,EACd,EAAE,WAAW,GAAG,CAAC,EAAE,GAAG,OAAO,KAAuB,EAAE;IAEtD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAEpC,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,MAAM,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAM,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,OAAO,CAAU,MAAc,EAAE,MAAc,EAAE,EAAE,WAAW,GAAG,CAAC,KAAuB,EAAE;IACzG,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACpC,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,MAAM,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAiB5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,UAAU,MAAM,CACpB,MAAc,EACd,MAAc,EACd,EAAE,WAAW,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE,GAAqB,EAAE;IAEtD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAEpC,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,MAAM,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,OAAO,CAAU,MAAc,EAAE,MAAc,EAAE,EAAE,WAAW,GAAG,CAAC,EAAE,GAAqB,EAAE;IACzG,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACpC,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,MAAM,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC"}
package/lib/schema.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../src/traverse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAgC,KAAK,cAAc,EAAU,MAAM,YAAY,CAAC;AACvF,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,UAAU,CAAC;AAIlB,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;AAW1D,KAAK,sBAAsB,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG;IACtD,YAAY,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACvC,sBAAsB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAC/D,WAAW,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACzC,iBAAiB,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACrD,kBAAkB,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CACxD,CAAC;AA6HF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAM7E"}
1
+ {"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../src/traverse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAgC,KAAK,cAAc,EAAU,MAAM,YAAY,CAAC;AACvF,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,UAAU,CAAC;AAIlB,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;AAW1D,KAAK,sBAAsB,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG;IACtD,YAAY,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACvC,sBAAsB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAC/D,WAAW,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACzC,iBAAiB,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACrD,kBAAkB,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CACxD,CAAC;AA4HF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAM7E"}
package/lib/traverse.js CHANGED
@@ -69,7 +69,6 @@ const tsNodeTypes = [
69
69
  ];
70
70
  const tsWalkers = {};
71
71
  for (const nodeType of tsNodeTypes) {
72
- // eslint-disable-next-line @typescript-eslint/no-empty-function
73
72
  tsWalkers[nodeType] = () => { };
74
73
  }
75
74
  const jsxWalkers = {
@@ -1 +1 @@
1
- {"version":3,"file":"traverse.js","sourceRoot":"","sources":["../src/traverse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAA+C,MAAM,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,EACL,oBAAoB,EACpB,SAAS,GAOV,MAAM,UAAU,CAAC;AAwBlB,MAAM,WAAW,GAAG;IAClB,wBAAwB;IACxB,iBAAiB;IACjB,wBAAwB;IACxB,kBAAkB;IAClB,iBAAiB;IACjB,4BAA4B;IAC5B,8BAA8B;IAC9B,iBAAiB;IACjB,gBAAgB;IAChB,uBAAuB;IACvB,qBAAqB;IACrB,iBAAiB;IACjB,mBAAmB;IACnB,cAAc;IACd,qBAAqB;IACrB,eAAe;IACf,2BAA2B;IAC3B,oBAAoB;IACpB,8BAA8B;IAC9B,mBAAmB;IACnB,iBAAiB;IACjB,2BAA2B;IAC3B,2BAA2B;IAC3B,sBAAsB;IACtB,qBAAqB;IACrB,kBAAkB;IAClB,4BAA4B;IAC5B,iCAAiC;IACjC,qBAAqB;IACrB,mBAAmB;IACnB,iBAAiB;IACjB,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,cAAc;IACd,mBAAmB;IACnB,aAAa;IACb,cAAc;IACd,+BAA+B;IAC/B,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;IACnB,aAAa;IACb,oBAAoB;IACpB,aAAa;IACb,oBAAoB;IACpB,aAAa;IACb,gBAAgB;IAChB,YAAY;IACZ,eAAe;IACf,qBAAqB;IACrB,qBAAqB;IACrB,cAAc;IACd,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,eAAe;IACf,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,oBAAoB;IACpB,kBAAkB;IAClB,eAAe;IACf,YAAY;CACJ,CAAC;AAEX,MAAM,SAAS,GAA4D,EAAE,CAAC;AAC9E,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE,CAAC;IACnC,gEAAgE;IAChE,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,GAA8B;IAC5C,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;QAC3B,MAAM,OAAO,GAAG,IAAkB,CAAC;QACnC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACrC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,SAAS;YACX,CAAC;YACD,KAAK,CAAC,KAAY,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;QAC5B,MAAM,QAAQ,GAAG,IAAmB,CAAC;QACrC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,SAAS;YACX,CAAC;YACD,KAAK,CAAC,KAAY,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;QAClC,MAAM,OAAO,GAAG,IAAyB,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACtC,KAAK,CAAC,IAAW,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;QAC7B,MAAM,IAAI,GAAG,IAAoB,CAAC;QAClC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,KAAY,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;QACnC,MAAM,MAAM,GAAG,IAA0B,CAAC;QAC1C,KAAK,CAAC,MAAM,CAAC,QAAe,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;QACvC,MAAM,SAAS,GAAG,IAA8B,CAAC;QACjD,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,KAAK,CAAC,SAAS,CAAC,UAAiB,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,GAAY,EAAE,QAAgC;IACrE,MAAM,CAAC,GAAG,EAAE,QAAmC,EAAE;QAC/C,GAAG,IAAI;QACP,GAAG,UAAU;QACb,GAAG,SAAS;KACb,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"traverse.js","sourceRoot":"","sources":["../src/traverse.ts"],"names":[],"mappings":"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"}
package/lib/validate.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { AnalysisError } from "./analyze/index.js";
2
2
  import { ParseError } from "./parse/index.js";
3
- import { Schema } from "./schema.js";
3
+ import type { Schema } from "./schema.js";
4
4
  export type ValidateResult = {
5
5
  ok: true;
6
6
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAS,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,aAAa,GAAG,UAAU,CAAA;CAAE,CAAC;AAE7F,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACzB;AACD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EAEd,EAAE,WAAe,EAAE,GAAE,eAAoB,GACxC,cAAc,CAiBhB"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAS,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,aAAa,GAAG,UAAU,CAAA;CAAE,CAAC;AAE7F,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACzB;AACD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EAEd,EAAE,WAAe,EAAE,GAAE,eAAoB,GACxC,cAAc,CAiBhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAWrD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,QAAQ,CACtB,MAAc,EACd,MAAc,EAEd,EAAE,WAAW,GAAG,CAAC,KAAsB,EAAE;IAEzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAEpC,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAChE,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAChC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC9B,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAWrD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,QAAQ,CACtB,MAAc,EACd,MAAc,EAEd,EAAE,WAAW,GAAG,CAAC,EAAE,GAAoB,EAAE;IAEzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAEpC,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAChE,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAChC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC9B,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jsxpression",
3
- "version": "0.1.38",
3
+ "version": "0.1.41",
4
4
  "description": "Validate and safely render JSX expressions",
5
5
  "author": "Divid AB <info@divid.se>",
6
6
  "repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/jsxpression",
@@ -27,5 +27,5 @@
27
27
  "acorn-walk": "8.3.4",
28
28
  "zod": "^4.4.3"
29
29
  },
30
- "gitHead": "db81eac76ec87784f35ca45db03916a10db5b26d"
30
+ "gitHead": "96519bbb4d43c57b0a97917065a32b58d762f462"
31
31
  }
@@ -1,4 +1,4 @@
1
- import { AnalysisReport } from "./analysis-report.js";
1
+ import type { AnalysisReport } from "./analysis-report.js";
2
2
 
3
3
  export class AnalysisError extends Error {
4
4
  static fromReport(report: AnalysisReport): AnalysisError {
@@ -780,19 +780,21 @@ describe("analyze - consolidated tests", () => {
780
780
  });
781
781
 
782
782
  describe("security validation", () => {
783
+ // analyzeIdentifiers (which produced 'Identifier "x" not allowed' errors) is currently
784
+ // disabled in analyze.ts, so these assertions reflect whatever the other, less specific
785
+ // checks (call-expressions/expressions) still catch on their own.
783
786
  describe("disallowed identifiers", () => {
784
787
  it("should block window access", () => {
785
788
  const ast = parse("<Text>{window.alert('hack')}</Text>");
786
789
  const result = analyze(ast, baseSchema);
787
790
  expect(result.hasErrors).toBe(true);
788
- expect(result.errors[0].message).toContain('Identifier "window" not allowed');
791
+ expect(result.errors[0].message).toContain("method window.alert not allowed");
789
792
  });
790
793
 
791
- it("should block document access", () => {
794
+ it("should not block bare document property access (analyzeIdentifiers disabled)", () => {
792
795
  const ast = parse("<Text>{document.body}</Text>");
793
796
  const result = analyze(ast, baseSchema);
794
- expect(result.hasErrors).toBe(true);
795
- expect(result.errors[0].message).toContain('Identifier "document" not allowed');
797
+ expect(result.hasErrors).toBe(false);
796
798
  });
797
799
  });
798
800
 
@@ -801,14 +803,14 @@ describe("analyze - consolidated tests", () => {
801
803
  const ast = parse("<Text>{eval('alert(1)')}</Text>");
802
804
  const result = analyze(ast, baseSchema);
803
805
  expect(result.hasErrors).toBe(true);
804
- expect(result.errors[0].message).toContain('Identifier "eval" not allowed');
806
+ expect(result.errors[0].message).toContain("only member calls allowed");
805
807
  });
806
808
 
807
809
  it("should block Function constructor", () => {
808
810
  const ast = parse("<Text>{new Function('return 1')()}</Text>");
809
811
  const result = analyze(ast, baseSchema);
810
812
  expect(result.hasErrors).toBe(true);
811
- expect(result.errors[0].message).toContain('Identifier "Function" not allowed');
813
+ expect(result.errors[0].message).toContain("new not allowed");
812
814
  });
813
815
  });
814
816
  });
@@ -1,5 +1,5 @@
1
- import { Program } from "acorn";
2
- import { Schema } from "../../schema.js";
1
+ import type { Program } from "acorn";
2
+ import type { Schema } from "../../schema.js";
3
3
  import { AnalysisReport } from "../analysis-report.js";
4
4
  import { ValidationContext } from "../validation-context.js";
5
5
  import { analyzeMethodCalls } from "./method-calls.js";
@@ -1,7 +1,7 @@
1
1
  import type { Program } from "acorn";
2
2
  import { traverse } from "../../traverse.js";
3
3
  import type { ArrayPropertySchema, PropertySchema, Schema } from "../../schema.js";
4
- import { ValidationContext } from "../validation-context.js";
4
+ import type { ValidationContext } from "../validation-context.js";
5
5
  import { AnalysisReport } from "../analysis-report.js";
6
6
  import { isSimpleDataAccess, extractPath, validateSchemaPath } from "./utils.js";
7
7
  import { getNodeRange } from "../utils.js";
@@ -2,7 +2,7 @@ import type { Program } from "acorn";
2
2
  import { traverse } from "../../traverse.js";
3
3
  import type { Schema } from "../../schema.js";
4
4
  import { isMethodAllowed, getMethodDefinition, getMethodDisplayName } from "../../builtins.js";
5
- import { ValidationContext } from "../validation-context.js";
5
+ import type { ValidationContext } from "../validation-context.js";
6
6
  import { AnalysisReport } from "../analysis-report.js";
7
7
  import { isSimpleDataAccess, extractPath, validateSchemaPath } from "./utils.js";
8
8
  import { getNodeRange } from "../utils.js";
@@ -5,10 +5,10 @@ import {
5
5
  getAvailableArrayMembers,
6
6
  getAvailableStringMembers,
7
7
  } from "../../builtins.js";
8
- import { Schema, ArrayPropertySchema, PropertySchema } from "../../schema.js";
9
- import { AnalysisReport } from "../analysis-report.js";
8
+ import type { Schema } from "../../schema.js";
9
+ import type { AnalysisReport } from "../analysis-report.js";
10
10
  import { getNodeRange } from "../utils.js";
11
- import { ValidationContext } from "../validation-context.js";
11
+ import type { ValidationContext } from "../validation-context.js";
12
12
 
13
13
  export function isSimpleDataAccess(node: MemberExpression, dataKeys: ReadonlySet<string>): boolean {
14
14
  if (node.computed) {
@@ -1,5 +1,5 @@
1
- import { Program } from "acorn";
2
- import { Schema } from "../../schema.js";
1
+ import type { Program } from "acorn";
2
+ import type { Schema } from "../../schema.js";
3
3
  import { AnalysisReport } from "../analysis-report.js";
4
4
  import { ValidationContext } from "../validation-context.js";
5
5
  import { analyzeElementAttributes } from "./element-attributes.js";
@@ -140,7 +140,7 @@ function getAttributeLiteralValue(attribute: JSXAttribute): string | number | bo
140
140
  }
141
141
 
142
142
  if (attribute.value.type === "Literal") {
143
- return attribute.value.value as string | number | boolean | null | undefined;
143
+ return attribute.value.value;
144
144
  }
145
145
 
146
146
  if (isJsxExpressionContainer(attribute.value)) {
@@ -96,11 +96,11 @@ export function analyzeElementChildren(
96
96
  } else if (isJsxFragment(child)) {
97
97
  // TODO: Recursively validate fragment children
98
98
  // For now, we allow fragments but should add more specific validation in the future
99
- } else if (isJsxText(child)) {
100
- const hasContent = child.value.trim().length > 0;
101
- // eslint-disable-next-line no-empty
102
- if (!hasContent) {
103
- }
99
+ // } else if (isJsxText(child)) {
100
+ // const hasContent = child.value.trim().length > 0;
101
+ // // oxlint-disable-next-line no-empty
102
+ // if (!hasContent) {
103
+ // }
104
104
  }
105
105
  }
106
106
 
@@ -1,18 +1,18 @@
1
- import { Program } from "acorn";
2
- import { Schema } from "../../schema.js";
1
+ import type { Program } from "acorn";
2
+ import type { Schema } from "../../schema.js";
3
3
  import { AnalysisReport } from "../analysis-report.js";
4
4
  import { ValidationContext } from "../validation-context.js";
5
5
  import { analyzeCallExpressions } from "./call-expressions.js";
6
6
  import { analyzeDeclarations } from "./declarations.js";
7
7
  import { analyzeExpressions } from "./expressions.js";
8
- import { analyzeIdentifiers } from "./identifiers.js";
8
+ // import { analyzeIdentifiers } from "./identifiers.js";
9
9
 
10
10
  export function analyzeSecurity(ast: Program, schema: Schema): AnalysisReport {
11
11
  const validationContext = new ValidationContext();
12
12
 
13
13
  return new AnalysisReport().merge(
14
14
  analyzeDeclarations(ast, schema, validationContext),
15
- //analyzeIdentifiers(ast, schema, validationContext),
15
+ // analyzeIdentifiers(ast, schema, validationContext),
16
16
  analyzeExpressions(ast, schema, validationContext),
17
17
  analyzeCallExpressions(ast, schema, validationContext)
18
18
  );
@@ -1,7 +1,7 @@
1
1
  import type { Program, Expression, Super } from "acorn";
2
2
  import { traverse } from "../../traverse.js";
3
3
  import type { Schema } from "../../schema.js";
4
- import { ValidationContext } from "../validation-context.js";
4
+ import type { ValidationContext } from "../validation-context.js";
5
5
  import { AnalysisReport } from "../analysis-report.js";
6
6
  import { getNodeRange } from "../utils.js";
7
7
 
@@ -55,13 +55,13 @@ export function analyzeIdentifiers(ast: Program, schema: Schema, validationConte
55
55
  const params =
56
56
  scopeParent.type === "ArrowFunctionExpression"
57
57
  ? arrowParamScopes.get(scopeParent)
58
- : functionParamScopes.get(scopeParent as FunctionDeclaration);
58
+ : functionParamScopes.get(scopeParent);
59
59
  if (params?.has(name)) {
60
60
  return;
61
61
  }
62
62
 
63
63
  if (scopeParent.type === "FunctionDeclaration") {
64
- const localConsts = functionLocalConsts.get(scopeParent as FunctionDeclaration);
64
+ const localConsts = functionLocalConsts.get(scopeParent);
65
65
  if (localConsts?.has(name)) {
66
66
  return;
67
67
  }
@@ -138,7 +138,7 @@ function getFunctionLocalConsts(ast: Program): Map<FunctionDeclaration, Set<stri
138
138
  function collectParamNames(param: AnyNode, names: Set<string>): void {
139
139
  switch (param.type) {
140
140
  case "Identifier":
141
- names.add((param as Identifier).name);
141
+ names.add(param.name);
142
142
  break;
143
143
  case "ObjectPattern":
144
144
  for (const prop of (param as any).properties) {
package/src/builtins.ts CHANGED
@@ -1,4 +1,4 @@
1
- /* eslint-disable max-lines */
1
+ /* oxlint-disable max-lines */
2
2
  export interface BuiltinCallbackParamSchema {
3
3
  name: string;
4
4
  type: string;
@@ -142,11 +142,11 @@ describe("generateTypeScriptDefinitions", () => {
142
142
  rec: {
143
143
  type: "record",
144
144
  shape: {
145
- type: "number"
146
- }
145
+ type: "number",
146
+ },
147
147
  },
148
148
  },
149
- elements: {}
149
+ elements: {},
150
150
  };
151
151
  const result = generateTypeScriptDefinitions(schema);
152
152
  expect(result).toContain("const rec: Record<string, number>;");
@@ -160,12 +160,12 @@ describe("generateTypeScriptDefinitions", () => {
160
160
  shape: {
161
161
  type: "record",
162
162
  shape: {
163
- type: "number"
164
- }
165
- }
163
+ type: "number",
164
+ },
165
+ },
166
166
  },
167
167
  },
168
- elements: {}
168
+ elements: {},
169
169
  };
170
170
  const result = generateTypeScriptDefinitions(schema);
171
171
  expect(result).toContain("const rec: Record<string, Record<string, number>>;");
@@ -503,9 +503,9 @@ describe("generateTypeScriptDefinitions", () => {
503
503
  enum: ["TypeA"],
504
504
  },
505
505
  valueA: {
506
- type: "string"
507
- }
508
- }
506
+ type: "string",
507
+ },
508
+ },
509
509
  },
510
510
  {
511
511
  type: "object",
@@ -515,19 +515,19 @@ describe("generateTypeScriptDefinitions", () => {
515
515
  enum: ["TypeB"],
516
516
  },
517
517
  valueB: {
518
- type: "number"
519
- }
520
- }
521
- }
522
- ]
523
- }
524
- }
518
+ type: "number",
519
+ },
520
+ },
521
+ },
522
+ ],
523
+ },
524
+ },
525
525
  };
526
526
 
527
-
528
-
529
527
  const result = generateTypeScriptDefinitions(schema);
530
- expect(result).toContain(`id: "TypeA";\n valueA: string;\n } | {\n id: "TypeB";\n valueB: number;\n };`);
528
+ expect(result).toContain(
529
+ `id: "TypeA";\n valueA: string;\n } | {\n id: "TypeB";\n valueB: number;\n };`
530
+ );
531
531
  });
532
532
 
533
533
  it("should generate functions", () => {
@@ -542,17 +542,17 @@ describe("generateTypeScriptDefinitions", () => {
542
542
  name: "arg1",
543
543
  property: {
544
544
  type: "number",
545
- }
545
+ },
546
546
  },
547
547
  {
548
548
  name: "arg2",
549
549
  property: {
550
- type: "string"
551
- }
552
- }
553
- ]
554
- }
555
- }
550
+ type: "string",
551
+ },
552
+ },
553
+ ],
554
+ },
555
+ },
556
556
  };
557
557
 
558
558
  const result = generateTypeScriptDefinitions(schema);
@@ -1,4 +1,4 @@
1
- import { Schema } from "../schema.js";
1
+ import type { Schema } from "../schema.js";
2
2
  import { declareBuiltinTypes } from "./builtins/index.js";
3
3
  import { declareComponentTypes, declareDataTypes, declareFunctionTypes } from "./schema/index.js";
4
4
 
@@ -31,5 +31,10 @@ import { declareComponentTypes, declareDataTypes, declareFunctionTypes } from ".
31
31
  * ```
32
32
  */
33
33
  export function generateTypeScriptDefinitions(schema: Schema): string {
34
- return [declareBuiltinTypes(), declareComponentTypes(schema), declareDataTypes(schema), declareFunctionTypes(schema)].join("\n");
34
+ return [
35
+ declareBuiltinTypes(),
36
+ declareComponentTypes(schema),
37
+ declareDataTypes(schema),
38
+ declareFunctionTypes(schema),
39
+ ].join("\n");
35
40
  }
@@ -6,10 +6,12 @@ export function declareFunctionTypes(schema: Schema): string {
6
6
 
7
7
  if (schema.functions) {
8
8
  Object.entries(schema.functions).forEach(([funcName, funcSchema]) => {
9
- const args = funcSchema.args ? funcSchema.args.map((arg) => `${arg.name}: ${mapSchemaTypeToTypeScript(arg.property)}`).join(", ") : "";
9
+ const args = funcSchema.args
10
+ ? funcSchema.args.map((arg) => `${arg.name}: ${mapSchemaTypeToTypeScript(arg.property)}`).join(", ")
11
+ : "";
10
12
  const ret = funcSchema.ret ? mapSchemaTypeToTypeScript(funcSchema.ret) : "void";
11
13
  output += `function ${funcName}(${args}): ${ret};\n`;
12
- })
14
+ });
13
15
  }
14
16
 
15
17
  output += `}\n\n`;
@@ -60,10 +60,10 @@ export function generateObjectTypeWithJSDoc(properties: any, depth: number = 0):
60
60
  }
61
61
 
62
62
  export function generatePropertyJSDoc(
63
- propertyName: string,
63
+ _propertyName: string,
64
64
  propertySchema: any,
65
65
  indent: string = "",
66
- depth: number = 0
66
+ _depth: number = 0
67
67
  ): string {
68
68
  const comments: string[] = [];
69
69
 
@@ -122,4 +122,4 @@ function formatKey(key: string): string {
122
122
  return key;
123
123
  }
124
124
  return `"${key}"`;
125
- }
125
+ }
@@ -48,7 +48,7 @@ export function compile(ast: Program): string {
48
48
  if (statement.type === "VariableDeclaration") {
49
49
  parts.push(emitVariableDeclaration(statement, localFunctions));
50
50
  } else if (statement.type === "FunctionDeclaration") {
51
- parts.push(emitFunctionDeclaration(statement as FunctionDeclaration, localFunctions));
51
+ parts.push(emitFunctionDeclaration(statement, localFunctions));
52
52
  } else if (statement.type === "ReturnStatement" && statement.argument && isJsxRoot(statement.argument)) {
53
53
  parts.push(`return ${emitJsxRoot(statement.argument, localFunctions)};`);
54
54
  } else if (!hasDeclarations && statement.type === "ExpressionStatement" && isJsxRoot(statement.expression)) {
@@ -134,7 +134,7 @@ function emitAttributes(attributes: (JSXAttribute | JSXSpreadAttribute)[], local
134
134
  throw CompilationError.fromNode("Only simple JSX attributes allowed", attribute);
135
135
  }
136
136
 
137
- const key = attribute.name?.name as string;
137
+ const key = attribute.name?.name;
138
138
 
139
139
  let value: string;
140
140
  if (!attribute.value) {
@@ -142,7 +142,7 @@ function emitAttributes(attributes: (JSXAttribute | JSXSpreadAttribute)[], local
142
142
  } else if (attribute.value.type === "Literal") {
143
143
  value = JSON.stringify(attribute.value.value);
144
144
  } else if (attribute.value.type === "JSXExpressionContainer") {
145
- value = emitExpression(attribute.value.expression as CompilableExpression, localFunctions);
145
+ value = emitExpression(attribute.value.expression, localFunctions);
146
146
  } else {
147
147
  throw CompilationError.fromNode("Unsupported attribute value", attribute.value);
148
148
  }
@@ -174,7 +174,7 @@ function emitJsxChildren(children: JSXNode[], localFunctions: Set<string>): stri
174
174
  }
175
175
  } else if (isJsxExpressionContainer(child)) {
176
176
  if (!isJsxEmptyExpression(child.expression)) {
177
- result.push(emitExpression(child.expression as CompilableExpression, localFunctions));
177
+ result.push(emitExpression(child.expression, localFunctions));
178
178
  }
179
179
  } else if (isJsxElement(child)) {
180
180
  result.push(emitJsxElement(child, localFunctions));
@@ -226,16 +226,16 @@ function emitExpression(node: CompilableExpression, localFunctions: Set<string>)
226
226
  return "undefined";
227
227
  }
228
228
  if (element.type === "SpreadElement") {
229
- return `...${emitExpression(element.argument as CompilableExpression, localFunctions)}`;
229
+ return `...${emitExpression(element.argument, localFunctions)}`;
230
230
  }
231
- return emitExpression(element as CompilableExpression, localFunctions);
231
+ return emitExpression(element, localFunctions);
232
232
  })
233
233
  .join(", ")}]`;
234
234
  case "ObjectExpression": {
235
235
  const keyValuePairs = node.properties
236
236
  .map((property) => {
237
237
  if (property.type === "SpreadElement") {
238
- return `...${emitExpression(property.argument as CompilableExpression, localFunctions)}`;
238
+ return `...${emitExpression(property.argument, localFunctions)}`;
239
239
  }
240
240
  const key = getAstKeyString(property.key as Identifier | Literal);
241
241
  return `${key}: ${emitExpression(property.value, localFunctions)}`;
@@ -258,9 +258,9 @@ function emitExpression(node: CompilableExpression, localFunctions: Set<string>)
258
258
  const args = node.arguments
259
259
  .map((argument) => {
260
260
  if (argument.type === "SpreadElement") {
261
- return `...${emitExpression(argument.argument as CompilableExpression, localFunctions)}`;
261
+ return `...${emitExpression(argument.argument, localFunctions)}`;
262
262
  }
263
- return emitExpression(argument as CompilableExpression, localFunctions);
263
+ return emitExpression(argument, localFunctions);
264
264
  })
265
265
  .join(", ");
266
266
  return `${callee}(${args})`;
@@ -287,7 +287,7 @@ function emitVariableDeclaration(node: VariableDeclaration, localFunctions: Set<
287
287
  const decls = node.declarations
288
288
  .map((d) => {
289
289
  const name = (d.id as Identifier).name;
290
- const init = d.init ? emitExpression(d.init as CompilableExpression, localFunctions) : "undefined";
290
+ const init = d.init ? emitExpression(d.init, localFunctions) : "undefined";
291
291
  return `${name} = ${init}`;
292
292
  })
293
293
  .join(", ");
@@ -295,9 +295,9 @@ function emitVariableDeclaration(node: VariableDeclaration, localFunctions: Set<
295
295
  }
296
296
 
297
297
  function emitFunctionDeclaration(node: FunctionDeclaration, localFunctions: Set<string>): string {
298
- const name = node.id!.name;
298
+ const name = node.id.name;
299
299
  const params = node.params.map((p) => emitParam(p, localFunctions)).join(", ");
300
- const body = emitFunctionBody(node.body as BlockStatement, localFunctions);
300
+ const body = emitFunctionBody(node.body, localFunctions);
301
301
  return `function ${name}(${params}) ${body}`;
302
302
  }
303
303
 
@@ -312,11 +312,11 @@ function emitStatement(statement: Statement, localFunctions: Set<string>): strin
312
312
  if (!statement.argument) {
313
313
  return "return;";
314
314
  }
315
- return `return ${emitExpression(statement.argument as CompilableExpression, localFunctions)};`;
315
+ return `return ${emitExpression(statement.argument, localFunctions)};`;
316
316
  case "VariableDeclaration":
317
317
  return emitVariableDeclaration(statement, localFunctions);
318
318
  case "ExpressionStatement":
319
- return `${emitExpression(statement.expression as CompilableExpression, localFunctions)};`;
319
+ return `${emitExpression(statement.expression, localFunctions)};`;
320
320
  default:
321
321
  throw CompilationError.fromNode(`Unsupported statement: ${statement.type}`, statement);
322
322
  }
@@ -325,7 +325,7 @@ function emitStatement(statement: Statement, localFunctions: Set<string>): strin
325
325
  function emitParam(param: Pattern, localFunctions: Set<string>): string {
326
326
  switch (param.type) {
327
327
  case "Identifier":
328
- return (param as Identifier).name;
328
+ return param.name;
329
329
  case "ObjectPattern": {
330
330
  const props = (param as any).properties.map((p: any) => {
331
331
  if (p.type === "RestElement") {