import { resolve } from 'node:path'import { defineCommand, runMain } from 'citty'import type { CLIOptions } from './types' export function createCLI(opts: CLIOptions) { const main = defineCommand({ meta: { name: opts.name, description: opts.description, }, args: { dir: { type: 'positional', description: 'Project directory', required: false, default: 'docs', }, template: { type: 'string', alias: 't', description: 'Template to use (default, i18n)', required: false, default: 'default', }, }, async setup(context) { const dir = resolve(context.args.dir as string) const template = context.args.template as 'i18n' | 'default' if (!['i18n', 'default'].includes(template)) { throw new Error('Invalid template') } const { runCommand } = await import('@nuxt/cli') await runCommand('init', [dir, '-t', `gh:nuxt-content/docus/.starters/${template}`]) }, }) return { runMain: () => runMain(main), }}
import { resolve } from 'node:path'
import { defineCommand, runMain } from 'citty'
import type { CLIOptions } from './types'
export function createCLI(opts: CLIOptions) {
const main = defineCommand({
meta: {
name: opts.name,
description: opts.description,
},
args: {
dir: {
type: 'positional',
description: 'Project directory',
required: false,
default: 'docs',
},
template: {
type: 'string',
alias: 't',
description: 'Template to use (default, i18n)',
required: false,
default: 'default',
},
},
async setup(context) {
const dir = resolve(context.args.dir as string)
const template = context.args.template as 'i18n' | 'default'
if (!['i18n', 'default'].includes(template)) {
throw new Error('Invalid template')
}
const { runCommand } = await import('@nuxt/cli')
await runCommand('init', [dir, '-t', `gh:nuxt-content/docus/.starters/${template}`])
},
})
return {
runMain: () => runMain(main),
}
}