@tsrx/core 0.1.3 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +23 -5
- package/src/diagnostics.js +1 -0
- package/src/index.js +7 -0
- package/src/plugin.js +294 -230
- package/src/runtime/index.js +110 -0
- package/src/source-map-utils.js +19 -2
- package/src/transform/jsx/ast-builders.js +120 -0
- package/src/transform/jsx/index.js +1575 -1440
- package/src/transform/lazy.js +19 -60
- package/src/transform/scoping.js +9 -45
- package/src/transform/segments.js +164 -11
- package/src/utils/builders.js +51 -13
- package/types/jsx-platform.d.ts +10 -0
- package/types/runtime/index.d.ts +13 -0
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "Core compiler infrastructure for TSRX syntax",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Dominic Gannaway",
|
|
6
|
-
"version": "0.1.
|
|
6
|
+
"version": "0.1.6",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
@@ -31,9 +31,16 @@
|
|
|
31
31
|
"types": "./types/runtime/ref.d.ts",
|
|
32
32
|
"default": "./src/runtime/ref.js"
|
|
33
33
|
},
|
|
34
|
+
"./runtime": {
|
|
35
|
+
"types": "./types/runtime/index.d.ts",
|
|
36
|
+
"default": "./src/runtime/index.js"
|
|
37
|
+
},
|
|
34
38
|
"./runtime/*": "./src/runtime/*.js",
|
|
35
39
|
"./test-harness/source-mappings": "./tests/shared/source-mappings.js",
|
|
36
|
-
"./test-harness/compile": "./tests/shared/compile.js"
|
|
40
|
+
"./test-harness/compile": "./tests/shared/compile.js",
|
|
41
|
+
"./test-harness/runtime/*": "./tests/shared/runtime/*.js",
|
|
42
|
+
"./test-harness/runtime/*.js": "./tests/shared/runtime/*.js",
|
|
43
|
+
"./test-harness/runtime/*.tsrx": "./tests/shared/runtime/*.tsrx"
|
|
37
44
|
},
|
|
38
45
|
"dependencies": {
|
|
39
46
|
"@jridgewell/sourcemap-codec": "^1.5.5",
|
|
@@ -42,17 +49,28 @@
|
|
|
42
49
|
"@types/estree-jsx": "^1.0.5",
|
|
43
50
|
"@types/estree": "^1.0.8",
|
|
44
51
|
"acorn": "^8.15.0",
|
|
45
|
-
"esrap": "^2.
|
|
52
|
+
"esrap": "^2.2.7",
|
|
46
53
|
"is-reference": "^3.0.3",
|
|
47
54
|
"magic-string": "^0.30.18",
|
|
48
55
|
"zimmerframe": "^1.1.2"
|
|
49
56
|
},
|
|
50
57
|
"devDependencies": {
|
|
58
|
+
"@solidjs/web": "2.0.0-beta.7",
|
|
51
59
|
"@types/node": "^24.3.0",
|
|
52
60
|
"@typescript-eslint/types": "^8.40.0",
|
|
53
|
-
"typescript": "^5.9.3",
|
|
54
61
|
"@volar/language-core": "~2.4.28",
|
|
55
|
-
"
|
|
62
|
+
"preact": "^10.27.0",
|
|
63
|
+
"react": "^19.2.0",
|
|
64
|
+
"react-dom": "^19.2.0",
|
|
65
|
+
"solid-js": "2.0.0-beta.7",
|
|
66
|
+
"typescript": "^5.9.3",
|
|
67
|
+
"vscode-languageserver-types": "^3.17.5",
|
|
68
|
+
"vue": "3.6.0-beta.10",
|
|
69
|
+
"vue-jsx-vapor": "^3.2.12",
|
|
70
|
+
"@tsrx/preact": "0.1.6",
|
|
71
|
+
"@tsrx/react": "0.2.6",
|
|
72
|
+
"@tsrx/solid": "0.1.6",
|
|
73
|
+
"@tsrx/vue": "0.1.6"
|
|
56
74
|
},
|
|
57
75
|
"files": [
|
|
58
76
|
"src",
|
package/src/diagnostics.js
CHANGED
|
@@ -4,4 +4,5 @@ export const DIAGNOSTIC_CODES = {
|
|
|
4
4
|
FUNCTION_COMPONENT_SYNTAX: 'tsrx-function-component-syntax',
|
|
5
5
|
UNCLOSED_TAG: 'tsrx-unclosed-tag',
|
|
6
6
|
MISMATCHED_CLOSING_TAG: 'tsrx-mismatched-closing-tag',
|
|
7
|
+
TEMPLATE_EXPRESSION_TRAILING_SEMICOLON: 'tsrx-template-expression-trailing-semicolon',
|
|
7
8
|
};
|
package/src/index.js
CHANGED
|
@@ -142,6 +142,9 @@ export { escape, escape_script as escapeScript } from './utils/escaping.js';
|
|
|
142
142
|
// Transform
|
|
143
143
|
export {
|
|
144
144
|
add_jsx_setup_declaration as addJsxSetupDeclaration,
|
|
145
|
+
clone_switch_helper_invocation as cloneSwitchHelperInvocation,
|
|
146
|
+
collect_param_bindings as collectParamBindings,
|
|
147
|
+
collect_statement_bindings as collectStatementBindings,
|
|
145
148
|
createJsxTransform,
|
|
146
149
|
CREATE_REF_PROP_INTERNAL_NAME,
|
|
147
150
|
extract_jsx_setup_declarations as extractJsxSetupDeclarations,
|
|
@@ -149,6 +152,7 @@ export {
|
|
|
149
152
|
MERGE_REFS_INTERNAL_NAME,
|
|
150
153
|
merge_duplicate_refs as mergeDuplicateRefs,
|
|
151
154
|
NORMALIZE_SPREAD_PROPS_INTERNAL_NAME,
|
|
155
|
+
plan_switch_lift as planSwitchLift,
|
|
152
156
|
return_value_body_to_expression as returnValueBodyToExpression,
|
|
153
157
|
rewrite_loop_continues_to_bare_returns as rewriteLoopContinuesToBareReturns,
|
|
154
158
|
to_jsx_attribute as toJsxAttribute,
|
|
@@ -165,13 +169,16 @@ export {
|
|
|
165
169
|
clone_expression_node,
|
|
166
170
|
clone_identifier,
|
|
167
171
|
clone_jsx_name,
|
|
172
|
+
contains_component_jsx,
|
|
168
173
|
create_compile_error,
|
|
169
174
|
create_generated_identifier,
|
|
170
175
|
create_null_literal,
|
|
176
|
+
expand_switch_cases_for_fallthrough,
|
|
171
177
|
flatten_switch_consequent,
|
|
172
178
|
get_for_of_iteration_params,
|
|
173
179
|
identifier_to_jsx_name,
|
|
174
180
|
is_bare_render_expression,
|
|
181
|
+
is_component_jsx_name,
|
|
175
182
|
is_dynamic_element_id,
|
|
176
183
|
is_jsx_child,
|
|
177
184
|
set_loc,
|