From 88e9d463349154a63cb5663a1aab42cc8fa333cd Mon Sep 17 00:00:00 2001 From: Evan You Date: Mon, 8 Jan 2018 16:45:03 -0500 Subject: [PATCH] feat: router & vuex --- package.json | 6 +++- packages/@vue/cli-service/generator/index.js | 22 ++++++++++++-- .../generator/template/src/App.vue | 29 +++++++++++++++++++ .../generator/template/src/main.js | 12 ++++++++ .../generator/template/src/router.js | 23 +++++++++++++++ .../generator/template/src/store.js | 18 ++++++++++++ .../generator/template/src/views/About.vue | 7 +++++ .../generator/template/src/views/Home.vue | 20 +++++++++++++ packages/@vue/cli-service/package.json | 4 ++- packages/@vue/cli/__tests__/options.spec.js | 23 +++++---------- packages/@vue/cli/lib/Creator.js | 10 ++++--- packages/@vue/cli/lib/GeneratorAPI.js | 10 +++++-- packages/@vue/cli/lib/create.js | 14 ++++++--- packages/@vue/cli/lib/options.js | 26 ++++++----------- packages/@vue/cli/lib/promptModules/router.js | 10 +++++++ packages/@vue/cli/lib/promptModules/vuex.js | 10 +++++++ packages/@vue/cli/lib/util/formatFeatures.js | 24 ++++++++++----- yarn.lock | 8 +++++ 18 files changed, 221 insertions(+), 55 deletions(-) create mode 100644 packages/@vue/cli-service/generator/template/src/router.js create mode 100644 packages/@vue/cli-service/generator/template/src/store.js create mode 100644 packages/@vue/cli-service/generator/template/src/views/About.vue create mode 100644 packages/@vue/cli-service/generator/template/src/views/Home.vue diff --git a/package.json b/package.json index b7cf75b97..df51fa81c 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,11 @@ ], "scripts": { "test": "jest --env node", - "lint": "eslint --fix packages/**/*.js packages/**/bin/* test/**/*.js" + "posttest": "yarn clean", + "lint": "eslint --fix packages/**/*.js packages/**/bin/* test/**/*.js", + "clean": "node scripts/cleanTestDir.js", + "sync": "node scripts/syncDeps.js", + "boot": "node scripts/bootstrap.js" }, "gitHooks": { "pre-commit": "lint-staged" diff --git a/packages/@vue/cli-service/generator/index.js b/packages/@vue/cli-service/generator/index.js index 740452722..3489b8433 100644 --- a/packages/@vue/cli-service/generator/index.js +++ b/packages/@vue/cli-service/generator/index.js @@ -1,6 +1,6 @@ -module.exports = (generatorAPI, options) => { - generatorAPI.render('./template') - generatorAPI.extendPackage({ +module.exports = (api, options) => { + api.render('./template') + api.extendPackage({ scripts: { 'serve': 'vue-cli-service serve' + ( // only auto open browser on MacOS where applescript @@ -28,4 +28,20 @@ module.exports = (generatorAPI, options) => { 'not ie <= 8' ] }) + + if (options.router) { + api.extendPackage({ + dependencies: { + 'vue-router': '^3.0.1' + } + }) + } + + if (options.vuex) { + api.extendPackage({ + dependencies: { + vuex: '^3.0.1' + } + }) + } } diff --git a/packages/@vue/cli-service/generator/template/src/App.vue b/packages/@vue/cli-service/generator/template/src/App.vue index 561ba062c..591d9fb40 100644 --- a/packages/@vue/cli-service/generator/template/src/App.vue +++ b/packages/@vue/cli-service/generator/template/src/App.vue @@ -1,3 +1,4 @@ +<%_ if (!options.router) { _%>