[READ-ONLY] Mirror of https://github.com/danielroe/nuxt-timings-module.
0

Configure Feed

Select the types of activity you want to include in your feed.

nuxt-timings-module / src / index.ts
1.1 kB 46 lines
1// eslint-disable-next-line 2import type { Module } from '@nuxt/types' 3import { defineNuxtModule } from '@nuxt/kit' 4 5import { bold } from 'chalk' 6import consola from 'consola' 7 8import { name } from '../package.json' 9import { registerFetchTimings } from './fetch' 10import { registerPluginTimings } from './plugins' 11import { registerStoreTimings } from './store' 12 13const CONFIG_KEY = 'timings' 14type ModuleOptions = { 15 enabled?: boolean 16} 17 18export default defineNuxtModule(nuxt => ({ 19 name, 20 configKey: CONFIG_KEY, 21 defaults: { enabled: nuxt.options.dev }, 22 setup (options, nuxt) { 23 if (!options.enabled) { 24 return 25 } 26 27 consola.info(`Enabling ${bold('nuxt-timings')}.`) 28 29 nuxt.options.server.timing = { total: true } as any 30 31 registerPluginTimings() 32 registerStoreTimings() 33 registerFetchTimings() 34 } 35})) 36 37declare module '@nuxt/types' { 38 interface NuxtConfig { 39 [CONFIG_KEY]?: ModuleOptions; 40 } // Nuxt 2.14+ 41 interface Configuration { 42 [CONFIG_KEY]?: ModuleOptions; 43 } // Nuxt 2.9 - 2.13 44} 45 46export type { ModuleOptions }