mikuru 1.0.17 → 1.0.19

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/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.19 - 2026-05-12
4
+
5
+ - Extended `<ErrorBoundary>` to catch descendant generated event handler, lifecycle callback, and cleanup errors through component tree error propagation.
6
+ - Routed `defineAsyncComponent()` loader rejections and timeouts into the nearest `<ErrorBoundary>` when no `errorComponent` is provided.
7
+ - Added `<ErrorBoundary :reset-key>` and a fallback `reset` prop for clearer recovery flows.
8
+ - Added ErrorBoundary fallback diagnostics through `errorInfo` with component, filename, phase, and boundary metadata.
9
+ - Exported `MikuruErrorInfo` and `MikuruErrorPhase` types and documented typed ErrorBoundary fallback props.
10
+
11
+ ## 1.0.18 - 2026-05-12
12
+
13
+ - Added built-in `<ErrorBoundary>` with fallback component rendering and retry.
14
+ - Added async component retry and timeout fallback coverage.
15
+ - Added `appear` opt-out and `mode="out-in"` support for `<Transition>` v-if chains.
16
+
3
17
  ## 1.0.17 - 2026-05-12
4
18
 
5
19
  - Added built-in `<Teleport>` with `to` and `disabled` support.
package/README.md CHANGED
@@ -136,9 +136,10 @@ declare const Greeting: MikuruComponent<GreetingProps>;
136
136
  - `v-if`, `v-else-if`, `v-else`, `v-show`, and `v-for`
137
137
  - `v-model` for common form controls, radio groups, multiple selects, modifiers, and child components
138
138
  - Component props, events, DOM attribute fallthrough, `useAttrs`, template refs, `defineProps`, `defineEmits`, default slots, named/dynamic slots, and slot props with simple defaults
139
- - CSS class transitions with built-in `<Transition name="fade">`, `v-if` chains, dynamic components, and class overrides
139
+ - CSS class transitions with built-in `<Transition name="fade">`, `v-if` chains, dynamic components, class overrides, `appear`, and `mode="out-in"`
140
140
  - Built-in `<Teleport to="#target">` for rendering content outside the current DOM position
141
- - Runtime helpers including `ref`, `computed`, `effect`, `watch` with `immediate` and cleanup callbacks, `nextTick`, lifecycle callbacks, `provide`, `inject`, and `defineAsyncComponent`
141
+ - Built-in `<ErrorBoundary :fallback>` for local component mount, descendant event handler, lifecycle, and cleanup fallbacks, with `errorInfo`, `retry`, `reset`, and `:reset-key` recovery
142
+ - Runtime helpers including `ref`, `computed`, `effect`, `watch` with `immediate` and cleanup callbacks, `nextTick`, lifecycle callbacks, `provide`, `inject`, and `defineAsyncComponent` with ErrorBoundary handoff
142
143
  - Routing through `mikuru/router` with route matching, history/hash/memory histories, guards, router context helpers, `RouterView`, and `RouterLink`
143
144
  - Style injection and basic `<style scoped>` selector rewriting
144
145
  - Compile errors with filenames, line/column information, and code frames
@@ -174,6 +175,7 @@ Compiler and runtime entries are public for lower-level integrations:
174
175
  ```ts
175
176
  import { compile } from "mikuru/compiler";
176
177
  import { effect, nextTick, ref, unwrap, watch } from "mikuru/runtime";
178
+ import type { MikuruErrorInfo, MikuruErrorPhase } from "mikuru/runtime";
177
179
  ```
178
180
 
179
181
  The package also provides the `mikuru` binary:
@@ -17,13 +17,21 @@ export function generate(descriptor, root) {
17
17
  emit(context, 0, `import { ${runtimeImports.join(", ")} } from "mikuru/runtime";`);
18
18
  emit(context, 0, "");
19
19
  emit(context, 0, "export function mount(target, props = {}) {");
20
+ emit(context, 1, `const __mikuru_componentInfo = { component: ${quote(descriptor.filename ?? "anonymous.mikuru")}, filename: ${quote(descriptor.filename ?? "anonymous.mikuru")} };`);
20
21
  emit(context, 1, "const __mikuru_cleanup = [];");
21
22
  emit(context, 1, "const __mikuru_afterUnmount = [];");
22
23
  emit(context, 1, "const __mikuru_mounted = [];");
23
- emit(context, 1, "const __mikuru_context = { parent: props.__mikuru_context, provides: new Map() };");
24
+ emit(context, 1, "const __mikuru_context = { parent: props.__mikuru_context, provides: new Map(), errorHandler: props.__mikuru_context?.errorHandler, ...__mikuru_componentInfo };");
25
+ emit(context, 1, "const __mikuru_errorInfo = (phase) => ({ ...__mikuru_componentInfo, phase });");
26
+ emit(context, 1, "const __mikuru_reportError = (error, errorHandler = __mikuru_context.errorHandler, phase = \"runtime\") => {");
27
+ emit(context, 2, "if (typeof errorHandler === \"function\") { Promise.resolve().then(() => errorHandler(error, __mikuru_errorInfo(phase))); return; }");
28
+ emit(context, 2, "setTimeout(() => { throw error; });");
29
+ emit(context, 1, "};");
30
+ emit(context, 1, "const __mikuru_try = (fn, errorHandler, phase) => { try { return fn(); } catch (error) { __mikuru_reportError(error, errorHandler, phase); } };");
31
+ emit(context, 1, "const __mikuru_guardEventHandler = (fn, errorHandler = __mikuru_context.errorHandler) => (...args) => __mikuru_try(() => fn(...args), errorHandler, \"event\");");
24
32
  emit(context, 1, "const __mikuru_runCleanup = (cleanups) => {");
25
33
  emit(context, 2, "for (const cleanup of cleanups.splice(0).reverse()) {");
26
- emit(context, 3, "cleanup();");
34
+ emit(context, 3, "__mikuru_try(cleanup, undefined, \"cleanup\");");
27
35
  emit(context, 2, "}");
28
36
  emit(context, 1, "};");
29
37
  emit(context, 1, "const __mikuru_transitionFrame = (fn) => {");
@@ -46,6 +54,8 @@ export function generate(descriptor, root) {
46
54
  emit(context, 1, "const __mikuru_applyTransitionEnter = (element, name) => {");
47
55
  emit(context, 2, "const transition = typeof name === \"object\" ? name : { name };");
48
56
  emit(context, 2, "if (!element || element.nodeType !== 1 || !transition.name) { return; }");
57
+ emit(context, 2, "if (transition.appear === false && !transition.__mikuru_hasAppeared) { transition.__mikuru_hasAppeared = true; return; }");
58
+ emit(context, 2, "transition.__mikuru_hasAppeared = true;");
49
59
  emit(context, 2, "const from = transition.enterFromClass || `${transition.name}-enter-from`;");
50
60
  emit(context, 2, "const active = transition.enterActiveClass || `${transition.name}-enter-active`;");
51
61
  emit(context, 2, "const to = transition.enterToClass || `${transition.name}-enter-to`;");
@@ -122,7 +132,7 @@ export function generate(descriptor, root) {
122
132
  emit(context, 2, "const handlerName = \"on\" + String(name).split(/[-:]/).filter(Boolean).map((part) => part[0].toUpperCase() + part.slice(1)).join(\"\");");
123
133
  emit(context, 2, "const handler = props[handlerName];");
124
134
  emit(context, 2, "if (handler) {");
125
- emit(context, 3, "handler(...args);");
135
+ emit(context, 3, "__mikuru_try(() => handler(...args), undefined, \"emit\");");
126
136
  emit(context, 2, "}");
127
137
  emit(context, 1, "};");
128
138
  }
@@ -131,13 +141,13 @@ export function generate(descriptor, root) {
131
141
  }
132
142
  const rootVar = generateNode(context, root, "target", "__mikuru_cleanup", 1);
133
143
  emit(context, 1, "// call mounted callbacks registered during setup and remove registrar");
134
- emit(context, 1, "for (const cb of __mikuru_mounted.splice(0)) { try { cb(); } catch (e) { setTimeout(() => { throw e; }); } }");
144
+ emit(context, 1, "for (const cb of __mikuru_mounted.splice(0)) { __mikuru_try(cb, undefined, \"mounted\"); }");
135
145
  emit(context, 1, "if (__mikuru_previousRegistrar === undefined) { delete globalThis.__mikuru_currentRegistrar; } else { globalThis.__mikuru_currentRegistrar = __mikuru_previousRegistrar; }");
136
146
  emit(context, 1, "return {");
137
147
  emit(context, 2, `element: ${rootVar},`);
138
148
  emit(context, 2, "unmount() {");
139
149
  emit(context, 3, "__mikuru_runCleanup(__mikuru_cleanup);");
140
- emit(context, 3, "for (const cb of __mikuru_afterUnmount.splice(0).reverse()) { try { cb(); } catch (e) { setTimeout(() => { throw e; }); } }");
150
+ emit(context, 3, "for (const cb of __mikuru_afterUnmount.splice(0).reverse()) { __mikuru_try(cb, undefined, \"unmounted\"); }");
141
151
  emit(context, 3, `__mikuru_removeNode(${rootVar});`);
142
152
  emit(context, 2, "}");
143
153
  emit(context, 1, "};");
@@ -184,6 +194,9 @@ function generateNode(context, node, parentVar, cleanupVar, indent, beforeVar) {
184
194
  if (node.tag === "Teleport") {
185
195
  return generateTeleport(context, node, parentVar, cleanupVar, indent, beforeVar);
186
196
  }
197
+ if (node.tag === "ErrorBoundary") {
198
+ return generateErrorBoundary(context, node, parentVar, cleanupVar, indent, beforeVar);
199
+ }
187
200
  if (isComponentTag(node.tag)) {
188
201
  return generateComponent(context, node, parentVar, cleanupVar, indent, beforeVar);
189
202
  }
@@ -265,6 +278,82 @@ function generateTeleport(context, node, parentVar, cleanupVar, indent, beforeVa
265
278
  emit(context, indent, "});");
266
279
  return startVar;
267
280
  }
281
+ function generateErrorBoundary(context, node, parentVar, cleanupVar, indent, beforeVar) {
282
+ validateErrorBoundaryAttributes(context, node);
283
+ const children = getSingleElementChild(context, node, "<ErrorBoundary>");
284
+ const fallbackExpression = getErrorBoundaryFallbackExpression(context, node);
285
+ const resetKeyExpression = getErrorBoundaryResetKeyExpression(context, node);
286
+ const startVar = nextVar(context, "errorBoundaryStart");
287
+ const endVar = nextVar(context, "errorBoundaryEnd");
288
+ const boundaryCleanupVar = nextVar(context, "errorBoundaryCleanup");
289
+ const renderVar = nextVar(context, "renderErrorBoundary");
290
+ const fallbackRenderVar = nextVar(context, "renderErrorBoundaryFallback");
291
+ const errorVar = nextVar(context, "error");
292
+ const errorInfoVar = nextVar(context, "errorInfo");
293
+ const normalizedErrorInfoVar = nextVar(context, "errorInfo");
294
+ const fallbackVar = nextVar(context, "errorFallback");
295
+ const fallbackFragmentVar = nextVar(context, "errorFallback");
296
+ const fallbackInstanceVar = nextVar(context, "errorFallback");
297
+ const previousErrorHandlerVar = nextVar(context, "previousErrorHandler");
298
+ const boundaryContextVar = nextVar(context, "errorBoundaryContext");
299
+ const previousComponentContextVar = context.componentContextVar;
300
+ const boundaryResetInitializedVar = resetKeyExpression ? nextVar(context, "errorBoundaryResetInitialized") : undefined;
301
+ const boundaryResetValueVar = resetKeyExpression ? nextVar(context, "errorBoundaryResetValue") : undefined;
302
+ const boundaryResetNextVar = resetKeyExpression ? nextVar(context, "errorBoundaryResetValue") : undefined;
303
+ const boundaryResetStopVar = resetKeyExpression ? nextVar(context, "stop") : undefined;
304
+ emit(context, indent, `const ${startVar} = document.createComment("error-boundary");`);
305
+ emit(context, indent, `const ${endVar} = document.createComment("/error-boundary");`);
306
+ appendNode(context, parentVar, startVar, indent, beforeVar);
307
+ appendNode(context, parentVar, endVar, indent, beforeVar);
308
+ emit(context, indent, `const ${boundaryCleanupVar} = [];`);
309
+ emit(context, indent, `const ${fallbackRenderVar} = (${errorVar}, ${errorInfoVar} = __mikuru_errorInfo("runtime")) => {`);
310
+ emit(context, indent + 1, `__mikuru_runCleanup(${boundaryCleanupVar});`);
311
+ emitRemoveBetween(context, indent + 1, startVar, endVar);
312
+ emit(context, indent + 1, `const ${fallbackVar} = unwrap(${fallbackExpression});`);
313
+ emit(context, indent + 1, `if (!${fallbackVar} || typeof ${fallbackVar}.mount !== "function") { throw ${errorVar}; }`);
314
+ emit(context, indent + 1, `const ${normalizedErrorInfoVar} = ${errorInfoVar} && typeof ${errorInfoVar} === "object" ? ${errorInfoVar} : {};`);
315
+ emit(context, indent + 1, `const ${fallbackFragmentVar} = document.createDocumentFragment();`);
316
+ emit(context, indent + 1, `const ${fallbackInstanceVar} = ${fallbackVar}.mount(${fallbackFragmentVar}, { error: ${errorVar}, errorInfo: { ...${normalizedErrorInfoVar}, boundary: __mikuru_componentInfo }, retry: ${renderVar}, reset: ${renderVar}, __mikuru_context });`);
317
+ emit(context, indent + 1, `${boundaryCleanupVar}.push(() => ${fallbackInstanceVar}.unmount());`);
318
+ appendNode(context, parentVar, fallbackFragmentVar, indent + 1, endVar);
319
+ emit(context, indent, "};");
320
+ emit(context, indent, `const ${renderVar} = () => {`);
321
+ emit(context, indent + 1, `__mikuru_runCleanup(${boundaryCleanupVar});`);
322
+ emitRemoveBetween(context, indent + 1, startVar, endVar);
323
+ emit(context, indent + 1, `const ${previousErrorHandlerVar} = __mikuru_context.errorHandler;`);
324
+ emit(context, indent + 1, `const ${boundaryContextVar} = { parent: __mikuru_context, provides: new Map(), errorHandler: ${fallbackRenderVar}, ...__mikuru_componentInfo };`);
325
+ emit(context, indent + 1, `__mikuru_context.errorHandler = ${fallbackRenderVar};`);
326
+ emit(context, indent + 1, "try {");
327
+ context.componentContextVar = boundaryContextVar;
328
+ generateNode(context, children[0], parentVar, boundaryCleanupVar, indent + 2, endVar);
329
+ context.componentContextVar = previousComponentContextVar;
330
+ emit(context, indent + 1, `} catch (${errorVar}) {`);
331
+ emit(context, indent + 2, `${fallbackRenderVar}(${errorVar}, __mikuru_errorInfo("mount"));`);
332
+ emit(context, indent + 1, "} finally {");
333
+ emit(context, indent + 2, `__mikuru_context.errorHandler = ${previousErrorHandlerVar};`);
334
+ emit(context, indent + 1, "}");
335
+ emit(context, indent, "};");
336
+ emit(context, indent, `${renderVar}();`);
337
+ if (resetKeyExpression && boundaryResetInitializedVar && boundaryResetValueVar && boundaryResetNextVar && boundaryResetStopVar) {
338
+ emit(context, indent, `let ${boundaryResetInitializedVar} = false;`);
339
+ emit(context, indent, `let ${boundaryResetValueVar};`);
340
+ emit(context, indent, `const ${boundaryResetStopVar} = effect(() => {`);
341
+ emit(context, indent + 1, `const ${boundaryResetNextVar} = unwrap(${resetKeyExpression});`);
342
+ emit(context, indent + 1, `if (!${boundaryResetInitializedVar}) { ${boundaryResetInitializedVar} = true; ${boundaryResetValueVar} = ${boundaryResetNextVar}; return; }`);
343
+ emit(context, indent + 1, `if (Object.is(${boundaryResetValueVar}, ${boundaryResetNextVar})) { return; }`);
344
+ emit(context, indent + 1, `${boundaryResetValueVar} = ${boundaryResetNextVar};`);
345
+ emit(context, indent + 1, `${renderVar}();`);
346
+ emit(context, indent, "});");
347
+ emit(context, indent, `${cleanupVar}.push(${boundaryResetStopVar});`);
348
+ }
349
+ emit(context, indent, `${cleanupVar}.push(() => {`);
350
+ emit(context, indent + 1, `__mikuru_runCleanup(${boundaryCleanupVar});`);
351
+ emitRemoveBetween(context, indent + 1, startVar, endVar);
352
+ emit(context, indent + 1, `${startVar}.remove();`);
353
+ emit(context, indent + 1, `${endVar}.remove();`);
354
+ emit(context, indent, "});");
355
+ return startVar;
356
+ }
268
357
  function generateSlot(context, node, parentVar, cleanupVar, indent, beforeVar) {
269
358
  const slotCleanupVar = nextVar(context, "slotCleanup");
270
359
  const slotCleanupResultVar = nextVar(context, "slotCleanup");
@@ -697,9 +786,9 @@ function generateElement(context, node, parentVar, cleanupVar, indent, beforeVar
697
786
  }
698
787
  emit(context, indent, "});");
699
788
  emit(context, indent, `${cleanupVar}.push(${stopVar});`);
700
- emit(context, indent, `const ${handlerVar} = ($event) => {`);
789
+ emit(context, indent, `const ${handlerVar} = __mikuru_guardEventHandler(($event) => {`);
701
790
  emit(context, indent + 1, `${expression}.value = ${assignedValue};`);
702
- emit(context, indent, "};");
791
+ emit(context, indent, "});");
703
792
  emit(context, indent, `${elementVar}.addEventListener(${quote(eventName)}, ${handlerVar});`);
704
793
  emit(context, indent, `${cleanupVar}.push(() => ${elementVar}.removeEventListener(${quote(eventName)}, ${handlerVar}));`);
705
794
  continue;
@@ -729,8 +818,10 @@ function generateElement(context, node, parentVar, cleanupVar, indent, beforeVar
729
818
  const handlerExpression = eventHandlerExpression(handler, context, attr.valueLoc);
730
819
  if (event.modifiers.length) {
731
820
  const baseHandlerVar = nextVar(context, "handler");
821
+ const errorHandlerVar = nextVar(context, "errorHandler");
732
822
  emit(context, indent, `const ${baseHandlerVar} = ${handlerExpression};`);
733
- emit(context, indent, `const ${handlerVar} = ($event) => {`);
823
+ emit(context, indent, `const ${errorHandlerVar} = __mikuru_context.errorHandler;`);
824
+ emit(context, indent, `const ${handlerVar} = ($event) => __mikuru_try(() => {`);
734
825
  if (event.modifiers.includes("self")) {
735
826
  emit(context, indent + 1, `if ($event.target !== ${elementVar}) { return; }`);
736
827
  }
@@ -741,10 +832,10 @@ function generateElement(context, node, parentVar, cleanupVar, indent, beforeVar
741
832
  emit(context, indent + 1, "$event.stopPropagation();");
742
833
  }
743
834
  emit(context, indent + 1, `return ${baseHandlerVar}($event);`);
744
- emit(context, indent, "};");
835
+ emit(context, indent, `}, ${errorHandlerVar}, "event");`);
745
836
  }
746
837
  else {
747
- emit(context, indent, `const ${handlerVar} = ${handlerExpression};`);
838
+ emit(context, indent, `const ${handlerVar} = __mikuru_guardEventHandler(${handlerExpression});`);
748
839
  }
749
840
  const eventOptions = eventListenerOptions(event);
750
841
  emit(context, indent, `${elementVar}.addEventListener(${quote(event.name)}, ${handlerVar}${eventOptions ? `, ${eventOptions}` : ""});`);
@@ -862,6 +953,7 @@ function emitObjectListeners(context, elementVar, attr, cleanupVar, indent) {
862
953
  const sourceVar = nextVar(context, "listeners");
863
954
  const eventVar = nextVar(context, "event");
864
955
  const handlerVar = nextVar(context, "handler");
956
+ const wrappedHandlerVar = nextVar(context, "handler");
865
957
  emit(context, indent, `const ${listenersVar} = new Map();`);
866
958
  emit(context, indent, `const ${stopVar} = effect(() => {`);
867
959
  emit(context, indent + 1, `for (const [${eventVar}, ${handlerVar}] of ${listenersVar}) {`);
@@ -872,8 +964,9 @@ function emitObjectListeners(context, elementVar, attr, cleanupVar, indent) {
872
964
  emit(context, indent + 1, `if (${sourceVar} && typeof ${sourceVar} === "object") {`);
873
965
  emit(context, indent + 2, `for (const [${eventVar}, ${handlerVar}] of Object.entries(${sourceVar})) {`);
874
966
  emit(context, indent + 3, `if (typeof ${handlerVar} === "function") {`);
875
- emit(context, indent + 4, `${elementVar}.addEventListener(${eventVar}, ${handlerVar});`);
876
- emit(context, indent + 4, `${listenersVar}.set(${eventVar}, ${handlerVar});`);
967
+ emit(context, indent + 4, `const ${wrappedHandlerVar} = __mikuru_guardEventHandler(${handlerVar});`);
968
+ emit(context, indent + 4, `${elementVar}.addEventListener(${eventVar}, ${wrappedHandlerVar});`);
969
+ emit(context, indent + 4, `${listenersVar}.set(${eventVar}, ${wrappedHandlerVar});`);
877
970
  emit(context, indent + 3, "}");
878
971
  emit(context, indent + 2, "}");
879
972
  emit(context, indent + 1, "}");
@@ -945,28 +1038,47 @@ function generateIfChain(context, branches, parentVar, cleanupVar, indent, befor
945
1038
  const endVar = nextVar(context, "ifEnd");
946
1039
  const branchCleanupVar = nextVar(context, "ifCleanup");
947
1040
  const stopVar = nextVar(context, "stop");
1041
+ const renderTokenVar = transitionVar ? nextVar(context, "ifRenderToken") : undefined;
948
1042
  emit(context, indent, `const ${branchCleanupVar} = [];`);
1043
+ if (renderTokenVar) {
1044
+ emit(context, indent, `let ${renderTokenVar} = 0;`);
1045
+ }
949
1046
  emit(context, indent, `const ${startVar} = document.createComment("if");`);
950
1047
  emit(context, indent, `const ${endVar} = document.createComment("/if");`);
951
1048
  appendNode(context, parentVar, startVar, indent, beforeVar);
952
1049
  appendNode(context, parentVar, endVar, indent, beforeVar);
953
1050
  emit(context, indent, `const ${stopVar} = effect(() => {`);
1051
+ if (transitionVar) {
1052
+ emit(context, indent + 1, `const hadTransitionBranch = ${startVar}.nextSibling !== ${endVar};`);
1053
+ }
954
1054
  emit(context, indent + 1, `__mikuru_runCleanup(${branchCleanupVar});`);
955
1055
  emitRemoveBetween(context, indent + 1, startVar, endVar);
1056
+ const branchIndent = transitionVar ? indent + 2 : indent + 1;
1057
+ const renderBranchVar = transitionVar ? nextVar(context, "renderIfBranch") : undefined;
1058
+ if (transitionVar && renderBranchVar && renderTokenVar) {
1059
+ const currentTokenVar = nextVar(context, "ifRenderToken");
1060
+ emit(context, indent + 1, `const ${currentTokenVar} = ++${renderTokenVar};`);
1061
+ emit(context, indent + 1, `const ${renderBranchVar} = () => {`);
1062
+ emit(context, indent + 2, `if (${currentTokenVar} !== ${renderTokenVar}) { return; }`);
1063
+ }
956
1064
  branches.forEach((branch, branchIndex) => {
957
1065
  if (branch.directive === "v-else") {
958
- emit(context, indent + 1, `${branchIndex === 0 ? "if (true)" : "else"} {`);
1066
+ emit(context, branchIndent, `${branchIndex === 0 ? "if (true)" : "else"} {`);
959
1067
  }
960
1068
  else {
961
1069
  const condition = compileTemplateExpression(branch.condition ?? "", branch.directive, toExpressionContext(context, getStringAttrLocation(branch.node, branch.directive)));
962
- emit(context, indent + 1, `${branchIndex === 0 ? "if" : "else if"} (unwrap(${condition})) {`);
1070
+ emit(context, branchIndent, `${branchIndex === 0 ? "if" : "else if"} (unwrap(${condition})) {`);
963
1071
  }
964
- const branchVar = generateNode(context, withoutAttrs(branch.node, ["v-if", "v-else-if", "v-else"]), parentVar, branchCleanupVar, indent + 2, endVar);
1072
+ const branchVar = generateNode(context, withoutAttrs(branch.node, ["v-if", "v-else-if", "v-else"]), parentVar, branchCleanupVar, branchIndent + 1, endVar);
965
1073
  if (transitionVar) {
966
- emitTransitionRegistration(context, branchVar, transitionVar, indent + 2);
1074
+ emitTransitionRegistration(context, branchVar, transitionVar, branchIndent + 1);
967
1075
  }
968
- emit(context, indent + 1, "}");
1076
+ emit(context, branchIndent, "}");
969
1077
  });
1078
+ if (transitionVar && renderBranchVar) {
1079
+ emit(context, indent + 1, "};");
1080
+ emit(context, indent + 1, `if (${transitionVar}.mode === "out-in" && hadTransitionBranch) { setTimeout(${renderBranchVar}, 50); } else { ${renderBranchVar}(); }`);
1081
+ }
970
1082
  emit(context, indent, "});");
971
1083
  emit(context, indent, `${cleanupVar}.push(() => {`);
972
1084
  emit(context, indent + 1, `${stopVar}();`);
@@ -1636,7 +1748,7 @@ function emitComponentProps(context, node, propsVar, attrsVar, indent) {
1636
1748
  const needsProxy = objectBindAttrs.length > 0 || objectOnAttrs.length > 0;
1637
1749
  const propsTargetVar = needsProxy ? nextVar(context, "propsBase") : propsVar;
1638
1750
  emit(context, indent, `const ${propsTargetVar} = {`);
1639
- emit(context, indent + 1, "__mikuru_context,");
1751
+ emit(context, indent + 1, `__mikuru_context: ${context.componentContextVar ?? "__mikuru_context"},`);
1640
1752
  emit(context, indent + 1, `__mikuru_attrs: ${attrsVar},`);
1641
1753
  for (const prop of props) {
1642
1754
  emit(context, indent + 1, `${prop},`);
@@ -1962,7 +2074,7 @@ function componentPropEntries(context, attr) {
1962
2074
  const valueExpression = compileTemplateExpression(expression, attr.name, toExpressionContext(context, attr.valueLoc));
1963
2075
  const entries = [
1964
2076
  `get modelValue() { return unwrap(${valueExpression}); }`,
1965
- `onUpdateModelValue: ($value) => { ${expression}.value = $value; }`
2077
+ `onUpdateModelValue: __mikuru_guardEventHandler(($value) => { ${expression}.value = $value; })`
1966
2078
  ];
1967
2079
  if (modelDirective.modifiers.length > 0) {
1968
2080
  entries.push(`modelModifiers: { ${modelDirective.modifiers.map((modifier) => `${quotePropertyName(modifier)}: true`).join(", ")} }`);
@@ -1974,7 +2086,7 @@ function componentPropEntries(context, attr) {
1974
2086
  validateComponentEventModifiers(event, attr, context);
1975
2087
  const handler = validateTemplateExpression(requireAttrValue(attr), attr.name, toExpressionContext(context, attr.valueLoc));
1976
2088
  return [
1977
- `${quotePropertyName(toComponentEventProp(event.name))}: ${componentEventHandlerExpression(event, eventHandlerExpression(handler, context, attr.valueLoc), context)}`
2089
+ `${quotePropertyName(toComponentEventProp(event.name))}: __mikuru_guardEventHandler(${componentEventHandlerExpression(event, eventHandlerExpression(handler, context, attr.valueLoc), context)})`
1978
2090
  ];
1979
2091
  }
1980
2092
  const bindingName = getBindingName(attr.name);
@@ -2025,6 +2137,14 @@ function getTransitionBranches(context, children) {
2025
2137
  }
2026
2138
  function getTransitionOptionsExpression(context, node) {
2027
2139
  const entries = [`name: String(unwrap(${getTransitionAttrExpression(context, node, "name", "v")}) ?? "v")`];
2140
+ const appearExpression = getTransitionAttrExpression(context, node, "appear");
2141
+ const modeExpression = getTransitionAttrExpression(context, node, "mode");
2142
+ if (appearExpression) {
2143
+ entries.push(`appear: Boolean(unwrap(${appearExpression}))`);
2144
+ }
2145
+ if (modeExpression) {
2146
+ entries.push(`mode: String(unwrap(${modeExpression}) ?? "")`);
2147
+ }
2028
2148
  const classAttrs = [
2029
2149
  ["enter-from-class", "enterFromClass"],
2030
2150
  ["enter-active-class", "enterActiveClass"],
@@ -2046,6 +2166,9 @@ function getTransitionAttrExpression(context, node, name, fallback) {
2046
2166
  if (dynamicAttr) {
2047
2167
  return compileTemplateExpression(requireAttrValue(dynamicAttr), dynamicAttr.name, toExpressionContext(context, dynamicAttr.valueLoc));
2048
2168
  }
2169
+ if (hasStaticBooleanAttr(node, name)) {
2170
+ return "true";
2171
+ }
2049
2172
  const staticValue = getStaticAttrValue(node, name);
2050
2173
  if (staticValue !== undefined) {
2051
2174
  return quote(staticValue);
@@ -2056,6 +2179,7 @@ function validateTransitionAttributes(context, node) {
2056
2179
  const supported = new Set([
2057
2180
  "name",
2058
2181
  "appear",
2182
+ "mode",
2059
2183
  "enter-from-class",
2060
2184
  "enter-active-class",
2061
2185
  "enter-to-class",
@@ -2071,6 +2195,36 @@ function validateTransitionAttributes(context, node) {
2071
2195
  throwTemplateError(`<Transition> only supports name, appear, and CSS class override attributes in v1`, context, attr.loc);
2072
2196
  }
2073
2197
  }
2198
+ function getSingleElementChild(context, node, label) {
2199
+ const meaningful = node.children.filter((child) => child.type === "element" || child.parts.some((part) => part.value.trim()));
2200
+ if (meaningful.length !== 1 || meaningful[0].type !== "element") {
2201
+ throwTemplateError(`${label} requires exactly one element or component child`, context, node.loc);
2202
+ }
2203
+ return [meaningful[0]];
2204
+ }
2205
+ function getErrorBoundaryFallbackExpression(context, node) {
2206
+ const fallbackAttr = node.attrs.find((attr) => getBindingName(attr.name) === "fallback");
2207
+ if (!fallbackAttr) {
2208
+ throwTemplateError("<ErrorBoundary> requires :fallback to resolve to a component object", context, node.loc);
2209
+ }
2210
+ return compileTemplateExpression(requireAttrValue(fallbackAttr), fallbackAttr.name, toExpressionContext(context, fallbackAttr.valueLoc));
2211
+ }
2212
+ function getErrorBoundaryResetKeyExpression(context, node) {
2213
+ const resetKeyAttr = node.attrs.find((attr) => getBindingName(attr.name) === "reset-key");
2214
+ if (!resetKeyAttr) {
2215
+ return undefined;
2216
+ }
2217
+ return compileTemplateExpression(requireAttrValue(resetKeyAttr), resetKeyAttr.name, toExpressionContext(context, resetKeyAttr.valueLoc));
2218
+ }
2219
+ function validateErrorBoundaryAttributes(context, node) {
2220
+ for (const attr of node.attrs) {
2221
+ const bindingName = getBindingName(attr.name);
2222
+ if (bindingName === "fallback" || bindingName === "reset-key") {
2223
+ continue;
2224
+ }
2225
+ throwTemplateError("<ErrorBoundary> only supports :fallback and :reset-key in v1", context, attr.loc);
2226
+ }
2227
+ }
2074
2228
  function getTeleportToExpression(context, node) {
2075
2229
  const dynamicTo = node.attrs.find((attr) => getBindingName(attr.name) === "to");
2076
2230
  if (dynamicTo) {
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/compiler/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/compiler/generate.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export { compile } from "./compiler/index.js";
2
2
  export type { CompileOptions, CompileResult } from "./compiler/index.js";
3
3
  export { computed, defineAsyncComponent, effect, ref, unwrap } from "./runtime/index.js";
4
- export type { AsyncComponentLoader, AsyncComponentOptions, ComputedRef, EffectFn, MikuruComponent, MikuruComponentInstance, Ref } from "./runtime/index.js";
4
+ export type { AsyncComponentLoader, AsyncComponentOptions, ComputedRef, EffectFn, MikuruComponent, MikuruComponentInstance, MikuruErrorInfo, MikuruErrorPhase, Ref } from "./runtime/index.js";
@@ -16,4 +16,14 @@ export type AsyncComponentOptions = {
16
16
  delay?: number;
17
17
  timeout?: number;
18
18
  };
19
+ export type MikuruErrorPhase = "runtime" | "mount" | "event" | "emit" | "mounted" | "cleanup" | "unmounted" | "async-loader" | "async-timeout";
20
+ export type MikuruErrorInfo = {
21
+ component?: string;
22
+ filename?: string;
23
+ phase?: MikuruErrorPhase;
24
+ boundary?: {
25
+ component?: string;
26
+ filename?: string;
27
+ };
28
+ };
19
29
  export declare function defineAsyncComponent(loaderOrOptions: AsyncComponentLoader | AsyncComponentOptions): MikuruComponent;
@@ -9,17 +9,23 @@ export function defineAsyncComponent(loaderOrOptions) {
9
9
  pending ??= options.loader().then((result) => {
10
10
  resolved = "default" in result ? result.default : result;
11
11
  return resolved;
12
+ }, (error) => {
13
+ pending = undefined;
14
+ throw error;
12
15
  });
13
16
  return pending;
14
17
  };
15
18
  return {
16
19
  mount(target, props = {}) {
20
+ const context = props.__mikuru_context;
17
21
  const ownerDocument = target.ownerDocument ?? globalThis.document;
18
22
  const start = ownerDocument.createComment("async-component");
19
23
  const end = ownerDocument.createComment("/async-component");
20
24
  let child;
21
25
  let cancelled = false;
22
26
  let token = 0;
27
+ let delayTimer;
28
+ let timeoutTimer;
23
29
  target.appendChild(start);
24
30
  target.appendChild(end);
25
31
  const clear = () => {
@@ -38,62 +44,76 @@ export function defineAsyncComponent(loaderOrOptions) {
38
44
  render(component, nextProps);
39
45
  }
40
46
  };
41
- const currentToken = ++token;
42
- let delayTimer;
43
- if (options.loadingComponent && (options.delay ?? 0) <= 0) {
44
- renderFallback(options.loadingComponent, props);
45
- }
46
- else if (options.loadingComponent) {
47
- delayTimer = setTimeout(() => {
48
- if (!cancelled && currentToken === token && !child) {
49
- renderFallback(options.loadingComponent, props);
50
- }
51
- }, options.delay);
52
- }
53
- const timeoutTimer = options.timeout && options.timeout > 0
54
- ? setTimeout(() => {
55
- if (!cancelled && currentToken === token && !resolved) {
56
- renderFallback(options.errorComponent, { ...props, error: new Error("Async component timed out"), retry: load });
57
- }
58
- }, options.timeout)
59
- : undefined;
60
- load().then((component) => {
61
- if (cancelled || currentToken !== token) {
47
+ const reportError = (error, phase) => {
48
+ if (typeof context?.errorHandler === "function") {
49
+ context.errorHandler(error, { component: context.component, filename: context.filename, phase });
62
50
  return;
63
51
  }
52
+ setTimeout(() => { throw error; });
53
+ };
54
+ const clearTimers = () => {
64
55
  if (delayTimer) {
65
56
  clearTimeout(delayTimer);
57
+ delayTimer = undefined;
66
58
  }
67
59
  if (timeoutTimer) {
68
60
  clearTimeout(timeoutTimer);
61
+ timeoutTimer = undefined;
69
62
  }
70
- clear();
71
- render(component, props);
72
- }, (error) => {
73
- if (cancelled || currentToken !== token) {
74
- return;
75
- }
76
- if (delayTimer) {
77
- clearTimeout(delayTimer);
63
+ };
64
+ const startLoad = () => {
65
+ const currentToken = ++token;
66
+ clearTimers();
67
+ if (options.loadingComponent && (options.delay ?? 0) <= 0) {
68
+ renderFallback(options.loadingComponent, props);
78
69
  }
79
- if (timeoutTimer) {
80
- clearTimeout(timeoutTimer);
70
+ else if (options.loadingComponent) {
71
+ delayTimer = setTimeout(() => {
72
+ if (!cancelled && currentToken === token && !child) {
73
+ renderFallback(options.loadingComponent, props);
74
+ }
75
+ }, options.delay);
81
76
  }
82
- renderFallback(options.errorComponent, { ...props, error, retry: load });
83
- if (!options.errorComponent) {
84
- setTimeout(() => { throw error; });
77
+ if (options.timeout && options.timeout > 0) {
78
+ timeoutTimer = setTimeout(() => {
79
+ if (!cancelled && currentToken === token && !resolved) {
80
+ token += 1;
81
+ clearTimers();
82
+ pending = undefined;
83
+ const error = new Error("Async component timed out");
84
+ renderFallback(options.errorComponent, { ...props, error, retry: () => startLoad() });
85
+ if (!options.errorComponent) {
86
+ reportError(error, "async-timeout");
87
+ }
88
+ }
89
+ }, options.timeout);
85
90
  }
86
- });
91
+ const promise = load();
92
+ promise.then((component) => {
93
+ if (cancelled || currentToken !== token) {
94
+ return;
95
+ }
96
+ clearTimers();
97
+ clear();
98
+ render(component, props);
99
+ }, (error) => {
100
+ if (cancelled || currentToken !== token) {
101
+ return;
102
+ }
103
+ clearTimers();
104
+ renderFallback(options.errorComponent, { ...props, error, retry: () => startLoad() });
105
+ if (!options.errorComponent) {
106
+ reportError(error, "async-loader");
107
+ }
108
+ });
109
+ return promise;
110
+ };
111
+ void startLoad();
87
112
  return {
88
113
  element: start,
89
114
  unmount() {
90
115
  cancelled = true;
91
- if (delayTimer) {
92
- clearTimeout(delayTimer);
93
- }
94
- if (timeoutTimer) {
95
- clearTimeout(timeoutTimer);
96
- }
116
+ clearTimers();
97
117
  clear();
98
118
  start.remove();
99
119
  end.remove();
@@ -1 +1 @@
1
- {"version":3,"file":"asyncComponent.js","sourceRoot":"","sources":["../../src/runtime/asyncComponent.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,oBAAoB,CAAC,eAA6D;IAChG,MAAM,OAAO,GAAG,OAAO,eAAe,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;IACtG,IAAI,OAA6C,CAAC;IAClD,IAAI,QAAqC,CAAC;IAE1C,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3C,QAAQ,GAAG,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YACzD,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE;YACtB,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,UAAU,CAAC,QAAQ,CAAC;YAClE,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;YAC7D,MAAM,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;YAC5D,IAAI,KAA0C,CAAC;YAC/C,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,KAAK,GAAG,CAAC,CAAC;YAEd,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC1B,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAExB,MAAM,KAAK,GAAG,GAAG,EAAE;gBACjB,KAAK,EAAE,OAAO,EAAE,CAAC;gBACjB,KAAK,GAAG,SAAS,CAAC;gBAClB,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC5B,CAAC,CAAC;YAEF,MAAM,MAAM,GAAG,CAAC,SAA0B,EAAE,SAAkC,EAAE,EAAE;gBAChF,MAAM,QAAQ,GAAG,aAAa,CAAC,sBAAsB,EAAE,CAAC;gBACxD,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC7C,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC9C,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,CAAC,SAAsC,EAAE,SAAkC,EAAE,EAAE;gBACpG,KAAK,EAAE,CAAC;gBACR,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG,EAAE,KAAK,CAAC;YAC7B,IAAI,UAAqD,CAAC;YAE1D,IAAI,OAAO,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1D,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YAClD,CAAC;iBAAM,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBACpC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC3B,IAAI,CAAC,SAAS,IAAI,YAAY,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;wBACnD,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YACD,MAAM,YAAY,GAChB,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC;gBACpC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,SAAS,IAAI,YAAY,KAAK,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACtD,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,2BAA2B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnH,CAAC;gBACH,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;gBACrB,CAAC,CAAC,SAAS,CAAC;YAEhB,IAAI,EAAE,CAAC,IAAI,CACT,CAAC,SAAS,EAAE,EAAE;gBACZ,IAAI,SAAS,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;oBACxC,OAAO;gBACT,CAAC;gBAED,IAAI,UAAU,EAAE,CAAC;oBACf,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC3B,CAAC;gBAED,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,YAAY,CAAC,CAAC;gBAC7B,CAAC;gBAED,KAAK,EAAE,CAAC;gBACR,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,SAAS,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;oBACxC,OAAO;gBACT,CAAC;gBAED,IAAI,UAAU,EAAE,CAAC;oBACf,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC3B,CAAC;gBAED,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,YAAY,CAAC,CAAC;gBAC7B,CAAC;gBAED,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEzE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;oBAC5B,UAAU,CAAC,GAAG,EAAE,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC,CACF,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO;oBACL,SAAS,GAAG,IAAI,CAAC;oBACjB,IAAI,UAAU,EAAE,CAAC;wBACf,YAAY,CAAC,UAAU,CAAC,CAAC;oBAC3B,CAAC;oBAED,IAAI,YAAY,EAAE,CAAC;wBACjB,YAAY,CAAC,YAAY,CAAC,CAAC;oBAC7B,CAAC;oBAED,KAAK,EAAE,CAAC;oBACR,KAAK,CAAC,MAAM,EAAE,CAAC;oBACf,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,GAAY;IACjD,IAAI,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC;IAEhC,OAAO,OAAO,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;QACjC,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"asyncComponent.js","sourceRoot":"","sources":["../../src/runtime/asyncComponent.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  export { normalizeClass, normalizeStyle, setAttribute } from "./dom.js";
2
2
  export type { ClassValue, StyleValue } from "./dom.js";
3
3
  export { defineAsyncComponent } from "./asyncComponent.js";
4
- export type { AsyncComponentLoader, AsyncComponentOptions, MikuruComponent, MikuruComponentInstance } from "./asyncComponent.js";
4
+ export type { AsyncComponentLoader, AsyncComponentOptions, MikuruComponent, MikuruComponentInstance, MikuruErrorInfo, MikuruErrorPhase } from "./asyncComponent.js";
5
5
  export { computed, effect, ref, unwrap } from "./reactivity.js";
6
6
  export type { ComputedRef, EffectFn, Ref } from "./reactivity.js";
7
7
  export { nextTick, watch, onMounted, onBeforeUnmount, onUnmounted, provide, inject } from "./lifecycle.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAS3D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mikuru",
3
- "version": "1.0.17",
3
+ "version": "1.0.19",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "A compile-first JavaScript framework with Vue-like authoring and Svelte-like generated DOM updates.",