Skip to content

Commit 27cd2a4

Browse files
authored
[#3218] Updated 'eslint' and '@eslint/js' to 10. (#3219)
1 parent cb3ff4c commit 27cd2a4

34 files changed

Lines changed: 1520 additions & 1198 deletions

File tree

‎.vortex/docs/content/development/code-quality/eslint.mdx‎

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ file.
9090
By default, ESLint checks against the following presets:
9191

9292
- `@eslint/js` recommended - the rules ESLint itself ships
93-
- `eslint-plugin-import` recommended - import correctness: modules that
93+
- `eslint-plugin-import-x` recommended - import correctness: modules that
9494
resolve, names the module exports, and no duplicate imports
9595
- `eslint-plugin-jsdoc` recommended - documentation block correctness
9696
- `eslint-plugin-prettier` recommended - Prettier integration for code
@@ -103,25 +103,29 @@ By default, ESLint checks against the following presets:
103103
The configuration follows the one Drupal core adopts for its own JavaScript,
104104
so the 2 configurations stay comparable as core evolves.
105105

106+
The import rules come from `eslint-plugin-import-x`, a fork of the
107+
`eslint-plugin-import` plugin that Drupal core uses. Their names start with
108+
`import-x/`, for example `import-x/no-mutable-exports`.
109+
106110
On top of the presets, the configuration sets the following rules:
107111

108-
| Rule | Level | Effect |
109-
|-----------------------------|---------|--------------------------------------------------------------------------|
110-
| `prettier/prettier` | Error | Reports every difference from the Prettier formatting. |
111-
| `no-console` | Error | Reports console calls, because they print to every visitor's browser. |
112-
| `operator-linebreak` | Error | Requires an operator other than `?` or `:` at the end of a wrapped line. |
113-
| `yml/indent` | Error | Requires a 2-space indent in YAML files. |
114-
| `max-nested-callbacks` | Warning | Reports callbacks nested more than 3 levels deep. |
115-
| `no-unused-vars` | Warning | Reports unused variables. |
116-
| `no-plusplus` | Warning | Reports `++` and `--`, except in the final expression of a `for` loop. |
117-
| `import/no-mutable-exports` | Warning | Reports exports declared with `let` or `var`. |
118-
| `jsdoc/tag-lines` | Warning | Requires 1 blank line between a block's description and its first tag. |
119-
| `jsdoc/require-jsdoc` | Off | Stops requiring a documentation block on every function. |
120-
| `consistent-return` | Off | Not checked. |
121-
| `no-param-reassign` | Off | Not checked. |
122-
| `no-prototype-builtins` | Off | Not checked. |
123-
| `no-underscore-dangle` | Off | Not checked. |
124-
| `no-unexpected-multiline` | Off | Not checked. |
112+
| Rule | Level | Effect |
113+
|-------------------------------|---------|--------------------------------------------------------------------------|
114+
| `prettier/prettier` | Error | Reports every difference from the Prettier formatting. |
115+
| `no-console` | Error | Reports console calls, because they print to every visitor's browser. |
116+
| `operator-linebreak` | Error | Requires an operator other than `?` or `:` at the end of a wrapped line. |
117+
| `yml/indent` | Error | Requires a 2-space indent in YAML files. |
118+
| `max-nested-callbacks` | Warning | Reports callbacks nested more than 3 levels deep. |
119+
| `no-unused-vars` | Warning | Reports unused variables. |
120+
| `no-plusplus` | Warning | Reports `++` and `--`, except in the final expression of a `for` loop. |
121+
| `import-x/no-mutable-exports` | Warning | Reports exports declared with `let` or `var`. |
122+
| `jsdoc/tag-lines` | Warning | Requires 1 blank line between a block's description and its first tag. |
123+
| `jsdoc/require-jsdoc` | Off | Stops requiring a documentation block on every function. |
124+
| `consistent-return` | Off | Not checked. |
125+
| `no-param-reassign` | Off | Not checked. |
126+
| `no-prototype-builtins` | Off | Not checked. |
127+
| `no-underscore-dangle` | Off | Not checked. |
128+
| `no-unexpected-multiline` | Off | Not checked. |
125129

126130
The `jsdoc` settings also prefer `@return` to `@returns` and `@prop` to
127131
`@property`, matching the tag names Drupal uses.

‎.vortex/installer/src/Prompts/Handlers/Tools.php‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ public static function getToolDefinitions(string $filter = 'all'): array {
364364
$pj->removeSubNode('devDependencies', '@eslint/js');
365365
$pj->removeSubNode('devDependencies', 'eslint');
366366
$pj->removeSubNode('devDependencies', 'eslint-config-prettier');
367-
$pj->removeSubNode('devDependencies', 'eslint-plugin-import');
367+
$pj->removeSubNode('devDependencies', 'eslint-plugin-import-x');
368368
$pj->removeSubNode('devDependencies', 'eslint-plugin-jsdoc');
369369
$pj->removeSubNode('devDependencies', 'eslint-plugin-no-jquery');
370370
$pj->removeSubNode('devDependencies', 'eslint-plugin-prettier');
@@ -382,7 +382,7 @@ public static function getToolDefinitions(string $filter = 'all'): array {
382382
$pj->removeSubNode('devDependencies', '@eslint/js');
383383
$pj->removeSubNode('devDependencies', 'eslint');
384384
$pj->removeSubNode('devDependencies', 'eslint-config-prettier');
385-
$pj->removeSubNode('devDependencies', 'eslint-plugin-import');
385+
$pj->removeSubNode('devDependencies', 'eslint-plugin-import-x');
386386
$pj->removeSubNode('devDependencies', 'eslint-plugin-jsdoc');
387387
$pj->removeSubNode('devDependencies', 'eslint-plugin-no-jquery');
388388
$pj->removeSubNode('devDependencies', 'eslint-plugin-prettier');

‎.vortex/installer/tests/Fixtures/handler_process/_baseline/eslint.config.mjs‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// modules rather than core itself.
44
import { defineConfig } from 'eslint/config';
55
import { fixupPluginRules } from '@eslint/compat';
6-
import importPlugin from 'eslint-plugin-import';
6+
import { importX } from 'eslint-plugin-import-x';
77
import noJQuery from 'eslint-plugin-no-jquery';
88
import prettierConfig from 'eslint-plugin-prettier/recommended';
99
import ymlConfig from 'eslint-plugin-yml';
@@ -27,7 +27,7 @@ export default defineConfig(
2727
],
2828
},
2929
js.configs.recommended,
30-
importPlugin.flatConfigs.recommended,
30+
importX.flatConfigs.recommended,
3131
jsdoc.configs['flat/recommended'],
3232
prettierConfig,
3333
ymlConfig.configs['flat/recommended'],
@@ -67,7 +67,7 @@ export default defineConfig(
6767
'consistent-return': ['off'],
6868
'no-underscore-dangle': ['off'],
6969
'max-nested-callbacks': ['warn', 3],
70-
'import/no-mutable-exports': ['warn'],
70+
'import-x/no-mutable-exports': ['warn'],
7171
'no-plusplus': [
7272
'warn',
7373
{

‎.vortex/installer/tests/Fixtures/handler_process/_baseline/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"jest-environment-jsdom": "__VERSION__",
2525
"eslint": "__VERSION__",
2626
"eslint-config-prettier": "__VERSION__",
27-
"eslint-plugin-import": "__VERSION__",
27+
"eslint-plugin-import-x": "__VERSION__",
2828
"eslint-plugin-jsdoc": "__VERSION__",
2929
"eslint-plugin-no-jquery": "__VERSION__",
3030
"eslint-plugin-prettier": "__VERSION__",

‎.vortex/installer/tests/Fixtures/handler_process/_baseline/web/themes/custom/star_wars/eslint.config.mjs‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
// can be moved into a separate repository.
55
import { defineConfig } from 'eslint/config';
66
import { fixupPluginRules } from '@eslint/compat';
7-
import importPlugin from 'eslint-plugin-import';
7+
import { importX } from 'eslint-plugin-import-x';
88
import noJQuery from 'eslint-plugin-no-jquery';
99
import prettierConfig from 'eslint-plugin-prettier/recommended';
1010
import ymlConfig from 'eslint-plugin-yml';
@@ -17,7 +17,7 @@ export default defineConfig(
1717
ignores: ['node_modules/**/*', 'build/**/*', '**/*.min.js'],
1818
},
1919
js.configs.recommended,
20-
importPlugin.flatConfigs.recommended,
20+
importX.flatConfigs.recommended,
2121
jsdoc.configs['flat/recommended'],
2222
prettierConfig,
2323
ymlConfig.configs['flat/recommended'],
@@ -57,7 +57,7 @@ export default defineConfig(
5757
'consistent-return': ['off'],
5858
'no-underscore-dangle': ['off'],
5959
'max-nested-callbacks': ['warn', 3],
60-
'import/no-mutable-exports': ['warn'],
60+
'import-x/no-mutable-exports': ['warn'],
6161
'no-plusplus': [
6262
'warn',
6363
{

‎.vortex/installer/tests/Fixtures/handler_process/_baseline/web/themes/custom/star_wars/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"chokidar-cli": "__VERSION__",
1212
"eslint": "__VERSION__",
1313
"eslint-config-prettier": "__VERSION__",
14-
"eslint-plugin-import": "__VERSION__",
14+
"eslint-plugin-import-x": "__VERSION__",
1515
"eslint-plugin-jsdoc": "__VERSION__",
1616
"eslint-plugin-no-jquery": "__VERSION__",
1717
"eslint-plugin-prettier": "__VERSION__",

‎.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/docroot/themes/custom/star_wars/eslint.config.mjs‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
// can be moved into a separate repository.
55
import { defineConfig } from 'eslint/config';
66
import { fixupPluginRules } from '@eslint/compat';
7-
import importPlugin from 'eslint-plugin-import';
7+
import { importX } from 'eslint-plugin-import-x';
88
import noJQuery from 'eslint-plugin-no-jquery';
99
import prettierConfig from 'eslint-plugin-prettier/recommended';
1010
import ymlConfig from 'eslint-plugin-yml';
@@ -17,7 +17,7 @@ export default defineConfig(
1717
ignores: ['node_modules/**/*', 'build/**/*', '**/*.min.js'],
1818
},
1919
js.configs.recommended,
20-
importPlugin.flatConfigs.recommended,
20+
importX.flatConfigs.recommended,
2121
jsdoc.configs['flat/recommended'],
2222
prettierConfig,
2323
ymlConfig.configs['flat/recommended'],
@@ -57,7 +57,7 @@ export default defineConfig(
5757
'consistent-return': ['off'],
5858
'no-underscore-dangle': ['off'],
5959
'max-nested-callbacks': ['warn', 3],
60-
'import/no-mutable-exports': ['warn'],
60+
'import-x/no-mutable-exports': ['warn'],
6161
'no-plusplus': [
6262
'warn',
6363
{

‎.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/docroot/themes/custom/star_wars/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"chokidar-cli": "__VERSION__",
1212
"eslint": "__VERSION__",
1313
"eslint-config-prettier": "__VERSION__",
14-
"eslint-plugin-import": "__VERSION__",
14+
"eslint-plugin-import-x": "__VERSION__",
1515
"eslint-plugin-jsdoc": "__VERSION__",
1616
"eslint-plugin-no-jquery": "__VERSION__",
1717
"eslint-plugin-prettier": "__VERSION__",

‎.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/docroot/themes/custom/star_wars/eslint.config.mjs‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
// can be moved into a separate repository.
55
import { defineConfig } from 'eslint/config';
66
import { fixupPluginRules } from '@eslint/compat';
7-
import importPlugin from 'eslint-plugin-import';
7+
import { importX } from 'eslint-plugin-import-x';
88
import noJQuery from 'eslint-plugin-no-jquery';
99
import prettierConfig from 'eslint-plugin-prettier/recommended';
1010
import ymlConfig from 'eslint-plugin-yml';
@@ -17,7 +17,7 @@ export default defineConfig(
1717
ignores: ['node_modules/**/*', 'build/**/*', '**/*.min.js'],
1818
},
1919
js.configs.recommended,
20-
importPlugin.flatConfigs.recommended,
20+
importX.flatConfigs.recommended,
2121
jsdoc.configs['flat/recommended'],
2222
prettierConfig,
2323
ymlConfig.configs['flat/recommended'],
@@ -57,7 +57,7 @@ export default defineConfig(
5757
'consistent-return': ['off'],
5858
'no-underscore-dangle': ['off'],
5959
'max-nested-callbacks': ['warn', 3],
60-
'import/no-mutable-exports': ['warn'],
60+
'import-x/no-mutable-exports': ['warn'],
6161
'no-plusplus': [
6262
'warn',
6363
{

‎.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/docroot/themes/custom/star_wars/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"chokidar-cli": "__VERSION__",
1212
"eslint": "__VERSION__",
1313
"eslint-config-prettier": "__VERSION__",
14-
"eslint-plugin-import": "__VERSION__",
14+
"eslint-plugin-import-x": "__VERSION__",
1515
"eslint-plugin-jsdoc": "__VERSION__",
1616
"eslint-plugin-no-jquery": "__VERSION__",
1717
"eslint-plugin-prettier": "__VERSION__",

0 commit comments

Comments
 (0)