Skip to content

Commit 36f170e

Browse files
committed
use Sucrase
1 parent 05ce4ce commit 36f170e

File tree

3 files changed

+62
-4
lines changed

3 files changed

+62
-4
lines changed

packages/extended-renderers/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
"typings": "lib/index.d.ts",
3636
"dependencies": {
3737
"@babel/standalone": "^7.28.3",
38+
"sucrase": "^3.35.0",
3839
"valtio": "^1.11.2"
3940
},
4041
"peerDependencies": {

packages/extended-renderers/src/components/DynamicJSXRenderer.tsx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as Babel from '@babel/standalone';
1+
import * as Sucrase from 'sucrase';
22
import React, { useEffect, useMemo, useRef, useState } from 'react';
33

44
import { subscribe } from 'valtio';
@@ -278,8 +278,13 @@ export default function DynamicJSXRenderer({ jsxTemplate, props }) {
278278
const Component = useMemo(() => {
279279
try {
280280
// Compile JSX to JS code
281-
const { code } = Babel.transform(jsxTemplate, {
282-
presets: [['react', { runtime: 'classic', pragma: 'createElement' }]],
281+
// const { code } = Babel.transform(jsxTemplate, {
282+
// presets: [['react', { runtime: 'classic', pragma: 'createElement' }]],
283+
// });
284+
285+
const { code } = Sucrase.transform(jsxTemplate, {
286+
transforms: ['jsx'],
287+
jsxPragma: 'createElement',
283288
});
284289

285290
// Create a new function that takes React and props as arguments

pnpm-lock.yaml

Lines changed: 53 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)