@egy186/eslint-config 1.2.0 → 2.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/README.md CHANGED
@@ -46,7 +46,7 @@ TypeScript, tsconfig:
46
46
  import { base } from '@egy186/eslint-config';
47
47
  import { typescriptConfig } from '@egy186/eslint-config/typescript';
48
48
 
49
- export default [base, typescriptConfig({ project: 'path/to/tsconfig.eslint.json' })];
49
+ export default [base, typescriptConfig({ projectService: { allowDefaultProject: ['*.ts'] } })];
50
50
  ```
51
51
 
52
52
  Jest:
package/dist/base.d.ts CHANGED
@@ -187,6 +187,7 @@ declare const config: {
187
187
  }];
188
188
  readonly '@stylistic/comma-style': ["error", "last"];
189
189
  readonly '@stylistic/computed-property-spacing': ["error", "never"];
190
+ readonly '@stylistic/curly-newline': ["error", "always"];
190
191
  readonly '@stylistic/dot-location': ["error", "property"];
191
192
  readonly '@stylistic/eol-last': "error";
192
193
  readonly '@stylistic/func-call-spacing': ["error", "never"];
@@ -315,7 +316,9 @@ declare const config: {
315
316
  readonly 'n/no-exports-assign': "error";
316
317
  readonly 'n/no-extraneous-import': "error";
317
318
  readonly 'n/no-extraneous-require': "error";
318
- readonly 'n/no-missing-import': "error";
319
+ readonly 'n/no-missing-import': ["error", {
320
+ readonly ignoreTypeImport: true;
321
+ }];
319
322
  readonly 'n/no-missing-require': "error";
320
323
  readonly 'n/no-mixed-requires': "error";
321
324
  readonly 'n/no-new-require': "error";
@@ -458,7 +461,6 @@ declare const config: {
458
461
  readonly 'import/prefer-default-export': "error";
459
462
  readonly 'import/unambiguous': "error";
460
463
  readonly 'no-duplicate-imports': "off";
461
- readonly 'line-comment-position': "off";
462
464
  readonly 'unicode-bom': ["error", string];
463
465
  readonly 'accessor-pairs': "error";
464
466
  readonly 'arrow-body-style': ["error", string];
@@ -494,7 +496,6 @@ declare const config: {
494
496
  readonly 'max-nested-callbacks': "error";
495
497
  readonly 'max-params': "off";
496
498
  readonly 'max-statements': "warn";
497
- readonly 'multiline-comment-style': "error";
498
499
  readonly 'new-cap': "error";
499
500
  readonly 'no-alert': "error";
500
501
  readonly 'no-array-constructor': "error";
@@ -643,7 +644,6 @@ declare const config: {
643
644
  readonly 'no-loss-of-precision': "error";
644
645
  readonly 'no-misleading-character-class': "error";
645
646
  readonly 'no-new-native-nonconstructor': "error";
646
- readonly 'no-new-symbol': "error";
647
647
  readonly 'no-obj-calls': "error";
648
648
  readonly 'no-promise-executor-return': "error";
649
649
  readonly 'no-prototype-builtins': "error";
@@ -664,12 +664,9 @@ declare const config: {
664
664
  disallowArithmeticOperators: boolean;
665
665
  }];
666
666
  readonly 'no-unused-private-class-members': "error";
667
- readonly 'no-unused-vars': ["error", {
668
- args: string;
669
- caughtErrors: string;
670
- vars: string;
671
- }];
667
+ readonly 'no-unused-vars': "error";
672
668
  readonly 'no-use-before-define': "error";
669
+ readonly 'no-useless-assignment': "error";
673
670
  readonly 'no-useless-backreference': "error";
674
671
  readonly 'require-atomic-updates': "error";
675
672
  readonly 'use-isnan': "error";
package/dist/base.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import eslintRules from './rules/eslint-rules.js';
2
- // @ts-expect-error TS7016
3
- import { flatConfigs } from 'eslint-plugin-import';
4
2
  import globals from 'globals';
3
+ // @ts-expect-error TS7016
4
+ import importPlugin from 'eslint-plugin-import';
5
5
  import importRules from './rules/import-rules.js';
6
6
  import jsdoc from 'eslint-plugin-jsdoc';
7
7
  import jsdocRules from './rules/jsdoc-rules.js';
@@ -27,7 +27,7 @@ const config = {
27
27
  },
28
28
  plugins: {
29
29
  '@stylistic': stylistic,
30
- import: flatConfigs.recommended.plugins.import,
30
+ import: importPlugin,
31
31
  jsdoc,
32
32
  n: nPlugin
33
33
  },
package/dist/browser.d.ts CHANGED
@@ -1219,6 +1219,7 @@ declare const config: {
1219
1219
  }];
1220
1220
  readonly '@stylistic/comma-style': ["error", "last"];
1221
1221
  readonly '@stylistic/computed-property-spacing': ["error", "never"];
1222
+ readonly '@stylistic/curly-newline': ["error", "always"];
1222
1223
  readonly '@stylistic/dot-location': ["error", "property"];
1223
1224
  readonly '@stylistic/eol-last': "error";
1224
1225
  readonly '@stylistic/func-call-spacing': ["error", "never"];
@@ -1347,7 +1348,9 @@ declare const config: {
1347
1348
  readonly 'n/no-exports-assign': "error";
1348
1349
  readonly 'n/no-extraneous-import': "error";
1349
1350
  readonly 'n/no-extraneous-require': "error";
1350
- readonly 'n/no-missing-import': "error";
1351
+ readonly 'n/no-missing-import': ["error", {
1352
+ readonly ignoreTypeImport: true;
1353
+ }];
1351
1354
  readonly 'n/no-missing-require': "error";
1352
1355
  readonly 'n/no-mixed-requires': "error";
1353
1356
  readonly 'n/no-new-require': "error";
@@ -1486,7 +1489,6 @@ declare const config: {
1486
1489
  readonly 'import/prefer-default-export': "error";
1487
1490
  readonly 'import/unambiguous': "error";
1488
1491
  readonly 'no-duplicate-imports': "off";
1489
- readonly 'line-comment-position': "off";
1490
1492
  readonly 'unicode-bom': ["error", string];
1491
1493
  readonly 'accessor-pairs': "error";
1492
1494
  readonly 'arrow-body-style': ["error", string];
@@ -1522,7 +1524,6 @@ declare const config: {
1522
1524
  readonly 'max-nested-callbacks': "error";
1523
1525
  readonly 'max-params': "off";
1524
1526
  readonly 'max-statements': "warn";
1525
- readonly 'multiline-comment-style': "error";
1526
1527
  readonly 'new-cap': "error";
1527
1528
  readonly 'no-alert': "error";
1528
1529
  readonly 'no-array-constructor': "error";
@@ -1671,7 +1672,6 @@ declare const config: {
1671
1672
  readonly 'no-loss-of-precision': "error";
1672
1673
  readonly 'no-misleading-character-class': "error";
1673
1674
  readonly 'no-new-native-nonconstructor': "error";
1674
- readonly 'no-new-symbol': "error";
1675
1675
  readonly 'no-obj-calls': "error";
1676
1676
  readonly 'no-promise-executor-return': "error";
1677
1677
  readonly 'no-prototype-builtins': "error";
@@ -1692,12 +1692,9 @@ declare const config: {
1692
1692
  disallowArithmeticOperators: boolean;
1693
1693
  }];
1694
1694
  readonly 'no-unused-private-class-members': "error";
1695
- readonly 'no-unused-vars': ["error", {
1696
- args: string;
1697
- caughtErrors: string;
1698
- vars: string;
1699
- }];
1695
+ readonly 'no-unused-vars': "error";
1700
1696
  readonly 'no-use-before-define': "error";
1697
+ readonly 'no-useless-assignment': "error";
1701
1698
  readonly 'no-useless-backreference': "error";
1702
1699
  readonly 'require-atomic-updates': "error";
1703
1700
  readonly 'use-isnan': "error";
@@ -166,6 +166,7 @@ declare const config: {
166
166
  }];
167
167
  readonly '@stylistic/comma-style': ["error", "last"];
168
168
  readonly '@stylistic/computed-property-spacing': ["error", "never"];
169
+ readonly '@stylistic/curly-newline': ["error", "always"];
169
170
  readonly '@stylistic/dot-location': ["error", "property"];
170
171
  readonly '@stylistic/eol-last': "error";
171
172
  readonly '@stylistic/func-call-spacing': ["error", "never"];
@@ -294,7 +295,9 @@ declare const config: {
294
295
  readonly 'n/no-exports-assign': "error";
295
296
  readonly 'n/no-extraneous-import': "error";
296
297
  readonly 'n/no-extraneous-require': "error";
297
- readonly 'n/no-missing-import': "error";
298
+ readonly 'n/no-missing-import': ["error", {
299
+ readonly ignoreTypeImport: true;
300
+ }];
298
301
  readonly 'n/no-missing-require': "error";
299
302
  readonly 'n/no-mixed-requires': "error";
300
303
  readonly 'n/no-new-require': "error";
@@ -437,7 +440,6 @@ declare const config: {
437
440
  readonly 'import/prefer-default-export': "error";
438
441
  readonly 'import/unambiguous': "error";
439
442
  readonly 'no-duplicate-imports': "off";
440
- readonly 'line-comment-position': "off";
441
443
  readonly 'unicode-bom': ["error", string];
442
444
  readonly 'accessor-pairs': "error";
443
445
  readonly 'arrow-body-style': ["error", string];
@@ -473,7 +475,6 @@ declare const config: {
473
475
  readonly 'max-nested-callbacks': "error";
474
476
  readonly 'max-params': "off";
475
477
  readonly 'max-statements': "warn";
476
- readonly 'multiline-comment-style': "error";
477
478
  readonly 'new-cap': "error";
478
479
  readonly 'no-alert': "error";
479
480
  readonly 'no-array-constructor': "error";
@@ -622,7 +623,6 @@ declare const config: {
622
623
  readonly 'no-loss-of-precision': "error";
623
624
  readonly 'no-misleading-character-class': "error";
624
625
  readonly 'no-new-native-nonconstructor': "error";
625
- readonly 'no-new-symbol': "error";
626
626
  readonly 'no-obj-calls': "error";
627
627
  readonly 'no-promise-executor-return': "error";
628
628
  readonly 'no-prototype-builtins': "error";
@@ -643,12 +643,9 @@ declare const config: {
643
643
  disallowArithmeticOperators: boolean;
644
644
  }];
645
645
  readonly 'no-unused-private-class-members': "error";
646
- readonly 'no-unused-vars': ["error", {
647
- args: string;
648
- caughtErrors: string;
649
- vars: string;
650
- }];
646
+ readonly 'no-unused-vars': "error";
651
647
  readonly 'no-use-before-define': "error";
648
+ readonly 'no-useless-assignment': "error";
652
649
  readonly 'no-useless-backreference': "error";
653
650
  readonly 'require-atomic-updates': "error";
654
651
  readonly 'use-isnan': "error";
package/dist/react.js CHANGED
@@ -1,4 +1,3 @@
1
- import { fixupPluginRules } from '@eslint/compat';
2
1
  import react from 'eslint-plugin-react';
3
2
  // @ts-expect-error TS7016
4
3
  import reactHooksPlugin from 'eslint-plugin-react-hooks';
@@ -12,7 +11,7 @@ const config = {
12
11
  },
13
12
  plugins: {
14
13
  react: react,
15
- 'react-hooks': fixupPluginRules(reactHooksPlugin)
14
+ 'react-hooks': reactHooksPlugin
16
15
  },
17
16
  rules: {
18
17
  'react-hooks/exhaustive-deps': 'error',
@@ -1,5 +1,4 @@
1
1
  declare const rules: {
2
- readonly 'line-comment-position': "off";
3
2
  readonly 'unicode-bom': ["error", string];
4
3
  readonly 'accessor-pairs': "error";
5
4
  readonly 'arrow-body-style': ["error", string];
@@ -35,7 +34,6 @@ declare const rules: {
35
34
  readonly 'max-nested-callbacks': "error";
36
35
  readonly 'max-params': "off";
37
36
  readonly 'max-statements': "warn";
38
- readonly 'multiline-comment-style': "error";
39
37
  readonly 'new-cap': "error";
40
38
  readonly 'no-alert': "error";
41
39
  readonly 'no-array-constructor': "error";
@@ -185,7 +183,6 @@ declare const rules: {
185
183
  readonly 'no-loss-of-precision': "error";
186
184
  readonly 'no-misleading-character-class': "error";
187
185
  readonly 'no-new-native-nonconstructor': "error";
188
- readonly 'no-new-symbol': "error";
189
186
  readonly 'no-obj-calls': "error";
190
187
  readonly 'no-promise-executor-return': "error";
191
188
  readonly 'no-prototype-builtins': "error";
@@ -206,12 +203,9 @@ declare const rules: {
206
203
  disallowArithmeticOperators: boolean;
207
204
  }];
208
205
  readonly 'no-unused-private-class-members': "error";
209
- readonly 'no-unused-vars': ["error", {
210
- args: string;
211
- caughtErrors: string;
212
- vars: string;
213
- }];
206
+ readonly 'no-unused-vars': "error";
214
207
  readonly 'no-use-before-define': "error";
208
+ readonly 'no-useless-assignment': "error";
215
209
  readonly 'no-useless-backreference': "error";
216
210
  readonly 'require-atomic-updates': "error";
217
211
  readonly 'use-isnan': "error";
@@ -35,7 +35,6 @@ const rules = {
35
35
  'no-loss-of-precision': 'error',
36
36
  'no-misleading-character-class': 'error',
37
37
  'no-new-native-nonconstructor': 'error',
38
- 'no-new-symbol': 'error',
39
38
  'no-obj-calls': 'error',
40
39
  'no-promise-executor-return': 'error',
41
40
  'no-prototype-builtins': 'error',
@@ -54,15 +53,9 @@ const rules = {
54
53
  'no-unsafe-negation': 'error',
55
54
  'no-unsafe-optional-chaining': ['error', { disallowArithmeticOperators: true }],
56
55
  'no-unused-private-class-members': 'error',
57
- 'no-unused-vars': [
58
- 'error',
59
- {
60
- args: 'after-used',
61
- caughtErrors: 'all',
62
- vars: 'all'
63
- }
64
- ],
56
+ 'no-unused-vars': 'error',
65
57
  'no-use-before-define': 'error',
58
+ 'no-useless-assignment': 'error',
66
59
  'no-useless-backreference': 'error',
67
60
  'require-atomic-updates': 'error',
68
61
  'use-isnan': 'error',
@@ -102,7 +95,6 @@ const rules = {
102
95
  'max-nested-callbacks': 'error',
103
96
  'max-params': 'off',
104
97
  'max-statements': 'warn',
105
- 'multiline-comment-style': 'error',
106
98
  'new-cap': 'error',
107
99
  'no-alert': 'error',
108
100
  'no-array-constructor': 'error',
@@ -212,7 +204,6 @@ const rules = {
212
204
  },
213
205
  ...{
214
206
  // Layout & Formatting
215
- 'line-comment-position': 'off',
216
207
  'unicode-bom': ['error', 'never']
217
208
  }
218
209
  };
@@ -10,7 +10,9 @@ declare const rules: {
10
10
  readonly 'n/no-exports-assign': "error";
11
11
  readonly 'n/no-extraneous-import': "error";
12
12
  readonly 'n/no-extraneous-require': "error";
13
- readonly 'n/no-missing-import': "error";
13
+ readonly 'n/no-missing-import': ["error", {
14
+ readonly ignoreTypeImport: true;
15
+ }];
14
16
  readonly 'n/no-missing-require': "error";
15
17
  readonly 'n/no-mixed-requires': "error";
16
18
  readonly 'n/no-new-require': "error";
@@ -10,7 +10,7 @@ const rules = {
10
10
  'n/no-exports-assign': 'error',
11
11
  'n/no-extraneous-import': 'error',
12
12
  'n/no-extraneous-require': 'error',
13
- 'n/no-missing-import': 'error',
13
+ 'n/no-missing-import': ['error', { ignoreTypeImport: true }],
14
14
  'n/no-missing-require': 'error',
15
15
  'n/no-mixed-requires': 'error',
16
16
  'n/no-new-require': 'error',
@@ -21,6 +21,7 @@ declare const rules: {
21
21
  }];
22
22
  readonly '@stylistic/comma-style': ["error", "last"];
23
23
  readonly '@stylistic/computed-property-spacing': ["error", "never"];
24
+ readonly '@stylistic/curly-newline': ["error", "always"];
24
25
  readonly '@stylistic/dot-location': ["error", "property"];
25
26
  readonly '@stylistic/eol-last': "error";
26
27
  readonly '@stylistic/func-call-spacing': ["error", "never"];
@@ -33,6 +33,7 @@ const rules = {
33
33
  ],
34
34
  '@stylistic/comma-style': ['error', 'last'],
35
35
  '@stylistic/computed-property-spacing': ['error', 'never'],
36
+ '@stylistic/curly-newline': ['error', 'always'],
36
37
  '@stylistic/dot-location': ['error', 'property'],
37
38
  '@stylistic/eol-last': 'error',
38
39
  // Alias of `@stylistic/function-call-spacing`
@@ -4,7 +4,7 @@ type ParserOptions = NonNullable<(NonNullable<typeof configs.base.languageOption
4
4
  declare const config: {
5
5
  readonly files: ["**/*.{ts,tsx,mts,cts}"];
6
6
  readonly languageOptions: {
7
- readonly parser: Linter.FlatConfigParserModule;
7
+ readonly parser: Linter.Parser;
8
8
  readonly parserOptions: {
9
9
  readonly projectService: true;
10
10
  readonly sourceType: "module";
@@ -214,6 +214,6 @@ declare const config: {
214
214
  };
215
215
  };
216
216
  };
217
- declare const typescriptConfig: (parserOptions: ParserOptions) => Linter.FlatConfig;
217
+ declare const typescriptConfig: (parserOptions: ParserOptions) => Linter.Config;
218
218
  export { config as typescript, typescriptConfig };
219
219
  export default config;
package/package.json CHANGED
@@ -1,34 +1,33 @@
1
1
  {
2
2
  "name": "@egy186/eslint-config",
3
3
  "description": "Eslint shareable config",
4
- "version": "1.2.0",
4
+ "version": "2.0.0",
5
5
  "author": "egy186",
6
6
  "bugs": {
7
7
  "url": "https://github.com/egy186/eslint-config/issues"
8
8
  },
9
9
  "dependencies": {
10
- "@stylistic/eslint-plugin": "~2.8.0",
10
+ "@stylistic/eslint-plugin": "~2.9.0",
11
11
  "eslint-plugin-import": "~2.31.0",
12
12
  "eslint-plugin-jsdoc": "~50.3.1",
13
- "eslint-plugin-n": "~17.10.3",
14
- "globals": "^15.10.0"
13
+ "eslint-plugin-n": "~17.11.1",
14
+ "globals": "^15.11.0"
15
15
  },
16
16
  "devDependencies": {
17
- "@eslint-stylistic/metadata": "~2.8.0",
18
- "@eslint/compat": "~1.1.1",
19
- "@eslint/js": "~8.57.0",
20
- "@types/eslint": "^8.56.12",
17
+ "@eslint-stylistic/metadata": "~2.9.0",
18
+ "@eslint/js": "~9.12.0",
19
+ "@types/eslint": "^9.6.1",
21
20
  "@types/eslint__js": "^8.42.3",
22
- "@types/node": "^20.16.10",
23
- "eslint": "~8.57.1",
21
+ "@types/node": "^20.16.11",
22
+ "eslint": "~9.12.0",
24
23
  "eslint-import-resolver-typescript": "~3.6.3",
25
24
  "eslint-plugin-jest": "~28.8.3",
26
25
  "eslint-plugin-react": "~7.37.1",
27
- "eslint-plugin-react-hooks": "~4.6.2",
26
+ "eslint-plugin-react-hooks": "~5.1.0-rc-459fd418-20241001",
28
27
  "husky": "^9.1.6",
29
- "jiti": "^1.21.6",
28
+ "jiti": "^2.3.3",
30
29
  "typescript": "~5.5.4",
31
- "typescript-eslint": "~8.8.0"
30
+ "typescript-eslint": "~8.8.1"
32
31
  },
33
32
  "engines": {
34
33
  "node": ">=18.18.0"
@@ -62,12 +61,11 @@
62
61
  "license": "MIT",
63
62
  "main": "./dist/index.js",
64
63
  "peerDependencies": {
65
- "@eslint/compat": "^1.1.1",
66
- "eslint": "^8.50.0",
64
+ "eslint": "^9.11.1",
67
65
  "eslint-import-resolver-typescript": "^3.6.1",
68
66
  "eslint-plugin-jest": "^28.8.3",
69
67
  "eslint-plugin-react": "^7.36.1",
70
- "eslint-plugin-react-hooks": "^4.3.0",
68
+ "eslint-plugin-react-hooks": "^5.1.0-rc-459fd418-20241001",
71
69
  "typescript": "^5.0.4",
72
70
  "typescript-eslint": "^8.5.0"
73
71
  },
@@ -101,10 +99,10 @@
101
99
  "scripts": {
102
100
  "build": "tsc --build",
103
101
  "clean": "npm run build -- --clean",
104
- "lint": "eslint .",
102
+ "lint": "eslint",
105
103
  "prepare": "husky",
106
104
  "test": "jiti test/test.ts",
107
- "typecheck": "tsc --project tsconfig.base.json --noEmit"
105
+ "typecheck": "tsc --project tsconfig.typecheck.json"
108
106
  },
109
107
  "type": "module",
110
108
  "types": "./dist/index.d.ts"