jsxpression 0.1.8 → 0.1.11

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 (133) hide show
  1. package/lib/analyze/analysis-error.js +5 -1
  2. package/lib/analyze/analysis-error.js.map +1 -1
  3. package/lib/analyze/analysis-report.js +5 -1
  4. package/lib/analyze/analysis-report.js.map +1 -1
  5. package/lib/analyze/analyze.js +9 -6
  6. package/lib/analyze/analyze.js.map +1 -1
  7. package/lib/analyze/analyze.test.d.ts +2 -0
  8. package/lib/analyze/analyze.test.js +314 -312
  9. package/lib/analyze/analyze.test.js.map +1 -1
  10. package/lib/analyze/data/analyze.js +10 -7
  11. package/lib/analyze/data/analyze.js.map +1 -1
  12. package/lib/analyze/data/data-access.js +24 -20
  13. package/lib/analyze/data/data-access.js.map +1 -1
  14. package/lib/analyze/data/index.js +5 -1
  15. package/lib/analyze/data/index.js.map +1 -1
  16. package/lib/analyze/data/method-calls.js +20 -17
  17. package/lib/analyze/data/method-calls.js.map +1 -1
  18. package/lib/analyze/data/utils.js +29 -22
  19. package/lib/analyze/data/utils.js.map +1 -1
  20. package/lib/analyze/index.js +9 -3
  21. package/lib/analyze/index.js.map +1 -1
  22. package/lib/analyze/jsx/analyze.js +11 -8
  23. package/lib/analyze/jsx/analyze.js.map +1 -1
  24. package/lib/analyze/jsx/element-attributes.js +24 -21
  25. package/lib/analyze/jsx/element-attributes.js.map +1 -1
  26. package/lib/analyze/jsx/element-children.js +23 -20
  27. package/lib/analyze/jsx/element-children.js.map +1 -1
  28. package/lib/analyze/jsx/element-tags.js +15 -12
  29. package/lib/analyze/jsx/element-tags.js.map +1 -1
  30. package/lib/analyze/jsx/index.js +5 -1
  31. package/lib/analyze/jsx/index.js.map +1 -1
  32. package/lib/analyze/security/analyze.js +13 -10
  33. package/lib/analyze/security/analyze.js.map +1 -1
  34. package/lib/analyze/security/call-expressions.js +11 -8
  35. package/lib/analyze/security/call-expressions.js.map +1 -1
  36. package/lib/analyze/security/declarations.js +15 -12
  37. package/lib/analyze/security/declarations.js.map +1 -1
  38. package/lib/analyze/security/expressions.js +17 -14
  39. package/lib/analyze/security/expressions.js.map +1 -1
  40. package/lib/analyze/security/identifiers.js +13 -10
  41. package/lib/analyze/security/identifiers.js.map +1 -1
  42. package/lib/analyze/security/index.js +5 -1
  43. package/lib/analyze/security/index.js.map +1 -1
  44. package/lib/analyze/security/member-access.js +10 -7
  45. package/lib/analyze/security/member-access.js.map +1 -1
  46. package/lib/analyze/utils.d.ts +20 -0
  47. package/lib/analyze/utils.js +10 -4
  48. package/lib/analyze/utils.js.map +1 -1
  49. package/lib/analyze/validation-context.d.ts +13 -0
  50. package/lib/analyze/validation-context.js +5 -1
  51. package/lib/analyze/validation-context.js.map +1 -1
  52. package/lib/builtins.js +20 -9
  53. package/lib/builtins.js.map +1 -1
  54. package/lib/codegen/builtins/builtin-types.js +6 -3
  55. package/lib/codegen/builtins/builtin-types.js.map +1 -1
  56. package/lib/codegen/builtins/index.js +5 -1
  57. package/lib/codegen/builtins/index.js.map +1 -1
  58. package/lib/codegen/generate-typescript-definitions.js +7 -4
  59. package/lib/codegen/generate-typescript-definitions.js.map +1 -1
  60. package/lib/codegen/generate-typescript-definitions.test.js +192 -190
  61. package/lib/codegen/generate-typescript-definitions.test.js.map +1 -1
  62. package/lib/codegen/index.js +5 -1
  63. package/lib/codegen/index.js.map +1 -1
  64. package/lib/codegen/schema/component-types.js +6 -3
  65. package/lib/codegen/schema/component-types.js.map +1 -1
  66. package/lib/codegen/schema/data-types.js +6 -3
  67. package/lib/codegen/schema/data-types.js.map +1 -1
  68. package/lib/codegen/schema/index.js +7 -2
  69. package/lib/codegen/schema/index.js.map +1 -1
  70. package/lib/codegen/schema/utils.js +8 -3
  71. package/lib/codegen/schema/utils.js.map +1 -1
  72. package/lib/compile/compilation-error.d.ts +17 -0
  73. package/lib/compile/compilation-error.js +5 -1
  74. package/lib/compile/compilation-error.js.map +1 -1
  75. package/lib/compile/compile.js +21 -18
  76. package/lib/compile/compile.js.map +1 -1
  77. package/lib/compile/compile.test.d.ts +2 -0
  78. package/lib/compile/compile.test.js +112 -110
  79. package/lib/compile/compile.test.js.map +1 -1
  80. package/lib/compile/index.js +7 -2
  81. package/lib/compile/index.js.map +1 -1
  82. package/lib/evaluate/evaluate.js +11 -8
  83. package/lib/evaluate/evaluate.js.map +1 -1
  84. package/lib/evaluate/evaluate.test.d.ts +2 -0
  85. package/lib/evaluate/evaluate.test.js +58 -56
  86. package/lib/evaluate/evaluate.test.js.map +1 -1
  87. package/lib/evaluate/evaluation-error.js +5 -1
  88. package/lib/evaluate/evaluation-error.js.map +1 -1
  89. package/lib/evaluate/index.js +7 -2
  90. package/lib/evaluate/index.js.map +1 -1
  91. package/lib/index.js +15 -6
  92. package/lib/index.js.map +1 -1
  93. package/lib/jsx.js +22 -10
  94. package/lib/jsx.js.map +1 -1
  95. package/lib/parse/index.js +7 -2
  96. package/lib/parse/index.js.map +1 -1
  97. package/lib/parse/parse-error.d.ts +10 -0
  98. package/lib/parse/parse-error.js +5 -1
  99. package/lib/parse/parse-error.js.map +1 -1
  100. package/lib/parse/parse.js +13 -7
  101. package/lib/parse/parse.js.map +1 -1
  102. package/lib/parse/parse.test.d.ts +2 -0
  103. package/lib/parse/parse.test.js +58 -56
  104. package/lib/parse/parse.test.js.map +1 -1
  105. package/lib/render.js +12 -9
  106. package/lib/render.js.map +1 -1
  107. package/lib/render.test.d.ts +2 -0
  108. package/lib/render.test.js +64 -62
  109. package/lib/render.test.js.map +1 -1
  110. package/lib/schema.js +38 -18
  111. package/lib/schema.js.map +1 -1
  112. package/lib/traverse.js +11 -8
  113. package/lib/traverse.js.map +1 -1
  114. package/lib/traverse.test.d.ts +2 -0
  115. package/lib/traverse.test.js +36 -34
  116. package/lib/traverse.test.js.map +1 -1
  117. package/lib/types.d.ts +12 -0
  118. package/lib/types.js +2 -1
  119. package/lib/validate.js +10 -7
  120. package/lib/validate.js.map +1 -1
  121. package/package.json +7 -7
  122. package/lib/codegen/builtin-types.d.ts +0 -11
  123. package/lib/codegen/builtin-types.d.ts.map +0 -1
  124. package/lib/codegen/builtin-types.js +0 -151
  125. package/lib/codegen/builtin-types.js.map +0 -1
  126. package/lib/codegen/declare-types.d.ts +0 -20
  127. package/lib/codegen/declare-types.d.ts.map +0 -1
  128. package/lib/codegen/declare-types.js +0 -299
  129. package/lib/codegen/declare-types.js.map +0 -1
  130. package/lib/codegen/schema-to-types.d.ts +0 -14
  131. package/lib/codegen/schema-to-types.d.ts.map +0 -1
  132. package/lib/codegen/schema-to-types.js +0 -203
  133. package/lib/codegen/schema-to-types.js.map +0 -1
package/lib/schema.js CHANGED
@@ -1,45 +1,65 @@
1
- export function isElementAllowed(schema, tagName) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isElementAllowed = isElementAllowed;
4
+ exports.getElementSchema = getElementSchema;
5
+ exports.getAllowedAttributes = getAllowedAttributes;
6
+ exports.isAttributeAllowed = isAttributeAllowed;
7
+ exports.getAllowedChildren = getAllowedChildren;
8
+ exports.canHaveChildren = canHaveChildren;
9
+ exports.isSelfClosing = isSelfClosing;
10
+ exports.isChildAllowed = isChildAllowed;
11
+ exports.getAllElements = getAllElements;
12
+ exports.getElementConfig = getElementConfig;
13
+ exports.getAttributeSchema = getAttributeSchema;
14
+ exports.getRequiredAttributes = getRequiredAttributes;
15
+ exports.getOptionalAttributes = getOptionalAttributes;
16
+ exports.isAttributeRequired = isAttributeRequired;
17
+ exports.getDataSchema = getDataSchema;
18
+ exports.getPropertyAtPath = getPropertyAtPath;
19
+ exports.getAvailablePropertiesAtPath = getAvailablePropertiesAtPath;
20
+ exports.getEnumValues = getEnumValues;
21
+ function isElementAllowed(schema, tagName) {
2
22
  return !!schema.elements?.[tagName];
3
23
  }
4
- export function getElementSchema(schema, tagName) {
24
+ function getElementSchema(schema, tagName) {
5
25
  return schema.elements?.[tagName];
6
26
  }
7
- export function getAllowedAttributes(schema, tagName) {
27
+ function getAllowedAttributes(schema, tagName) {
8
28
  const elementConfig = getElementSchema(schema, tagName);
9
29
  return elementConfig?.props ? Object.keys(elementConfig.props) : [];
10
30
  }
11
- export function isAttributeAllowed(schema, tagName, attributeName) {
31
+ function isAttributeAllowed(schema, tagName, attributeName) {
12
32
  const allowedAttributes = getAllowedAttributes(schema, tagName);
13
33
  return allowedAttributes.includes(attributeName);
14
34
  }
15
- export function getAllowedChildren(schema, tagName) {
35
+ function getAllowedChildren(schema, tagName) {
16
36
  const elementConfig = getElementSchema(schema, tagName);
17
37
  return elementConfig?.allowedChildren;
18
38
  }
19
- export function canHaveChildren(schema, tagName) {
39
+ function canHaveChildren(schema, tagName) {
20
40
  const allowedChildren = getAllowedChildren(schema, tagName);
21
41
  return allowedChildren === undefined || allowedChildren.length > 0;
22
42
  }
23
- export function isSelfClosing(schema, tagName) {
43
+ function isSelfClosing(schema, tagName) {
24
44
  const allowedChildren = getAllowedChildren(schema, tagName);
25
45
  return allowedChildren !== undefined && allowedChildren.length === 0;
26
46
  }
27
- export function isChildAllowed(schema, parentTag, childTag) {
47
+ function isChildAllowed(schema, parentTag, childTag) {
28
48
  const allowedChildren = getAllowedChildren(schema, parentTag);
29
49
  return allowedChildren === undefined || allowedChildren.includes(childTag);
30
50
  }
31
51
  // New schema utilities for enhanced validation
32
- export function getAllElements(schema) {
52
+ function getAllElements(schema) {
33
53
  return schema.elements ? Object.keys(schema.elements) : [];
34
54
  }
35
- export function getElementConfig(schema, tagName) {
55
+ function getElementConfig(schema, tagName) {
36
56
  return getElementSchema(schema, tagName);
37
57
  }
38
- export function getAttributeSchema(schema, tagName, attributeName) {
58
+ function getAttributeSchema(schema, tagName, attributeName) {
39
59
  const elementSchema = getElementSchema(schema, tagName);
40
60
  return elementSchema?.props?.[attributeName];
41
61
  }
42
- export function getRequiredAttributes(schema, tagName) {
62
+ function getRequiredAttributes(schema, tagName) {
43
63
  const elementSchema = getElementSchema(schema, tagName);
44
64
  if (!elementSchema?.props) {
45
65
  return [];
@@ -52,19 +72,19 @@ export function getRequiredAttributes(schema, tagName) {
52
72
  }
53
73
  return required;
54
74
  }
55
- export function getOptionalAttributes(schema, tagName) {
75
+ function getOptionalAttributes(schema, tagName) {
56
76
  const allAttributes = getAllowedAttributes(schema, tagName);
57
77
  const requiredAttributes = getRequiredAttributes(schema, tagName);
58
78
  return allAttributes.filter((attr) => !requiredAttributes.includes(attr));
59
79
  }
60
- export function isAttributeRequired(schema, tagName, attributeName) {
80
+ function isAttributeRequired(schema, tagName, attributeName) {
61
81
  const requiredAttributes = getRequiredAttributes(schema, tagName);
62
82
  return requiredAttributes.includes(attributeName);
63
83
  }
64
- export function getDataSchema(schema) {
84
+ function getDataSchema(schema) {
65
85
  return schema.data;
66
86
  }
67
- export function getPropertyAtPath(schema, path) {
87
+ function getPropertyAtPath(schema, path) {
68
88
  if (!schema.data || path.length === 0) {
69
89
  return undefined;
70
90
  }
@@ -79,7 +99,7 @@ export function getPropertyAtPath(schema, path) {
79
99
  }
80
100
  return current;
81
101
  }
82
- export function getAvailablePropertiesAtPath(schema, path) {
102
+ function getAvailablePropertiesAtPath(schema, path) {
83
103
  if (!schema.data) {
84
104
  return [];
85
105
  }
@@ -92,7 +112,7 @@ export function getAvailablePropertiesAtPath(schema, path) {
92
112
  }
93
113
  return [];
94
114
  }
95
- export function getEnumValues(property) {
115
+ function getEnumValues(property) {
96
116
  switch (property.type) {
97
117
  case "string":
98
118
  return property.enum;
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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"}
package/lib/traverse.js CHANGED
@@ -1,8 +1,11 @@
1
- import { simple, base } from "acorn-walk";
2
- import { isJsxText, isJsxEmptyExpression, } from "./jsx.js";
3
- export function traverse(ast, visitors) {
4
- simple(ast, visitors, {
5
- ...base,
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.traverse = traverse;
4
+ const acorn_walk_1 = require("acorn-walk");
5
+ const jsx_js_1 = require("./jsx.js");
6
+ function traverse(ast, visitors) {
7
+ (0, acorn_walk_1.simple)(ast, visitors, {
8
+ ...acorn_walk_1.base,
6
9
  JSXAttribute(node, state, visit) {
7
10
  if (node.value) {
8
11
  visit(node.value, state);
@@ -16,19 +19,19 @@ export function traverse(ast, visitors) {
16
19
  }
17
20
  }
18
21
  for (const child of node.children) {
19
- if (!isJsxText(child)) {
22
+ if (!(0, jsx_js_1.isJsxText)(child)) {
20
23
  visit(child, state);
21
24
  }
22
25
  }
23
26
  },
24
27
  JSXExpressionContainer(node, state, visit) {
25
- if (!isJsxEmptyExpression(node.expression)) {
28
+ if (!(0, jsx_js_1.isJsxEmptyExpression)(node.expression)) {
26
29
  visit(node.expression, state);
27
30
  }
28
31
  },
29
32
  JSXFragment(node, state, visit) {
30
33
  for (const child of node.children) {
31
- if (!isJsxText(child)) {
34
+ if (!(0, jsx_js_1.isJsxText)(child)) {
32
35
  visit(child, state);
33
36
  }
34
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"traverse.js","sourceRoot":"","sources":["../src/traverse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAqC,MAAM,YAAY,CAAC;AAC7E,OAAO,EAOL,SAAS,EACT,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAwBlB,MAAM,UAAU,QAAQ,CAAC,GAAY,EAAE,QAAyC;IAC9E,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE;QACpB,GAAG,IAAI;QACP,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;YAC7B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;YAC3B,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;YAChC,IAAI,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/D,KAAK,MAAM,SAAS,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;oBAClD,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QACD,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;YACvC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;YAC5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QACD,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;YAClC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;YACnC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;KAC2B,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"traverse.js","sourceRoot":"","sources":["../src/traverse.ts"],"names":[],"mappings":";;AAmCA,4BA0CC;AA5ED,2CAA6E;AAC7E,qCASkB;AAwBlB,SAAgB,QAAQ,CAAC,GAAY,EAAE,QAAyC;IAC9E,IAAA,mBAAM,EAAC,GAAG,EAAE,QAAQ,EAAE;QACpB,GAAG,iBAAI;QACP,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;YAC7B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;YAC3B,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;YAChC,IAAI,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/D,KAAK,MAAM,SAAS,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;oBAClD,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,IAAI,CAAC,IAAA,kBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QACD,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;YACvC,IAAI,CAAC,IAAA,6BAAoB,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;YAC5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,IAAI,CAAC,IAAA,kBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QACD,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;YAClC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;YACnC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;KAC2B,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=traverse.test.d.ts.map
@@ -1,71 +1,73 @@
1
- import { describe, it, expect } from "vitest";
2
- import { traverse } from "./traverse.js";
3
- import { parse } from "./parse/index.js";
4
- describe("traverse", () => {
5
- it("should call JSXElement visitor", () => {
6
- const ast = parse("<Text>Hello</Text>");
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const traverse_js_1 = require("./traverse.js");
5
+ const index_js_1 = require("./parse/index.js");
6
+ (0, vitest_1.describe)("traverse", () => {
7
+ (0, vitest_1.it)("should call JSXElement visitor", () => {
8
+ const ast = (0, index_js_1.parse)("<Text>Hello</Text>");
7
9
  const visits = [];
8
- traverse(ast, {
10
+ (0, traverse_js_1.traverse)(ast, {
9
11
  JSXElement() {
10
12
  visits.push("JSXElement");
11
13
  },
12
14
  });
13
- expect(visits).toContain("JSXElement");
15
+ (0, vitest_1.expect)(visits).toContain("JSXElement");
14
16
  });
15
- it("should call JSXFragment visitor", () => {
16
- const ast = parse("<>Fragment</>");
17
+ (0, vitest_1.it)("should call JSXFragment visitor", () => {
18
+ const ast = (0, index_js_1.parse)("<>Fragment</>");
17
19
  const visits = [];
18
- traverse(ast, {
20
+ (0, traverse_js_1.traverse)(ast, {
19
21
  JSXFragment() {
20
22
  visits.push("JSXFragment");
21
23
  },
22
24
  });
23
- expect(visits).toContain("JSXFragment");
25
+ (0, vitest_1.expect)(visits).toContain("JSXFragment");
24
26
  });
25
- it("should call Identifier visitor for expressions", () => {
26
- const ast = parse("<Text>{props.value}</Text>");
27
+ (0, vitest_1.it)("should call Identifier visitor for expressions", () => {
28
+ const ast = (0, index_js_1.parse)("<Text>{props.value}</Text>");
27
29
  const identifiers = [];
28
- traverse(ast, {
30
+ (0, traverse_js_1.traverse)(ast, {
29
31
  Identifier(node) {
30
32
  identifiers.push(node.name);
31
33
  },
32
34
  });
33
- expect(identifiers).toContain("props");
35
+ (0, vitest_1.expect)(identifiers).toContain("props");
34
36
  });
35
- it("should call JSXAttribute visitor", () => {
36
- const ast = parse("<Text x={10} y={20}>Hello</Text>");
37
+ (0, vitest_1.it)("should call JSXAttribute visitor", () => {
38
+ const ast = (0, index_js_1.parse)("<Text x={10} y={20}>Hello</Text>");
37
39
  let attributeCount = 0;
38
- traverse(ast, {
40
+ (0, traverse_js_1.traverse)(ast, {
39
41
  JSXAttribute() {
40
42
  attributeCount++;
41
43
  },
42
44
  });
43
- expect(attributeCount).toBe(2);
45
+ (0, vitest_1.expect)(attributeCount).toBe(2);
44
46
  });
45
- it("should call JSXExpressionContainer visitor", () => {
46
- const ast = parse("<Text>{props.value}</Text>");
47
+ (0, vitest_1.it)("should call JSXExpressionContainer visitor", () => {
48
+ const ast = (0, index_js_1.parse)("<Text>{props.value}</Text>");
47
49
  const visits = [];
48
- traverse(ast, {
50
+ (0, traverse_js_1.traverse)(ast, {
49
51
  JSXExpressionContainer() {
50
52
  visits.push("JSXExpressionContainer");
51
53
  },
52
54
  });
53
- expect(visits).toContain("JSXExpressionContainer");
55
+ (0, vitest_1.expect)(visits).toContain("JSXExpressionContainer");
54
56
  });
55
- it("should traverse nested JSX elements", () => {
56
- const ast = parse("<Outer><Inner>Text</Inner></Outer>");
57
+ (0, vitest_1.it)("should traverse nested JSX elements", () => {
58
+ const ast = (0, index_js_1.parse)("<Outer><Inner>Text</Inner></Outer>");
57
59
  let jsxCount = 0;
58
- traverse(ast, {
60
+ (0, traverse_js_1.traverse)(ast, {
59
61
  JSXElement() {
60
62
  jsxCount++;
61
63
  },
62
64
  });
63
- expect(jsxCount).toBe(2);
65
+ (0, vitest_1.expect)(jsxCount).toBe(2);
64
66
  });
65
- it("should handle multiple visitor types simultaneously", () => {
66
- const ast = parse("<Text x={props.value}>Hello</Text>");
67
+ (0, vitest_1.it)("should handle multiple visitor types simultaneously", () => {
68
+ const ast = (0, index_js_1.parse)("<Text x={props.value}>Hello</Text>");
67
69
  const visits = [];
68
- traverse(ast, {
70
+ (0, traverse_js_1.traverse)(ast, {
69
71
  JSXElement() {
70
72
  visits.push("JSXElement");
71
73
  },
@@ -76,9 +78,9 @@ describe("traverse", () => {
76
78
  visits.push("Identifier:" + node.name);
77
79
  },
78
80
  });
79
- expect(visits).toContain("JSXElement");
80
- expect(visits).toContain("JSXAttribute");
81
- expect(visits).toContain("Identifier:props");
81
+ (0, vitest_1.expect)(visits).toContain("JSXElement");
82
+ (0, vitest_1.expect)(visits).toContain("JSXAttribute");
83
+ (0, vitest_1.expect)(visits).toContain("Identifier:props");
82
84
  });
83
85
  });
84
86
  //# sourceMappingURL=traverse.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"traverse.test.js","sourceRoot":"","sources":["../src/traverse.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"traverse.test.js","sourceRoot":"","sources":["../src/traverse.test.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ export type PropsDict = Record<string, unknown>;
2
+ export type DataDict = Record<string, unknown>;
3
+ export type ComponentDict = Record<string, Component>;
4
+ export type CreateElement<T = any> = (type: Component, props?: PropsDict, ...children: any[]) => T;
5
+ export type Node = {
6
+ type: string;
7
+ props: PropsDict;
8
+ children: Node[];
9
+ };
10
+ export type H = (type: string, props?: PropsDict, ...children: Node[]) => Node;
11
+ export type Component = (...args: any[]) => any;
12
+ //# sourceMappingURL=types.d.ts.map
package/lib/types.js CHANGED
@@ -1,2 +1,3 @@
1
- export {};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
2
3
  //# sourceMappingURL=types.js.map
package/lib/validate.js CHANGED
@@ -1,5 +1,8 @@
1
- import { analyze, AnalysisError } from "./analyze/index.js";
2
- import { parse, ParseError } from "./parse/index.js";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validate = validate;
4
+ const index_js_1 = require("./analyze/index.js");
5
+ const index_js_2 = require("./parse/index.js");
3
6
  /**
4
7
  * Validates JSX expression syntax and schema compliance without execution.
5
8
  *
@@ -24,17 +27,17 @@ import { parse, ParseError } from "./parse/index.js";
24
27
  * }
25
28
  * ```
26
29
  */
27
- export function validate(source, schema, { minSeverity = 3 } = {}) {
30
+ function validate(source, schema, { minSeverity = 3 } = {}) {
28
31
  try {
29
- const ast = parse(source);
30
- const report = analyze(ast, schema);
32
+ const ast = (0, index_js_2.parse)(source);
33
+ const report = (0, index_js_1.analyze)(ast, schema);
31
34
  if (report.hasIssues(minSeverity)) {
32
- return { ok: false, error: AnalysisError.fromReport(report) };
35
+ return { ok: false, error: index_js_1.AnalysisError.fromReport(report) };
33
36
  }
34
37
  return { ok: true };
35
38
  }
36
39
  catch (error) {
37
- if (error instanceof ParseError) {
40
+ if (error instanceof index_js_2.ParseError) {
38
41
  return { ok: false, error };
39
42
  }
40
43
  throw error;
@@ -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":";;AAoCA,4BAsBC;AA1DD,iDAA4D;AAC5D,+CAAqD;AAWrD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,QAAQ,CACtB,MAAc,EACd,MAAc,EAEd,EAAE,WAAW,GAAG,CAAC,KAAsB,EAAE;IAEzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAA,gBAAK,EAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAA,kBAAO,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAEpC,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAa,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,qBAAU,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,16 +1,19 @@
1
1
  {
2
2
  "name": "jsxpression",
3
- "version": "0.1.8",
3
+ "version": "0.1.11",
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",
7
7
  "license": "MIT",
8
8
  "main": "lib/index.js",
9
+ "sideEffects": false,
9
10
  "types": "lib/index",
10
- "type": "module",
11
11
  "exports": {
12
12
  ".": "./lib/index.js"
13
13
  },
14
+ "scripts": {
15
+ "test": "vitest run src/**/*.test.ts"
16
+ },
14
17
  "files": [
15
18
  "/lib",
16
19
  "/src",
@@ -22,8 +25,5 @@
22
25
  "acorn-jsx": "5.3.2",
23
26
  "acorn-walk": "8.3.4"
24
27
  },
25
- "gitHead": "4c1cdfd1bde58b9cc64d88f4bc01b2e32fcd75e1",
26
- "scripts": {
27
- "test": "vitest run src/**/*.test.ts"
28
- }
29
- }
28
+ "gitHead": "07369c92f3faed8f1adfc92b37ff7f8a040cf5e9"
29
+ }
@@ -1,11 +0,0 @@
1
- /**
2
- * Generate TypeScript .d.ts declarations for builtin types
3
- * Pure type generation without Monaco dependencies
4
- */
5
- /**
6
- * Generate essential builtin type declarations (Math, String, Array)
7
- * Uses direct declarations (not inside declare global) for better Monaco support
8
- * Dynamically generated from builtins schema
9
- */
10
- export declare function declareBuiltinTypes(): string;
11
- //# sourceMappingURL=builtin-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"builtin-types.d.ts","sourceRoot":"","sources":["../../src/codegen/builtin-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAyJH;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAwB5C"}
@@ -1,151 +0,0 @@
1
- "use strict";
2
- /**
3
- * Generate TypeScript .d.ts declarations for builtin types
4
- * Pure type generation without Monaco dependencies
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.declareBuiltinTypes = declareBuiltinTypes;
8
- const builtins_js_1 = require("../builtins.js");
9
- /**
10
- * Generate JSDoc comment from description
11
- */
12
- function generateJSDoc(description, indent = "") {
13
- if (!description)
14
- return "";
15
- return `${indent}/**\n${indent} * ${description}\n${indent} */\n`;
16
- }
17
- /**
18
- * Generate callback signature from callback schema
19
- */
20
- function generateCallbackSignature(callback) {
21
- const params = callback.params.map((p) => `${p.name}: ${p.type}`).join(", ");
22
- return `(${params}) => ${callback.returnType}`;
23
- }
24
- /**
25
- * Extract generic type parameters from method
26
- */
27
- function extractGenerics(method) {
28
- if (!method.callback)
29
- return "";
30
- // Check if callback returns or uses U (generic type parameter)
31
- const usesU = method.callback.returnType === "U" || method.callback.params.some((p) => p.type === "U");
32
- return usesU ? "<U>" : "";
33
- }
34
- /**
35
- * Generate parameter signature
36
- */
37
- function generateParam(param, callback) {
38
- let typeStr;
39
- // If this is a callback parameter and we have callback schema, generate proper signature
40
- if (param.types.includes("function") && callback) {
41
- typeStr = generateCallbackSignature(callback);
42
- }
43
- else {
44
- typeStr = param.types.join(" | ");
45
- }
46
- const optional = !param.required ? "?" : "";
47
- const variadic = param.variadic ? "..." : "";
48
- return `${variadic}${param.name}${optional}: ${typeStr}`;
49
- }
50
- /**
51
- * Generate method signature
52
- */
53
- function generateMethod(methodName, method, indent = " ") {
54
- let result = "";
55
- // Add method description as JSDoc
56
- if (method.description) {
57
- result += generateJSDoc(method.description, indent);
58
- }
59
- // Extract generic type parameters
60
- const generics = extractGenerics(method);
61
- // Generate parameters (pass callback schema for function params)
62
- const params = method.params.map((p) => generateParam(p, method.callback)).join(", ");
63
- // Generate method signature
64
- result += `${indent}${methodName}${generics}(${params}): ${method.returnType};`;
65
- return result;
66
- }
67
- /**
68
- * Generate property signature
69
- */
70
- function generateProperty(propertyName, property, indent = " ") {
71
- let result = "";
72
- // Add property description as JSDoc
73
- if (property.description) {
74
- result += generateJSDoc(property.description, indent);
75
- }
76
- // Generate property signature
77
- const readonly = property.readonly ? "readonly " : "";
78
- result += `${indent}${readonly}${propertyName}: ${property.type};`;
79
- return result;
80
- }
81
- /**
82
- * Generate declarations for a namespace (Math, Array.prototype, String.prototype)
83
- */
84
- function generateNamespaceDeclaration(namespace, schema) {
85
- let result = "";
86
- if (schema.intrinsic) {
87
- // Generate interface for prototypes (String, Array)
88
- const interfaceName = namespace.replace(".prototype", "");
89
- const genericParam = interfaceName === "Array" ? "<T>" : "";
90
- result += `interface ${interfaceName}${genericParam} {\n`;
91
- // Add properties
92
- if (schema.properties) {
93
- for (const [propName, prop] of Object.entries(schema.properties)) {
94
- result += generateProperty(propName, prop) + "\n";
95
- }
96
- }
97
- // Add methods
98
- if (schema.methods) {
99
- for (const [methodName, method] of Object.entries(schema.methods)) {
100
- result += generateMethod(methodName, method) + "\n";
101
- }
102
- }
103
- result += "}\n";
104
- }
105
- else {
106
- // Generate declare const for global objects (Math)
107
- result += `declare const ${namespace}: {\n`;
108
- // Add properties
109
- if (schema.properties) {
110
- for (const [propName, prop] of Object.entries(schema.properties)) {
111
- result += generateProperty(propName, prop) + "\n";
112
- }
113
- }
114
- // Add methods
115
- if (schema.methods) {
116
- for (const [methodName, method] of Object.entries(schema.methods)) {
117
- result += generateMethod(methodName, method) + "\n";
118
- }
119
- }
120
- result += "};\n";
121
- }
122
- return result;
123
- }
124
- /**
125
- * Generate essential builtin type declarations (Math, String, Array)
126
- * Uses direct declarations (not inside declare global) for better Monaco support
127
- * Dynamically generated from builtins schema
128
- */
129
- function declareBuiltinTypes() {
130
- const builtins = (0, builtins_js_1.getBuiltins)();
131
- let declarations = `// Essential builtin functions for JSX expressions
132
- // Dynamically generated from builtins schema
133
-
134
- // Iterator interfaces for array iteration support
135
- interface Iterator<T> {
136
- next(): IteratorResult<T>;
137
- }
138
-
139
- interface IteratorResult<T> {
140
- done: boolean;
141
- value: T;
142
- }
143
-
144
- `;
145
- // Generate declarations for each namespace
146
- for (const [namespace, schema] of Object.entries(builtins)) {
147
- declarations += generateNamespaceDeclaration(namespace, schema) + "\n";
148
- }
149
- return declarations;
150
- }
151
- //# sourceMappingURL=builtin-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"builtin-types.js","sourceRoot":"","sources":["../../src/codegen/builtin-types.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Generate TypeScript .d.ts declarations from JSXExpression schema
3
- * Main public API: declareTypes(schema, options)
4
- */
5
- import type { Schema } from "../schema.js";
6
- export type JSXExpressionSchema = Schema;
7
- export interface DeclareTypesOptions {
8
- includeBuiltins?: boolean;
9
- namespace?: string;
10
- componentPrefix?: string;
11
- allowedStringMethods?: string[];
12
- allowedArrayMethods?: string[];
13
- allowedMathMethods?: string[];
14
- }
15
- /**
16
- * Main public API: Generate complete TypeScript declarations for JSXExpression
17
- * This is the primary function that should be exported from jsxpression
18
- */
19
- export declare function declareTypes(schema: Schema, options?: DeclareTypesOptions): string;
20
- //# sourceMappingURL=declare-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"declare-types.d.ts","sourceRoot":"","sources":["../../src/codegen/declare-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEzC,MAAM,WAAW,mBAAmB;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,MAAM,CAqLtF"}