@eienjs/eslint-config 1.10.0 → 1.11.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 (85) hide show
  1. package/bin/index.mjs +0 -0
  2. package/dist/cli/{constants.mjs → constants.js} +1 -3
  3. package/dist/cli/{constants_generated.mjs → constants_generated.js} +2 -3
  4. package/dist/cli/{index.mjs → index.js} +3 -5
  5. package/dist/cli/{run.mjs → run.js} +6 -8
  6. package/dist/cli/stages/{update_eslint_files.mjs → update_eslint_files.js} +4 -5
  7. package/dist/cli/stages/{update_package_json.mjs → update_package_json.js} +4 -6
  8. package/dist/cli/stages/{update_vscode_settings.mjs → update_vscode_settings.js} +4 -5
  9. package/dist/cli/{utils.mjs → utils.js} +1 -3
  10. package/dist/{config_presets.d.mts → config_presets.d.ts} +1 -1
  11. package/dist/{config_presets.mjs → config_presets.js} +1 -2
  12. package/dist/configs/{adonisjs.d.mts → adonisjs.d.ts} +1 -1
  13. package/dist/configs/{adonisjs.mjs → adonisjs.js} +3 -5
  14. package/dist/configs/{astro.d.mts → astro.d.ts} +1 -1
  15. package/dist/configs/{astro.mjs → astro.js} +3 -5
  16. package/dist/configs/{command.d.mts → command.d.ts} +1 -1
  17. package/dist/configs/{command.mjs → command.js} +1 -3
  18. package/dist/configs/{comments.d.mts → comments.d.ts} +1 -1
  19. package/dist/configs/{comments.mjs → comments.js} +2 -4
  20. package/dist/configs/{disables.d.mts → disables.d.ts} +1 -1
  21. package/dist/configs/{disables.mjs → disables.js} +2 -4
  22. package/dist/configs/e18e.d.ts +6 -0
  23. package/dist/configs/e18e.js +20 -0
  24. package/dist/configs/{formatters.d.mts → formatters.d.ts} +1 -1
  25. package/dist/configs/{formatters.mjs → formatters.js} +4 -6
  26. package/dist/configs/{ignores.d.mts → ignores.d.ts} +1 -1
  27. package/dist/configs/{ignores.mjs → ignores.js} +2 -4
  28. package/dist/configs/{imports.d.mts → imports.d.ts} +1 -1
  29. package/dist/configs/{imports.mjs → imports.js} +2 -4
  30. package/dist/configs/index.d.ts +27 -0
  31. package/dist/configs/index.js +27 -0
  32. package/dist/configs/{javascript.d.mts → javascript.d.ts} +1 -1
  33. package/dist/configs/{javascript.mjs → javascript.js} +2 -4
  34. package/dist/configs/{jsdoc.d.mts → jsdoc.d.ts} +1 -1
  35. package/dist/configs/{jsdoc.mjs → jsdoc.js} +3 -5
  36. package/dist/configs/{jsonc.d.mts → jsonc.d.ts} +1 -1
  37. package/dist/configs/{jsonc.mjs → jsonc.js} +3 -5
  38. package/dist/configs/{markdown.d.mts → markdown.d.ts} +1 -1
  39. package/dist/configs/{markdown.mjs → markdown.js} +4 -5
  40. package/dist/configs/{node.d.mts → node.d.ts} +1 -1
  41. package/dist/configs/{node.mjs → node.js} +3 -5
  42. package/dist/configs/{nuxt.d.mts → nuxt.d.ts} +1 -1
  43. package/dist/configs/{nuxt.mjs → nuxt.js} +3 -5
  44. package/dist/configs/{perfectionist.d.mts → perfectionist.d.ts} +1 -1
  45. package/dist/configs/{perfectionist.mjs → perfectionist.js} +2 -4
  46. package/dist/configs/{pnpm.d.mts → pnpm.d.ts} +1 -1
  47. package/dist/configs/{pnpm.mjs → pnpm.js} +3 -5
  48. package/dist/configs/{regexp.d.mts → regexp.d.ts} +1 -1
  49. package/dist/configs/{regexp.mjs → regexp.js} +1 -3
  50. package/dist/configs/{sort.d.mts → sort.d.ts} +1 -1
  51. package/dist/configs/{sort.mjs → sort.js} +1 -2
  52. package/dist/configs/{stylistic.d.mts → stylistic.d.ts} +1 -1
  53. package/dist/configs/{stylistic.mjs → stylistic.js} +3 -5
  54. package/dist/configs/{test.d.mts → test.d.ts} +1 -1
  55. package/dist/configs/{test.mjs → test.js} +3 -5
  56. package/dist/configs/{toml.d.mts → toml.d.ts} +1 -1
  57. package/dist/configs/{toml.mjs → toml.js} +3 -5
  58. package/dist/configs/{typescript.d.mts → typescript.d.ts} +1 -1
  59. package/dist/configs/{typescript.mjs → typescript.js} +11 -13
  60. package/dist/configs/{unicorn.d.mts → unicorn.d.ts} +1 -1
  61. package/dist/configs/{unicorn.mjs → unicorn.js} +3 -5
  62. package/dist/configs/{vue.d.mts → vue.d.ts} +1 -1
  63. package/dist/configs/{vue.mjs → vue.js} +3 -5
  64. package/dist/configs/{yaml.d.mts → yaml.d.ts} +1 -1
  65. package/dist/configs/{yaml.mjs → yaml.js} +3 -5
  66. package/dist/{factory.d.mts → factory.d.ts} +2 -2
  67. package/dist/{factory.mjs → factory.js} +35 -32
  68. package/dist/{globs.mjs → globs.js} +1 -2
  69. package/dist/index.d.ts +7 -0
  70. package/dist/{index.mjs → index.js} +5 -7
  71. package/dist/node_modules/.pnpm/find-up-simple@1.0.1/node_modules/find-up-simple/{index.mjs → index.js} +1 -3
  72. package/dist/package.js +4 -0
  73. package/dist/{plugins.mjs → plugins.js} +2 -2
  74. package/dist/{typegen.d.mts → typegen.d.ts} +128 -28
  75. package/dist/{types.d.mts → types.d.ts} +32 -3
  76. package/dist/{utils.d.mts → utils.d.ts} +1 -1
  77. package/dist/{utils.mjs → utils.js} +2 -4
  78. package/package.json +30 -25
  79. package/dist/configs/index.d.mts +0 -26
  80. package/dist/configs/index.mjs +0 -27
  81. package/dist/index.d.mts +0 -7
  82. package/dist/package.mjs +0 -5
  83. /package/dist/cli/{index.d.mts → index.d.ts} +0 -0
  84. /package/dist/{globs.d.mts → globs.d.ts} +0 -0
  85. /package/dist/vendored/{prettier_types.d.mts → prettier_types.d.ts} +0 -0
@@ -55,6 +55,7 @@ interface RuleOptions {
55
55
  /**
56
56
  * disallow unused `eslint-disable` comments
57
57
  * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html
58
+ * @deprecated
58
59
  */
59
60
  '@eslint-community/eslint-comments/no-unused-disable'?: Linter.RuleEntry<[]>;
60
61
  /**
@@ -1725,6 +1726,87 @@ interface RuleOptions {
1725
1726
  * @see https://eslint.org/docs/latest/rules/dot-notation
1726
1727
  */
1727
1728
  'dot-notation'?: Linter.RuleEntry<DotNotation>;
1729
+ /**
1730
+ * Bans a list of dependencies from being used
1731
+ * @see https://github.com/es-tooling/eslint-plugin-depend/blob/main/docs/rules/ban-dependencies.md
1732
+ */
1733
+ 'e18e/ban-dependencies'?: Linter.RuleEntry<E18EBanDependencies>;
1734
+ /**
1735
+ * Prefer optimized alternatives to `indexOf()` equality checks
1736
+ */
1737
+ 'e18e/no-indexof-equality'?: Linter.RuleEntry<[]>;
1738
+ /**
1739
+ * Prefer Array.prototype.at() over length-based indexing
1740
+ */
1741
+ 'e18e/prefer-array-at'?: Linter.RuleEntry<[]>;
1742
+ /**
1743
+ * Prefer Array.prototype.fill() over Array.from or map with constant values
1744
+ */
1745
+ 'e18e/prefer-array-fill'?: Linter.RuleEntry<[]>;
1746
+ /**
1747
+ * Prefer Array.from(iterable, mapper) over [...iterable].map(mapper) to avoid intermediate array allocation
1748
+ */
1749
+ 'e18e/prefer-array-from-map'?: Linter.RuleEntry<[]>;
1750
+ /**
1751
+ * Prefer Array.some() over Array.find() when checking for element existence
1752
+ */
1753
+ 'e18e/prefer-array-some'?: Linter.RuleEntry<[]>;
1754
+ /**
1755
+ * Prefer Array.prototype.toReversed() over copying and reversing arrays
1756
+ */
1757
+ 'e18e/prefer-array-to-reversed'?: Linter.RuleEntry<[]>;
1758
+ /**
1759
+ * Prefer Array.prototype.toSorted() over copying and sorting arrays
1760
+ */
1761
+ 'e18e/prefer-array-to-sorted'?: Linter.RuleEntry<[]>;
1762
+ /**
1763
+ * Prefer Array.prototype.toSpliced() over copying and splicing arrays
1764
+ */
1765
+ 'e18e/prefer-array-to-spliced'?: Linter.RuleEntry<[]>;
1766
+ /**
1767
+ * Prefer Date.now() over new Date().getTime() and +new Date()
1768
+ */
1769
+ 'e18e/prefer-date-now'?: Linter.RuleEntry<[]>;
1770
+ /**
1771
+ * Prefer the exponentiation operator ** over Math.pow()
1772
+ */
1773
+ 'e18e/prefer-exponentiation-operator'?: Linter.RuleEntry<[]>;
1774
+ /**
1775
+ * Prefer .includes() over indexOf() comparisons for arrays and strings
1776
+ */
1777
+ 'e18e/prefer-includes'?: Linter.RuleEntry<[]>;
1778
+ /**
1779
+ * Prefer inline equality checks over temporary object creation for simple comparisons
1780
+ */
1781
+ 'e18e/prefer-inline-equality'?: Linter.RuleEntry<[]>;
1782
+ /**
1783
+ * Prefer nullish coalescing operator (?? and ??=) over verbose null checks
1784
+ */
1785
+ 'e18e/prefer-nullish-coalescing'?: Linter.RuleEntry<[]>;
1786
+ /**
1787
+ * Prefer Object.hasOwn() over Object.prototype.hasOwnProperty.call() and obj.hasOwnProperty()
1788
+ */
1789
+ 'e18e/prefer-object-has-own'?: Linter.RuleEntry<[]>;
1790
+ /**
1791
+ * prefer `RegExp.test()` over `String.match()` and `RegExp.exec()` when only checking for match existence
1792
+ */
1793
+ 'e18e/prefer-regex-test'?: Linter.RuleEntry<[]>;
1794
+ /**
1795
+ * Prefer spread syntax over Array.concat(), Array.from(), Object.assign({}, ...), and Function.apply()
1796
+ */
1797
+ 'e18e/prefer-spread-syntax'?: Linter.RuleEntry<[]>;
1798
+ /**
1799
+ * Prefer defining regular expressions at module scope to avoid re-compilation on every function call
1800
+ */
1801
+ 'e18e/prefer-static-regex'?: Linter.RuleEntry<[]>;
1802
+ /**
1803
+ * Prefer passing function and arguments directly to setTimeout/setInterval instead of wrapping in an arrow function or using bind
1804
+ */
1805
+ 'e18e/prefer-timer-args'?: Linter.RuleEntry<[]>;
1806
+ /**
1807
+ * Prefer URL.canParse() over try-catch blocks for URL validation
1808
+ */
1809
+ 'e18e/prefer-url-canparse'?: Linter.RuleEntry<[]>;
1728
1810
  /**
1729
1811
  * Require or disallow newline at the end of files
1730
1812
  * @see https://eslint.org/docs/latest/rules/eol-last
@@ -7544,33 +7626,33 @@ type StylisticExpListStyle = [] | [{
7544
7626
  singleLine?: _StylisticExpListStyle_SingleLineConfig;
7545
7627
  multiLine?: _StylisticExpListStyle_MultiLineConfig;
7546
7628
  overrides?: {
7547
- "()"?: _StylisticExpListStyle_BaseConfig;
7548
- "[]"?: _StylisticExpListStyle_BaseConfig;
7549
- "{}"?: _StylisticExpListStyle_BaseConfig;
7550
- "<>"?: _StylisticExpListStyle_BaseConfig;
7551
- ArrayExpression?: _StylisticExpListStyle_BaseConfig;
7552
- ArrayPattern?: _StylisticExpListStyle_BaseConfig;
7553
- ArrowFunctionExpression?: _StylisticExpListStyle_BaseConfig;
7554
- CallExpression?: _StylisticExpListStyle_BaseConfig;
7555
- ExportNamedDeclaration?: _StylisticExpListStyle_BaseConfig;
7556
- FunctionDeclaration?: _StylisticExpListStyle_BaseConfig;
7557
- FunctionExpression?: _StylisticExpListStyle_BaseConfig;
7558
- IfStatement?: _StylisticExpListStyle_BaseConfig;
7559
- ImportAttributes?: _StylisticExpListStyle_BaseConfig;
7560
- ImportDeclaration?: _StylisticExpListStyle_BaseConfig;
7561
- JSONArrayExpression?: _StylisticExpListStyle_BaseConfig;
7562
- JSONObjectExpression?: _StylisticExpListStyle_BaseConfig;
7563
- NewExpression?: _StylisticExpListStyle_BaseConfig;
7564
- ObjectExpression?: _StylisticExpListStyle_BaseConfig;
7565
- ObjectPattern?: _StylisticExpListStyle_BaseConfig;
7566
- TSDeclareFunction?: _StylisticExpListStyle_BaseConfig;
7567
- TSEnumBody?: _StylisticExpListStyle_BaseConfig;
7568
- TSFunctionType?: _StylisticExpListStyle_BaseConfig;
7569
- TSInterfaceBody?: _StylisticExpListStyle_BaseConfig;
7570
- TSTupleType?: _StylisticExpListStyle_BaseConfig;
7571
- TSTypeLiteral?: _StylisticExpListStyle_BaseConfig;
7572
- TSTypeParameterDeclaration?: _StylisticExpListStyle_BaseConfig;
7573
- TSTypeParameterInstantiation?: _StylisticExpListStyle_BaseConfig;
7629
+ "()"?: (_StylisticExpListStyle_BaseConfig | "off");
7630
+ "[]"?: (_StylisticExpListStyle_BaseConfig | "off");
7631
+ "{}"?: (_StylisticExpListStyle_BaseConfig | "off");
7632
+ "<>"?: (_StylisticExpListStyle_BaseConfig | "off");
7633
+ ArrayExpression?: (_StylisticExpListStyle_BaseConfig | "off");
7634
+ ArrayPattern?: (_StylisticExpListStyle_BaseConfig | "off");
7635
+ ArrowFunctionExpression?: (_StylisticExpListStyle_BaseConfig | "off");
7636
+ CallExpression?: (_StylisticExpListStyle_BaseConfig | "off");
7637
+ ExportNamedDeclaration?: (_StylisticExpListStyle_BaseConfig | "off");
7638
+ FunctionDeclaration?: (_StylisticExpListStyle_BaseConfig | "off");
7639
+ FunctionExpression?: (_StylisticExpListStyle_BaseConfig | "off");
7640
+ IfStatement?: (_StylisticExpListStyle_BaseConfig | "off");
7641
+ ImportAttributes?: (_StylisticExpListStyle_BaseConfig | "off");
7642
+ ImportDeclaration?: (_StylisticExpListStyle_BaseConfig | "off");
7643
+ JSONArrayExpression?: (_StylisticExpListStyle_BaseConfig | "off");
7644
+ JSONObjectExpression?: (_StylisticExpListStyle_BaseConfig | "off");
7645
+ NewExpression?: (_StylisticExpListStyle_BaseConfig | "off");
7646
+ ObjectExpression?: (_StylisticExpListStyle_BaseConfig | "off");
7647
+ ObjectPattern?: (_StylisticExpListStyle_BaseConfig | "off");
7648
+ TSDeclareFunction?: (_StylisticExpListStyle_BaseConfig | "off");
7649
+ TSEnumBody?: (_StylisticExpListStyle_BaseConfig | "off");
7650
+ TSFunctionType?: (_StylisticExpListStyle_BaseConfig | "off");
7651
+ TSInterfaceBody?: (_StylisticExpListStyle_BaseConfig | "off");
7652
+ TSTupleType?: (_StylisticExpListStyle_BaseConfig | "off");
7653
+ TSTypeLiteral?: (_StylisticExpListStyle_BaseConfig | "off");
7654
+ TSTypeParameterDeclaration?: (_StylisticExpListStyle_BaseConfig | "off");
7655
+ TSTypeParameterInstantiation?: (_StylisticExpListStyle_BaseConfig | "off");
7574
7656
  };
7575
7657
  }];
7576
7658
  interface _StylisticExpListStyle_SingleLineConfig {
@@ -8441,6 +8523,7 @@ type StylisticPaddingLineBetweenStatements = {
8441
8523
  }[];
8442
8524
  interface _StylisticPaddingLineBetweenStatements_SelectorOption {
8443
8525
  selector: string;
8526
+ lineMode?: ("any" | "singleline" | "multiline");
8444
8527
  } // ----- @stylistic/quote-props -----
8445
8528
  type StylisticQuoteProps = ([] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
8446
8529
  keywords?: boolean;
@@ -9299,6 +9382,18 @@ type TypescriptEslintPreferOptionalChain = [] | [{
9299
9382
  requireNullish?: boolean;
9300
9383
  }]; // ----- @typescript-eslint/prefer-promise-reject-errors -----
9301
9384
  type TypescriptEslintPreferPromiseRejectErrors = [] | [{
9385
+ allow?: (string | {
9386
+ from: "file";
9387
+ name: (string | [string, ...(string)[]]);
9388
+ path?: string;
9389
+ } | {
9390
+ from: "lib";
9391
+ name: (string | [string, ...(string)[]]);
9392
+ } | {
9393
+ from: "package";
9394
+ name: (string | [string, ...(string)[]]);
9395
+ package: string;
9396
+ })[];
9302
9397
  allowEmptyReject?: boolean;
9303
9398
  allowThrowingAny?: boolean;
9304
9399
  allowThrowingUnknown?: boolean;
@@ -9575,6 +9670,11 @@ type DotLocation = [] | [("object" | "property")]; // ----- dot-notation -----
9575
9670
  type DotNotation = [] | [{
9576
9671
  allowKeywords?: boolean;
9577
9672
  allowPattern?: string;
9673
+ }]; // ----- e18e/ban-dependencies -----
9674
+ type E18EBanDependencies = [] | [{
9675
+ presets?: string[];
9676
+ modules?: string[];
9677
+ allowed?: string[];
9578
9678
  }]; // ----- eol-last -----
9579
9679
  type EolLast = [] | [("always" | "never" | "unix" | "windows")]; // ----- eqeqeq -----
9580
9680
  type Eqeqeq = ([] | ["always"] | ["always", {
@@ -16018,6 +16118,6 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
16018
16118
  exceptRange?: boolean;
16019
16119
  onlyEquality?: boolean;
16020
16120
  }]; // Names of all the configs
16021
- type ConfigNames = 'eienjs/gitignore' | 'eienjs/ignores' | 'eienjs/javascript/setup' | 'eienjs/javascript/rules' | 'eienjs/eslint-comments/rules' | 'eienjs/command/rules' | 'eienjs/perfectionist/setup' | 'eienjs/node/setup' | 'eienjs/node/rules' | 'eienjs/jsdoc/setup' | 'eienjs/jsdoc/rules' | 'eienjs/imports/rules' | 'eienjs/unicorn/rules' | 'eienjs/unicorn/special-rules' | 'eienjs/typescript/setup' | 'eienjs/typescript/parser' | 'eienjs/typescript/type-aware-parser' | 'eienjs/typescript/rules' | 'eienjs/typescript/rules-type-aware' | 'eienjs/typescript/disables' | 'eienjs/typescript/erasable-syntax-only' | 'eienjs/stylistic/rules' | 'eienjs/regexp/rules' | 'eienjs/test/setup' | 'eienjs/test/rules' | 'eienjs/vue/setup' | 'eienjs/vue/rules' | 'eienjs/vue/composables-disables' | 'eienjs/astro/setup' | 'eienjs/astro/rules' | 'eienjs/adonisjs/rules' | 'eienjs/adonisjs/inertia-rules' | 'eienjs/adonisjs/disables' | 'eienjs/adonisjs/database-disables' | 'eienjs/adonisjs/bin-disables' | 'eienjs/adonisjs/commands-disables' | 'eienjs/adonisjs/middleware-disables' | 'eienjs/adonisjs/transformers-disables' | 'eienjs/adonisjs/exceptions-disables' | 'eienjs/adonisjs/controllers-disables' | 'eienjs/adonisjs/config-disables' | 'eienjs/adonisjs/providers-disables' | 'eienjs/adonisjs/tests-disables' | 'eienjs/adonisjs/types-disables' | 'eienjs/nuxt/setup' | 'eienjs/nuxt/vue/single-root' | 'eienjs/nuxt/rules' | 'eienjs/nuxt/utils-disables' | 'eienjs/nuxt/sort-config' | 'eienjs/nuxt/vue/rules' | 'eienjs/jsonc/setup' | 'eienjs/jsonc/rules' | 'eienjs/sort/package-json' | 'eienjs/sort/tsconfig-json' | 'eienjs/pnpm/package-json' | 'eienjs/pnpm/pnpm-workspace-yaml' | 'eienjs/pnpm/pnpm-workspace-yaml-sort' | 'eienjs/yaml/setup' | 'eienjs/yaml/rules' | 'eienjs/toml/setup' | 'eienjs/toml/rules' | 'eienjs/markdown/setup' | 'eienjs/markdown/processor' | 'eienjs/markdown/parser' | 'eienjs/markdown/rules' | 'eienjs/markdown/disables/markdown' | 'eienjs/markdown/disables/code' | 'eienjs/formatter/setup' | 'eienjs/formatter/css' | 'eienjs/formatter/scss' | 'eienjs/formatter/less' | 'eienjs/formatter/html' | 'eienjs/formatter/xml' | 'eienjs/formatter/svg' | 'eienjs/formatter/markdown' | 'eienjs/formatter/astro' | 'eienjs/formatter/astro/disables' | 'eienjs/disables/scripts' | 'eienjs/disables/cli' | 'eienjs/disables/bin' | 'eienjs/disables/dts' | 'eienjs/disables/cjs' | 'eienjs/disables/config-files' | 'eienjs/disables/json' | 'eienjs/disables/yaml' | 'eienjs/disables/toml' | 'eienjs/disables/astro' | 'eienjs/disables/deploy-tools';
16121
+ type ConfigNames = 'eienjs/gitignore' | 'eienjs/ignores' | 'eienjs/javascript/setup' | 'eienjs/javascript/rules' | 'eienjs/eslint-comments/rules' | 'eienjs/command/rules' | 'eienjs/perfectionist/setup' | 'eienjs/node/setup' | 'eienjs/node/rules' | 'eienjs/jsdoc/setup' | 'eienjs/jsdoc/rules' | 'eienjs/imports/rules' | 'eienjs/e18e/setup' | 'eienjs/e18e/rules' | 'eienjs/unicorn/rules' | 'eienjs/unicorn/special-rules' | 'eienjs/typescript/setup' | 'eienjs/typescript/parser' | 'eienjs/typescript/type-aware-parser' | 'eienjs/typescript/rules' | 'eienjs/typescript/rules-type-aware' | 'eienjs/typescript/disables' | 'eienjs/typescript/erasable-syntax-only' | 'eienjs/stylistic/rules' | 'eienjs/regexp/rules' | 'eienjs/test/setup' | 'eienjs/test/rules' | 'eienjs/vue/setup' | 'eienjs/vue/rules' | 'eienjs/vue/composables-disables' | 'eienjs/astro/setup' | 'eienjs/astro/rules' | 'eienjs/adonisjs/rules' | 'eienjs/adonisjs/inertia-rules' | 'eienjs/adonisjs/disables' | 'eienjs/adonisjs/database-disables' | 'eienjs/adonisjs/bin-disables' | 'eienjs/adonisjs/commands-disables' | 'eienjs/adonisjs/middleware-disables' | 'eienjs/adonisjs/transformers-disables' | 'eienjs/adonisjs/exceptions-disables' | 'eienjs/adonisjs/controllers-disables' | 'eienjs/adonisjs/config-disables' | 'eienjs/adonisjs/providers-disables' | 'eienjs/adonisjs/tests-disables' | 'eienjs/adonisjs/types-disables' | 'eienjs/nuxt/setup' | 'eienjs/nuxt/vue/single-root' | 'eienjs/nuxt/rules' | 'eienjs/nuxt/utils-disables' | 'eienjs/nuxt/sort-config' | 'eienjs/nuxt/vue/rules' | 'eienjs/jsonc/setup' | 'eienjs/jsonc/rules' | 'eienjs/sort/package-json' | 'eienjs/sort/tsconfig-json' | 'eienjs/pnpm/package-json' | 'eienjs/pnpm/pnpm-workspace-yaml' | 'eienjs/pnpm/pnpm-workspace-yaml-sort' | 'eienjs/yaml/setup' | 'eienjs/yaml/rules' | 'eienjs/toml/setup' | 'eienjs/toml/rules' | 'eienjs/markdown/setup' | 'eienjs/markdown/processor' | 'eienjs/markdown/parser' | 'eienjs/markdown/rules' | 'eienjs/markdown/disables/markdown' | 'eienjs/markdown/disables/code' | 'eienjs/formatter/setup' | 'eienjs/formatter/css' | 'eienjs/formatter/scss' | 'eienjs/formatter/less' | 'eienjs/formatter/html' | 'eienjs/formatter/xml' | 'eienjs/formatter/svg' | 'eienjs/formatter/markdown' | 'eienjs/formatter/astro' | 'eienjs/formatter/astro/disables' | 'eienjs/disables/scripts' | 'eienjs/disables/cli' | 'eienjs/disables/bin' | 'eienjs/disables/dts' | 'eienjs/disables/cjs' | 'eienjs/disables/config-files' | 'eienjs/disables/json' | 'eienjs/disables/yaml' | 'eienjs/disables/toml' | 'eienjs/disables/astro' | 'eienjs/disables/deploy-tools';
16022
16122
  //#endregion
16023
16123
  export { ConfigNames, RuleOptions };
@@ -1,5 +1,5 @@
1
- import { ConfigNames, RuleOptions } from "./typegen.mjs";
2
- import { VendoredPrettierOptions } from "./vendored/prettier_types.mjs";
1
+ import { ConfigNames, RuleOptions } from "./typegen.js";
2
+ import { VendoredPrettierOptions } from "./vendored/prettier_types.js";
3
3
  import { ConfigWithExtends } from "eslint-flat-config-utils";
4
4
  import { StylisticCustomizeOptions } from "@stylistic/eslint-plugin";
5
5
  import { ParserOptions } from "@typescript-eslint/parser";
@@ -220,6 +220,29 @@ interface OptionsComponentExts {
220
220
  */
221
221
  componentExts?: string[];
222
222
  }
223
+ interface OptionsE18e extends OptionsOverrides {
224
+ /**
225
+ * Include modernization rules
226
+ *
227
+ * @see https://github.com/e18e/eslint-plugin#modernization
228
+ * @default true
229
+ */
230
+ modernization?: boolean;
231
+ /**
232
+ * Include module replacements rules
233
+ *
234
+ * @see https://github.com/e18e/eslint-plugin#module-replacements
235
+ * @default options.isInEditor
236
+ */
237
+ moduleReplacements?: boolean;
238
+ /**
239
+ * Include performance improvements rules
240
+ *
241
+ * @see https://github.com/e18e/eslint-plugin#performance-improvements
242
+ * @default true
243
+ */
244
+ performanceImprovements?: boolean;
245
+ }
223
246
  interface OptionsMarkdown extends OptionsOverrides {
224
247
  /**
225
248
  * Enable GFM (Github Flavored Markdown) support.
@@ -364,6 +387,12 @@ interface OptionsConfig extends OptionsComponentExts {
364
387
  * @default auto-detect based on the dependencies
365
388
  */
366
389
  typescript?: boolean | OptionsTypescript;
390
+ /**
391
+ * Options for [@e18e/eslint-plugin](https://github.com/e18e/eslint-plugin)
392
+ *
393
+ * @default true
394
+ */
395
+ e18e?: boolean | OptionsE18e;
367
396
  /**
368
397
  * Options for eslint-plugin-unicorn.
369
398
  *
@@ -487,4 +516,4 @@ interface OptionsConfig extends OptionsComponentExts {
487
516
  nuxt?: boolean | OptionsNuxt;
488
517
  }
489
518
  //#endregion
490
- export { Awaitable, OptionsAdonisJS, OptionsComponentExts, OptionsConfig, OptionsErasableSyntaxOnly, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsMarkdown, OptionsNuxt, OptionsOverrides, OptionsPnpm, OptionsRegExp, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsTypescriptWithErasableSyntaxOnly, OptionsVue, Rules, StylisticConfig, TypedFlatConfigItem };
519
+ export { Awaitable, OptionsAdonisJS, OptionsComponentExts, OptionsConfig, OptionsE18e, OptionsErasableSyntaxOnly, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsMarkdown, OptionsNuxt, OptionsOverrides, OptionsPnpm, OptionsRegExp, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsTypescriptWithErasableSyntaxOnly, OptionsVue, Rules, StylisticConfig, TypedFlatConfigItem };
@@ -1,4 +1,4 @@
1
- import { Awaitable, TypedFlatConfigItem } from "./types.mjs";
1
+ import { Awaitable, TypedFlatConfigItem } from "./types.js";
2
2
 
3
3
  //#region src/utils.d.ts
4
4
  declare const parserPlain: {
@@ -1,7 +1,6 @@
1
1
  import process from "node:process";
2
2
  import { fileURLToPath } from "node:url";
3
3
  import { isPackageExists } from "local-pkg";
4
-
5
4
  //#region src/utils.ts
6
5
  const scopeUrl = fileURLToPath(new URL(".", import.meta.url));
7
6
  const isCwdInScope = isPackageExists("@eienjs/eslint-config");
@@ -52,11 +51,10 @@ async function ensurePackages(packages) {
52
51
  function isInEditorEnv() {
53
52
  if (process.env.CI) return false;
54
53
  if (isInGitHooksOrLintStaged()) return false;
55
- return Boolean(process.env.VSCODE_PID || process.env.VSCODE_CWD || process.env.JETBRAINS_IDE || process.env.VIM || process.env.NVIM);
54
+ return Boolean(process.env.VSCODE_PID || process.env.VSCODE_CWD || process.env.JETBRAINS_IDE || process.env.VIM || process.env.NVIM || process.env.ZED_ENVIRONMENT);
56
55
  }
57
56
  function isInGitHooksOrLintStaged() {
58
57
  return Boolean(process.env.GIT_PARAMS || process.env.VSCODE_GIT_COMMAND || process.env.npm_lifecycle_script?.startsWith("lint-staged"));
59
58
  }
60
-
61
59
  //#endregion
62
- export { combine, ensurePackages, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, parserPlain, toArray };
60
+ export { combine, ensurePackages, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, parserPlain, toArray };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@eienjs/eslint-config",
3
3
  "type": "module",
4
- "version": "1.10.0",
4
+ "version": "1.11.0",
5
5
  "description": "EienJS ESLint Config",
6
6
  "author": "Fernando Isidro <luffynando@gmail.com> (https://github.com/luffynando/)",
7
7
  "license": "MIT",
@@ -19,13 +19,13 @@
19
19
  "astro"
20
20
  ],
21
21
  "exports": {
22
- ".": "./dist/index.mjs",
23
- "./cli": "./dist/cli/index.mjs",
24
- "./configs": "./dist/configs/index.mjs",
22
+ ".": "./dist/index.js",
23
+ "./cli": "./dist/cli/index.js",
24
+ "./configs": "./dist/configs/index.js",
25
25
  "./package.json": "./package.json"
26
26
  },
27
- "types": "./dist/index.d.mts",
28
- "bin": "./bin/index.mjs",
27
+ "types": "./dist/index.d.ts",
28
+ "bin": "./bin/index.js",
29
29
  "files": [
30
30
  "bin",
31
31
  "dist"
@@ -72,17 +72,18 @@
72
72
  },
73
73
  "dependencies": {
74
74
  "@antfu/install-pkg": "^1.1.0",
75
- "@clack/prompts": "^1.0.1",
76
- "@eslint-community/eslint-plugin-eslint-comments": "^4.6.0",
75
+ "@clack/prompts": "^1.1.0",
76
+ "@e18e/eslint-plugin": "^0.2.0",
77
+ "@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
77
78
  "@eslint/markdown": "^7.5.1",
78
- "@stylistic/eslint-plugin": "^5.9.0",
79
- "@typescript-eslint/eslint-plugin": "^8.56.1",
80
- "@typescript-eslint/parser": "^8.56.1",
81
- "@vitest/eslint-plugin": "^1.6.9",
79
+ "@stylistic/eslint-plugin": "^5.10.0",
80
+ "@typescript-eslint/eslint-plugin": "^8.57.0",
81
+ "@typescript-eslint/parser": "^8.57.0",
82
+ "@vitest/eslint-plugin": "^1.6.10",
82
83
  "ansis": "^4.2.0",
83
- "cac": "^6.7.14",
84
+ "cac": "^7.0.0",
84
85
  "eslint-config-flat-gitignore": "^2.2.1",
85
- "eslint-flat-config-utils": "^3.0.1",
86
+ "eslint-flat-config-utils": "^3.0.2",
86
87
  "eslint-merge-processors": "^2.0.0",
87
88
  "eslint-plugin-antfu": "^3.2.2",
88
89
  "eslint-plugin-command": "^3.5.2",
@@ -93,14 +94,14 @@
93
94
  "eslint-plugin-no-only-tests": "^3.3.0",
94
95
  "eslint-plugin-perfectionist": "^5.6.0",
95
96
  "eslint-plugin-pnpm": "^1.6.0",
96
- "eslint-plugin-regexp": "^3.0.0",
97
- "eslint-plugin-toml": "^1.3.0",
97
+ "eslint-plugin-regexp": "^3.1.0",
98
+ "eslint-plugin-toml": "^1.3.1",
98
99
  "eslint-plugin-unicorn": "^63.0.0",
99
100
  "eslint-plugin-unused-imports": "^4.4.1",
100
101
  "eslint-plugin-vue": "^10.8.0",
101
- "eslint-plugin-yml": "^3.3.0",
102
+ "eslint-plugin-yml": "^3.3.1",
102
103
  "eslint-processor-vue-blocks": "^2.0.0",
103
- "globals": "^17.3.0",
104
+ "globals": "^17.4.0",
104
105
  "local-pkg": "^1.1.2",
105
106
  "parse-gitignore": "^2.0.0",
106
107
  "pathe": "^2.0.3",
@@ -110,16 +111,16 @@
110
111
  },
111
112
  "devDependencies": {
112
113
  "@adonisjs/eslint-plugin": "^2.2.2",
113
- "@commitlint/cli": "^20.4.2",
114
- "@commitlint/config-conventional": "^20.4.2",
115
- "@eslint/config-inspector": "^1.4.2",
114
+ "@commitlint/cli": "^20.4.3",
115
+ "@commitlint/config-conventional": "^20.4.3",
116
+ "@eslint/config-inspector": "^1.5.0",
116
117
  "@nuxt/eslint-plugin": "^1.15.2",
117
118
  "@prettier/plugin-xml": "^3.4.2",
118
- "@types/node": "^25.3.0",
119
+ "@types/node": "^24.12.0",
119
120
  "astro-eslint-parser": "^1.3.0",
120
121
  "auto-changelog": "^2.5.0",
121
122
  "baseline-browser-mapping": "^2.10.0",
122
- "eslint": "^10.0.2",
123
+ "eslint": "^10.0.3",
123
124
  "eslint-plugin-astro": "^1.6.0",
124
125
  "eslint-plugin-erasable-syntax-only": "^0.4.0",
125
126
  "eslint-plugin-format": "^2.0.1",
@@ -129,13 +130,17 @@
129
130
  "np": "^11.0.2",
130
131
  "pnpm-workspace-yaml": "^1.6.0",
131
132
  "prettier-plugin-astro": "^0.14.1",
132
- "tsdown": "^0.20.3",
133
+ "tsdown": "^0.21.1",
133
134
  "tsx": "^4.21.0",
134
135
  "typescript": "^5.9.3"
135
136
  },
137
+ "inlinedDependencies": {
138
+ "find-up-simple": "1.0.1"
139
+ },
136
140
  "resolutions": {
137
141
  "chokidar": "catalog:dev",
138
142
  "eslint": "catalog:peer",
143
+ "eslint-json-compat-utils": "catalog:dev",
139
144
  "tsx": "catalog:dev"
140
145
  },
141
146
  "commitlint": {
@@ -159,7 +164,7 @@
159
164
  },
160
165
  "scripts": {
161
166
  "prebuild": "pnpm tool:code",
162
- "build": "pnpm gen && tsdown --clean --dts",
167
+ "build": "pnpm gen && tsdown",
163
168
  "stub": "tsdown",
164
169
  "dev": "npx @eslint/config-inspector --config eslint.config.ts",
165
170
  "build:inspector": "pnpm build && npx @eslint/config-inspector build",
@@ -1,26 +0,0 @@
1
- import { adonisjs } from "./adonisjs.mjs";
2
- import { astro } from "./astro.mjs";
3
- import { command } from "./command.mjs";
4
- import { comments } from "./comments.mjs";
5
- import { disables } from "./disables.mjs";
6
- import { formatters } from "./formatters.mjs";
7
- import { ignores } from "./ignores.mjs";
8
- import { imports } from "./imports.mjs";
9
- import { javascript } from "./javascript.mjs";
10
- import { jsdoc } from "./jsdoc.mjs";
11
- import { jsonc } from "./jsonc.mjs";
12
- import { markdown } from "./markdown.mjs";
13
- import { node } from "./node.mjs";
14
- import { nuxt } from "./nuxt.mjs";
15
- import { perfectionist } from "./perfectionist.mjs";
16
- import { pnpm } from "./pnpm.mjs";
17
- import { regexp } from "./regexp.mjs";
18
- import { sortPackageJson, sortTsconfig } from "./sort.mjs";
19
- import { StylisticConfigDefaults, StylisticOptions, stylistic } from "./stylistic.mjs";
20
- import { test } from "./test.mjs";
21
- import { toml } from "./toml.mjs";
22
- import { typescript } from "./typescript.mjs";
23
- import { unicorn } from "./unicorn.mjs";
24
- import { vue } from "./vue.mjs";
25
- import { yaml } from "./yaml.mjs";
26
- export { StylisticConfigDefaults, StylisticOptions, adonisjs, astro, command, comments, disables, formatters, ignores, imports, javascript, jsdoc, jsonc, markdown, node, nuxt, perfectionist, pnpm, regexp, sortPackageJson, sortTsconfig, stylistic, test, toml, typescript, unicorn, vue, yaml };
@@ -1,27 +0,0 @@
1
- import { adonisjs } from "./adonisjs.mjs";
2
- import { astro } from "./astro.mjs";
3
- import { command } from "./command.mjs";
4
- import { comments } from "./comments.mjs";
5
- import { disables } from "./disables.mjs";
6
- import { StylisticConfigDefaults, stylistic } from "./stylistic.mjs";
7
- import { formatters } from "./formatters.mjs";
8
- import { ignores } from "./ignores.mjs";
9
- import { imports } from "./imports.mjs";
10
- import { javascript } from "./javascript.mjs";
11
- import { jsdoc } from "./jsdoc.mjs";
12
- import { jsonc } from "./jsonc.mjs";
13
- import { markdown } from "./markdown.mjs";
14
- import { node } from "./node.mjs";
15
- import { nuxt } from "./nuxt.mjs";
16
- import { perfectionist } from "./perfectionist.mjs";
17
- import { pnpm } from "./pnpm.mjs";
18
- import { regexp } from "./regexp.mjs";
19
- import { sortPackageJson, sortTsconfig } from "./sort.mjs";
20
- import { test } from "./test.mjs";
21
- import { toml } from "./toml.mjs";
22
- import { typescript } from "./typescript.mjs";
23
- import { unicorn } from "./unicorn.mjs";
24
- import { vue } from "./vue.mjs";
25
- import { yaml } from "./yaml.mjs";
26
-
27
- export { StylisticConfigDefaults, adonisjs, astro, command, comments, disables, formatters, ignores, imports, javascript, jsdoc, jsonc, markdown, node, nuxt, perfectionist, pnpm, regexp, sortPackageJson, sortTsconfig, stylistic, test, toml, typescript, unicorn, vue, yaml };
package/dist/index.d.mts DELETED
@@ -1,7 +0,0 @@
1
- import { ConfigNames, RuleOptions } from "./typegen.mjs";
2
- import { Awaitable, OptionsAdonisJS, OptionsComponentExts, OptionsConfig, OptionsErasableSyntaxOnly, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsMarkdown, OptionsNuxt, OptionsOverrides, OptionsPnpm, OptionsRegExp, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsTypescriptWithErasableSyntaxOnly, OptionsVue, Rules, StylisticConfig, TypedFlatConfigItem } from "./types.mjs";
3
- import { ResolvedOptions, defaultPluginRenaming, eienjs, getOverrides, resolveSubOptions } from "./factory.mjs";
4
- import { CONFIG_PRESET_FULL_OFF, CONFIG_PRESET_FULL_ON } from "./config_presets.mjs";
5
- import { GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_EXTS, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML } from "./globs.mjs";
6
- import { combine, ensurePackages, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, parserPlain, toArray } from "./utils.mjs";
7
- export { Awaitable, CONFIG_PRESET_FULL_OFF, CONFIG_PRESET_FULL_ON, ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_EXTS, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, OptionsAdonisJS, OptionsComponentExts, OptionsConfig, OptionsErasableSyntaxOnly, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsMarkdown, OptionsNuxt, OptionsOverrides, OptionsPnpm, OptionsRegExp, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsTypescriptWithErasableSyntaxOnly, OptionsVue, ResolvedOptions, RuleOptions, Rules, StylisticConfig, TypedFlatConfigItem, combine, eienjs as default, defaultPluginRenaming, eienjs, ensurePackages, getOverrides, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, parserPlain, resolveSubOptions, toArray };
package/dist/package.mjs DELETED
@@ -1,5 +0,0 @@
1
- //#region package.json
2
- var version = "1.10.0";
3
-
4
- //#endregion
5
- export { version };
File without changes
File without changes