@zendeskgarden/eslint-config 47.0.0 → 48.0.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.
package/index.js CHANGED
@@ -9,10 +9,12 @@ import babelParser from '@babel/eslint-parser';
9
9
  import eslintLayoutFormatting from './rules/layout-formatting.js';
10
10
  import eslintPossibleProblems from './rules/possible-problems.js';
11
11
  import eslintSuggestions from './rules/suggestions.js';
12
+ import gitignore from 'eslint-config-flat-gitignore';
12
13
  import globals from 'globals';
13
14
  import nodePlugin from './plugins/node.js';
14
15
 
15
16
  export default [
17
+ gitignore(),
16
18
  eslintLayoutFormatting,
17
19
  eslintPossibleProblems,
18
20
  eslintSuggestions,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zendeskgarden/eslint-config",
3
- "version": "47.0.0",
3
+ "version": "48.0.0",
4
4
  "description": "Garden ESLint config",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Zendesk Garden <garden@zendesk.com>",
@@ -24,30 +24,32 @@
24
24
  "test": "npm run format && npm run lint && git diff --quiet"
25
25
  },
26
26
  "dependencies": {
27
- "@babel/eslint-parser": "7.28.5",
28
- "eslint-plugin-jest": "29.0.1",
27
+ "@babel/eslint-parser": "7.29.7",
28
+ "@eslint/compat": "2.1.0",
29
+ "eslint-config-flat-gitignore": "2.3.0",
30
+ "eslint-plugin-jest": "29.15.4",
29
31
  "eslint-plugin-jsx-a11y": "6.10.2",
30
- "eslint-plugin-n": "17.23.1",
32
+ "eslint-plugin-n": "18.2.1",
31
33
  "eslint-plugin-notice": "1.0.0",
32
34
  "eslint-plugin-react": "7.37.5",
33
- "eslint-plugin-react-hooks": "7.0.1",
34
- "globals": "16.4.0",
35
- "typescript-eslint": "8.46.2"
35
+ "eslint-plugin-react-hooks": "7.1.1",
36
+ "globals": "16.5.0",
37
+ "typescript-eslint": "8.62.1"
36
38
  },
37
39
  "peerDependencies": {
38
- "eslint": "^9.0.0"
40
+ "eslint": "^10.0.0"
39
41
  },
40
42
  "devDependencies": {
41
- "@babel/core": "7.28.5",
42
- "@eslint/config-inspector": "1.3.0",
43
- "@zendeskgarden/scripts": "2.4.3",
44
- "commit-and-tag-version": "12.6.0",
45
- "envalid": "8.1.0",
46
- "eslint": "9.38.0",
43
+ "@babel/core": "7.29.7",
44
+ "@eslint/config-inspector": "1.4.2",
45
+ "@zendeskgarden/scripts": "2.5.1",
46
+ "commit-and-tag-version": "12.6.1",
47
+ "envalid": "8.1.1",
48
+ "eslint": "10.5.0",
47
49
  "husky": "9.1.7",
48
50
  "jest": "30.2.0",
49
51
  "prettier-package-json": "2.8.0",
50
- "react": "19.2.0",
52
+ "react": "19.2.3",
51
53
  "typescript": "5.9.3"
52
54
  },
53
55
  "keywords": [
@@ -55,6 +57,9 @@
55
57
  "garden",
56
58
  "zendesk"
57
59
  ],
60
+ "engines": {
61
+ "node": "^22.13.0 || >=24.0.0"
62
+ },
58
63
  "publishConfig": {
59
64
  "access": "public"
60
65
  }
package/plugins/notice.js CHANGED
@@ -7,11 +7,13 @@ const TEMPLATE = `/**
7
7
 
8
8
  `;
9
9
 
10
+ // Patch legacy rule APIs removed in ESLint v10 until the plugin ships native support.
11
+ import { fixupPluginRules } from '@eslint/compat';
10
12
  import noticePlugin from 'eslint-plugin-notice';
11
13
 
12
14
  export default {
13
15
  plugins: {
14
- notice: noticePlugin
16
+ notice: fixupPluginRules(noticePlugin)
15
17
  },
16
18
  rules: {
17
19
  // throw an error when a file doesn't have a copyright notice
package/plugins/react.js CHANGED
@@ -5,15 +5,17 @@
5
5
  * found at http://www.apache.org/licenses/LICENSE-2.0.
6
6
  */
7
7
 
8
+ // Patch legacy rule APIs removed in ESLint v10 until these plugins ship native support.
9
+ import { fixupPluginRules } from '@eslint/compat';
8
10
  import jsxA11yPlugin from 'eslint-plugin-jsx-a11y';
9
11
  import reactHooksPlugin from 'eslint-plugin-react-hooks';
10
12
  import reactPlugin from 'eslint-plugin-react';
11
13
 
12
14
  export default {
13
15
  plugins: {
14
- react: reactPlugin,
16
+ react: fixupPluginRules(reactPlugin),
15
17
  'react-hooks': reactHooksPlugin,
16
- 'jsx-a11y': jsxA11yPlugin
18
+ 'jsx-a11y': fixupPluginRules(jsxA11yPlugin)
17
19
  },
18
20
  languageOptions: {
19
21
  parserOptions: {
@@ -147,8 +149,6 @@ export default {
147
149
  'react/jsx-tag-spacing': 2,
148
150
  // prevent React to be marked as unused
149
151
  'react/jsx-uses-react': 2,
150
- // prevent variables used in JSX to be marked as unused
151
- 'react/jsx-uses-vars': 2,
152
152
  // prevent missing parentheses around multilines JSX
153
153
  'react/jsx-wrap-multilines': 2,
154
154
  // reports when this.state is accessed within setState
@@ -21,10 +21,7 @@ export default {
21
21
  '@typescript-eslint': tseslint.plugin
22
22
  },
23
23
  languageOptions: {
24
- parser: tseslint.parser,
25
- parserOptions: {
26
- project: true
27
- }
24
+ parser: tseslint.parser
28
25
  },
29
26
  rules: {
30
27
  // Disable ESLint rules that are handled by TypeScript