@ntnyq/eslint-config 5.0.0-beta.7 → 5.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
@@ -15,6 +15,9 @@
15
15
  - NodeJS v20.11.0+
16
16
  - ESLint v9.20.0+
17
17
 
18
+ > [!TIP]
19
+ > For NodeJS v18 support, please use [v4](https://github.com/ntnyq/eslint-config/tree/v4)
20
+
18
21
  ## Features
19
22
 
20
23
  - Designed to work alongside with [Prettier](https://prettier.io) and [TypeScript](https://www.typescriptlang.org/)
package/dist/index.d.ts CHANGED
@@ -2297,6 +2297,11 @@ interface RuleOptions {
2297
2297
  * @see https://github.com/eslint-community/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/no-identical-tests.md
2298
2298
  */
2299
2299
  'eslint-plugin/no-identical-tests'?: Linter.RuleEntry<[]>;
2300
+ /**
2301
+ * disallow using the `meta.replacedBy` rule property
2302
+ * @see https://github.com/eslint-community/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/no-meta-replaced-by.md
2303
+ */
2304
+ 'eslint-plugin/no-meta-replaced-by'?: Linter.RuleEntry<[]>;
2300
2305
  /**
2301
2306
  * disallow rules `meta.schema` properties to include defaults
2302
2307
  * @see https://github.com/eslint-community/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/no-meta-schema-default.md
@@ -2605,233 +2610,238 @@ interface RuleOptions {
2605
2610
  'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>;
2606
2611
  /**
2607
2612
  * Enforce or ban the use of inline type-only markers for named imports.
2608
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/consistent-type-specifier-style.md
2613
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/consistent-type-specifier-style.md
2609
2614
  */
2610
2615
  'import-x/consistent-type-specifier-style'?: Linter.RuleEntry<ImportXConsistentTypeSpecifierStyle>;
2611
2616
  /**
2612
2617
  * Ensure a default export is present, given a default import.
2613
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/default.md
2618
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/default.md
2614
2619
  */
2615
2620
  'import-x/default'?: Linter.RuleEntry<[]>;
2616
2621
  /**
2617
2622
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
2618
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/dynamic-import-chunkname.md
2623
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/dynamic-import-chunkname.md
2619
2624
  */
2620
2625
  'import-x/dynamic-import-chunkname'?: Linter.RuleEntry<ImportXDynamicImportChunkname>;
2621
2626
  /**
2622
2627
  * Forbid any invalid exports, i.e. re-export of the same name.
2623
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/export.md
2628
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/export.md
2624
2629
  */
2625
2630
  'import-x/export'?: Linter.RuleEntry<[]>;
2626
2631
  /**
2627
2632
  * Ensure all exports appear after other statements.
2628
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/exports-last.md
2633
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/exports-last.md
2629
2634
  */
2630
2635
  'import-x/exports-last'?: Linter.RuleEntry<[]>;
2631
2636
  /**
2632
2637
  * Ensure consistent use of file extension within the import path.
2633
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/extensions.md
2638
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/extensions.md
2634
2639
  */
2635
2640
  'import-x/extensions'?: Linter.RuleEntry<ImportXExtensions>;
2636
2641
  /**
2637
2642
  * Ensure all imports appear before other statements.
2638
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/first.md
2643
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/first.md
2639
2644
  */
2640
2645
  'import-x/first'?: Linter.RuleEntry<ImportXFirst>;
2641
2646
  /**
2642
2647
  * Prefer named exports to be grouped together in a single export declaration.
2643
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/group-exports.md
2648
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/group-exports.md
2644
2649
  */
2645
2650
  'import-x/group-exports'?: Linter.RuleEntry<[]>;
2646
2651
  /**
2647
2652
  * Replaced by `import-x/first`.
2648
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/imports-first.md
2653
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/imports-first.md
2649
2654
  * @deprecated
2650
2655
  */
2651
2656
  'import-x/imports-first'?: Linter.RuleEntry<ImportXImportsFirst>;
2652
2657
  /**
2653
2658
  * Enforce the maximum number of dependencies a module can have.
2654
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/max-dependencies.md
2659
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/max-dependencies.md
2655
2660
  */
2656
2661
  'import-x/max-dependencies'?: Linter.RuleEntry<ImportXMaxDependencies>;
2657
2662
  /**
2658
2663
  * Ensure named imports correspond to a named export in the remote file.
2659
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/named.md
2664
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/named.md
2660
2665
  */
2661
2666
  'import-x/named'?: Linter.RuleEntry<ImportXNamed>;
2662
2667
  /**
2663
2668
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
2664
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/namespace.md
2669
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/namespace.md
2665
2670
  */
2666
2671
  'import-x/namespace'?: Linter.RuleEntry<ImportXNamespace>;
2667
2672
  /**
2668
2673
  * Enforce a newline after import statements.
2669
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/newline-after-import.md
2674
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/newline-after-import.md
2670
2675
  */
2671
2676
  'import-x/newline-after-import'?: Linter.RuleEntry<ImportXNewlineAfterImport>;
2672
2677
  /**
2673
2678
  * Forbid import of modules using absolute paths.
2674
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-absolute-path.md
2679
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-absolute-path.md
2675
2680
  */
2676
2681
  'import-x/no-absolute-path'?: Linter.RuleEntry<ImportXNoAbsolutePath>;
2677
2682
  /**
2678
2683
  * Forbid AMD `require` and `define` calls.
2679
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-amd.md
2684
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-amd.md
2680
2685
  */
2681
2686
  'import-x/no-amd'?: Linter.RuleEntry<[]>;
2682
2687
  /**
2683
2688
  * Forbid anonymous values as default exports.
2684
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-anonymous-default-export.md
2689
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-anonymous-default-export.md
2685
2690
  */
2686
2691
  'import-x/no-anonymous-default-export'?: Linter.RuleEntry<ImportXNoAnonymousDefaultExport>;
2687
2692
  /**
2688
2693
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
2689
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-commonjs.md
2694
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-commonjs.md
2690
2695
  */
2691
2696
  'import-x/no-commonjs'?: Linter.RuleEntry<ImportXNoCommonjs>;
2692
2697
  /**
2693
2698
  * Forbid a module from importing a module with a dependency path back to itself.
2694
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-cycle.md
2699
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-cycle.md
2695
2700
  */
2696
2701
  'import-x/no-cycle'?: Linter.RuleEntry<ImportXNoCycle>;
2697
2702
  /**
2698
2703
  * Forbid default exports.
2699
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-default-export.md
2704
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-default-export.md
2700
2705
  */
2701
2706
  'import-x/no-default-export'?: Linter.RuleEntry<[]>;
2702
2707
  /**
2703
2708
  * Forbid imported names marked with `@deprecated` documentation tag.
2704
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-deprecated.md
2709
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-deprecated.md
2705
2710
  */
2706
2711
  'import-x/no-deprecated'?: Linter.RuleEntry<[]>;
2707
2712
  /**
2708
2713
  * Forbid repeated import of the same module in multiple places.
2709
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-duplicates.md
2714
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-duplicates.md
2710
2715
  */
2711
2716
  'import-x/no-duplicates'?: Linter.RuleEntry<ImportXNoDuplicates>;
2712
2717
  /**
2713
2718
  * Forbid `require()` calls with expressions.
2714
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-dynamic-require.md
2719
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-dynamic-require.md
2715
2720
  */
2716
2721
  'import-x/no-dynamic-require'?: Linter.RuleEntry<ImportXNoDynamicRequire>;
2717
2722
  /**
2718
2723
  * Forbid empty named import blocks.
2719
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-empty-named-blocks.md
2724
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-empty-named-blocks.md
2720
2725
  */
2721
2726
  'import-x/no-empty-named-blocks'?: Linter.RuleEntry<[]>;
2722
2727
  /**
2723
2728
  * Forbid the use of extraneous packages.
2724
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-extraneous-dependencies.md
2729
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-extraneous-dependencies.md
2725
2730
  */
2726
2731
  'import-x/no-extraneous-dependencies'?: Linter.RuleEntry<ImportXNoExtraneousDependencies>;
2727
2732
  /**
2728
2733
  * Forbid import statements with CommonJS module.exports.
2729
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-import-module-exports.md
2734
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-import-module-exports.md
2730
2735
  */
2731
2736
  'import-x/no-import-module-exports'?: Linter.RuleEntry<ImportXNoImportModuleExports>;
2732
2737
  /**
2733
2738
  * Forbid importing the submodules of other modules.
2734
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-internal-modules.md
2739
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-internal-modules.md
2735
2740
  */
2736
2741
  'import-x/no-internal-modules'?: Linter.RuleEntry<ImportXNoInternalModules>;
2737
2742
  /**
2738
2743
  * Forbid the use of mutable exports with `var` or `let`.
2739
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-mutable-exports.md
2744
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-mutable-exports.md
2740
2745
  */
2741
2746
  'import-x/no-mutable-exports'?: Linter.RuleEntry<[]>;
2742
2747
  /**
2743
2748
  * Forbid use of exported name as identifier of default export.
2744
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-named-as-default.md
2749
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-as-default.md
2745
2750
  */
2746
2751
  'import-x/no-named-as-default'?: Linter.RuleEntry<[]>;
2747
2752
  /**
2748
2753
  * Forbid use of exported name as property of default export.
2749
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-named-as-default-member.md
2754
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-as-default-member.md
2750
2755
  */
2751
2756
  'import-x/no-named-as-default-member'?: Linter.RuleEntry<[]>;
2752
2757
  /**
2753
2758
  * Forbid named default exports.
2754
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-named-default.md
2759
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-default.md
2755
2760
  */
2756
2761
  'import-x/no-named-default'?: Linter.RuleEntry<[]>;
2757
2762
  /**
2758
2763
  * Forbid named exports.
2759
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-named-export.md
2764
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-export.md
2760
2765
  */
2761
2766
  'import-x/no-named-export'?: Linter.RuleEntry<[]>;
2762
2767
  /**
2763
2768
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
2764
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-namespace.md
2769
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-namespace.md
2765
2770
  */
2766
2771
  'import-x/no-namespace'?: Linter.RuleEntry<ImportXNoNamespace>;
2767
2772
  /**
2768
2773
  * Forbid Node.js builtin modules.
2769
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-nodejs-modules.md
2774
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-nodejs-modules.md
2770
2775
  */
2771
2776
  'import-x/no-nodejs-modules'?: Linter.RuleEntry<ImportXNoNodejsModules>;
2772
2777
  /**
2773
2778
  * Forbid importing packages through relative paths.
2774
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-relative-packages.md
2779
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-relative-packages.md
2775
2780
  */
2776
2781
  'import-x/no-relative-packages'?: Linter.RuleEntry<ImportXNoRelativePackages>;
2777
2782
  /**
2778
2783
  * Forbid importing modules from parent directories.
2779
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-relative-parent-imports.md
2784
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-relative-parent-imports.md
2780
2785
  */
2781
2786
  'import-x/no-relative-parent-imports'?: Linter.RuleEntry<ImportXNoRelativeParentImports>;
2782
2787
  /**
2783
2788
  * Forbid importing a default export by a different name.
2784
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-rename-default.md
2789
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-rename-default.md
2785
2790
  */
2786
2791
  'import-x/no-rename-default'?: Linter.RuleEntry<ImportXNoRenameDefault>;
2787
2792
  /**
2788
2793
  * Enforce which files can be imported in a given folder.
2789
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-restricted-paths.md
2794
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-restricted-paths.md
2790
2795
  */
2791
2796
  'import-x/no-restricted-paths'?: Linter.RuleEntry<ImportXNoRestrictedPaths>;
2792
2797
  /**
2793
2798
  * Forbid a module from importing itself.
2794
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-self-import.md
2799
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-self-import.md
2795
2800
  */
2796
2801
  'import-x/no-self-import'?: Linter.RuleEntry<[]>;
2797
2802
  /**
2798
2803
  * Forbid unassigned imports.
2799
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-unassigned-import.md
2804
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unassigned-import.md
2800
2805
  */
2801
2806
  'import-x/no-unassigned-import'?: Linter.RuleEntry<ImportXNoUnassignedImport>;
2802
2807
  /**
2803
2808
  * Ensure imports point to a file/module that can be resolved.
2804
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-unresolved.md
2809
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unresolved.md
2805
2810
  */
2806
2811
  'import-x/no-unresolved'?: Linter.RuleEntry<ImportXNoUnresolved>;
2807
2812
  /**
2808
2813
  * Forbid modules without exports, or exports without matching import in another module.
2809
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-unused-modules.md
2814
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unused-modules.md
2810
2815
  */
2811
2816
  'import-x/no-unused-modules'?: Linter.RuleEntry<ImportXNoUnusedModules>;
2812
2817
  /**
2813
2818
  * Forbid unnecessary path segments in import and require statements.
2814
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-useless-path-segments.md
2819
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-useless-path-segments.md
2815
2820
  */
2816
2821
  'import-x/no-useless-path-segments'?: Linter.RuleEntry<ImportXNoUselessPathSegments>;
2817
2822
  /**
2818
2823
  * Forbid webpack loader syntax in imports.
2819
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-webpack-loader-syntax.md
2824
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-webpack-loader-syntax.md
2820
2825
  */
2821
2826
  'import-x/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>;
2822
2827
  /**
2823
2828
  * Enforce a convention in module import order.
2824
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/order.md
2829
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/order.md
2825
2830
  */
2826
2831
  'import-x/order'?: Linter.RuleEntry<ImportXOrder>;
2827
2832
  /**
2828
2833
  * Prefer a default export if module exports a single name or multiple names.
2829
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/prefer-default-export.md
2834
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/prefer-default-export.md
2830
2835
  */
2831
2836
  'import-x/prefer-default-export'?: Linter.RuleEntry<ImportXPreferDefaultExport>;
2837
+ /**
2838
+ * Enforce using namespace imports for specific modules, like `react`/`react-dom`, etc.
2839
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/prefer-namespace-import.md
2840
+ */
2841
+ 'import-x/prefer-namespace-import'?: Linter.RuleEntry<ImportXPreferNamespaceImport>;
2832
2842
  /**
2833
2843
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
2834
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/unambiguous.md
2844
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/unambiguous.md
2835
2845
  */
2836
2846
  'import-x/unambiguous'?: Linter.RuleEntry<[]>;
2837
2847
  /**
@@ -3419,6 +3429,11 @@ interface RuleOptions {
3419
3429
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/heading-increment.md
3420
3430
  */
3421
3431
  'markdown/heading-increment'?: Linter.RuleEntry<[]>;
3432
+ /**
3433
+ * Disallow bare URLs
3434
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-bare-urls.md
3435
+ */
3436
+ 'markdown/no-bare-urls'?: Linter.RuleEntry<[]>;
3422
3437
  /**
3423
3438
  * Disallow duplicate definitions
3424
3439
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-duplicate-definitions.md
@@ -3428,7 +3443,7 @@ interface RuleOptions {
3428
3443
  * Disallow duplicate headings in the same document
3429
3444
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-duplicate-headings.md
3430
3445
  */
3431
- 'markdown/no-duplicate-headings'?: Linter.RuleEntry<[]>;
3446
+ 'markdown/no-duplicate-headings'?: Linter.RuleEntry<MarkdownNoDuplicateHeadings>;
3432
3447
  /**
3433
3448
  * Disallow empty definitions
3434
3449
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-empty-definitions.md
@@ -3464,11 +3479,21 @@ interface RuleOptions {
3464
3479
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-label-refs.md
3465
3480
  */
3466
3481
  'markdown/no-missing-label-refs'?: Linter.RuleEntry<[]>;
3482
+ /**
3483
+ * Disallow link fragments that do not reference valid headings
3484
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-link-fragments.md
3485
+ */
3486
+ 'markdown/no-missing-link-fragments'?: Linter.RuleEntry<MarkdownNoMissingLinkFragments>;
3467
3487
  /**
3468
3488
  * Disallow multiple H1 headings in the same document
3469
3489
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-multiple-h1.md
3470
3490
  */
3471
3491
  'markdown/no-multiple-h1'?: Linter.RuleEntry<MarkdownNoMultipleH1>;
3492
+ /**
3493
+ * Disallow reversed link and image syntax
3494
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-reversed-media-syntax.md
3495
+ */
3496
+ 'markdown/no-reversed-media-syntax'?: Linter.RuleEntry<[]>;
3472
3497
  /**
3473
3498
  * Require alternative text for images
3474
3499
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/require-alt-text.md
@@ -6846,6 +6871,16 @@ interface RuleOptions {
6846
6871
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-test-blocks.md
6847
6872
  */
6848
6873
  'vitest/padding-around-test-blocks'?: Linter.RuleEntry<[]>;
6874
+ /**
6875
+ * enforce using `toBeCalledOnce()` or `toHaveBeenCalledOnce()`
6876
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-once.md
6877
+ */
6878
+ 'vitest/prefer-called-once'?: Linter.RuleEntry<[]>;
6879
+ /**
6880
+ * enforce using `toBeCalledTimes(1)` or `toHaveBeenCalledTimes(1)`
6881
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-times.md
6882
+ */
6883
+ 'vitest/prefer-called-times'?: Linter.RuleEntry<[]>;
6849
6884
  /**
6850
6885
  * enforce using `toBeCalledWith()` or `toHaveBeenCalledWith()`
6851
6886
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-with.md
@@ -7011,6 +7046,11 @@ interface RuleOptions {
7011
7046
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md
7012
7047
  */
7013
7048
  'vitest/valid-title'?: Linter.RuleEntry<VitestValidTitle>;
7049
+ /**
7050
+ * disallow `.todo` usage
7051
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/warn-todo.md
7052
+ */
7053
+ 'vitest/warn-todo'?: Linter.RuleEntry<[]>;
7014
7054
  /**
7015
7055
  * Enforce linebreaks after opening and before closing array brackets in `<template>`
7016
7056
  * @see https://eslint.vuejs.org/rules/array-bracket-newline.html
@@ -8972,6 +9012,7 @@ interface _TypescriptEslintNamingConvention_MatchRegexConfig {
8972
9012
  }
8973
9013
  // ----- @typescript-eslint/no-base-to-string -----
8974
9014
  type TypescriptEslintNoBaseToString = [] | [{
9015
+ checkUnknown?: boolean;
8975
9016
  ignoredTypeNames?: string[];
8976
9017
  }];
8977
9018
  // ----- @typescript-eslint/no-confusing-void-expression -----
@@ -10070,6 +10111,10 @@ type ImportXOrder = [] | [{
10070
10111
  type ImportXPreferDefaultExport = [] | [{
10071
10112
  target?: ("single" | "any");
10072
10113
  }];
10114
+ // ----- import-x/prefer-namespace-import -----
10115
+ type ImportXPreferNamespaceImport = [] | [{
10116
+ patterns?: string[];
10117
+ }];
10073
10118
  // ----- indent -----
10074
10119
  type Indent = [] | [("tab" | number)] | [("tab" | number), {
10075
10120
  SwitchCase?: number;
@@ -10255,6 +10300,7 @@ type JsdocLinesBeforeBlock = [] | [{
10255
10300
  checkBlockStarts?: boolean;
10256
10301
  excludedTags?: string[];
10257
10302
  ignoreSameLine?: boolean;
10303
+ ignoreSingleLines?: boolean;
10258
10304
  lines?: number;
10259
10305
  }];
10260
10306
  // ----- jsdoc/match-description -----
@@ -10298,6 +10344,7 @@ type JsdocMultilineBlocks = [] | [{
10298
10344
  noMultilineBlocks?: boolean;
10299
10345
  noSingleLineBlocks?: boolean;
10300
10346
  noZeroLineText?: boolean;
10347
+ requireSingleLineUnderCount?: number;
10301
10348
  singleLineTags?: string[];
10302
10349
  }];
10303
10350
  // ----- jsdoc/no-bad-blocks -----
@@ -11255,10 +11302,19 @@ type MarkdownNoDuplicateDefinitions = [] | [{
11255
11302
  allowDefinitions?: string[];
11256
11303
  allowFootnoteDefinitions?: string[];
11257
11304
  }];
11305
+ // ----- markdown/no-duplicate-headings -----
11306
+ type MarkdownNoDuplicateHeadings = [] | [{
11307
+ checkSiblingsOnly?: boolean;
11308
+ }];
11258
11309
  // ----- markdown/no-html -----
11259
11310
  type MarkdownNoHtml = [] | [{
11260
11311
  allowed?: string[];
11261
11312
  }];
11313
+ // ----- markdown/no-missing-link-fragments -----
11314
+ type MarkdownNoMissingLinkFragments = [] | [{
11315
+ ignoreCase?: boolean;
11316
+ allowPattern?: string;
11317
+ }];
11262
11318
  // ----- markdown/no-multiple-h1 -----
11263
11319
  type MarkdownNoMultipleH1 = [] | [{
11264
11320
  frontmatterTitle?: string;
@@ -11426,6 +11482,7 @@ type NoConstantCondition = [] | [{
11426
11482
  // ----- no-duplicate-imports -----
11427
11483
  type NoDuplicateImports = [] | [{
11428
11484
  includeExports?: boolean;
11485
+ allowSeparateTypeImports?: boolean;
11429
11486
  }];
11430
11487
  // ----- no-else-return -----
11431
11488
  type NoElseReturn = [] | [{
@@ -14403,7 +14460,7 @@ type SvgoSvgo = [] | [{
14403
14460
  textStart?: string;
14404
14461
  useShortTags?: boolean;
14405
14462
  };
14406
- plugins?: (("preset-default" | "cleanupAttrs" | "cleanupEnableBackground" | "cleanupIds" | "cleanupNumericValues" | "collapseGroups" | "convertColors" | "convertEllipseToCircle" | "convertPathData" | "convertShapeToPath" | "convertTransform" | "inlineStyles" | "mergePaths" | "mergeStyles" | "minifyStyles" | "moveElemsAttrsToGroup" | "moveGroupAttrsToElems" | "removeComments" | "removeDesc" | "removeDoctype" | "removeEditorsNSData" | "removeEmptyAttrs" | "removeEmptyContainers" | "removeEmptyText" | "removeHiddenElems" | "removeMetadata" | "removeNonInheritableGroupAttrs" | "removeTitle" | "removeUnknownsAndDefaults" | "removeUnusedNS" | "removeUselessDefs" | "removeUselessStrokeAndFill" | "removeViewBox" | "removeXMLProcInst" | "sortAttrs" | "sortDefsChildren" | "addAttributesToSVGElement" | "addClassesToSVGElement" | "cleanupListOfValues" | "convertOneStopGradients" | "convertStyleToAttrs" | "prefixIds" | "removeAttributesBySelector" | "removeAttrs" | "removeDeprecatedAttrs" | "removeDimensions" | "removeElementsByAttr" | "removeOffCanvasPaths" | "removeRasterImages" | "removeScripts" | "removeStyleElement" | "removeXlink" | "removeXMLNS" | "reusePaths") | {
14463
+ plugins?: (("preset-default" | "cleanupAttrs" | "cleanupEnableBackground" | "cleanupIds" | "cleanupNumericValues" | "collapseGroups" | "convertColors" | "convertEllipseToCircle" | "convertPathData" | "convertShapeToPath" | "convertTransform" | "inlineStyles" | "mergePaths" | "mergeStyles" | "minifyStyles" | "moveElemsAttrsToGroup" | "moveGroupAttrsToElems" | "removeComments" | "removeDesc" | "removeDoctype" | "removeEditorsNSData" | "removeEmptyAttrs" | "removeEmptyContainers" | "removeEmptyText" | "removeHiddenElems" | "removeMetadata" | "removeNonInheritableGroupAttrs" | "removeUnknownsAndDefaults" | "removeUnusedNS" | "removeUselessDefs" | "removeUselessStrokeAndFill" | "removeXMLProcInst" | "sortAttrs" | "sortDefsChildren" | "addAttributesToSVGElement" | "addClassesToSVGElement" | "cleanupListOfValues" | "convertOneStopGradients" | "convertStyleToAttrs" | "prefixIds" | "removeAttributesBySelector" | "removeAttrs" | "removeDeprecatedAttrs" | "removeDimensions" | "removeElementsByAttr" | "removeOffCanvasPaths" | "removeRasterImages" | "removeScripts" | "removeStyleElement" | "removeTitle" | "removeViewBox" | "removeXlink" | "removeXMLNS" | "reusePaths") | {
14407
14464
  name: "addAttributesToSVGElement";
14408
14465
  params?: {
14409
14466
  attribute?: (string | {
package/dist/index.js CHANGED
@@ -1911,9 +1911,7 @@ const regexper = defineCommand({
1911
1911
  name: "regexper",
1912
1912
  match: /(\b|\s|^)(@regexper)(\s\S+)?(\b|\s|$)/,
1913
1913
  action(ctx) {
1914
- const literal = ctx.findNodeBelow((node) => {
1915
- return node.type === "Literal" && "regex" in node;
1916
- });
1914
+ const literal = ctx.findNodeBelow((node) => node.type === "Literal" && "regex" in node);
1917
1915
  if (!literal) return ctx.reportError("Unable to find a regexp literal to generate");
1918
1916
  const [_fullStr = "", spaceBefore = "", commandStr = "", existingUrl = "", _spaceAfter = ""] = ctx.matches;
1919
1917
  const url = `https://regexper.com/#${encodeURIComponent(literal.raw)}`;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ntnyq/eslint-config",
3
3
  "type": "module",
4
- "version": "5.0.0-beta.7",
4
+ "version": "5.0.0",
5
5
  "description": "An opinionated ESLint config preset of ntnyq",
6
6
  "keywords": [
7
7
  "eslint",
@@ -33,7 +33,7 @@
33
33
  ],
34
34
  "publishConfig": {
35
35
  "access": "public",
36
- "tag": "next"
36
+ "tag": "latest"
37
37
  },
38
38
  "peerDependencies": {
39
39
  "@html-eslint/eslint-plugin": "^0.40.3",
@@ -88,31 +88,31 @@
88
88
  "@antfu/install-pkg": "^1.1.0",
89
89
  "@clack/prompts": "^0.11.0",
90
90
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
91
- "@eslint/js": "^9.29.0",
92
- "@eslint/markdown": "^6.5.0",
93
- "@unocss/eslint-plugin": "^66.2.3",
94
- "@vitest/eslint-plugin": "^1.2.7",
91
+ "@eslint/js": "^9.30.0",
92
+ "@eslint/markdown": "^6.6.0",
93
+ "@unocss/eslint-plugin": "^66.3.2",
94
+ "@vitest/eslint-plugin": "^1.3.3",
95
95
  "eslint-config-flat-gitignore": "^2.1.0",
96
96
  "eslint-flat-config-utils": "^2.1.0",
97
- "eslint-import-resolver-typescript": "^4.4.3",
97
+ "eslint-import-resolver-typescript": "^4.4.4",
98
98
  "eslint-merge-processors": "^2.0.0",
99
99
  "eslint-parser-plain": "^0.1.1",
100
100
  "eslint-plugin-antfu": "^3.1.1",
101
- "eslint-plugin-command": "^3.2.1",
101
+ "eslint-plugin-command": "^3.3.1",
102
102
  "eslint-plugin-de-morgan": "^1.3.0",
103
103
  "eslint-plugin-depend": "^1.2.0",
104
104
  "eslint-plugin-github-action": "^0.0.16",
105
- "eslint-plugin-import-x": "^4.15.2",
106
- "eslint-plugin-jsdoc": "^51.0.3",
105
+ "eslint-plugin-import-x": "^4.16.1",
106
+ "eslint-plugin-jsdoc": "^51.3.1",
107
107
  "eslint-plugin-jsonc": "^2.20.1",
108
108
  "eslint-plugin-n": "^17.20.0",
109
109
  "eslint-plugin-no-only-tests": "^3.3.0",
110
110
  "eslint-plugin-ntnyq": "^0.11.0",
111
111
  "eslint-plugin-perfectionist": "^4.15.0",
112
112
  "eslint-plugin-pinia": "^0.4.1",
113
- "eslint-plugin-prettier": "^5.5.0",
113
+ "eslint-plugin-prettier": "^5.5.1",
114
114
  "eslint-plugin-regexp": "^2.9.0",
115
- "eslint-plugin-svgo": "^0.8.0",
115
+ "eslint-plugin-svgo": "^0.9.0",
116
116
  "eslint-plugin-toml": "^0.12.0",
117
117
  "eslint-plugin-unicorn": "^59.0.1",
118
118
  "eslint-plugin-vue": "^10.2.0",
@@ -121,26 +121,27 @@
121
121
  "globals": "^16.2.0",
122
122
  "jsonc-eslint-parser": "^2.4.0",
123
123
  "local-pkg": "^1.1.1",
124
- "prettier": "^3.5.3",
124
+ "prettier": "^3.6.2",
125
125
  "toml-eslint-parser": "^0.10.0",
126
- "typescript-eslint": "^8.34.1",
127
- "vue-eslint-parser": "^10.1.3",
126
+ "typescript-eslint": "^8.35.0",
127
+ "vue-eslint-parser": "^10.1.4",
128
128
  "yaml-eslint-parser": "^1.3.0"
129
129
  },
130
130
  "devDependencies": {
131
131
  "@ntnyq/prettier-config": "^3.0.1",
132
- "@types/node": "^24.0.3",
132
+ "@types/node": "^24.0.7",
133
+ "@typescript-eslint/utils": "^8.35.0",
133
134
  "bumpp": "^10.2.0",
134
135
  "consola": "^3.4.2",
135
- "eslint": "^9.29.0",
136
- "eslint-plugin-eslint-plugin": "^6.4.0",
136
+ "eslint": "^9.30.0",
137
+ "eslint-plugin-eslint-plugin": "^6.5.0",
137
138
  "eslint-typegen": "^2.2.0",
138
139
  "husky": "^9.1.7",
139
140
  "jiti": "^2.4.2",
140
141
  "nano-staged": "^0.8.0",
141
142
  "npm-run-all2": "^8.0.4",
142
143
  "tinyglobby": "^0.2.14",
143
- "tsdown": "^0.12.8",
144
+ "tsdown": "^0.12.9",
144
145
  "typescript": "^5.8.3",
145
146
  "uncase": "^0.1.0",
146
147
  "vitest": "^3.2.4"
@@ -162,7 +163,7 @@
162
163
  "lint": "eslint --cache",
163
164
  "release": "run-s release:check release:version release:publish",
164
165
  "release:check": "run-s build lint test typecheck",
165
- "release:publish": "pnpm publish --tag next",
166
+ "release:publish": "pnpm publish",
166
167
  "release:version": "bumpp",
167
168
  "test": "vitest",
168
169
  "typecheck": "tsc --noEmit"