UNPKG

@scayle/storefront-nuxt

Version:

Nuxt integration for the SCAYLE Commerce Engine and Storefront API

37 lines (36 loc) 981 B
import { defineNuxtPlugin, useRuntimeConfig } from "nuxt/app"; import { createConsola } from "consola/browser"; import createLog from "../createLog.js"; export default defineNuxtPlugin((nuxtApp) => { const config = useRuntimeConfig().public; const log = createLog( createConsola, config.storefront.log.name, config.storefront.log.level ); const coreLog = log.space("sfc"); coreLog.debug("Attached client-side logger"); addClientSideErrorHandling(log, nuxtApp.vueApp); return { provide: { log, coreLog } }; }); function addClientSideErrorHandling(log, app) { app.config.warnHandler = (msg, vm, trace) => { log.space("warnHandler").warn(msg, { vmOptions: vm?.$options, trace, component: vm?.$options.__name }); }; app.config.errorHandler = (error, vm, info) => { log.space("errorHandler").error(error, { vmOptions: vm?.$options, info, component: vm?.$options.__name }); }; }