From cbd057ac1d28edf7f12fc913a9e3315bab88e13d Mon Sep 17 00:00:00 2001 From: Gareth Jones Date: Thu, 19 Sep 2024 13:17:25 +1200 Subject: [PATCH] test: update cli regression case for v9 --- tests/files/just-json-files/eslint.config.js | 28 ++++++++++++++++++++ tests/src/cli.js | 24 ++++++++++------- 2 files changed, 43 insertions(+), 9 deletions(-) create mode 100644 tests/files/just-json-files/eslint.config.js diff --git a/tests/files/just-json-files/eslint.config.js b/tests/files/just-json-files/eslint.config.js new file mode 100644 index 000000000..b1bf2070b --- /dev/null +++ b/tests/files/just-json-files/eslint.config.js @@ -0,0 +1,28 @@ +var jsonPlugin = require('eslint-plugin-json'); + +if (!jsonPlugin.processors.json) { + jsonPlugin.processors.json = jsonPlugin.processors['.json']; +} + +module.exports = [ + { + files: ['tests/files/just-json-files/*.json'], + plugins:{ + json: jsonPlugin, + }, + processor: 'json/json', + rules: Object.assign( + {}, + { + 'import/no-unused-modules': [ + 'error', + { + 'missingExports': false, + 'unusedExports': true, + }, + ], + }, + jsonPlugin.configs.recommended.rules + ) + }, +]; diff --git a/tests/src/cli.js b/tests/src/cli.js index f27e526f7..b5e9e550c 100644 --- a/tests/src/cli.js +++ b/tests/src/cli.js @@ -64,18 +64,24 @@ describe('CLI regression tests', function () { let eslint; let cli; beforeEach(function () { - // TODO: it might be possible to get this working on v9 with a lot of wrangling of eslint-plugin-json v2/4 - if (semver.satisfies(eslintPkg.version, '< 6 || >= 9')) { + if (semver.satisfies(eslintPkg.version, '< 6')) { this.skip(); } else { if (ESLint) { - eslint = new ESLint({ - useEslintrc: false, - overrideConfigFile: './tests/files/just-json-files/.eslintrc.json', - rulePaths: ['./src/rules'], - ignore: false, - plugins: { 'eslint-plugin-import': importPlugin }, - }); + if (semver.satisfies(eslintPkg.version, '>= 9')) { + eslint = new ESLint({ + overrideConfigFile: './tests/files/just-json-files/eslint.config.mjs', + plugins: { 'eslint-plugin-import': importPlugin }, + }); + } else { + eslint = new ESLint({ + useEslintrc: false, + overrideConfigFile: './tests/files/just-json-files/.eslintrc.json', + rulePaths: ['./src/rules'], + ignore: false, + plugins: { 'eslint-plugin-import': importPlugin }, + }); + } } else { cli = new CLIEngine({ useEslintrc: false,