diff --git a/packages/@vue/cli/lib/Creator.js b/packages/@vue/cli/lib/Creator.js index d4c79acdb..736e38f8b 100644 --- a/packages/@vue/cli/lib/Creator.js +++ b/packages/@vue/cli/lib/Creator.js @@ -169,7 +169,7 @@ module.exports = class Creator { } else { // manual options = { - packageManager: answers.packageManager, + packageManager: answers.packageManager || loadOptions().packageManager, plugins: {} } // run cb registered by prompt modules to finalize the options @@ -242,7 +242,8 @@ module.exports = class Creator { resolveOutroPrompts () { const outroPrompts = [] - if (hasYarn) { + const savedOptions = loadOptions() + if (hasYarn && !savedOptions.packageManager) { outroPrompts.push({ name: 'packageManager', when: isMode('manual'), @@ -266,7 +267,7 @@ module.exports = class Creator { name: 'save', when: isMode('manual'), type: 'confirm', - message: 'Save the preferences for future projects?' + message: 'Save the preferences for future projects? (You can always manually edit ~/.vuerc)' }) return outroPrompts } diff --git a/packages/@vue/cli/lib/options.js b/packages/@vue/cli/lib/options.js index 45bc77884..de3a93d1f 100644 --- a/packages/@vue/cli/lib/options.js +++ b/packages/@vue/cli/lib/options.js @@ -32,7 +32,10 @@ exports.defaults = { packageManager: hasYarn ? 'yarn' : 'npm', plugins: { '@vue/cli-plugin-babel': {}, - '@vue/cli-plugin-eslint': { config: 'base', lintOn: 'save' }, + '@vue/cli-plugin-eslint': { + config: 'base', + lintOn: ['save', 'commit'] + }, '@vue/cli-plugin-unit-mocha': {} } } diff --git a/packages/@vue/cli/lib/promptModules/linter.js b/packages/@vue/cli/lib/promptModules/linter.js index b0b8cad03..ad3931d5a 100644 --- a/packages/@vue/cli/lib/promptModules/linter.js +++ b/packages/@vue/cli/lib/promptModules/linter.js @@ -5,7 +5,8 @@ module.exports = cli => { cli.injectFeature({ name: 'Linter / Formatter', value: 'linter', - short: 'Linter' + short: 'Linter', + checked: true }) cli.injectPrompt({ @@ -48,11 +49,13 @@ module.exports = cli => { choices: [ { name: 'Lint on save', - value: 'save' + value: 'save', + checked: true }, { name: 'Lint and fix on commit' + (hasGit ? '' : chalk.red(' (requires Git)')), - value: 'commit' + value: 'commit', + checked: true } ] }) diff --git a/packages/@vue/cli/lib/promptModules/pwa.js b/packages/@vue/cli/lib/promptModules/pwa.js index d6deba511..d64b5a52d 100644 --- a/packages/@vue/cli/lib/promptModules/pwa.js +++ b/packages/@vue/cli/lib/promptModules/pwa.js @@ -1,7 +1,8 @@ module.exports = cli => { cli.injectFeature({ name: 'Progressive Web App (PWA) Support', - value: 'pwa' + value: 'pwa', + short: 'PWA' }) cli.onPromptComplete((answers, options) => { diff --git a/packages/@vue/cli/lib/promptModules/unit.js b/packages/@vue/cli/lib/promptModules/unit.js index 829cb1849..f0f37af07 100644 --- a/packages/@vue/cli/lib/promptModules/unit.js +++ b/packages/@vue/cli/lib/promptModules/unit.js @@ -2,7 +2,8 @@ module.exports = cli => { cli.injectFeature({ name: 'Unit Testing', value: 'unit', - short: 'Unit' + short: 'Unit', + checked: true }) cli.injectPrompt({