Skip to content
This repository has been archived by the owner on Apr 6, 2023. It is now read-only.

refactor(kit)!: remove support for module container #9010

Merged
merged 3 commits into from Nov 15, 2022
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/content/3.api/4.advanced/2.kit.md
Expand Up @@ -15,6 +15,7 @@ description: Nuxt Kit provides composable utilities to help interacting with Nux
[source code](https://github.com/nuxt/framework/blob/main/packages/kit/src/module)

- `installModule(module, inlineOptions)`
- `wrapLegacyModule(module)`

### Programmatic Usage

Expand Down
11 changes: 9 additions & 2 deletions packages/kit/src/module/container.ts
Expand Up @@ -10,6 +10,13 @@ import { installModule } from './install'

const MODULE_CONTAINER_KEY = '__module_container__'

export function wrapLegacyModule (nuxtModule: Function) {
danielroe marked this conversation as resolved.
Show resolved Hide resolved
return function (...args: any) {
const container = useModuleContainer()
return nuxtModule.call(container, ...args)
}
}

export function useModuleContainer (nuxt: Nuxt = useNuxt()): ModuleContainer {
// @ts-ignore
if (nuxt[MODULE_CONTAINER_KEY]) { return nuxt[MODULE_CONTAINER_KEY] }
Expand Down Expand Up @@ -44,7 +51,7 @@ export function useModuleContainer (nuxt: Nuxt = useNuxt()): ModuleContainer {
addModule: requireModule,

// TODO
addServerMiddleware: () => { },
addServerMiddleware: () => {},

addTemplate (template) {
if (typeof template === 'string') {
Expand All @@ -66,7 +73,7 @@ export function useModuleContainer (nuxt: Nuxt = useNuxt()): ModuleContainer {

addErrorLayout (dst) {
const relativeBuildDir = relative(nuxt.options.rootDir, nuxt.options.buildDir)
;(nuxt as any).options.ErrorPage = `~/${relativeBuildDir}/${dst}`
; (nuxt as any).options.ErrorPage = `~/${relativeBuildDir}/${dst}`
},

extendBuild (fn) {
Expand Down
8 changes: 1 addition & 7 deletions packages/kit/src/module/install.ts
Expand Up @@ -2,20 +2,14 @@ import type { Nuxt, NuxtModule } from '@nuxt/schema'
import { useNuxt } from '../context'
import { resolveModule, requireModule, importModule } from '../internal/cjs'
import { resolveAlias } from '../resolve'
import { useModuleContainer } from './container'

/** Installs a module on a Nuxt instance. */
export async function installModule (moduleToInstall: string | NuxtModule, _inlineOptions?: any, _nuxt?: Nuxt) {
const nuxt = useNuxt()
const { nuxtModule, inlineOptions } = await normalizeModule(moduleToInstall, _inlineOptions)

// Call module
await nuxtModule.call(
// Provide this context for backwards compatibility with Nuxt 2
useModuleContainer() as any,
inlineOptions,
nuxt
)
await nuxtModule(inlineOptions, nuxt)

nuxt.options._installedModules = nuxt.options._installedModules || []
nuxt.options._installedModules.push({
Expand Down