--- title: "Kit Utilities" description: Nuxt Kit provides composable utilities to help interacting with Nuxt Hooks and Nuxt Builder. --- # Kit Utilities ::ReadMore{link="/docs/guide/going-further/kit"} :: # Utilities ## Modules [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/module) ### `installModule` #### Type ```ts async function installModule (moduleToInstall: string | NuxtModule, inlineOptions?: any, nuxt?: Nuxt) ``` Install specified Nuxt module programmatically. This is helpful when your module depends on other modules. You can pass the module options as an object to `inlineOptions` and they will be passed to the module's `setup` function. #### Examples ```ts import { defineNuxtModule, installModule } from '@nuxt/kit' export default defineNuxtModule({ async setup (options, nuxt) { // will install @nuxtjs/fontaine with Roboto font and Impact fallback await installModule('@nuxtjs/fontaine', { // module configuration fonts: [ { family: 'Roboto', fallbacks: ['Impact'], fallbackName: 'fallback-a', } ] }) } }) ``` ## Programmatic Usage [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/loader) - `loadNuxt(loadOptions)` - `buildNuxt(nuxt)` - `loadNuxtConfig(loadOptions)` ## Compatibility [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/compatibility.ts) - `checkNuxtCompatibility(constraints)` - `assertNuxtCompatibility(constraints)` - `hasNuxtCompatibility(constraints)` - `isNuxt2()` - `isNuxt3()` - `getNuxtVersion()` ## Auto-imports [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/imports.ts) - `addImports(imports)` - `addImportsDir(importDirs, { prepend? })` - `addImportsSources(importSources)` ## Components [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/components.ts) - `addComponentsDir(dir)` - `addComponent(componentObject)` ## Context [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/context.ts) - `useNuxt()` ## Pages [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/pages.ts) - `extendPages (callback: pages => void)` - `extendRouteRules (route: string, rule: NitroRouteConfig, options: ExtendRouteRulesOptions)` - `addRouteMiddleware (input: NuxtMiddleware | NuxtMiddleware[], options: AddRouteMiddlewareOptions)` ## Plugins [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/plugin.ts) - `addPlugin(pluginOptions, { append? })` - `addPluginTemplate(pluginOptions, { append? })` ## Templates [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/template.ts) - `addTemplate(templateOptions)` - `addTypeTemplate(templateOptions)` - `updateTemplates({ filter?: ResolvedNuxtTemplate => boolean })` ## Nitro [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/nitro.ts) - `addServerHandler (handler)` - `addDevServerHandler (handler)` - `useNitro()` (only usable after `ready` hook) - `addServerPlugin` - `addPrerenderRoutes` ## Resolving [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/resolve.ts) - `resolvePath (path, resolveOptions?)` - `resolveAlias (path, aliases?)` - `findPath (paths, resolveOptions?)` - `createResolver (base)` ## Logging [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/logger.ts) - `useLogger(scope?)` ## Builder [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/build.ts) - `extendWebpackConfig(callback, options?)` - `extendViteConfig(callback, options?)` - `addWebpackPlugin(webpackPlugin, options?)` - `addVitePlugin(vitePlugin, options?)`