first commit
This commit is contained in:
38
cli/setup.ts
Normal file
38
cli/setup.ts
Normal file
@ -0,0 +1,38 @@
|
||||
import { fileURLToPath } from 'node:url'
|
||||
import { resolve } from 'node:path'
|
||||
import type { NuxtConfig } from 'nuxt/config'
|
||||
import type { DocsOptions } from './types'
|
||||
|
||||
declare global {
|
||||
const __DOCS_DIR__: string
|
||||
}
|
||||
|
||||
const appDir = fileURLToPath(new URL('../app', import.meta.url))
|
||||
|
||||
const pkgDir = fileURLToPath(new URL('..', import.meta.url))
|
||||
|
||||
export async function getNuxtConfig(dir: string, _opts: DocsOptions = {}) {
|
||||
const fixLayers = (_, nuxt) => {
|
||||
const hasDocsDir = nuxt.options._layers.some(layer => layer.cwd === dir)
|
||||
if (!hasDocsDir) {
|
||||
nuxt.options._layers.unshift({
|
||||
cwd: dir,
|
||||
config: {
|
||||
rootDir: dir,
|
||||
srcDir: dir,
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// @ts-expect-error __DOCS_DIR__ is not defined
|
||||
global.__DOCS_DIR__ = resolve(dir, 'content')
|
||||
|
||||
// Prepare loadNuxt overrides
|
||||
return {
|
||||
compatibilityDate: '2025-06-17',
|
||||
extends: [appDir],
|
||||
modulesDir: [resolve(pkgDir, 'node_modules'), resolve(appDir, 'node_modules')],
|
||||
modules: [fixLayers],
|
||||
} as NuxtConfig
|
||||
}
|
Reference in New Issue
Block a user