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
  }
})