jsxpression 0.1.0 → 0.1.1

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 (199) hide show
  1. package/lib/analyze/analysis-error.d.ts +7 -0
  2. package/lib/analyze/analysis-error.d.ts.map +1 -1
  3. package/lib/analyze/analysis-error.js +26 -0
  4. package/lib/analyze/analysis-error.js.map +1 -0
  5. package/lib/analyze/analysis-report.d.ts +2 -2
  6. package/lib/analyze/analysis-report.d.ts.map +1 -1
  7. package/lib/analyze/analyze.d.ts +5 -0
  8. package/lib/analyze/analyze.d.ts.map +1 -1
  9. package/lib/analyze/analyze.js +11 -0
  10. package/lib/analyze/analyze.js.map +1 -0
  11. package/lib/analyze/analyze.test.js +312 -312
  12. package/lib/analyze/analyze.test.js.map +1 -1
  13. package/lib/analyze/data/analyze.d.ts +5 -0
  14. package/lib/analyze/data/analyze.d.ts.map +1 -1
  15. package/lib/analyze/data/analyze.js +12 -0
  16. package/lib/analyze/data/analyze.js.map +1 -0
  17. package/lib/analyze/data/data-access.d.ts +7 -0
  18. package/lib/analyze/data/data-access.d.ts.map +1 -1
  19. package/lib/analyze/data/data-access.js +275 -0
  20. package/lib/analyze/data/data-access.js.map +1 -0
  21. package/lib/analyze/data/index.d.ts +2 -0
  22. package/lib/analyze/data/index.d.ts.map +1 -1
  23. package/lib/analyze/data/index.js +6 -0
  24. package/lib/analyze/data/index.js.map +1 -0
  25. package/lib/analyze/data/method-calls.d.ts +6 -0
  26. package/lib/analyze/data/method-calls.d.ts.map +1 -1
  27. package/lib/analyze/data/method-calls.js +58 -0
  28. package/lib/analyze/data/method-calls.js.map +1 -0
  29. package/lib/analyze/data/utils.d.ts +10 -0
  30. package/lib/analyze/data/utils.d.ts.map +1 -1
  31. package/lib/analyze/data/utils.js +212 -0
  32. package/lib/analyze/data/utils.js.map +1 -0
  33. package/lib/analyze/index.d.ts +4 -0
  34. package/lib/analyze/index.d.ts.map +1 -1
  35. package/lib/analyze/index.js +10 -0
  36. package/lib/analyze/index.js.map +1 -0
  37. package/lib/analyze/jsx/analyze.d.ts +5 -0
  38. package/lib/analyze/jsx/analyze.d.ts.map +1 -1
  39. package/lib/analyze/jsx/analyze.js +13 -0
  40. package/lib/analyze/jsx/analyze.js.map +1 -0
  41. package/lib/analyze/jsx/element-attributes.d.ts +6 -0
  42. package/lib/analyze/jsx/element-attributes.d.ts.map +1 -1
  43. package/lib/analyze/jsx/element-attributes.js +20 -20
  44. package/lib/analyze/jsx/element-attributes.js.map +1 -1
  45. package/lib/analyze/jsx/element-children.d.ts +6 -0
  46. package/lib/analyze/jsx/element-children.d.ts.map +1 -1
  47. package/lib/analyze/jsx/element-children.js +69 -0
  48. package/lib/analyze/jsx/element-children.js.map +1 -0
  49. package/lib/analyze/jsx/element-tags.d.ts +6 -0
  50. package/lib/analyze/jsx/element-tags.d.ts.map +1 -1
  51. package/lib/analyze/jsx/element-tags.js +41 -0
  52. package/lib/analyze/jsx/element-tags.js.map +1 -0
  53. package/lib/analyze/jsx/index.d.ts +2 -0
  54. package/lib/analyze/jsx/index.d.ts.map +1 -1
  55. package/lib/analyze/jsx/index.js +6 -0
  56. package/lib/analyze/jsx/index.js.map +1 -0
  57. package/lib/analyze/security/analyze.d.ts +5 -0
  58. package/lib/analyze/security/analyze.d.ts.map +1 -1
  59. package/lib/analyze/security/analyze.js +15 -0
  60. package/lib/analyze/security/analyze.js.map +1 -0
  61. package/lib/analyze/security/call-expressions.d.ts +6 -0
  62. package/lib/analyze/security/call-expressions.d.ts.map +1 -1
  63. package/lib/analyze/security/call-expressions.js +23 -0
  64. package/lib/analyze/security/call-expressions.js.map +1 -0
  65. package/lib/analyze/security/declarations.d.ts +6 -0
  66. package/lib/analyze/security/declarations.d.ts.map +1 -1
  67. package/lib/analyze/security/declarations.js +31 -0
  68. package/lib/analyze/security/declarations.js.map +1 -0
  69. package/lib/analyze/security/expressions.d.ts +6 -0
  70. package/lib/analyze/security/expressions.d.ts.map +1 -1
  71. package/lib/analyze/security/expressions.js +52 -0
  72. package/lib/analyze/security/expressions.js.map +1 -0
  73. package/lib/analyze/security/identifiers.d.ts +6 -0
  74. package/lib/analyze/security/identifiers.d.ts.map +1 -1
  75. package/lib/analyze/security/identifiers.js +87 -0
  76. package/lib/analyze/security/identifiers.js.map +1 -0
  77. package/lib/analyze/security/index.d.ts +2 -0
  78. package/lib/analyze/security/index.d.ts.map +1 -1
  79. package/lib/analyze/security/index.js +6 -0
  80. package/lib/analyze/security/index.js.map +1 -0
  81. package/lib/analyze/security/member-access.d.ts +6 -0
  82. package/lib/analyze/security/member-access.d.ts.map +1 -1
  83. package/lib/analyze/security/member-access.js +24 -0
  84. package/lib/analyze/security/member-access.js.map +1 -0
  85. package/lib/analyze/utils.d.ts.map +1 -0
  86. package/lib/analyze/utils.js +92 -0
  87. package/lib/analyze/utils.js.map +1 -0
  88. package/lib/analyze/validation-context.d.ts.map +1 -0
  89. package/lib/analyze/validation-context.js +27 -0
  90. package/lib/analyze/validation-context.js.map +1 -0
  91. package/lib/codegen/generate-typescript-definitions.test.js +190 -190
  92. package/lib/codegen/generate-typescript-definitions.test.js.map +1 -1
  93. package/lib/compile/compilation-error.d.ts.map +1 -0
  94. package/lib/compile/compilation-error.js +28 -0
  95. package/lib/compile/compilation-error.js.map +1 -0
  96. package/lib/compile/compile.d.ts +3 -0
  97. package/lib/compile/compile.d.ts.map +1 -1
  98. package/lib/compile/compile.js +17 -17
  99. package/lib/compile/compile.js.map +1 -1
  100. package/lib/compile/compile.test.js +110 -110
  101. package/lib/compile/compile.test.js.map +1 -1
  102. package/lib/compile/index.d.ts +3 -0
  103. package/lib/compile/index.d.ts.map +1 -0
  104. package/lib/compile/index.js +8 -0
  105. package/lib/compile/index.js.map +1 -0
  106. package/lib/evaluate/evaluate.js +9 -5
  107. package/lib/evaluate/evaluate.js.map +1 -0
  108. package/lib/evaluate/evaluate.test.d.ts.map +1 -0
  109. package/lib/evaluate/evaluate.test.js +252 -0
  110. package/lib/evaluate/evaluate.test.js.map +1 -0
  111. package/lib/evaluate/evaluation-error.js +6 -1
  112. package/lib/evaluate/evaluation-error.js.map +1 -0
  113. package/lib/evaluate/index.d.ts +3 -0
  114. package/lib/evaluate/index.d.ts.map +1 -0
  115. package/lib/evaluate/index.js +8 -0
  116. package/lib/evaluate/index.js.map +1 -0
  117. package/lib/index.d.ts +7 -7
  118. package/lib/index.d.ts.map +1 -1
  119. package/lib/index.js +12 -12
  120. package/lib/index.js.map +1 -1
  121. package/lib/jsx.d.ts +92 -0
  122. package/lib/jsx.d.ts.map +1 -0
  123. package/lib/jsx.js +43 -0
  124. package/lib/jsx.js.map +1 -0
  125. package/lib/parse/index.d.ts +3 -0
  126. package/lib/parse/index.d.ts.map +1 -0
  127. package/lib/parse/index.js +8 -0
  128. package/lib/parse/index.js.map +1 -0
  129. package/lib/parse/parse-error.d.ts.map +1 -0
  130. package/lib/parse/parse-error.js +13 -0
  131. package/lib/parse/parse-error.js.map +1 -0
  132. package/lib/parse/parse.d.ts +3 -0
  133. package/lib/parse/parse.d.ts.map +1 -0
  134. package/lib/parse/parse.js +35 -0
  135. package/lib/parse/parse.js.map +1 -0
  136. package/lib/parse/parse.test.d.ts.map +1 -0
  137. package/lib/parse/parse.test.js +82 -0
  138. package/lib/parse/parse.test.js.map +1 -0
  139. package/lib/render.d.ts +2 -2
  140. package/lib/render.d.ts.map +1 -1
  141. package/lib/render.js +13 -9
  142. package/lib/render.js.map +1 -0
  143. package/lib/render.test.js +303 -0
  144. package/lib/render.test.js.map +1 -0
  145. package/lib/schema.js +39 -18
  146. package/lib/schema.js.map +1 -0
  147. package/lib/traverse.d.ts +15 -0
  148. package/lib/traverse.d.ts.map +1 -0
  149. package/lib/traverse.js +49 -0
  150. package/lib/traverse.js.map +1 -0
  151. package/lib/traverse.test.d.ts.map +1 -0
  152. package/lib/traverse.test.js +86 -0
  153. package/lib/traverse.test.js.map +1 -0
  154. package/lib/types.d.ts.map +1 -0
  155. package/lib/types.js +3 -0
  156. package/lib/types.js.map +1 -0
  157. package/lib/validate.d.ts +3 -3
  158. package/lib/validate.d.ts.map +1 -1
  159. package/lib/validate.js +11 -7
  160. package/lib/validate.js.map +1 -0
  161. package/package.json +1 -1
  162. package/src/analyze/analysis-error.ts +1 -1
  163. package/src/analyze/analysis-report.ts +2 -2
  164. package/src/analyze/analyze.test.ts +4 -4
  165. package/src/analyze/analyze.ts +5 -5
  166. package/src/analyze/data/analyze.ts +5 -5
  167. package/src/analyze/data/data-access.ts +6 -6
  168. package/src/analyze/data/index.ts +1 -1
  169. package/src/analyze/data/method-calls.ts +7 -7
  170. package/src/analyze/data/utils.ts +5 -5
  171. package/src/analyze/index.ts +3 -3
  172. package/src/analyze/jsx/analyze.ts +6 -6
  173. package/src/analyze/jsx/element-attributes.ts +6 -6
  174. package/src/analyze/jsx/element-children.ts +6 -6
  175. package/src/analyze/jsx/element-tags.ts +5 -5
  176. package/src/analyze/jsx/index.ts +1 -1
  177. package/src/analyze/security/analyze.ts +8 -8
  178. package/src/analyze/security/call-expressions.ts +5 -5
  179. package/src/analyze/security/declarations.ts +5 -5
  180. package/src/analyze/security/expressions.ts +5 -5
  181. package/src/analyze/security/identifiers.ts +6 -6
  182. package/src/analyze/security/index.ts +1 -1
  183. package/src/analyze/security/member-access.ts +5 -5
  184. package/src/codegen/generate-typescript-definitions.test.ts +2 -2
  185. package/src/compile/compile.test.ts +2 -2
  186. package/src/compile/compile.ts +2 -2
  187. package/src/compile/index.ts +2 -2
  188. package/src/evaluate/evaluate.test.ts +4 -4
  189. package/src/evaluate/evaluate.ts +1 -1
  190. package/src/evaluate/index.ts +2 -2
  191. package/src/index.ts +7 -7
  192. package/src/parse/index.ts +2 -2
  193. package/src/parse/parse.test.ts +2 -2
  194. package/src/parse/parse.ts +1 -1
  195. package/src/render.test.ts +4 -4
  196. package/src/render.ts +5 -5
  197. package/src/traverse.test.ts +2 -2
  198. package/src/traverse.ts +1 -1
  199. package/src/validate.ts +3 -3
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isSimpleDataAccess = isSimpleDataAccess;
4
+ exports.extractPath = extractPath;
5
+ exports.getParentNode = getParentNode;
6
+ exports.getAvailablePropsAtPath = getAvailablePropsAtPath;
7
+ exports.validateSchemaPath = validateSchemaPath;
8
+ const builtins_js_1 = require("../../builtins.js");
9
+ const utils_js_1 = require("../utils.js");
10
+ function isSimpleDataAccess(node) {
11
+ if (node.computed) {
12
+ return node.property.type === "Literal" && typeof node.property.value === "number";
13
+ }
14
+ if (node.property.type !== "Identifier") {
15
+ return false;
16
+ }
17
+ let current = node.object;
18
+ while (current) {
19
+ if (current.type === "Identifier") {
20
+ return current.name === "data";
21
+ }
22
+ if (current.type === "MemberExpression") {
23
+ if (current.computed) {
24
+ if (!(current.property.type === "Literal" && typeof current.property.value === "number")) {
25
+ return false;
26
+ }
27
+ }
28
+ else if (current.property.type !== "Identifier") {
29
+ return false;
30
+ }
31
+ current = current.object;
32
+ }
33
+ else {
34
+ return false;
35
+ }
36
+ }
37
+ return false;
38
+ }
39
+ function extractPath(node) {
40
+ const path = [];
41
+ if (node.property.type === "Identifier") {
42
+ path.unshift(node.property.name);
43
+ }
44
+ let current = node.object;
45
+ while (current) {
46
+ if (current.type === "Identifier") {
47
+ path.unshift(current.name);
48
+ break;
49
+ }
50
+ if (current.type === "MemberExpression") {
51
+ if (current.property.type === "Identifier") {
52
+ path.unshift(current.property.name);
53
+ }
54
+ current = current.object;
55
+ }
56
+ else {
57
+ break;
58
+ }
59
+ }
60
+ return path;
61
+ }
62
+ function getParentNode(targetNode, ast) {
63
+ let parent = null;
64
+ function traverseForParent(node, currentParent = null) {
65
+ if (node === targetNode) {
66
+ parent = currentParent;
67
+ return;
68
+ }
69
+ for (const key of Object.keys(node)) {
70
+ const value = node[key];
71
+ if (value && typeof value === "object") {
72
+ if (Array.isArray(value)) {
73
+ value.forEach((child) => {
74
+ if (child && typeof child === "object" && child.type) {
75
+ traverseForParent(child, node);
76
+ }
77
+ });
78
+ }
79
+ else if (value.type) {
80
+ traverseForParent(value, node);
81
+ }
82
+ }
83
+ }
84
+ }
85
+ traverseForParent(ast);
86
+ return parent;
87
+ }
88
+ function getAvailablePropsAtPath(path, depth, schemaData) {
89
+ if (!schemaData || depth < 0) {
90
+ return schemaData ? Object.keys(schemaData) : [];
91
+ }
92
+ if (depth === 0) {
93
+ return Object.keys(schemaData);
94
+ }
95
+ let current = schemaData[path[0]];
96
+ for (let i = 1; i <= depth; i++) {
97
+ if (!current || current.type !== "object" || !current.shape) {
98
+ return [];
99
+ }
100
+ current = current.shape[path[i]];
101
+ }
102
+ if (current && current.type === "object" && current.shape) {
103
+ return Object.keys(current.shape);
104
+ }
105
+ return [];
106
+ }
107
+ function validateSchemaPath(path, schema, analysisReport, node, validationContext) {
108
+ const schemaData = schema.data;
109
+ if (!schemaData || path.length === 0) {
110
+ analysisReport.addIssue("INVALID_DATA_ACCESS", "Invalid data access - no schema data available", (0, utils_js_1.getNodeRange)(node), validationContext.getSnapshot(), schemaData ? Object.keys(schemaData) : undefined);
111
+ return;
112
+ }
113
+ let current = schemaData[path[0]];
114
+ if (!current) {
115
+ analysisReport.addIssue("INVALID_DATA_ACCESS", `Property 'data.${path[0]}' does not exist in schema`, (0, utils_js_1.getNodeRange)(node), validationContext.getSnapshot(), Object.keys(schemaData));
116
+ return;
117
+ }
118
+ const elementAccessFlags = getElementAccessFlags(node, path.length);
119
+ for (let i = 1; i < path.length; i++) {
120
+ const prop = path[i];
121
+ const isElementAccess = elementAccessFlags[i];
122
+ if (current.type === "array") {
123
+ if (!isElementAccess) {
124
+ if ((0, builtins_js_1.isAllowedOnArray)(prop)) {
125
+ return;
126
+ }
127
+ const accessedPath = ["data", ...path.slice(0, i), prop].join(".");
128
+ analysisReport.addIssue("INVALID_DATA_ACCESS", `Property '${accessedPath}' does not exist on array type`, (0, utils_js_1.getNodeRange)(node), validationContext.getSnapshot(), (0, builtins_js_1.getAvailableArrayMembers)());
129
+ return;
130
+ }
131
+ const elementType = current.shape || null;
132
+ if (!elementType) {
133
+ analysisReport.addIssue("INVALID_DATA_ACCESS", `Cannot access property '${prop}' on unknown array element type`, (0, utils_js_1.getNodeRange)(node), validationContext.getSnapshot(), (0, builtins_js_1.getAvailableArrayMembers)());
134
+ return;
135
+ }
136
+ if (elementType.type === "object" && elementType.shape) {
137
+ const next = elementType.shape[prop];
138
+ if (!next) {
139
+ const paths = path.slice(0, i + 1);
140
+ const suggestions = Object.keys(elementType.shape);
141
+ analysisReport.addIssue("INVALID_DATA_ACCESS", `Property 'data.${paths.join(".")}' does not exist in schema`, (0, utils_js_1.getNodeRange)(node), validationContext.getSnapshot(), suggestions);
142
+ return;
143
+ }
144
+ current = next;
145
+ continue;
146
+ }
147
+ if (elementType.type === "array") {
148
+ if ((0, builtins_js_1.isAllowedOnArray)(prop)) {
149
+ return;
150
+ }
151
+ const accessedPath = ["data", ...path.slice(0, i), prop].join(".");
152
+ analysisReport.addIssue("INVALID_DATA_ACCESS", `Property '${accessedPath}' does not exist on array type`, (0, utils_js_1.getNodeRange)(node), validationContext.getSnapshot(), (0, builtins_js_1.getAvailableArrayMembers)());
153
+ return;
154
+ }
155
+ if (elementType.type === "string") {
156
+ if ((0, builtins_js_1.isAllowedOnString)(prop)) {
157
+ return;
158
+ }
159
+ const accessedPath = ["data", ...path.slice(0, i), prop].join(".");
160
+ analysisReport.addIssue("INVALID_DATA_ACCESS", `Property '${accessedPath}' does not exist on string type`, (0, utils_js_1.getNodeRange)(node), validationContext.getSnapshot(), (0, builtins_js_1.getAvailableStringMembers)());
161
+ return;
162
+ }
163
+ analysisReport.addIssue("INVALID_DATA_ACCESS", `Cannot access property '${prop}' on ${elementType.type || "undefined"} type array element`, (0, utils_js_1.getNodeRange)(node), validationContext.getSnapshot());
164
+ return;
165
+ }
166
+ if (current.type === "string") {
167
+ if ((0, builtins_js_1.isAllowedOnString)(prop)) {
168
+ return;
169
+ }
170
+ const accessedPath = ["data", ...path.slice(0, i), prop].join(".");
171
+ analysisReport.addIssue("INVALID_DATA_ACCESS", `Property '${accessedPath}' does not exist on string type`, (0, utils_js_1.getNodeRange)(node), validationContext.getSnapshot(), (0, builtins_js_1.getAvailableStringMembers)());
172
+ return;
173
+ }
174
+ if (current.type !== "object" || !current.shape) {
175
+ analysisReport.addIssue("INVALID_DATA_ACCESS", `Cannot access property '${prop}' on ${current.type || "undefined"} type`, (0, utils_js_1.getNodeRange)(node), validationContext.getSnapshot());
176
+ return;
177
+ }
178
+ current = current.shape[prop];
179
+ if (!current) {
180
+ const availableProps = getAvailablePropsAtPath(path, i - 1, schemaData);
181
+ const paths = path.slice(0, i + 1);
182
+ analysisReport.addIssue("INVALID_DATA_ACCESS", `Property 'data.${paths.join(".")}' does not exist in schema`, (0, utils_js_1.getNodeRange)(node), validationContext.getSnapshot(), availableProps);
183
+ }
184
+ }
185
+ }
186
+ function getElementAccessFlags(node, pathLength) {
187
+ const flags = Array(pathLength).fill(false);
188
+ const segments = [];
189
+ let current = node;
190
+ while (current && current.type === "MemberExpression") {
191
+ segments.unshift({ property: current.property, computed: current.computed });
192
+ current = current.object;
193
+ }
194
+ let schemaIndex = -1;
195
+ let lastWasComputedNumeric = false;
196
+ for (const segment of segments) {
197
+ if (segment.property?.type === "Identifier") {
198
+ schemaIndex += 1;
199
+ if (schemaIndex < pathLength) {
200
+ flags[schemaIndex] = lastWasComputedNumeric;
201
+ }
202
+ }
203
+ if (segment.computed && segment.property?.type === "Literal" && typeof segment.property.value === "number") {
204
+ lastWasComputedNumeric = true;
205
+ }
206
+ else {
207
+ lastWasComputedNumeric = false;
208
+ }
209
+ }
210
+ return flags;
211
+ }
212
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/analyze/data/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { analyze } from "./analyze/index.js";
2
+ export { AnalysisError } from "./analysis-error.js";
3
+ export { AnalysisReport } from "./analysis-report.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analyze/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analyze/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AnalysisReport = exports.AnalysisError = exports.analyze = void 0;
4
+ var index_js_1 = require("./analyze/index.js");
5
+ Object.defineProperty(exports, "analyze", { enumerable: true, get: function () { return index_js_1.analyze; } });
6
+ var analysis_error_js_1 = require("./analysis-error.js");
7
+ Object.defineProperty(exports, "AnalysisError", { enumerable: true, get: function () { return analysis_error_js_1.AnalysisError; } });
8
+ var analysis_report_js_1 = require("./analysis-report.js");
9
+ Object.defineProperty(exports, "AnalysisReport", { enumerable: true, get: function () { return analysis_report_js_1.AnalysisReport; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/analyze/index.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAApC,mGAAA,OAAO,OAAA;AAChB,yDAAoD;AAA3C,kHAAA,aAAa,OAAA;AACtB,2DAAsD;AAA7C,oHAAA,cAAc,OAAA"}
@@ -0,0 +1,5 @@
1
+ import { Program } from "acorn.js";
2
+ import { Schema } from "../../schema.js";
3
+ import { AnalysisReport } from "../analysis-report.js";
4
+ export declare function analyzeJsx(ast: Program, schema: Schema): AnalysisReport;
5
+ //# sourceMappingURL=analyze.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../../src/analyze/jsx/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMpD,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAQvE"}
1
+ {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../../src/analyze/jsx/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAMvD,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAQvE"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.analyzeJsx = analyzeJsx;
4
+ const analysis_report_js_1 = require("../analysis-report.js");
5
+ const validation_context_js_1 = require("../validation-context.js");
6
+ const element_attributes_js_1 = require("./element-attributes.js");
7
+ const element_children_js_1 = require("./element-children.js");
8
+ const element_tags_js_1 = require("./element-tags.js");
9
+ function analyzeJsx(ast, schema) {
10
+ const validationContext = new validation_context_js_1.ValidationContext();
11
+ return new analysis_report_js_1.AnalysisReport().merge((0, element_tags_js_1.analyzeElementTags)(ast, schema, validationContext), (0, element_attributes_js_1.analyzeElementAttributes)(ast, schema, validationContext), (0, element_children_js_1.analyzeElementChildren)(ast, schema, validationContext));
12
+ }
13
+ //# sourceMappingURL=analyze.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../src/analyze/jsx/analyze.ts"],"names":[],"mappings":";;AAQA,gCAQC;AAdD,8DAAuD;AACvD,oEAA6D;AAC7D,mEAAmE;AACnE,+DAA+D;AAC/D,uDAAuD;AAEvD,SAAgB,UAAU,CAAC,GAAY,EAAE,MAAc;IACrD,MAAM,iBAAiB,GAAG,IAAI,yCAAiB,EAAE,CAAC;IAElD,OAAO,IAAI,mCAAc,EAAE,CAAC,KAAK,CAC/B,IAAA,oCAAkB,EAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAClD,IAAA,gDAAwB,EAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,EACxD,IAAA,4CAAsB,EAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,CACvD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Program } from "acorn.js";
2
+ import { type Schema } from "../../schema.js";
3
+ import { ValidationContext } from "../validation-context.js";
4
+ import { AnalysisReport } from "../analysis-report.js";
5
+ export declare function analyzeElementAttributes(ast: Program, schema: Schema, validationContext: ValidationContext): AnalysisReport;
6
+ //# sourceMappingURL=element-attributes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"element-attributes.d.ts","sourceRoot":"","sources":["../../../src/analyze/jsx/element-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAErC,OAAO,EACL,KAAK,MAAM,EAMZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,iBAAiB,GACnC,cAAc,CAkGhB"}
1
+ {"version":3,"file":"element-attributes.d.ts","sourceRoot":"","sources":["../../../src/analyze/jsx/element-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EACL,KAAK,MAAM,EAMZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,iBAAiB,GACnC,cAAc,CAkGhB"}
@@ -1,29 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.analyzeElementAttributes = analyzeElementAttributes;
4
- const traverse_1 = require("../../traverse");
5
- const schema_1 = require("../../schema");
6
- const jsx_1 = require("../../jsx");
7
- const analysis_report_1 = require("../analysis-report");
8
- const utils_1 = require("../utils");
4
+ const traverse_js_1 = require("../../traverse.js");
5
+ const schema_js_1 = require("../../schema.js");
6
+ const index_js_1 = require("../../jsx/index.js");
7
+ const analysis_report_js_1 = require("../analysis-report.js");
8
+ const utils_js_1 = require("../utils.js");
9
9
  function analyzeElementAttributes(ast, schema, validationContext) {
10
- const analysisReport = new analysis_report_1.AnalysisReport();
11
- (0, traverse_1.traverse)(ast, {
10
+ const analysisReport = new analysis_report_js_1.AnalysisReport();
11
+ (0, traverse_js_1.traverse)(ast, {
12
12
  JSXElement(node) {
13
13
  const tagName = node.openingElement.name.name;
14
14
  validationContext.enterElement(tagName);
15
15
  const currentContext = validationContext.getSnapshot();
16
- const allowedAttributes = (0, schema_1.getAllowedAttributes)(schema, tagName);
17
- const requiredAttributes = (0, schema_1.getRequiredAttributes)(schema, tagName);
16
+ const allowedAttributes = (0, schema_js_1.getAllowedAttributes)(schema, tagName);
17
+ const requiredAttributes = (0, schema_js_1.getRequiredAttributes)(schema, tagName);
18
18
  for (const attribute of node.openingElement.attributes) {
19
- if (!(0, jsx_1.isJsxAttribute)(attribute)) {
19
+ if (!(0, index_js_1.isJsxAttribute)(attribute)) {
20
20
  continue;
21
21
  }
22
22
  const attributeName = attribute.name.name;
23
- const range = (0, utils_1.getNodeRange)(attribute);
24
- if (!(0, schema_1.isAttributeAllowed)(schema, tagName, attributeName)) {
25
- const suggestions = (0, utils_1.getAttributeSimilarityMatchers)(attributeName, allowedAttributes);
26
- const suggestionMatch = (0, utils_1.getBestSimilarityMatcherSuggestion)(attributeName, allowedAttributes);
23
+ const range = (0, utils_js_1.getNodeRange)(attribute);
24
+ if (!(0, schema_js_1.isAttributeAllowed)(schema, tagName, attributeName)) {
25
+ const suggestions = (0, utils_js_1.getAttributeSimilarityMatchers)(attributeName, allowedAttributes);
26
+ const suggestionMatch = (0, utils_js_1.getBestSimilarityMatcherSuggestion)(attributeName, allowedAttributes);
27
27
  let message = `Attribute "${attributeName}" not allowed on <${tagName}>`;
28
28
  if (suggestionMatch) {
29
29
  message += `. Did you mean "${suggestionMatch}"?`;
@@ -38,13 +38,13 @@ function analyzeElementAttributes(ast, schema, validationContext) {
38
38
  analysisReport.addIssue("INVALID_ATTRIBUTE", message, range, currentContext, suggestions.map((suggestion) => suggestion.suggestion));
39
39
  continue;
40
40
  }
41
- const attributeSchema = (0, schema_1.getAttributeSchema)(schema, tagName, attributeName);
42
- const enumValues = attributeSchema ? (0, schema_1.getEnumValues)(attributeSchema) : undefined;
41
+ const attributeSchema = (0, schema_js_1.getAttributeSchema)(schema, tagName, attributeName);
42
+ const enumValues = attributeSchema ? (0, schema_js_1.getEnumValues)(attributeSchema) : undefined;
43
43
  if (enumValues && enumValues.length > 0) {
44
44
  const literalValue = getAttributeLiteralValue(attribute);
45
45
  if (isEnumComparableValue(literalValue) && !enumValues.includes(literalValue)) {
46
46
  const stringEnumValues = enumValues.map((value) => String(value));
47
- const suggestionMatch = (0, utils_1.getBestSimilarityMatcherSuggestion)(String(literalValue), stringEnumValues);
47
+ const suggestionMatch = (0, utils_js_1.getBestSimilarityMatcherSuggestion)(String(literalValue), stringEnumValues);
48
48
  let message = `Value ${JSON.stringify(literalValue)} is not allowed for attribute "${attributeName}" on <${tagName}>`;
49
49
  if (suggestionMatch) {
50
50
  message += `. Did you mean "${suggestionMatch}"?`;
@@ -57,10 +57,10 @@ function analyzeElementAttributes(ast, schema, validationContext) {
57
57
  }
58
58
  }
59
59
  // Check for missing required attributes
60
- const providedAttributes = node.openingElement.attributes.filter(jsx_1.isJsxAttribute).map((attr) => attr.name.name);
60
+ const providedAttributes = node.openingElement.attributes.filter(index_js_1.isJsxAttribute).map((attr) => attr.name.name);
61
61
  for (const requiredAttribute of requiredAttributes) {
62
62
  if (!providedAttributes.includes(requiredAttribute)) {
63
- analysisReport.addIssue("MISSING_REQUIRED_ATTRIBUTE", `Required attribute "${requiredAttribute}" missing on <${tagName}>`, (0, utils_1.getNodeRange)(node.openingElement), currentContext, [requiredAttribute]);
63
+ analysisReport.addIssue("MISSING_REQUIRED_ATTRIBUTE", `Required attribute "${requiredAttribute}" missing on <${tagName}>`, (0, utils_js_1.getNodeRange)(node.openingElement), currentContext, [requiredAttribute]);
64
64
  }
65
65
  }
66
66
  validationContext.exitElement();
@@ -78,7 +78,7 @@ function getAttributeLiteralValue(attribute) {
78
78
  if (attribute.value.type === "Literal") {
79
79
  return attribute.value.value;
80
80
  }
81
- if ((0, jsx_1.isJsxExpressionContainer)(attribute.value)) {
81
+ if ((0, index_js_1.isJsxExpressionContainer)(attribute.value)) {
82
82
  const expression = attribute.value.expression;
83
83
  if (expression?.type === "Literal") {
84
84
  return expression.value;
@@ -1 +1 @@
1
- {"version":3,"file":"element-attributes.js","sourceRoot":"","sources":["../../../src/analyze/jsx/element-attributes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element-attributes.js","sourceRoot":"","sources":["../../../src/analyze/jsx/element-attributes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Program } from "acorn.js";
2
+ import { type Schema } from "../../schema.js";
3
+ import { ValidationContext } from "../validation-context.js";
4
+ import { AnalysisReport } from "../analysis-report.js";
5
+ export declare function analyzeElementChildren(ast: Program, schema: Schema, validationContext: ValidationContext): AnalysisReport;
6
+ //# sourceMappingURL=element-children.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"element-children.d.ts","sourceRoot":"","sources":["../../../src/analyze/jsx/element-children.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAErC,OAAO,EAAE,KAAK,MAAM,EAAqC,MAAM,cAAc,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,iBAAiB,GACnC,cAAc,CAoFhB"}
1
+ {"version":3,"file":"element-children.d.ts","sourceRoot":"","sources":["../../../src/analyze/jsx/element-children.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,KAAK,MAAM,EAAqC,MAAM,iBAAiB,CAAC;AAEjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,iBAAiB,GACnC,cAAc,CAoFhB"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.analyzeElementChildren = analyzeElementChildren;
4
+ const traverse_js_1 = require("../../traverse.js");
5
+ const schema_js_1 = require("../../schema.js");
6
+ const index_js_1 = require("../../jsx/index.js");
7
+ const analysis_report_js_1 = require("../analysis-report.js");
8
+ const utils_js_1 = require("../utils.js");
9
+ function analyzeElementChildren(ast, schema, validationContext) {
10
+ const analysisReport = new analysis_report_js_1.AnalysisReport();
11
+ (0, traverse_js_1.traverse)(ast, {
12
+ JSXElement(node) {
13
+ const parentTag = node.openingElement.name.name;
14
+ validationContext.enterElement(parentTag);
15
+ const currentContext = validationContext.getSnapshot();
16
+ const allowedChildren = (0, schema_js_1.getAllowedChildren)(schema, parentTag);
17
+ if (!allowedChildren) {
18
+ validationContext.exitElement();
19
+ return;
20
+ }
21
+ if ((0, schema_js_1.isSelfClosing)(schema, parentTag) && node.children.length > 0) {
22
+ const hasNonWhitespaceContent = node.children.some((child) => {
23
+ if ((0, index_js_1.isJsxText)(child)) {
24
+ return child.value.trim().length > 0;
25
+ }
26
+ return !(0, index_js_1.isJsxLeafNode)(child) || !(0, index_js_1.isJsxText)(child);
27
+ });
28
+ if (hasNonWhitespaceContent) {
29
+ const firstMeaningfulChild = node.children.find((child) => {
30
+ if ((0, index_js_1.isJsxText)(child)) {
31
+ return child.value.trim().length > 0;
32
+ }
33
+ return true;
34
+ });
35
+ analysisReport.addIssue("SELF_CLOSING_WITH_CHILDREN", `Element <${parentTag}> cannot have children. It is self-closing.`, (0, utils_js_1.getNodeRange)(firstMeaningfulChild || node.children[0]), currentContext);
36
+ }
37
+ }
38
+ for (const child of node.children) {
39
+ if ((0, index_js_1.isJsxElement)(child)) {
40
+ const childTag = child.openingElement.name.name;
41
+ if (!allowedChildren.includes(childTag)) {
42
+ const elementSimilarityMatchers = (0, utils_js_1.getElementSimilarityMatchers)(childTag, allowedChildren);
43
+ const bestSimilarityMatcherSuggestion = (0, utils_js_1.getBestSimilarityMatcherSuggestion)(childTag, allowedChildren);
44
+ let message = `Element <${childTag}> not allowed in <${parentTag}>`;
45
+ if (bestSimilarityMatcherSuggestion) {
46
+ message += `. Did you mean <${bestSimilarityMatcherSuggestion}>?`;
47
+ }
48
+ message += `. Allowed children: ${allowedChildren.join(", ")}`;
49
+ analysisReport.addIssue("INVALID_CHILD_ELEMENT", message, (0, utils_js_1.getNodeRange)(child), currentContext, elementSimilarityMatchers.map((similarityMatcher) => similarityMatcher.suggestion));
50
+ }
51
+ }
52
+ else if ((0, index_js_1.isJsxFragment)(child)) {
53
+ // TODO: Recursively validate fragment children
54
+ // For now, we allow fragments but should add more specific validation in the future
55
+ }
56
+ else if ((0, index_js_1.isJsxText)(child)) {
57
+ const hasContent = child.value.trim().length > 0;
58
+ if (!hasContent) {
59
+ // Allow whitespace-only text nodes (very common in JSX formatting)
60
+ continue;
61
+ }
62
+ }
63
+ }
64
+ validationContext.exitElement();
65
+ },
66
+ });
67
+ return analysisReport;
68
+ }
69
+ //# sourceMappingURL=element-children.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-children.js","sourceRoot":"","sources":["../../../src/analyze/jsx/element-children.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Program } from "acorn.js";
2
+ import { type Schema } from "../../schema.js";
3
+ import { ValidationContext } from "../validation-context.js";
4
+ import { AnalysisReport } from "../analysis-report.js";
5
+ export declare function analyzeElementTags(ast: Program, schema: Schema, validationContext: ValidationContext): AnalysisReport;
6
+ //# sourceMappingURL=element-tags.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"element-tags.d.ts","sourceRoot":"","sources":["../../../src/analyze/jsx/element-tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAErC,OAAO,EAAE,KAAK,MAAM,EAAoC,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,GAAG,cAAc,CA+CrH"}
1
+ {"version":3,"file":"element-tags.d.ts","sourceRoot":"","sources":["../../../src/analyze/jsx/element-tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,KAAK,MAAM,EAAoC,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,GAAG,cAAc,CA+CrH"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.analyzeElementTags = analyzeElementTags;
4
+ const traverse_js_1 = require("../../traverse.js");
5
+ const schema_js_1 = require("../../schema.js");
6
+ const analysis_report_js_1 = require("../analysis-report.js");
7
+ const utils_js_1 = require("../utils.js");
8
+ function analyzeElementTags(ast, schema, validationContext) {
9
+ const analysisReport = new analysis_report_js_1.AnalysisReport();
10
+ (0, traverse_js_1.traverse)(ast, {
11
+ JSXElement(node) {
12
+ const tagName = node.openingElement.name.name;
13
+ validationContext.enterElement(tagName);
14
+ const snapshot = validationContext.getSnapshot();
15
+ const range = (0, utils_js_1.getNodeRange)(node);
16
+ if (!(0, schema_js_1.isElementAllowed)(schema, tagName)) {
17
+ const availableElements = (0, schema_js_1.getAllElements)(schema);
18
+ const elementSimilarityMatchers = (0, utils_js_1.getElementSimilarityMatchers)(tagName, availableElements);
19
+ const bestSuggestionMatch = (0, utils_js_1.getBestSimilarityMatcherSuggestion)(tagName, availableElements);
20
+ let message = `Element <${tagName}> not allowed`;
21
+ if (snapshot.elements.length > 1) {
22
+ message += ` in ${validationContext.currentPath}`;
23
+ }
24
+ if (bestSuggestionMatch) {
25
+ message += `. Did you mean <${bestSuggestionMatch}>?`;
26
+ }
27
+ else if (availableElements.length > 0) {
28
+ const displayElements = availableElements.slice(0, 5);
29
+ message += `. Available elements: ${displayElements.join(", ")}`;
30
+ if (availableElements.length > 5) {
31
+ message += ` (and ${availableElements.length - 5} more)`;
32
+ }
33
+ }
34
+ analysisReport.addIssue("INVALID_ELEMENT", message, range, snapshot, elementSimilarityMatchers.map((similarityMatcher) => similarityMatcher.suggestion));
35
+ }
36
+ validationContext.exitElement();
37
+ },
38
+ });
39
+ return analysisReport;
40
+ }
41
+ //# sourceMappingURL=element-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-tags.js","sourceRoot":"","sources":["../../../src/analyze/jsx/element-tags.ts"],"names":[],"mappings":";;AAOA,gDA+CC;AArDD,mDAA6C;AAC7C,+CAAgF;AAEhF,8DAAuD;AACvD,0CAA6G;AAE7G,SAAgB,kBAAkB,CAAC,GAAY,EAAE,MAAc,EAAE,iBAAoC;IACnG,MAAM,cAAc,GAAG,IAAI,mCAAc,EAAE,CAAC;IAE5C,IAAA,sBAAQ,EAAC,GAAG,EAAE;QACZ,UAAU,CAAC,IAAI;YACb,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAE9C,iBAAiB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAExC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,IAAA,uBAAY,EAAC,IAAI,CAAC,CAAC;YAEjC,IAAI,CAAC,IAAA,4BAAgB,EAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;gBACvC,MAAM,iBAAiB,GAAG,IAAA,0BAAc,EAAC,MAAM,CAAC,CAAC;gBACjD,MAAM,yBAAyB,GAAG,IAAA,uCAA4B,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;gBAC3F,MAAM,mBAAmB,GAAG,IAAA,6CAAkC,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;gBAE3F,IAAI,OAAO,GAAG,YAAY,OAAO,eAAe,CAAC;gBAEjD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,OAAO,IAAI,OAAO,iBAAiB,CAAC,WAAW,EAAE,CAAC;gBACpD,CAAC;gBAED,IAAI,mBAAmB,EAAE,CAAC;oBACxB,OAAO,IAAI,mBAAmB,mBAAmB,IAAI,CAAC;gBACxD,CAAC;qBAAM,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtD,OAAO,IAAI,yBAAyB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjE,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACjC,OAAO,IAAI,SAAS,iBAAiB,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC;oBAC3D,CAAC;gBACH,CAAC;gBAED,cAAc,CAAC,QAAQ,CACrB,iBAAiB,EACjB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,yBAAyB,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CACnF,CAAC;YACJ,CAAC;YAED,iBAAiB,CAAC,WAAW,EAAE,CAAC;QAClC,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { analyzeJsx } from "./analyze/index.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analyze/jsx/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analyze/jsx/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.analyzeJsx = void 0;
4
+ var index_js_1 = require("./analyze/index.js");
5
+ Object.defineProperty(exports, "analyzeJsx", { enumerable: true, get: function () { return index_js_1.analyzeJsx; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/analyze/jsx/index.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAAvC,sGAAA,UAAU,OAAA"}
@@ -0,0 +1,5 @@
1
+ import { Program } from "acorn.js";
2
+ import { Schema } from "../../schema.js";
3
+ import { AnalysisReport } from "../analysis-report.js";
4
+ export declare function analyzeSecurity(ast: Program, schema: Schema): AnalysisReport;
5
+ //# sourceMappingURL=analyze.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../../src/analyze/security/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQpD,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAU5E"}
1
+ {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../../src/analyze/security/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQvD,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAU5E"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.analyzeSecurity = analyzeSecurity;
4
+ const analysis_report_js_1 = require("../analysis-report.js");
5
+ const validation_context_js_1 = require("../validation-context.js");
6
+ const call_expressions_js_1 = require("./call-expressions.js");
7
+ const declarations_js_1 = require("./declarations.js");
8
+ const expressions_js_1 = require("./expressions.js");
9
+ const identifiers_js_1 = require("./identifiers.js");
10
+ const member_access_js_1 = require("./member-access.js");
11
+ function analyzeSecurity(ast, schema) {
12
+ const validationContext = new validation_context_js_1.ValidationContext();
13
+ return new analysis_report_js_1.AnalysisReport().merge((0, declarations_js_1.analyzeDeclarations)(ast, schema, validationContext), (0, identifiers_js_1.analyzeIdentifiers)(ast, schema, validationContext), (0, expressions_js_1.analyzeExpressions)(ast, schema, validationContext), (0, member_access_js_1.analyzeMemberAccess)(ast, schema, validationContext), (0, call_expressions_js_1.analyzeCallExpressions)(ast, schema, validationContext));
14
+ }
15
+ //# sourceMappingURL=analyze.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../src/analyze/security/analyze.ts"],"names":[],"mappings":";;AAUA,0CAUC;AAlBD,8DAAuD;AACvD,oEAA6D;AAC7D,+DAA+D;AAC/D,uDAAwD;AACxD,qDAAsD;AACtD,qDAAsD;AACtD,yDAAyD;AAEzD,SAAgB,eAAe,CAAC,GAAY,EAAE,MAAc;IAC1D,MAAM,iBAAiB,GAAG,IAAI,yCAAiB,EAAE,CAAC;IAElD,OAAO,IAAI,mCAAc,EAAE,CAAC,KAAK,CAC/B,IAAA,qCAAmB,EAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,EACnD,IAAA,mCAAkB,EAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAClD,IAAA,mCAAkB,EAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAClD,IAAA,sCAAmB,EAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,EACnD,IAAA,4CAAsB,EAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,CACvD,CAAC;AACJ,CAAC"}