eslint-config-decent 1.4.2 → 1.6.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/dist/index.cjs CHANGED
@@ -1,12 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  const eslint = require('@eslint/js');
4
+ const prettier = require('eslint-plugin-prettier/recommended');
4
5
  const globals = require('globals');
5
6
  const tsEslint = require('typescript-eslint');
6
- const prettier = require('eslint-plugin-prettier/recommended');
7
7
  const fs = require('fs');
8
8
  const path = require('path');
9
9
  const utils = require('@typescript-eslint/utils');
10
+ const importPlugin = require('eslint-plugin-import-x');
10
11
  const jsdoc = require('eslint-plugin-jsdoc');
11
12
  const mocha = require('eslint-plugin-mocha');
12
13
  const promise = require('eslint-plugin-promise');
@@ -20,9 +21,10 @@ const unicorn = require('eslint-plugin-unicorn');
20
21
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
21
22
 
22
23
  const eslint__default = /*#__PURE__*/_interopDefaultCompat(eslint);
24
+ const prettier__default = /*#__PURE__*/_interopDefaultCompat(prettier);
23
25
  const globals__default = /*#__PURE__*/_interopDefaultCompat(globals);
24
26
  const tsEslint__default = /*#__PURE__*/_interopDefaultCompat(tsEslint);
25
- const prettier__default = /*#__PURE__*/_interopDefaultCompat(prettier);
27
+ const importPlugin__default = /*#__PURE__*/_interopDefaultCompat(importPlugin);
26
28
  const jsdoc__default = /*#__PURE__*/_interopDefaultCompat(jsdoc);
27
29
  const mocha__default = /*#__PURE__*/_interopDefaultCompat(mocha);
28
30
  const promise__default = /*#__PURE__*/_interopDefaultCompat(promise);
@@ -33,7 +35,7 @@ const testingLibrary__default = /*#__PURE__*/_interopDefaultCompat(testingLibrar
33
35
  const security__default = /*#__PURE__*/_interopDefaultCompat(security);
34
36
  const unicorn__default = /*#__PURE__*/_interopDefaultCompat(unicorn);
35
37
 
36
- const base$8 = {
38
+ const base$9 = {
37
39
  rules: {
38
40
  "array-callback-return": ["error", { allowImplicit: true }],
39
41
  "block-scoped-var": "error",
@@ -230,6 +232,14 @@ const base$8 = {
230
232
  }
231
233
  ],
232
234
  "prefer-template": "error",
235
+ "sort-imports": [
236
+ "error",
237
+ {
238
+ ignoreCase: true,
239
+ ignoreDeclarationSort: true,
240
+ allowSeparatedGroups: true
241
+ }
242
+ ],
233
243
  "symbol-description": "error",
234
244
  "unicode-bom": ["error", "never"],
235
245
  "vars-on-top": "error",
@@ -275,8 +285,8 @@ const cjs = {
275
285
  strict: ["error", "global"]
276
286
  }
277
287
  };
278
- const configs$8 = {
279
- base: base$8,
288
+ const configs$9 = {
289
+ base: base$9,
280
290
  cjsAndEsm,
281
291
  cjs
282
292
  };
@@ -375,7 +385,7 @@ const requireIndexRule = utils.ESLintUtils.RuleCreator(() => "https://github.com
375
385
  }
376
386
  });
377
387
 
378
- const base$7 = {
388
+ const base$8 = {
379
389
  plugins: {
380
390
  "decent-extension": {
381
391
  meta: {
@@ -393,6 +403,25 @@ const base$7 = {
393
403
  "decent-extension/require-index": "error"
394
404
  }
395
405
  };
406
+ const configs$8 = {
407
+ base: base$8
408
+ };
409
+
410
+ const base$7 = {
411
+ plugins: {
412
+ import: importPlugin__default
413
+ },
414
+ rules: {
415
+ "import/order": [
416
+ "error",
417
+ {
418
+ "newlines-between": "always",
419
+ alphabetize: { order: "asc", caseInsensitive: true },
420
+ pathGroupsExcludedImportTypes: ["builtin"]
421
+ }
422
+ ]
423
+ }
424
+ };
396
425
  const configs$7 = {
397
426
  base: base$7
398
427
  };
@@ -666,18 +695,10 @@ function defaultConfig(options) {
666
695
  ...tsEslint__default.configs.base.languageOptions
667
696
  }
668
697
  },
669
- ...tsEslint__default.configs.strictTypeChecked.map((config) => {
670
- return {
671
- ...config,
672
- files: ["**/*.ts", "**/*.tsx"]
673
- };
674
- }),
675
- ...tsEslint__default.configs.stylisticTypeChecked.map((config) => {
676
- return {
677
- ...config,
678
- files: ["**/*.ts", "**/*.tsx"]
679
- };
680
- }),
698
+ {
699
+ files: ["**/*.ts", "**/*.tsx"],
700
+ extends: [...tsEslint__default.configs.strictTypeChecked, ...tsEslint__default.configs.stylisticTypeChecked]
701
+ },
681
702
  {
682
703
  languageOptions,
683
704
  settings: {
@@ -688,6 +709,7 @@ function defaultConfig(options) {
688
709
  name: "eslint-config-decent/base",
689
710
  files: ["**/*.ts", "**/*.js", "**/*.cjs", "**/*.mjs", "**/*.tsx"],
690
711
  plugins: {
712
+ ...configs$8.base.plugins,
691
713
  ...configs$7.base.plugins,
692
714
  ...configs$6.base.plugins,
693
715
  ...configs$4.base.plugins,
@@ -695,8 +717,9 @@ function defaultConfig(options) {
695
717
  ...configs.base.plugins
696
718
  },
697
719
  rules: {
698
- ...configs$8.base.rules,
699
- ...enableRequireExtensionRule ? configs$7.base.rules : {},
720
+ ...configs$9.base.rules,
721
+ ...enableRequireExtensionRule ? configs$8.base.rules : {},
722
+ ...configs$7.base.rules,
700
723
  ...configs$6.base.rules,
701
724
  ...configs$4.base.rules,
702
725
  ...configs$2.base.rules,
@@ -719,7 +742,7 @@ function defaultConfig(options) {
719
742
  languageOptions: {
720
743
  sourceType: "script"
721
744
  },
722
- ...configs$8.cjsAndEsm
745
+ ...configs$9.cjsAndEsm
723
746
  },
724
747
  {
725
748
  name: "eslint-config-decent/cjs",
@@ -727,19 +750,25 @@ function defaultConfig(options) {
727
750
  languageOptions: {
728
751
  sourceType: "script"
729
752
  },
730
- ...configs$8.cjs
753
+ ...configs$9.cjs
731
754
  },
732
755
  {
733
756
  name: "eslint-config-decent/tests",
734
757
  files: ["**/*.tests.ts", "tests/tests.ts"],
735
758
  ...configs$5.base
736
759
  },
760
+ {
761
+ name: "eslint-config-decent/cjs-and-esm-disable-ts-rules",
762
+ files: ["**/*.js", "**/*.cjs", "**/*.mjs"],
763
+ extends: [tsEslint__default.configs.disableTypeChecked]
764
+ },
737
765
  prettier__default
738
766
  ];
739
767
  }
740
768
 
741
769
  exports.defaultConfig = defaultConfig;
742
- exports.eslintConfigs = configs$8;
770
+ exports.eslintConfigs = configs$9;
771
+ exports.importConfigs = configs$7;
743
772
  exports.jsdocConfigs = configs$6;
744
773
  exports.promiseConfigs = configs$4;
745
774
  exports.reactConfigs = configs$3;
package/dist/index.d.cts CHANGED
@@ -1,12 +1,16 @@
1
1
  import { ConfigWithExtends } from 'typescript-eslint';
2
2
  import { TSESLint } from '@typescript-eslint/utils';
3
3
 
4
- declare const configs$6: {
4
+ declare const configs$7: {
5
5
  base: TSESLint.FlatConfig.Config;
6
6
  cjsAndEsm: TSESLint.FlatConfig.Config;
7
7
  cjs: TSESLint.FlatConfig.Config;
8
8
  };
9
9
 
10
+ declare const configs$6: {
11
+ base: TSESLint.FlatConfig.Config;
12
+ };
13
+
10
14
  declare const configs$5: {
11
15
  base: TSESLint.FlatConfig.Config;
12
16
  };
@@ -37,4 +41,4 @@ interface DefaultConfigOptions {
37
41
  }
38
42
  declare function defaultConfig(options?: DefaultConfigOptions): ConfigWithExtends[];
39
43
 
40
- export { type DefaultConfigOptions, defaultConfig, configs$6 as eslintConfigs, configs$5 as jsdocConfigs, configs$4 as promiseConfigs, configs$3 as reactConfigs, configs$2 as securityConfigs, configs$1 as typescriptEslintConfigs, configs as unicornConfigs };
44
+ export { type DefaultConfigOptions, defaultConfig, configs$7 as eslintConfigs, configs$6 as importConfigs, configs$5 as jsdocConfigs, configs$4 as promiseConfigs, configs$3 as reactConfigs, configs$2 as securityConfigs, configs$1 as typescriptEslintConfigs, configs as unicornConfigs };
package/dist/index.d.mts CHANGED
@@ -1,12 +1,16 @@
1
1
  import { ConfigWithExtends } from 'typescript-eslint';
2
2
  import { TSESLint } from '@typescript-eslint/utils';
3
3
 
4
- declare const configs$6: {
4
+ declare const configs$7: {
5
5
  base: TSESLint.FlatConfig.Config;
6
6
  cjsAndEsm: TSESLint.FlatConfig.Config;
7
7
  cjs: TSESLint.FlatConfig.Config;
8
8
  };
9
9
 
10
+ declare const configs$6: {
11
+ base: TSESLint.FlatConfig.Config;
12
+ };
13
+
10
14
  declare const configs$5: {
11
15
  base: TSESLint.FlatConfig.Config;
12
16
  };
@@ -37,4 +41,4 @@ interface DefaultConfigOptions {
37
41
  }
38
42
  declare function defaultConfig(options?: DefaultConfigOptions): ConfigWithExtends[];
39
43
 
40
- export { type DefaultConfigOptions, defaultConfig, configs$6 as eslintConfigs, configs$5 as jsdocConfigs, configs$4 as promiseConfigs, configs$3 as reactConfigs, configs$2 as securityConfigs, configs$1 as typescriptEslintConfigs, configs as unicornConfigs };
44
+ export { type DefaultConfigOptions, defaultConfig, configs$7 as eslintConfigs, configs$6 as importConfigs, configs$5 as jsdocConfigs, configs$4 as promiseConfigs, configs$3 as reactConfigs, configs$2 as securityConfigs, configs$1 as typescriptEslintConfigs, configs as unicornConfigs };
package/dist/index.d.ts CHANGED
@@ -1,12 +1,16 @@
1
1
  import { ConfigWithExtends } from 'typescript-eslint';
2
2
  import { TSESLint } from '@typescript-eslint/utils';
3
3
 
4
- declare const configs$6: {
4
+ declare const configs$7: {
5
5
  base: TSESLint.FlatConfig.Config;
6
6
  cjsAndEsm: TSESLint.FlatConfig.Config;
7
7
  cjs: TSESLint.FlatConfig.Config;
8
8
  };
9
9
 
10
+ declare const configs$6: {
11
+ base: TSESLint.FlatConfig.Config;
12
+ };
13
+
10
14
  declare const configs$5: {
11
15
  base: TSESLint.FlatConfig.Config;
12
16
  };
@@ -37,4 +41,4 @@ interface DefaultConfigOptions {
37
41
  }
38
42
  declare function defaultConfig(options?: DefaultConfigOptions): ConfigWithExtends[];
39
43
 
40
- export { type DefaultConfigOptions, defaultConfig, configs$6 as eslintConfigs, configs$5 as jsdocConfigs, configs$4 as promiseConfigs, configs$3 as reactConfigs, configs$2 as securityConfigs, configs$1 as typescriptEslintConfigs, configs as unicornConfigs };
44
+ export { type DefaultConfigOptions, defaultConfig, configs$7 as eslintConfigs, configs$6 as importConfigs, configs$5 as jsdocConfigs, configs$4 as promiseConfigs, configs$3 as reactConfigs, configs$2 as securityConfigs, configs$1 as typescriptEslintConfigs, configs as unicornConfigs };
package/dist/index.mjs CHANGED
@@ -1,10 +1,11 @@
1
1
  import eslint from '@eslint/js';
2
+ import prettier from 'eslint-plugin-prettier/recommended';
2
3
  import globals from 'globals';
3
4
  import tsEslint from 'typescript-eslint';
4
- import prettier from 'eslint-plugin-prettier/recommended';
5
5
  import { existsSync, lstatSync } from 'fs';
6
6
  import { resolve, dirname } from 'path';
7
7
  import { ESLintUtils } from '@typescript-eslint/utils';
8
+ import importPlugin from 'eslint-plugin-import-x';
8
9
  import jsdoc from 'eslint-plugin-jsdoc';
9
10
  import mocha from 'eslint-plugin-mocha';
10
11
  import promise from 'eslint-plugin-promise';
@@ -15,7 +16,7 @@ import testingLibrary from 'eslint-plugin-testing-library';
15
16
  import security from 'eslint-plugin-security';
16
17
  import unicorn from 'eslint-plugin-unicorn';
17
18
 
18
- const base$8 = {
19
+ const base$9 = {
19
20
  rules: {
20
21
  "array-callback-return": ["error", { allowImplicit: true }],
21
22
  "block-scoped-var": "error",
@@ -212,6 +213,14 @@ const base$8 = {
212
213
  }
213
214
  ],
214
215
  "prefer-template": "error",
216
+ "sort-imports": [
217
+ "error",
218
+ {
219
+ ignoreCase: true,
220
+ ignoreDeclarationSort: true,
221
+ allowSeparatedGroups: true
222
+ }
223
+ ],
215
224
  "symbol-description": "error",
216
225
  "unicode-bom": ["error", "never"],
217
226
  "vars-on-top": "error",
@@ -257,8 +266,8 @@ const cjs = {
257
266
  strict: ["error", "global"]
258
267
  }
259
268
  };
260
- const configs$8 = {
261
- base: base$8,
269
+ const configs$9 = {
270
+ base: base$9,
262
271
  cjsAndEsm,
263
272
  cjs
264
273
  };
@@ -357,7 +366,7 @@ const requireIndexRule = ESLintUtils.RuleCreator(() => "https://github.com/jgeur
357
366
  }
358
367
  });
359
368
 
360
- const base$7 = {
369
+ const base$8 = {
361
370
  plugins: {
362
371
  "decent-extension": {
363
372
  meta: {
@@ -375,6 +384,25 @@ const base$7 = {
375
384
  "decent-extension/require-index": "error"
376
385
  }
377
386
  };
387
+ const configs$8 = {
388
+ base: base$8
389
+ };
390
+
391
+ const base$7 = {
392
+ plugins: {
393
+ import: importPlugin
394
+ },
395
+ rules: {
396
+ "import/order": [
397
+ "error",
398
+ {
399
+ "newlines-between": "always",
400
+ alphabetize: { order: "asc", caseInsensitive: true },
401
+ pathGroupsExcludedImportTypes: ["builtin"]
402
+ }
403
+ ]
404
+ }
405
+ };
378
406
  const configs$7 = {
379
407
  base: base$7
380
408
  };
@@ -648,18 +676,10 @@ function defaultConfig(options) {
648
676
  ...tsEslint.configs.base.languageOptions
649
677
  }
650
678
  },
651
- ...tsEslint.configs.strictTypeChecked.map((config) => {
652
- return {
653
- ...config,
654
- files: ["**/*.ts", "**/*.tsx"]
655
- };
656
- }),
657
- ...tsEslint.configs.stylisticTypeChecked.map((config) => {
658
- return {
659
- ...config,
660
- files: ["**/*.ts", "**/*.tsx"]
661
- };
662
- }),
679
+ {
680
+ files: ["**/*.ts", "**/*.tsx"],
681
+ extends: [...tsEslint.configs.strictTypeChecked, ...tsEslint.configs.stylisticTypeChecked]
682
+ },
663
683
  {
664
684
  languageOptions,
665
685
  settings: {
@@ -670,6 +690,7 @@ function defaultConfig(options) {
670
690
  name: "eslint-config-decent/base",
671
691
  files: ["**/*.ts", "**/*.js", "**/*.cjs", "**/*.mjs", "**/*.tsx"],
672
692
  plugins: {
693
+ ...configs$8.base.plugins,
673
694
  ...configs$7.base.plugins,
674
695
  ...configs$6.base.plugins,
675
696
  ...configs$4.base.plugins,
@@ -677,8 +698,9 @@ function defaultConfig(options) {
677
698
  ...configs.base.plugins
678
699
  },
679
700
  rules: {
680
- ...configs$8.base.rules,
681
- ...enableRequireExtensionRule ? configs$7.base.rules : {},
701
+ ...configs$9.base.rules,
702
+ ...enableRequireExtensionRule ? configs$8.base.rules : {},
703
+ ...configs$7.base.rules,
682
704
  ...configs$6.base.rules,
683
705
  ...configs$4.base.rules,
684
706
  ...configs$2.base.rules,
@@ -701,7 +723,7 @@ function defaultConfig(options) {
701
723
  languageOptions: {
702
724
  sourceType: "script"
703
725
  },
704
- ...configs$8.cjsAndEsm
726
+ ...configs$9.cjsAndEsm
705
727
  },
706
728
  {
707
729
  name: "eslint-config-decent/cjs",
@@ -709,15 +731,20 @@ function defaultConfig(options) {
709
731
  languageOptions: {
710
732
  sourceType: "script"
711
733
  },
712
- ...configs$8.cjs
734
+ ...configs$9.cjs
713
735
  },
714
736
  {
715
737
  name: "eslint-config-decent/tests",
716
738
  files: ["**/*.tests.ts", "tests/tests.ts"],
717
739
  ...configs$5.base
718
740
  },
741
+ {
742
+ name: "eslint-config-decent/cjs-and-esm-disable-ts-rules",
743
+ files: ["**/*.js", "**/*.cjs", "**/*.mjs"],
744
+ extends: [tsEslint.configs.disableTypeChecked]
745
+ },
719
746
  prettier
720
747
  ];
721
748
  }
722
749
 
723
- export { defaultConfig, configs$8 as eslintConfigs, configs$6 as jsdocConfigs, configs$4 as promiseConfigs, configs$3 as reactConfigs, configs$2 as securityConfigs, configs$1 as typescriptEslintConfigs, configs as unicornConfigs };
750
+ export { defaultConfig, configs$9 as eslintConfigs, configs$7 as importConfigs, configs$6 as jsdocConfigs, configs$4 as promiseConfigs, configs$3 as reactConfigs, configs$2 as securityConfigs, configs$1 as typescriptEslintConfigs, configs as unicornConfigs };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-config-decent",
3
- "version": "1.4.2",
3
+ "version": "1.6.0",
4
4
  "description": "A decent ESLint configuration",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
@@ -72,33 +72,34 @@
72
72
  "node": ">=20.11.0"
73
73
  },
74
74
  "dependencies": {
75
- "@eslint/js": "^9.7.0",
76
- "@typescript-eslint/utils": "8.0.0-alpha.46",
75
+ "@eslint/js": "^9.8.0",
76
+ "@typescript-eslint/utils": "8.0.0",
77
77
  "eslint-config-prettier": "^9.1.0",
78
- "eslint-plugin-jsdoc": "^48.7.0",
79
- "eslint-plugin-mocha": "^10.4.3",
80
- "eslint-plugin-prettier": "^5.2.1",
81
- "eslint-plugin-promise": "^6.4.0",
78
+ "eslint-plugin-import-x": "^3.1.0",
79
+ "eslint-plugin-jsdoc": "^48.11.0",
82
80
  "eslint-plugin-jsx-a11y": "^6.9.0",
83
- "eslint-plugin-react": "^7.34.4",
81
+ "eslint-plugin-mocha": "^10.5.0",
82
+ "eslint-plugin-prettier": "^5.2.1",
83
+ "eslint-plugin-promise": "^7.0.0",
84
+ "eslint-plugin-react": "^7.35.0",
84
85
  "eslint-plugin-react-hooks": "^4.6.2",
85
86
  "eslint-plugin-security": "^3.0.1",
86
87
  "eslint-plugin-testing-library": "^6.2.2",
87
- "eslint-plugin-unicorn": "^54.0.0",
88
- "globals": "^15.8.0",
89
- "typescript-eslint": "8.0.0-alpha.46"
88
+ "eslint-plugin-unicorn": "^55.0.0",
89
+ "globals": "^15.9.0",
90
+ "typescript-eslint": "8.0.0"
90
91
  },
91
92
  "devDependencies": {
92
- "@swc/core": "1.7.0",
93
- "@types/node": ">=20",
94
- "eslint": "^9.7.0",
95
- "husky": "^9.1.1",
93
+ "@swc/core": "1.7.5",
94
+ "@types/node": ">=22",
95
+ "eslint": "^9.8.0",
96
+ "husky": "^9.1.4",
96
97
  "lint-staged": "^15.2.7",
97
98
  "markdownlint-cli": "^0.41.0",
98
99
  "npm-run-all": "^4.1.5",
99
100
  "pinst": "^3.0.0",
100
101
  "prettier": "^3.3.3",
101
- "typescript": "^5.5.3",
102
+ "typescript": "^5.5.4",
102
103
  "unbuild": "2.0.0"
103
104
  },
104
105
  "overrides": {
package/src/eslint.ts CHANGED
@@ -194,6 +194,14 @@ const base: TSESLint.FlatConfig.Config = {
194
194
  },
195
195
  ],
196
196
  'prefer-template': 'error',
197
+ 'sort-imports': [
198
+ 'error',
199
+ {
200
+ ignoreCase: true,
201
+ ignoreDeclarationSort: true,
202
+ allowSeparatedGroups: true,
203
+ },
204
+ ],
197
205
  'symbol-description': 'error',
198
206
  'unicode-bom': ['error', 'never'],
199
207
  'vars-on-top': 'error',
package/src/extension.ts CHANGED
@@ -1,6 +1,7 @@
1
+ import type { TSESLint } from '@typescript-eslint/utils';
2
+
1
3
  import { requireExtensionRule } from './rules/requireExtensionRule.js';
2
4
  import { requireIndexRule } from './rules/requireIndexRule.js';
3
- import type { TSESLint } from '@typescript-eslint/utils';
4
5
 
5
6
  const base: TSESLint.FlatConfig.Config = {
6
7
  plugins: {
package/src/import.ts ADDED
@@ -0,0 +1,26 @@
1
+ import type { TSESLint } from '@typescript-eslint/utils';
2
+ import importPlugin from 'eslint-plugin-import-x';
3
+
4
+ const base: TSESLint.FlatConfig.Config = {
5
+ plugins: {
6
+ import: importPlugin,
7
+ },
8
+ rules: {
9
+ 'import/order': [
10
+ 'error',
11
+ {
12
+ 'newlines-between': 'always',
13
+ alphabetize: { order: 'asc', caseInsensitive: true },
14
+ pathGroupsExcludedImportTypes: ['builtin'],
15
+ },
16
+ ],
17
+ },
18
+ };
19
+
20
+ export const configs = {
21
+ base,
22
+ };
23
+
24
+ export default {
25
+ configs,
26
+ };
package/src/index.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  import eslint from '@eslint/js';
2
+ import prettier from 'eslint-plugin-prettier/recommended';
2
3
  import globals from 'globals';
3
4
  import tsEslint, { type ConfigWithExtends } from 'typescript-eslint';
4
- import prettier from 'eslint-plugin-prettier/recommended';
5
+
5
6
  import { configs as eslintConfigs } from './eslint.js';
6
7
  import { configs as extensionConfigs } from './extension.js';
8
+ import { configs as importConfigs } from './import.js';
7
9
  import { configs as jsdocConfigs } from './jsdoc.js';
8
10
  import { configs as mochaConfigs } from './mocha.js';
9
11
  import { configs as promiseConfigs } from './promise.js';
@@ -14,6 +16,7 @@ import { configs as unicornConfigs } from './unicorn.js';
14
16
 
15
17
  export {
16
18
  eslintConfigs, //
19
+ importConfigs,
17
20
  jsdocConfigs,
18
21
  promiseConfigs,
19
22
  reactConfigs,
@@ -53,18 +56,10 @@ export function defaultConfig(options?: DefaultConfigOptions): ConfigWithExtends
53
56
  ...tsEslint.configs.base.languageOptions,
54
57
  },
55
58
  },
56
- ...tsEslint.configs.strictTypeChecked.map((config) => {
57
- return {
58
- ...config,
59
- files: ['**/*.ts', '**/*.tsx'],
60
- };
61
- }),
62
- ...tsEslint.configs.stylisticTypeChecked.map((config) => {
63
- return {
64
- ...config,
65
- files: ['**/*.ts', '**/*.tsx'],
66
- };
67
- }),
59
+ {
60
+ files: ['**/*.ts', '**/*.tsx'],
61
+ extends: [...tsEslint.configs.strictTypeChecked, ...tsEslint.configs.stylisticTypeChecked],
62
+ },
68
63
  {
69
64
  languageOptions,
70
65
  settings: {
@@ -76,6 +71,7 @@ export function defaultConfig(options?: DefaultConfigOptions): ConfigWithExtends
76
71
  files: ['**/*.ts', '**/*.js', '**/*.cjs', '**/*.mjs', '**/*.tsx'],
77
72
  plugins: {
78
73
  ...extensionConfigs.base.plugins,
74
+ ...importConfigs.base.plugins,
79
75
  ...jsdocConfigs.base.plugins,
80
76
  ...promiseConfigs.base.plugins,
81
77
  ...securityConfigs.base.plugins,
@@ -84,6 +80,7 @@ export function defaultConfig(options?: DefaultConfigOptions): ConfigWithExtends
84
80
  rules: {
85
81
  ...eslintConfigs.base.rules,
86
82
  ...(enableRequireExtensionRule ? extensionConfigs.base.rules : {}),
83
+ ...importConfigs.base.rules,
87
84
  ...jsdocConfigs.base.rules,
88
85
  ...promiseConfigs.base.rules,
89
86
  ...securityConfigs.base.rules,
@@ -122,6 +119,11 @@ export function defaultConfig(options?: DefaultConfigOptions): ConfigWithExtends
122
119
 
123
120
  ...mochaConfigs.base,
124
121
  },
122
+ {
123
+ name: 'eslint-config-decent/cjs-and-esm-disable-ts-rules',
124
+ files: ['**/*.js', '**/*.cjs', '**/*.mjs'],
125
+ extends: [tsEslint.configs.disableTypeChecked],
126
+ },
125
127
  prettier,
126
128
  ];
127
129
  }
package/src/jsdoc.ts CHANGED
@@ -1,5 +1,5 @@
1
- import jsdoc from 'eslint-plugin-jsdoc';
2
1
  import type { TSESLint } from '@typescript-eslint/utils';
2
+ import jsdoc from 'eslint-plugin-jsdoc';
3
3
 
4
4
  const base: TSESLint.FlatConfig.Config = {
5
5
  settings: {
package/src/mocha.ts CHANGED
@@ -1,5 +1,5 @@
1
- import mocha from 'eslint-plugin-mocha';
2
1
  import type { TSESLint } from '@typescript-eslint/utils';
2
+ import mocha from 'eslint-plugin-mocha';
3
3
 
4
4
  const base: TSESLint.FlatConfig.Config = {
5
5
  plugins: {
package/src/promise.ts CHANGED
@@ -1,5 +1,5 @@
1
- import promise from 'eslint-plugin-promise';
2
1
  import type { TSESLint } from '@typescript-eslint/utils';
2
+ import promise from 'eslint-plugin-promise';
3
3
 
4
4
  const base: TSESLint.FlatConfig.Config = {
5
5
  plugins: {
package/src/react.ts CHANGED
@@ -1,8 +1,8 @@
1
+ import type { TSESLint } from '@typescript-eslint/utils';
1
2
  import a11y from 'eslint-plugin-jsx-a11y';
2
3
  import react from 'eslint-plugin-react';
3
4
  import reactHooks from 'eslint-plugin-react-hooks';
4
5
  import testingLibrary from 'eslint-plugin-testing-library';
5
- import type { TSESLint } from '@typescript-eslint/utils';
6
6
 
7
7
  const base: TSESLint.FlatConfig.Config = {
8
8
  plugins: {
@@ -1,5 +1,6 @@
1
1
  import { existsSync } from 'fs';
2
2
  import { dirname, resolve } from 'path';
3
+
3
4
  import type { TSESTree } from '@typescript-eslint/utils';
4
5
  import { ESLintUtils } from '@typescript-eslint/utils';
5
6
 
@@ -1,5 +1,6 @@
1
1
  import { existsSync, lstatSync } from 'fs';
2
- import { resolve, dirname } from 'path';
2
+ import { dirname, resolve } from 'path';
3
+
3
4
  import type { TSESTree } from '@typescript-eslint/utils';
4
5
  import { ESLintUtils } from '@typescript-eslint/utils';
5
6
 
package/src/security.ts CHANGED
@@ -1,5 +1,5 @@
1
- import security from 'eslint-plugin-security';
2
1
  import type { TSESLint } from '@typescript-eslint/utils';
2
+ import security from 'eslint-plugin-security';
3
3
 
4
4
  const base: TSESLint.FlatConfig.Config = {
5
5
  plugins: {
package/src/unicorn.ts CHANGED
@@ -1,5 +1,5 @@
1
- import unicorn from 'eslint-plugin-unicorn';
2
1
  import type { TSESLint } from '@typescript-eslint/utils';
2
+ import unicorn from 'eslint-plugin-unicorn';
3
3
 
4
4
  const base: TSESLint.FlatConfig.Config = {
5
5
  plugins: {