@nuxt/test-utils
Version:
Test utilities for Nuxt
19 lines (18 loc) • 1.06 kB
JavaScript
import { Suspense, defineComponent, h, onErrorCaptured, provide } from "vue";
import { isNuxtError, useNuxtApp, useRoute } from "#imports";
import { PageRouteSymbol } from "#app/components/injections";
//#region src/runtime/nuxt-root.ts
var nuxt_root_default = defineComponent({ setup(_options, { slots }) {
const nuxtApp = useNuxtApp();
provide(PageRouteSymbol, useRoute());
const done = nuxtApp.deferHydration();
const results = nuxtApp.hooks.callHookWith((hooks) => hooks.map((hook) => hook()), "vue:setup", []);
if (import.meta.dev && results && results.some((i) => i && "then" in i)) console.error("[nuxt] Error in `vue:setup`. Callbacks must be synchronous.");
onErrorCaptured((err, target, info) => {
nuxtApp.hooks.callHook("vue:error", err, target, info)?.catch((hookError) => console.error("[nuxt] Error in `vue:error` hook", hookError));
if (isNuxtError(err) && (err.fatal || err.unhandled)) return false;
});
return () => h(Suspense, { onResolve: done }, slots.default?.());
} });
//#endregion
export { nuxt_root_default as default };