mirror of
https://github.com/vuejs/vue-cli.git
synced 2026-01-15 03:40:48 -06:00
25 lines
663 B
JavaScript
25 lines
663 B
JavaScript
const fs = require('fs-extra')
|
|
const loadPresetFromDir = require('./loadPresetFromDir')
|
|
|
|
module.exports = async function fetchRemotePreset (name, clone) {
|
|
const os = require('os')
|
|
const path = require('path')
|
|
const download = require('download-git-repo')
|
|
const tmpdir = path.join(os.tmpdir(), 'vue-cli')
|
|
|
|
// clone will fail if tmpdir already exists
|
|
// https://github.com/flipxfx/download-git-repo/issues/41
|
|
if (clone) {
|
|
await fs.remove(tmpdir)
|
|
}
|
|
|
|
await new Promise((resolve, reject) => {
|
|
download(name, tmpdir, { clone }, err => {
|
|
if (err) return reject(err)
|
|
resolve()
|
|
})
|
|
})
|
|
|
|
return await loadPresetFromDir(tmpdir)
|
|
}
|