From 3628fd1e84254ca65f6bad07a330ac4a1ab8f82c Mon Sep 17 00:00:00 2001 From: Anthony Rey Date: Thu, 8 Aug 2024 10:36:42 +0200 Subject: [PATCH] Migrate to eslint 9 --- .eslintrc.js | 21 ----------- eslint.config.mjs | 19 ++++++++++ index.js | 46 ----------------------- index.mjs | 33 ++++++++++++++++ package.json | 14 +++---- recommended.js | 48 ------------------------ recommended.mjs | 42 +++++++++++++++++++++ test/fixtures/default/src/shims-tsx.d.ts | 3 ++ test/index.spec.js | 2 - 9 files changed, 104 insertions(+), 124 deletions(-) delete mode 100644 .eslintrc.js create mode 100644 eslint.config.mjs delete mode 100644 index.js create mode 100644 index.mjs delete mode 100644 recommended.js create mode 100644 recommended.mjs diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index e43ef3f..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,21 +0,0 @@ -module.exports = { - root: true, - env: { - node: true - }, - extends: [ - 'plugin:vue/essential', - 'eslint:recommended', - require.resolve('./recommended') - ], - - overrides: [{ - files: ['test/**.spec.js'], - env: { - jest: true - }, - rules: { - '@typescript-eslint/no-var-requires': 'off' - } - }] -} diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..8ed50d3 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,19 @@ +import eslint from '@eslint/js'; +import vue from 'eslint-plugin-vue'; +import recommended from './recommended.mjs'; +import tseslint from "typescript-eslint"; +import globals from "globals" + +export default tseslint.config(...vue.configs["flat/essential"], eslint.configs.recommended, ...recommended, { + languageOptions: { + globals: globals.browser, + } +}, { + files: ['test/**.spec.js'], + languageOptions: { + globals: globals.jest, + }, + rules: { + '@typescript-eslint/no-var-requires': 'off' + } +}); \ No newline at end of file diff --git a/index.js b/index.js deleted file mode 100644 index 9d1ef63..0000000 --- a/index.js +++ /dev/null @@ -1,46 +0,0 @@ -module.exports = { - plugins: ['@typescript-eslint'], - - // Prerequisite `eslint-plugin-vue`, being extended, sets - // root property `parser` to `'vue-eslint-parser'`, which, for code parsing, - // in turn delegates to the parser, specified in `parserOptions.parser`: - // https://github.com/vuejs/eslint-plugin-vue#what-is-the-use-the-latest-vue-eslint-parser-error - parserOptions: { - parser: { - 'js': 'espree', - 'jsx': 'espree', - 'cjs': 'espree', - 'mjs': 'espree', - - 'ts': require.resolve('@typescript-eslint/parser'), - 'tsx': require.resolve('@typescript-eslint/parser'), - 'cts': require.resolve('@typescript-eslint/parser'), - 'mts': require.resolve('@typescript-eslint/parser'), - - // Leave the template parser unspecified, so that it could be determined by `