@sigil-dev/compiler 0.7.5 → 0.7.7
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 +6 -1
- package/src/babel/handlers/dom/derived.ts +31 -1
- package/src/babel/handlers/dom/globals.ts +102 -0
- package/src/babel/index.ts +413 -202
- package/src/babel/jsx/anchor-mount.ts +28 -5
- package/src/babel/jsx/element.ts +794 -546
- package/src/babel/jsx/ssr.ts +16 -7
- package/src/babel/jsx/utils.ts +8 -0
- package/src/babel/util/bind.ts +119 -115
- package/src/babel/util/dead-code.ts +28 -28
- package/src/babel/util/helpers.ts +16 -2
- package/src/babel/util/magic.ts +6 -0
- package/src/bun-plugin.ts +20 -3
- package/src/vite/index.ts +7 -2
- package/test/hydration.test.ts +1 -1
- package/test/jsx.test.ts +144 -142
- package/test/reactivity.test.ts +147 -1
- package/test/tree-shaking.test.ts +78 -79
|
@@ -326,13 +326,23 @@ export function buildAnchorMount(
|
|
|
326
326
|
),
|
|
327
327
|
);
|
|
328
328
|
|
|
329
|
-
|
|
329
|
+
const disposeVar = genId();
|
|
330
|
+
|
|
331
|
+
statements.push(
|
|
332
|
+
t.variableDeclaration("let", [
|
|
333
|
+
t.variableDeclarator(t.identifier(disposeVar), t.nullLiteral()),
|
|
334
|
+
]),
|
|
335
|
+
);
|
|
336
|
+
|
|
330
337
|
statements.push(
|
|
331
338
|
t.expressionStatement(
|
|
332
339
|
t.callExpression(t.identifier("createEffect"), [
|
|
333
340
|
t.arrowFunctionExpression(
|
|
334
341
|
[],
|
|
335
342
|
t.blockStatement([
|
|
343
|
+
t.expressionStatement(
|
|
344
|
+
t.optionalCallExpression(t.identifier(disposeVar), [], true),
|
|
345
|
+
),
|
|
336
346
|
t.forOfStatement(
|
|
337
347
|
t.variableDeclaration("const", [
|
|
338
348
|
t.variableDeclarator(t.identifier("_n")),
|
|
@@ -351,10 +361,23 @@ export function buildAnchorMount(
|
|
|
351
361
|
t.expressionStatement(
|
|
352
362
|
t.assignmentExpression(
|
|
353
363
|
"=",
|
|
354
|
-
t.identifier(
|
|
355
|
-
t.callExpression(t.identifier(
|
|
356
|
-
|
|
357
|
-
|
|
364
|
+
t.identifier(disposeVar),
|
|
365
|
+
t.callExpression(t.identifier("withEffectScope"), [
|
|
366
|
+
t.arrowFunctionExpression(
|
|
367
|
+
[],
|
|
368
|
+
t.blockStatement([
|
|
369
|
+
t.expressionStatement(
|
|
370
|
+
t.assignmentExpression(
|
|
371
|
+
"=",
|
|
372
|
+
t.identifier(prevVar),
|
|
373
|
+
t.callExpression(t.identifier(mountFn), [
|
|
374
|
+
expr,
|
|
375
|
+
t.identifier(anchorVar),
|
|
376
|
+
]),
|
|
377
|
+
),
|
|
378
|
+
),
|
|
379
|
+
]),
|
|
380
|
+
),
|
|
358
381
|
]),
|
|
359
382
|
),
|
|
360
383
|
),
|