diff --git a/packages/@vue/cli-plugin-eslint/__tests__/eslintGenerator.spec.js b/packages/@vue/cli-plugin-eslint/__tests__/eslintGenerator.spec.js index 481a9ccf4..1a10291ce 100644 --- a/packages/@vue/cli-plugin-eslint/__tests__/eslintGenerator.spec.js +++ b/packages/@vue/cli-plugin-eslint/__tests__/eslintGenerator.spec.js @@ -163,3 +163,18 @@ test('append to existing .editorconfig', async () => { expect(editorconfig).toMatch('root = true') expect(editorconfig).toMatch('[*.{js,jsx,ts,tsx,vue}]') }) + +test('airbnb config + typescript + unit-mocha', async () => { + await create('eslint-airbnb-typescript', { + plugins: { + '@vue/cli-plugin-eslint': { + config: 'airbnb', + lintOn: 'commit' + }, + '@vue/cli-plugin-typescript': { + classComponent: true + }, + '@vue/cli-plugin-unit-mocha': {} + } + }) +}) diff --git a/packages/@vue/cli-plugin-eslint/lint.js b/packages/@vue/cli-plugin-eslint/lint.js index 6681bbaf6..5809a6915 100644 --- a/packages/@vue/cli-plugin-eslint/lint.js +++ b/packages/@vue/cli-plugin-eslint/lint.js @@ -56,7 +56,18 @@ module.exports = function lint (args = {}, api) { ? args._ : defaultFilesToLint + // mock process.cwd before executing + // See: + // https://github.com/vuejs/vue-cli/issues/2554 + // https://github.com/benmosher/eslint-plugin-import/issues/602 + // https://github.com/eslint/eslint/issues/11218 + const processCwd = process.cwd + if (!api.invoking) { + process.cwd = () => cwd + } const report = engine.executeOnFiles(files) + process.cwd = processCwd + const formatter = engine.getFormatter(args.format || 'codeframe') if (config.fix) {