Files
docudjeex/cli/setup.ts
2025-07-19 13:59:44 +00:00

39 lines
1.0 KiB
TypeScript

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
}