保誠-保戶業務員媒合平台
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/**
 * NuxtOptionsModule
 * Documentation: https://nuxtjs.org/api/configuration-modules
 *                https://nuxtjs.org/guide/modules
 */
 
import { Configuration as WebpackConfiguration } from 'webpack'
import { NuxtOptionsLoaders } from './build'
import { NuxtOptions } from '.'
 
interface ExtendFunctionContext {
  isClient: boolean
  isDev: boolean
  isLegacy: boolean
  isModern: boolean
  isServer: boolean
  loaders: NuxtOptionsLoaders
}
 
type ExtendFunction = (config: WebpackConfiguration, ctx: ExtendFunctionContext) => void
 
interface ModuleThis {
  extendBuild(fn: ExtendFunction): void
  options: NuxtOptions
  nuxt: any // TBD
  [key: string]: any // TBD
}
 
export type Module<T = any> = (this: ModuleThis, moduleOptions: T) => Promise<void> | void
 
export type NuxtOptionsModule = string | Module | [string | Module, any]