Skip to content

Commit ff67bd2

Browse files
authored
Add --offline option, closed #280 (#303)
* allow to use cached template * clean up
1 parent 8b6f748 commit ff67bd2

File tree

3 files changed

+18
-21
lines changed

3 files changed

+18
-21
lines changed

bin/vue-init

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@
33
var download = require('download-git-repo')
44
var program = require('commander')
55
var exists = require('fs').existsSync
6-
var os = require('os')
76
var path = require('path')
8-
var rm = require('rimraf').sync
9-
var uid = require('uid')
107
var ora = require('ora')
8+
var home = require('user-home')
9+
var tildify = require('tildify')
1110
var chalk = require('chalk')
1211
var inquirer = require('inquirer')
1312
var logger = require('../lib/logger')
@@ -22,6 +21,7 @@ var warnings = require('../lib/warnings')
2221
program
2322
.usage('<template-name> [project-name]')
2423
.option('-c, --clone', 'use git clone')
24+
.option('--offline', 'use cached template')
2525

2626
/**
2727
* Help.
@@ -48,15 +48,6 @@ function help () {
4848
}
4949
help()
5050

51-
/**
52-
* Padding.
53-
*/
54-
55-
console.log()
56-
process.on('exit', function () {
57-
console.log()
58-
})
59-
6051
/**
6152
* Settings.
6253
*/
@@ -69,6 +60,21 @@ var name = inPlace ? path.relative('../', process.cwd()) : rawName
6960
var to = path.resolve(rawName || '.')
7061
var clone = program.clone || false
7162

63+
var tmp = path.join(home, '.vue-templates', template.replace(/\//g, '-'))
64+
if (program.offline) {
65+
console.log(`> Use cached template at ${chalk.yellow(tildify(tmp))}`)
66+
template = tmp
67+
}
68+
69+
/**
70+
* Padding.
71+
*/
72+
73+
console.log()
74+
process.on('exit', function () {
75+
console.log()
76+
})
77+
7278
if (exists(to)) {
7379
inquirer.prompt([{
7480
type: 'confirm',
@@ -134,14 +140,10 @@ function run () {
134140
*/
135141

136142
function downloadAndGenerate (template) {
137-
var tmp = os.tmpdir() + '/vue-template-' + uid()
138143
var spinner = ora('downloading template')
139144
spinner.start()
140145
download(template, tmp, { clone: clone }, function (err) {
141146
spinner.stop()
142-
process.on('exit', function () {
143-
rm(tmp)
144-
})
145147
if (err) logger.fatal('Failed to download repo ' + template + ': ' + err.message.trim())
146148
generate(name, tmp, to, function (err) {
147149
if (err) logger.fatal(err)

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@
6464
"rimraf": "^2.5.0",
6565
"semver": "^5.1.0",
6666
"tildify": "^1.2.0",
67-
"uid": "0.0.2",
6867
"url-loader": "^0.5.7",
6968
"user-home": "^2.0.0",
7069
"validate-npm-package-name": "^2.2.2",

yarn.lock

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5030,10 +5030,6 @@ uid-number@~0.0.6:
50305030
version "0.0.6"
50315031
resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
50325032

5033-
5034-
version "0.0.2"
5035-
resolved "https://registry.yarnpkg.com/uid/-/uid-0.0.2.tgz#5e4a5d4b78138b4f70f89fd3c76fc59aa9d2f103"
5036-
50375033
uniq@^1.0.1:
50385034
version "1.0.1"
50395035
resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"

0 commit comments

Comments
 (0)