diff --git a/packages/@vue/cli-plugin-e2e-nightwatch/index.js b/packages/@vue/cli-plugin-e2e-nightwatch/index.js index 88d843b5ca..ed36c5b41b 100644 --- a/packages/@vue/cli-plugin-e2e-nightwatch/index.js +++ b/packages/@vue/cli-plugin-e2e-nightwatch/index.js @@ -58,13 +58,6 @@ module.exports = (api, options) => { return runner }) }) - - // TODO remove in RC - api.registerCommand('e2e', (args, rawArgv) => { - const { warn } = require('@vue/cli-shared-utils') - warn(`Deprecation Warning: "vue-cli-service e2e" has been renamed to "vue-cli-service test:e2e".`) - return api.service.run('test:e2e', args, rawArgv) - }) } module.exports.defaultModes = { diff --git a/packages/@vue/cli-plugin-e2e-nightwatch/package.json b/packages/@vue/cli-plugin-e2e-nightwatch/package.json index e08602dcf6..970f651e49 100644 --- a/packages/@vue/cli-plugin-e2e-nightwatch/package.json +++ b/packages/@vue/cli-plugin-e2e-nightwatch/package.json @@ -27,7 +27,7 @@ "chromedriver": "^2.46.0", "deepmerge": "^3.2.0", "execa": "^1.0.0", - "nightwatch": "^0.9.21", + "nightwatch": "^1.0.18", "selenium-server": "^3.141.59" } } diff --git a/packages/@vue/cli-plugin-eslint/generator/index.js b/packages/@vue/cli-plugin-eslint/generator/index.js index 056a52c649..c2c4fc9c30 100644 --- a/packages/@vue/cli-plugin-eslint/generator/index.js +++ b/packages/@vue/cli-plugin-eslint/generator/index.js @@ -13,15 +13,7 @@ module.exports = (api, { config, lintOn = [] }, _, invoking) => { lint: 'vue-cli-service lint' }, eslintConfig, - // TODO: - // Move these dependencies to package.json in v4. - // Now in v3 we have to add redundant eslint related dependencies - // in order to keep compatibility with v3.0.x users who defaults to ESlint v4. - devDependencies: { - 'babel-eslint': '^10.0.1', - 'eslint': '^5.16.0', - 'eslint-plugin-vue': '^5.0.0' - } + devDependencies: {} } const injectEditorConfig = (config) => { diff --git a/packages/@vue/cli-plugin-eslint/package.json b/packages/@vue/cli-plugin-eslint/package.json index edd2dbee25..cdbc9b7914 100644 --- a/packages/@vue/cli-plugin-eslint/package.json +++ b/packages/@vue/cli-plugin-eslint/package.json @@ -25,12 +25,10 @@ "dependencies": { "@vue/cli-shared-utils": "^3.6.0", "babel-eslint": "^10.0.1", + "eslint": "^5.8.0", "eslint-loader": "^2.1.2", + "eslint-plugin-vue": "^5.0.0", "globby": "^9.2.0", "webpack": ">=4 < 4.29" - }, - "optionalDependencies": { - "eslint": "^4.19.1", - "eslint-plugin-vue": "^4.7.1" } } diff --git a/packages/@vue/cli-service-global/package.json b/packages/@vue/cli-service-global/package.json index 95d38b9b8b..99bee60ac1 100644 --- a/packages/@vue/cli-service-global/package.json +++ b/packages/@vue/cli-service-global/package.json @@ -28,8 +28,8 @@ "@vue/cli-service": "^3.6.0", "babel-eslint": "^10.0.1", "chalk": "^2.4.2", - "eslint": "^4.19.1", - "eslint-plugin-vue": "^4.7.1", + "eslint": "^5.8.0", + "eslint-plugin-vue": "^5.0.0", "resolve": "^1.10.0", "vue": "^2.6.10", "vue-template-compiler": "^2.6.10" diff --git a/packages/@vue/cli-service/lib/Service.js b/packages/@vue/cli-service/lib/Service.js index 84a2f857b4..389f000215 100644 --- a/packages/@vue/cli-service/lib/Service.js +++ b/packages/@vue/cli-service/lib/Service.js @@ -55,7 +55,7 @@ module.exports = class Service { } } - init (mode = process.env.VUE_CLI_MODE) { + init (mode = process.env.VUE_CLI_MODE, command = '') { if (this.initialized) { return } @@ -64,10 +64,10 @@ module.exports = class Service { // load mode .env if (mode) { - this.loadEnv(mode) + this.loadEnv(mode, command) } // load base .env - this.loadEnv() + this.loadEnv(command) // load user config const userOptions = this.loadUserOptions() @@ -89,7 +89,7 @@ module.exports = class Service { } } - loadEnv (mode) { + loadEnv (mode, command) { const logger = debug('vue:env') const basePath = path.resolve(this.context, `.env${mode ? `.${mode}` : ``}`) const localPath = `${basePath}.local` @@ -111,8 +111,8 @@ module.exports = class Service { load(basePath) // by default, NODE_ENV and BABEL_ENV are set to "development" unless mode - // is production or test. However the value in .env files will take higher - // priority. + // is production or test or running build command. + // However the value in .env files will take higher priority. if (mode) { // always set NODE_ENV during tests // as that is necessary for tests to not be affected by each other @@ -120,9 +120,16 @@ module.exports = class Service { process.env.VUE_CLI_TEST && !process.env.VUE_CLI_TEST_TESTING_ENV ) - const defaultNodeEnv = (mode === 'production' || mode === 'test') - ? mode - : 'development' + + let defaultNodeEnv + if (mode === 'production' || mode === 'test') { + defaultNodeEnv = mode + } else if (command === 'build') { + defaultNodeEnv = 'production' + } else { + defaultNodeEnv = 'development' + } + if (shouldForceDefaultEnv || process.env.NODE_ENV == null) { process.env.NODE_ENV = defaultNodeEnv } @@ -203,7 +210,7 @@ module.exports = class Service { const mode = args.mode || (name === 'build' && args.watch ? 'development' : this.modes[name]) // load env variables, load user config, apply plugins - this.init(mode) + this.init(mode, name) args._ = args._ || [] let command = this.commands[name]