Skip to content

vixt / core / defineVixtModule

defineVixtModule()

defineVixtModule<T>(definition): VixtModule<T>

Define a Vixt module.

Type Parameters

T

T extends ModuleOptions = ModuleOptions

Parameters

definition

ModuleDefinition<T> | VixtModule<T>

Returns

VixtModule<T>

Example

ts
// src/modules/my-module.ts
import { defineVixtModule } from 'vixt'

interface ModuleOptions {
  enabled?: boolean
}

declare module 'vixt' {
  interface VixtOptions {
    myModuleOptions?: ModuleOptions
  }
}

const name = 'my-module'
export default defineVixtModule<ModuleOptions>({
  meta: { name },
  defaults: { enabled: true },
  setup(options, vixt) {
    console.log(options) // { enabled: true }
    return {
      name,
      configResolved(config) {
        console.log(config)
      }
    } // return one or more vite plugins
  }
})