Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 1x 1x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x | import { Repository, Resource, Project } from '@/internal' import { checkWorkDir } from '@/utils' interface InitOptions { cwd?: string name?: string noDeps?: boolean version?: string force?: boolean repository?: string } export default async(options: InitOptions): Promise<void> => { const cwd = options.cwd || process.cwd() const name = options.name const noDeps = options.noDeps || false const version = options.version || 'latest' const force = options.force || false Iif (!options.repository) throw new TypeError('options.repository is required for `mili.init(options)`') Iif (force) await checkWorkDir(cwd) const repo = await Repository.format(options.repository) Eif (version) repo.checkout(version) const template = await repo.install({ noDeps }) const project = await Project.load(cwd) Iif (options.name) project.name = name const resource = new Resource('init', project, template) const compiler = await resource.compile() await compiler.render({ ignoreAnswered: true }) await compiler.emit('initialized') } |