@willbooster/eslint-config-next 2.1.1 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/eslint.config.js +10 -4
  2. package/package.json +20 -18
package/eslint.config.js CHANGED
@@ -8,6 +8,7 @@ import js from '@eslint/js';
8
8
  import eslintConfigFlatGitignore from 'eslint-config-flat-gitignore';
9
9
  import eslintConfigPrettier from 'eslint-config-prettier';
10
10
  import eslintPluginReact from 'eslint-plugin-react';
11
+ import eslintPluginReactCompiler from 'eslint-plugin-react-compiler';
11
12
  import eslintPluginSortClassMembers from 'eslint-plugin-sort-class-members';
12
13
  import eslintPluginSortDestructureKeys from 'eslint-plugin-sort-destructure-keys';
13
14
  import eslintPluginUnicorn from 'eslint-plugin-unicorn';
@@ -24,13 +25,11 @@ const compat = new FlatCompat({
24
25
  });
25
26
 
26
27
  const config = [
27
- ...compat.extends('next/core-web-vitals').map((config) => ({
28
- ...config,
29
- })),
28
+ ...compat.extends('next/core-web-vitals'),
30
29
 
31
30
  // We import configs of eslint-config-js/js-react/ts/ts-react manually
32
31
  // because next/core-web-vitals depends on eslint-plugin-import,
33
- // and we want to use eslint-plugin-import-x in the above configs.
32
+ // but we want to keep using eslint-plugin-import-x in the above configs.
34
33
 
35
34
  // --------------- from eslint-config-js ---------------
36
35
  // Note: don't merge the below two objects!
@@ -40,6 +39,7 @@ const config = [
40
39
  {
41
40
  ignores: [
42
41
  // Directories
42
+ '**/.venv/**',
43
43
  '**/.yarn/**',
44
44
  '**/3rd-party/**',
45
45
  '**/@types/**',
@@ -127,6 +127,12 @@ const config = [
127
127
  // cf. https://github.com/jsx-eslint/eslint-plugin-react#flat-configs
128
128
  eslintPluginReact.configs.flat.recommended,
129
129
  eslintPluginReact.configs.flat['jsx-runtime'],
130
+ // cf. https://github.com/facebook/react/tree/main/packages/eslint-plugin-react-hooks#flat-config-eslintconfigjsts
131
+ // To fix the error: ConfigError: Config "react-hooks/recommended": Key "plugins": Cannot redefine plugin "react-hooks".
132
+ // TODO: re-enable the below configs after the error is fixed.
133
+ // eslintPluginReactHooks.configs['recommended-latest'],
134
+ // cf. https://www.npmjs.com/package/eslint-plugin-react-compiler
135
+ eslintPluginReactCompiler.configs.recommended,
130
136
  {
131
137
  settings: {
132
138
  react: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@willbooster/eslint-config-next",
3
- "version": "2.1.1",
3
+ "version": "2.3.0",
4
4
  "description": "A ESLint flat config for Next.js",
5
5
  "license": "Apache-2.0",
6
6
  "author": "WillBooster Inc.",
@@ -10,6 +10,7 @@
10
10
  "eslint.config.js"
11
11
  ],
12
12
  "scripts": {
13
+ "check-for-ai": "yarn install > /dev/null && yarn format > /dev/null && yarn lint-fix --quiet && yarn typecheck && yarn test --silent",
13
14
  "cleanup": "yarn format && yarn lint-fix",
14
15
  "format": "sort-package-json && yarn prettify",
15
16
  "lint": "eslint --color",
@@ -21,33 +22,34 @@
21
22
  "prettier": "@willbooster/prettier-config",
22
23
  "devDependencies": {
23
24
  "@eslint/eslintrc": "3.3.1",
24
- "@eslint/js": "9.23.0",
25
+ "@eslint/js": "9.28.0",
25
26
  "@types/eslint": "9.6.1",
26
27
  "@types/micromatch": "4.0.9",
27
- "@types/node": "22.13.11",
28
- "@types/react": "19.0.12",
28
+ "@types/node": "22.15.29",
29
+ "@types/react": "19.1.6",
29
30
  "@willbooster/prettier-config": "10.0.0",
30
- "eslint": "9.21.0",
31
+ "eslint": "9.27.0",
31
32
  "eslint-config-flat-gitignore": "2.1.0",
32
- "eslint-config-next": "15.2.3",
33
- "eslint-config-prettier": "10.1.1",
34
- "eslint-import-resolver-typescript": "4.2.2",
35
- "eslint-plugin-import-x": "4.9.1",
36
- "eslint-plugin-react": "7.37.4",
33
+ "eslint-config-next": "15.3.3",
34
+ "eslint-config-prettier": "10.1.5",
35
+ "eslint-import-resolver-typescript": "4.4.2",
36
+ "eslint-plugin-import-x": "4.15.0",
37
+ "eslint-plugin-react": "7.37.5",
38
+ "eslint-plugin-react-compiler": "19.1.0-rc.2",
37
39
  "eslint-plugin-react-hooks": "5.2.0",
38
40
  "eslint-plugin-sort-class-members": "1.21.0",
39
41
  "eslint-plugin-sort-destructure-keys": "2.0.0",
40
- "eslint-plugin-unicorn": "57.0.0",
42
+ "eslint-plugin-unicorn": "59.0.1",
41
43
  "eslint-plugin-unused-imports": "4.1.4",
42
- "globals": "16.0.0",
43
- "lint-staged": "15.5.0",
44
+ "globals": "16.2.0",
45
+ "lint-staged": "16.1.0",
44
46
  "micromatch": "4.0.8",
45
- "next": "15.2.3",
47
+ "next": "15.3.3",
46
48
  "prettier": "3.5.3",
47
- "react": "19.0.0",
48
- "sort-package-json": "3.0.0",
49
- "typescript": "5.8.2",
50
- "typescript-eslint": "8.27.0",
49
+ "react": "19.1.0",
50
+ "sort-package-json": "3.2.1",
51
+ "typescript": "5.8.3",
52
+ "typescript-eslint": "8.33.0",
51
53
  "use-immer": "0.11.0"
52
54
  },
53
55
  "peerDependencies": {