diff --git a/.eslintrc.js b/.eslintrc.js index e763a94c89..17c1d2df20 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,23 +1,19 @@ module.exports = { extends: [ - 'plugin:vue-libs/recommended' + '@vue/standard' ], - plugins: [ - 'node' - ], - env: { - 'jest': true - }, globals: { name: 'off' }, rules: { - 'indent': ['error', 2, { - 'MemberExpression': 'off' + indent: ['error', 2, { + MemberExpression: 'off' }], + quotes: [2, 'single', { avoidEscape: true, allowTemplateLiterals: true }], + 'quote-props': 'off', 'no-shadow': ['error'], 'node/no-extraneous-require': ['error', { - 'allowModules': [ + allowModules: [ '@vue/cli-service', '@vue/cli-test-utils' ] @@ -26,6 +22,9 @@ module.exports = { overrides: [ { files: ['**/__tests__/**/*.js', '**/cli-test-utils/**/*.js'], + env: { + jest: true + }, rules: { 'node/no-extraneous-require': 'off' } diff --git a/packages/@vue/babel-preset-app/index.js b/packages/@vue/babel-preset-app/index.js index a87ebfbbef..f2f712cc87 100644 --- a/packages/@vue/babel-preset-app/index.js +++ b/packages/@vue/babel-preset-app/index.js @@ -259,13 +259,13 @@ module.exports = (context, options = {}) => { return { sourceType: 'unambiguous', overrides: [{ - exclude: [/@babel[\/|\\\\]runtime/, /core-js/], + exclude: [/@babel[/|\\\\]runtime/, /core-js/], presets, plugins }, { // there are some untranspiled code in @babel/runtime // https://github.com/babel/babel/issues/9903 - include: [/@babel[\/|\\\\]runtime/], + include: [/@babel[/|\\\\]runtime/], presets: [ [require('@babel/preset-env'), envOptions] ] diff --git a/packages/@vue/cli-plugin-babel/codemods/__tests__/usePluginPreset.spec.js b/packages/@vue/cli-plugin-babel/codemods/__tests__/usePluginPreset.spec.js index d07395c8c4..2758b7a7b4 100644 --- a/packages/@vue/cli-plugin-babel/codemods/__tests__/usePluginPreset.spec.js +++ b/packages/@vue/cli-plugin-babel/codemods/__tests__/usePluginPreset.spec.js @@ -6,4 +6,3 @@ defineTest(__dirname, 'usePluginPreset', null, 'default') defineTest(__dirname, 'usePluginPreset', null, 'customConfig') defineTest(__dirname, 'usePluginPreset', null, 'require') defineTest(__dirname, 'usePluginPreset', null, 'templateLiteral') - diff --git a/packages/@vue/cli-plugin-babel/index.js b/packages/@vue/cli-plugin-babel/index.js index 30b561717a..f758e31f96 100644 --- a/packages/@vue/cli-plugin-babel/index.js +++ b/packages/@vue/cli-plugin-babel/index.js @@ -12,6 +12,8 @@ function genTranspileDepRegex (transpileDependencies) { } else if (dep instanceof RegExp) { return dep.source } + + throw new Error('transpileDependencies only accepts an array of string or regular expressions') }) return deps.length ? new RegExp(deps.join('|')) : null } diff --git a/packages/@vue/cli-plugin-e2e-nightwatch/nightwatch.config.js b/packages/@vue/cli-plugin-e2e-nightwatch/nightwatch.config.js index a5406d8829..4071a3aa19 100644 --- a/packages/@vue/cli-plugin-e2e-nightwatch/nightwatch.config.js +++ b/packages/@vue/cli-plugin-e2e-nightwatch/nightwatch.config.js @@ -33,7 +33,7 @@ const defaultSettings = { test_settings: { default: { detailed_output: !concurrentMode, - launch_url: '${VUE_DEV_SERVER_URL}' + launch_url: '${VUE_DEV_SERVER_URL}' // eslint-disable-line no-template-curly-in-string }, chrome: { @@ -56,10 +56,12 @@ const defaultSettings = { } } }, - webdriver: useSelenium ? {} : { - server_path: geckodriver.path, - port: 4444 - } + webdriver: useSelenium + ? {} + : { + server_path: geckodriver.path, + port: 4444 + } } } } diff --git a/packages/@vue/cli-plugin-e2e-webdriverio/__tests__/wdioGenerator.spec.js b/packages/@vue/cli-plugin-e2e-webdriverio/__tests__/wdioGenerator.spec.js index fbc6cdbb56..30f7661d5f 100644 --- a/packages/@vue/cli-plugin-e2e-webdriverio/__tests__/wdioGenerator.spec.js +++ b/packages/@vue/cli-plugin-e2e-webdriverio/__tests__/wdioGenerator.spec.js @@ -11,13 +11,13 @@ test('should add types to existing tsconfig.json', async () => { } } }) - await write('tsconfig.json', JSON.stringify({ compilerOptions: { types: ['some-type'] }})) + await write('tsconfig.json', JSON.stringify({ compilerOptions: { types: ['some-type'] } })) const invoke = require('@vue/cli/lib/invoke') await invoke('e2e-webdriverio', { webdrivers: ['chrome'] }, dir) const tsconfig = await read('tsconfig.json') expect(tsconfig).toMatch(/\r?\n$/) - expect(JSON.parse(tsconfig)['compilerOptions']['types']) + expect(JSON.parse(tsconfig).compilerOptions.types) .toEqual(['some-type', 'mocha', '@wdio/mocha-framework', '@wdio/sync']) }) diff --git a/packages/@vue/cli-plugin-eslint/generator/index.js b/packages/@vue/cli-plugin-eslint/generator/index.js index 9ac49df89c..a3975e6047 100644 --- a/packages/@vue/cli-plugin-eslint/generator/index.js +++ b/packages/@vue/cli-plugin-eslint/generator/index.js @@ -44,7 +44,7 @@ module.exports = (api, { config, lintOn = [] }, rootOptions, invoking) => { 'pre-commit': 'lint-staged' } const extensions = require('../eslintOptions').extensions(api) - .map(ext => ext.replace(/^\./, '')) // remove the leading `.` + .map(ext => ext.replace(/^\./, '')) // remove the leading `.` pkg['lint-staged'] = { [`*.{${extensions.join(',')}}`]: 'vue-cli-service lint' } diff --git a/packages/@vue/cli-plugin-pwa/__tests__/pwaPlugin.spec.js b/packages/@vue/cli-plugin-pwa/__tests__/pwaPlugin.spec.js index 814174395c..56054308cc 100644 --- a/packages/@vue/cli-plugin-pwa/__tests__/pwaPlugin.spec.js +++ b/packages/@vue/cli-plugin-pwa/__tests__/pwaPlugin.spec.js @@ -59,7 +59,7 @@ test('pwa', async () => { browser = launched.browser // workbox plugin fetches scripts from CDN so it takes a while... - await new Promise(r => setTimeout(r, process.env.CI ? 5000 : 2000)) + await new Promise(resolve => setTimeout(resolve, process.env.CI ? 5000 : 2000)) const logs = launched.logs expect(logs.some(msg => msg.match(/Content has been cached for offline use/))).toBe(true) expect(logs.some(msg => msg.match(/App is being served from cache by a service worker/))).toBe(true) diff --git a/packages/@vue/cli-plugin-pwa/index.js b/packages/@vue/cli-plugin-pwa/index.js index f8feae2256..89ac894134 100644 --- a/packages/@vue/cli-plugin-pwa/index.js +++ b/packages/@vue/cli-plugin-pwa/index.js @@ -54,9 +54,9 @@ module.exports = (api, options) => { ] } - const defaultGenerateSWOptions = workboxPluginMode === 'GenerateSW' ? { - cacheId: name - } : {} + const defaultGenerateSWOptions = workboxPluginMode === 'GenerateSW' + ? { cacheId: name } + : {} const workBoxConfig = Object.assign(defaultOptions, defaultGenerateSWOptions, userOptions.workboxOptions) diff --git a/packages/@vue/cli-plugin-pwa/ui.js b/packages/@vue/cli-plugin-pwa/ui.js index f3c7a9a056..b4d9730eb0 100644 --- a/packages/@vue/cli-plugin-pwa/ui.js +++ b/packages/@vue/cli-plugin-pwa/ui.js @@ -129,7 +129,7 @@ module.exports = api => { // Update app manifest (only when there's a manifest.json file, // otherwise it will be inferred from options in vue.config.js) if (data.manifest) { - const name = result['name'] + const name = result.name if (name) { onWriteApi.setData('manifest', { name, @@ -137,7 +137,7 @@ module.exports = api => { }) } - const themeColor = result['themeColor'] + const themeColor = result.themeColor if (themeColor) { onWriteApi.setData('manifest', { theme_color: themeColor diff --git a/packages/@vue/cli-plugin-typescript/__tests__/tsGenerator.spec.js b/packages/@vue/cli-plugin-typescript/__tests__/tsGenerator.spec.js index 1603917fd0..a745786439 100644 --- a/packages/@vue/cli-plugin-typescript/__tests__/tsGenerator.spec.js +++ b/packages/@vue/cli-plugin-typescript/__tests__/tsGenerator.spec.js @@ -18,7 +18,7 @@ test('generate files', async () => { expect(files['src/main.js']).toBeFalsy() expect(files['src/App.vue']).toMatch('