From becde3056b58bd0c6e585c8b0c34bf0e8fcb2474 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Fri, 2 Nov 2018 22:44:22 +0800 Subject: [PATCH] fix: should fallback to local eslint, fixes instant prototyping closes #2866 --- packages/@vue/cli-plugin-eslint/index.js | 8 ++++++-- packages/@vue/cli-plugin-eslint/lint.js | 2 +- packages/@vue/cli-service-global/package.json | 1 - 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/@vue/cli-plugin-eslint/index.js b/packages/@vue/cli-plugin-eslint/index.js index b3edbbbb4..d31c37629 100644 --- a/packages/@vue/cli-plugin-eslint/index.js +++ b/packages/@vue/cli-plugin-eslint/index.js @@ -6,7 +6,9 @@ module.exports = (api, options) => { // Use loadModule to allow users to customize their ESLint dependency version. const { loadModule } = require('@vue/cli-shared-utils') const cwd = api.getCwd() - const eslintPkg = loadModule('eslint/package.json', cwd, true) + const eslintPkg = + loadModule('eslint/package.json', cwd, true) || + require('eslint/package.json') // eslint-loader doesn't bust cache when eslint config changes // so we have to manually generate a cache identifier that takes the config @@ -46,7 +48,9 @@ module.exports = (api, options) => { cacheIdentifier, emitWarning: options.lintOnSave !== 'error', emitError: options.lintOnSave === 'error', - formatter: loadModule('eslint/lib/formatters/codeframe', cwd, true) + formatter: + loadModule('eslint/lib/formatters/codeframe', cwd, true) || + require('eslint/lib/formatters/codeframe') }) }) } diff --git a/packages/@vue/cli-plugin-eslint/lint.js b/packages/@vue/cli-plugin-eslint/lint.js index eb9baefd5..68251e717 100644 --- a/packages/@vue/cli-plugin-eslint/lint.js +++ b/packages/@vue/cli-plugin-eslint/lint.js @@ -21,7 +21,7 @@ module.exports = function lint (args = {}, api) { const path = require('path') const cwd = api.resolve('.') const { log, done, exit, chalk, loadModule } = require('@vue/cli-shared-utils') - const { CLIEngine } = loadModule('eslint', cwd, true) + const { CLIEngine } = loadModule('eslint', cwd, true) || require('eslint') const extensions = require('./eslintOptions').extensions(api) const argsConfig = normalizeConfig(args) diff --git a/packages/@vue/cli-service-global/package.json b/packages/@vue/cli-service-global/package.json index 3b6bd8e04..22af9b240 100644 --- a/packages/@vue/cli-service-global/package.json +++ b/packages/@vue/cli-service-global/package.json @@ -27,7 +27,6 @@ "@vue/cli-service": "^3.1.0", "babel-eslint": "^10.0.1", "chalk": "^2.4.1", - "eslint": "^5.8.0", "eslint-plugin-vue": "^5.0.0-0", "resolve": "^1.8.1", "vue": "^2.5.17",