UNPKG

infra-cli

Version:
28 lines (23 loc) 862 B
const chalk = require('chalk') const download = require('download-git-repo') const ora = require('ora') const util = require('util') const { runInstall } = require('./install') const { editPackageJson, getUserName } = require('./util/utils') async function generatorProjectFromUrl (name, targetDir, templateUrl) { if (!templateUrl.match(/.\.git(\/)?$/)) { console.log(chalk.redBright('There is no template url')) process.exit(1) } const spinner = ora('Fetching remote preset ...').start() try { await util.promisify(download)(`direct:${templateUrl}`, targetDir, { clone: true }) spinner.succeed() } catch (err) { spinner.fail(`Failed fetching remote preset ${templateUrl}.`) throw err } await editPackageJson(targetDir, { name, author: getUserName() }) runInstall(targetDir) } module.exports = generatorProjectFromUrl