@ntnyq/eslint-config 3.0.0-beta.4 → 3.0.0-beta.6

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.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import { Linter } from 'eslint';
2
+ import { FlatGitignoreOptions } from 'eslint-config-flat-gitignore';
3
+ import { ESLintPluginCommandOptions } from 'eslint-plugin-command/types';
2
4
  export { default as tseslint } from 'typescript-eslint';
3
5
  import * as eslintPluginRegexp from 'eslint-plugin-regexp';
4
6
  export { eslintPluginRegexp as pluginRegexp };
@@ -730,233 +732,233 @@ interface RuleOptions {
730
732
  'command/command'?: Linter.RuleEntry<[]>;
731
733
  /**
732
734
  * Enforce or ban the use of inline type-only markers for named imports.
733
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/consistent-type-specifier-style.md
735
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/consistent-type-specifier-style.md
734
736
  */
735
737
  'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>;
736
738
  /**
737
739
  * Ensure a default export is present, given a default import.
738
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/default.md
740
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/default.md
739
741
  */
740
742
  'import/default'?: Linter.RuleEntry<[]>;
741
743
  /**
742
744
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
743
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/dynamic-import-chunkname.md
745
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/dynamic-import-chunkname.md
744
746
  */
745
747
  'import/dynamic-import-chunkname'?: Linter.RuleEntry<ImportDynamicImportChunkname>;
746
748
  /**
747
749
  * Forbid any invalid exports, i.e. re-export of the same name.
748
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/export.md
750
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/export.md
749
751
  */
750
752
  'import/export'?: Linter.RuleEntry<[]>;
751
753
  /**
752
754
  * Ensure all exports appear after other statements.
753
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/exports-last.md
755
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/exports-last.md
754
756
  */
755
757
  'import/exports-last'?: Linter.RuleEntry<[]>;
756
758
  /**
757
759
  * Ensure consistent use of file extension within the import path.
758
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/extensions.md
760
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/extensions.md
759
761
  */
760
762
  'import/extensions'?: Linter.RuleEntry<ImportExtensions>;
761
763
  /**
762
764
  * Ensure all imports appear before other statements.
763
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/first.md
765
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/first.md
764
766
  */
765
767
  'import/first'?: Linter.RuleEntry<ImportFirst>;
766
768
  /**
767
769
  * Prefer named exports to be grouped together in a single export declaration.
768
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/group-exports.md
770
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/group-exports.md
769
771
  */
770
772
  'import/group-exports'?: Linter.RuleEntry<[]>;
771
773
  /**
772
774
  * Replaced by `import-x/first`.
773
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/imports-first.md
775
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/imports-first.md
774
776
  * @deprecated
775
777
  */
776
778
  'import/imports-first'?: Linter.RuleEntry<ImportImportsFirst>;
777
779
  /**
778
780
  * Enforce the maximum number of dependencies a module can have.
779
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/max-dependencies.md
781
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/max-dependencies.md
780
782
  */
781
783
  'import/max-dependencies'?: Linter.RuleEntry<ImportMaxDependencies>;
782
784
  /**
783
785
  * Ensure named imports correspond to a named export in the remote file.
784
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/named.md
786
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/named.md
785
787
  */
786
788
  'import/named'?: Linter.RuleEntry<ImportNamed>;
787
789
  /**
788
790
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
789
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/namespace.md
791
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/namespace.md
790
792
  */
791
793
  'import/namespace'?: Linter.RuleEntry<ImportNamespace>;
792
794
  /**
793
795
  * Enforce a newline after import statements.
794
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/newline-after-import.md
796
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/newline-after-import.md
795
797
  */
796
798
  'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>;
797
799
  /**
798
800
  * Forbid import of modules using absolute paths.
799
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-absolute-path.md
801
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-absolute-path.md
800
802
  */
801
803
  'import/no-absolute-path'?: Linter.RuleEntry<ImportNoAbsolutePath>;
802
804
  /**
803
805
  * Forbid AMD `require` and `define` calls.
804
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-amd.md
806
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-amd.md
805
807
  */
806
808
  'import/no-amd'?: Linter.RuleEntry<[]>;
807
809
  /**
808
810
  * Forbid anonymous values as default exports.
809
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-anonymous-default-export.md
811
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-anonymous-default-export.md
810
812
  */
811
813
  'import/no-anonymous-default-export'?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>;
812
814
  /**
813
815
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
814
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-commonjs.md
816
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-commonjs.md
815
817
  */
816
818
  'import/no-commonjs'?: Linter.RuleEntry<ImportNoCommonjs>;
817
819
  /**
818
820
  * Forbid a module from importing a module with a dependency path back to itself.
819
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-cycle.md
821
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-cycle.md
820
822
  */
821
823
  'import/no-cycle'?: Linter.RuleEntry<ImportNoCycle>;
822
824
  /**
823
825
  * Forbid default exports.
824
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-default-export.md
826
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-default-export.md
825
827
  */
826
828
  'import/no-default-export'?: Linter.RuleEntry<[]>;
827
829
  /**
828
830
  * Forbid imported names marked with `@deprecated` documentation tag.
829
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-deprecated.md
831
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-deprecated.md
830
832
  */
831
833
  'import/no-deprecated'?: Linter.RuleEntry<[]>;
832
834
  /**
833
835
  * Forbid repeated import of the same module in multiple places.
834
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-duplicates.md
836
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-duplicates.md
835
837
  */
836
838
  'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>;
837
839
  /**
838
840
  * Forbid `require()` calls with expressions.
839
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-dynamic-require.md
841
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-dynamic-require.md
840
842
  */
841
843
  'import/no-dynamic-require'?: Linter.RuleEntry<ImportNoDynamicRequire>;
842
844
  /**
843
845
  * Forbid empty named import blocks.
844
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-empty-named-blocks.md
846
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-empty-named-blocks.md
845
847
  */
846
848
  'import/no-empty-named-blocks'?: Linter.RuleEntry<[]>;
847
849
  /**
848
850
  * Forbid the use of extraneous packages.
849
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-extraneous-dependencies.md
851
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-extraneous-dependencies.md
850
852
  */
851
853
  'import/no-extraneous-dependencies'?: Linter.RuleEntry<ImportNoExtraneousDependencies>;
852
854
  /**
853
855
  * Forbid import statements with CommonJS module.exports.
854
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-import-module-exports.md
856
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-import-module-exports.md
855
857
  */
856
858
  'import/no-import-module-exports'?: Linter.RuleEntry<ImportNoImportModuleExports>;
857
859
  /**
858
860
  * Forbid importing the submodules of other modules.
859
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-internal-modules.md
861
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-internal-modules.md
860
862
  */
861
863
  'import/no-internal-modules'?: Linter.RuleEntry<ImportNoInternalModules>;
862
864
  /**
863
865
  * Forbid the use of mutable exports with `var` or `let`.
864
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-mutable-exports.md
866
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-mutable-exports.md
865
867
  */
866
868
  'import/no-mutable-exports'?: Linter.RuleEntry<[]>;
867
869
  /**
868
870
  * Forbid use of exported name as identifier of default export.
869
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-named-as-default.md
871
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-named-as-default.md
870
872
  */
871
873
  'import/no-named-as-default'?: Linter.RuleEntry<[]>;
872
874
  /**
873
875
  * Forbid use of exported name as property of default export.
874
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-named-as-default-member.md
876
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-named-as-default-member.md
875
877
  */
876
878
  'import/no-named-as-default-member'?: Linter.RuleEntry<[]>;
877
879
  /**
878
880
  * Forbid named default exports.
879
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-named-default.md
881
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-named-default.md
880
882
  */
881
883
  'import/no-named-default'?: Linter.RuleEntry<[]>;
882
884
  /**
883
885
  * Forbid named exports.
884
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-named-export.md
886
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-named-export.md
885
887
  */
886
888
  'import/no-named-export'?: Linter.RuleEntry<[]>;
887
889
  /**
888
890
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
889
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-namespace.md
891
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-namespace.md
890
892
  */
891
893
  'import/no-namespace'?: Linter.RuleEntry<ImportNoNamespace>;
892
894
  /**
893
895
  * Forbid Node.js builtin modules.
894
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-nodejs-modules.md
896
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-nodejs-modules.md
895
897
  */
896
898
  'import/no-nodejs-modules'?: Linter.RuleEntry<ImportNoNodejsModules>;
897
899
  /**
898
900
  * Forbid importing packages through relative paths.
899
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-relative-packages.md
901
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-relative-packages.md
900
902
  */
901
903
  'import/no-relative-packages'?: Linter.RuleEntry<ImportNoRelativePackages>;
902
904
  /**
903
905
  * Forbid importing modules from parent directories.
904
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-relative-parent-imports.md
906
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-relative-parent-imports.md
905
907
  */
906
908
  'import/no-relative-parent-imports'?: Linter.RuleEntry<ImportNoRelativeParentImports>;
907
909
  /**
908
910
  * Forbid importing a default export by a different name.
909
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-rename-default.md
911
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-rename-default.md
910
912
  */
911
913
  'import/no-rename-default'?: Linter.RuleEntry<ImportNoRenameDefault>;
912
914
  /**
913
915
  * Enforce which files can be imported in a given folder.
914
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-restricted-paths.md
916
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-restricted-paths.md
915
917
  */
916
918
  'import/no-restricted-paths'?: Linter.RuleEntry<ImportNoRestrictedPaths>;
917
919
  /**
918
920
  * Forbid a module from importing itself.
919
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-self-import.md
921
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-self-import.md
920
922
  */
921
923
  'import/no-self-import'?: Linter.RuleEntry<[]>;
922
924
  /**
923
925
  * Forbid unassigned imports.
924
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-unassigned-import.md
926
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-unassigned-import.md
925
927
  */
926
928
  'import/no-unassigned-import'?: Linter.RuleEntry<ImportNoUnassignedImport>;
927
929
  /**
928
930
  * Ensure imports point to a file/module that can be resolved.
929
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-unresolved.md
931
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-unresolved.md
930
932
  */
931
933
  'import/no-unresolved'?: Linter.RuleEntry<ImportNoUnresolved>;
932
934
  /**
933
935
  * Forbid modules without exports, or exports without matching import in another module.
934
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-unused-modules.md
936
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-unused-modules.md
935
937
  */
936
938
  'import/no-unused-modules'?: Linter.RuleEntry<ImportNoUnusedModules>;
937
939
  /**
938
940
  * Forbid unnecessary path segments in import and require statements.
939
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-useless-path-segments.md
941
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-useless-path-segments.md
940
942
  */
941
943
  'import/no-useless-path-segments'?: Linter.RuleEntry<ImportNoUselessPathSegments>;
942
944
  /**
943
945
  * Forbid webpack loader syntax in imports.
944
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/no-webpack-loader-syntax.md
946
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-webpack-loader-syntax.md
945
947
  */
946
948
  'import/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>;
947
949
  /**
948
950
  * Enforce a convention in module import order.
949
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/order.md
951
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/order.md
950
952
  */
951
953
  'import/order'?: Linter.RuleEntry<ImportOrder>;
952
954
  /**
953
955
  * Prefer a default export if module exports a single name or multiple names.
954
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/prefer-default-export.md
956
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/prefer-default-export.md
955
957
  */
956
958
  'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>;
957
959
  /**
958
960
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
959
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.1.0/docs/rules/unambiguous.md
961
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/unambiguous.md
960
962
  */
961
963
  'import/unambiguous'?: Linter.RuleEntry<[]>;
962
964
  /**
@@ -1734,6 +1736,11 @@ interface RuleOptions {
1734
1736
  * @see https://perfectionist.dev/rules/sort-objects
1735
1737
  */
1736
1738
  'perfectionist/sort-objects'?: Linter.RuleEntry<PerfectionistSortObjects>;
1739
+ /**
1740
+ * Enforce sorted sets.
1741
+ * @see https://perfectionist.dev/rules/sort-sets
1742
+ */
1743
+ 'perfectionist/sort-sets'?: Linter.RuleEntry<PerfectionistSortSets>;
1737
1744
  /**
1738
1745
  * Enforce sorted Svelte attributes.
1739
1746
  * @see https://perfectionist.dev/rules/sort-svelte-attributes
@@ -3106,7 +3113,7 @@ interface RuleOptions {
3106
3113
  */
3107
3114
  'vue/define-emits-declaration'?: Linter.RuleEntry<VueDefineEmitsDeclaration>;
3108
3115
  /**
3109
- * enforce order of `defineEmits` and `defineProps` compiler macros
3116
+ * enforce order of compiler macros (`defineProps`, `defineEmits`, etc.)
3110
3117
  * @see https://eslint.vuejs.org/rules/define-macros-order.html
3111
3118
  */
3112
3119
  'vue/define-macros-order'?: Linter.RuleEntry<VueDefineMacrosOrder>;
@@ -3235,6 +3242,16 @@ interface RuleOptions {
3235
3242
  * @see https://eslint.vuejs.org/rules/max-lines-per-block.html
3236
3243
  */
3237
3244
  'vue/max-lines-per-block'?: Linter.RuleEntry<VueMaxLinesPerBlock>;
3245
+ /**
3246
+ * enforce maximum number of props in Vue component
3247
+ * @see https://eslint.vuejs.org/rules/max-props.html
3248
+ */
3249
+ 'vue/max-props'?: Linter.RuleEntry<VueMaxProps>;
3250
+ /**
3251
+ * enforce maximum depth of template
3252
+ * @see https://eslint.vuejs.org/rules/max-template-depth.html
3253
+ */
3254
+ 'vue/max-template-depth'?: Linter.RuleEntry<VueMaxTemplateDepth>;
3238
3255
  /**
3239
3256
  * require component names to be always multi-word
3240
3257
  * @see https://eslint.vuejs.org/rules/multi-word-component-names.html
@@ -3291,7 +3308,7 @@ interface RuleOptions {
3291
3308
  */
3292
3309
  'vue/no-child-content'?: Linter.RuleEntry<VueNoChildContent>;
3293
3310
  /**
3294
- * disallow accessing computed properties in `data`.
3311
+ * disallow accessing computed properties in `data`
3295
3312
  * @see https://eslint.vuejs.org/rules/no-computed-properties-in-data.html
3296
3313
  */
3297
3314
  'vue/no-computed-properties-in-data'?: Linter.RuleEntry<[]>;
@@ -3839,7 +3856,7 @@ interface RuleOptions {
3839
3856
  */
3840
3857
  'vue/padding-lines-in-component-definition'?: Linter.RuleEntry<VuePaddingLinesInComponentDefinition>;
3841
3858
  /**
3842
- * enforce use of `defineOptions` instead of default export.
3859
+ * enforce use of `defineOptions` instead of default export
3843
3860
  * @see https://eslint.vuejs.org/rules/prefer-define-options.html
3844
3861
  */
3845
3862
  'vue/prefer-define-options'?: Linter.RuleEntry<[]>;
@@ -3883,6 +3900,11 @@ interface RuleOptions {
3883
3900
  * @see https://eslint.vuejs.org/rules/require-component-is.html
3884
3901
  */
3885
3902
  'vue/require-component-is'?: Linter.RuleEntry<[]>;
3903
+ /**
3904
+ * require components to be the default export
3905
+ * @see https://eslint.vuejs.org/rules/require-default-export.html
3906
+ */
3907
+ 'vue/require-default-export'?: Linter.RuleEntry<[]>;
3886
3908
  /**
3887
3909
  * require default value for props
3888
3910
  * @see https://eslint.vuejs.org/rules/require-default-prop.html
@@ -3952,7 +3974,7 @@ interface RuleOptions {
3952
3974
  * require control the display of the content inside `<transition>`
3953
3975
  * @see https://eslint.vuejs.org/rules/require-toggle-inside-transition.html
3954
3976
  */
3955
- 'vue/require-toggle-inside-transition'?: Linter.RuleEntry<[]>;
3977
+ 'vue/require-toggle-inside-transition'?: Linter.RuleEntry<VueRequireToggleInsideTransition>;
3956
3978
  /**
3957
3979
  * enforce adding type declarations to object props
3958
3980
  * @see https://eslint.vuejs.org/rules/require-typed-object-prop.html
@@ -4468,8 +4490,8 @@ type TypescriptEslintInitDeclarations = ([] | ["always"] | [] | ["never"] | [
4468
4490
  ]);
4469
4491
  type TypescriptEslintMaxParams = [] | [
4470
4492
  {
4471
- maximum?: number;
4472
4493
  max?: number;
4494
+ maximum?: number;
4473
4495
  countVoidThis?: boolean;
4474
4496
  }
4475
4497
  ];
@@ -5065,12 +5087,12 @@ type TypescriptEslintNoUnusedVars = [] | [
5065
5087
  vars?: ("all" | "local");
5066
5088
  varsIgnorePattern?: string;
5067
5089
  args?: ("all" | "after-used" | "none");
5068
- ignoreRestSiblings?: boolean;
5069
5090
  argsIgnorePattern?: string;
5070
5091
  caughtErrors?: ("all" | "none");
5071
5092
  caughtErrorsIgnorePattern?: string;
5072
5093
  destructuredArrayIgnorePattern?: string;
5073
5094
  ignoreClassWithStaticInitBlock?: boolean;
5095
+ ignoreRestSiblings?: boolean;
5074
5096
  reportUsedIgnorePattern?: boolean;
5075
5097
  })
5076
5098
  ];
@@ -5238,7 +5260,7 @@ type TypescriptEslintRestrictTemplateExpressions = [] | [
5238
5260
  allowNever?: boolean;
5239
5261
  }
5240
5262
  ];
5241
- type TypescriptEslintReturnAwait = [] | [("in-try-catch" | "always" | "never" | "error-handling-correctness-only")];
5263
+ type TypescriptEslintReturnAwait = [] | [(("always" | "error-handling-correctness-only" | "in-try-catch" | "never") & string)];
5242
5264
  type TypescriptEslintSortTypeConstituents = [] | [
5243
5265
  {
5244
5266
  checkIntersections?: boolean;
@@ -5414,6 +5436,7 @@ type ImportNoExtraneousDependencies = [] | [
5414
5436
  packageDir?: (string | unknown[]);
5415
5437
  includeInternal?: boolean;
5416
5438
  includeTypes?: boolean;
5439
+ whitelist?: unknown[];
5417
5440
  }
5418
5441
  ];
5419
5442
  type ImportNoImportModuleExports = [] | [
@@ -6616,9 +6639,27 @@ type PerfectionistSortClasses = [] | [
6616
6639
  ignoreCase?: boolean;
6617
6640
  partitionByComment?: (string[] | boolean | string);
6618
6641
  groups?: (string | string[])[];
6619
- customGroups?: {
6642
+ customGroups?: ({
6620
6643
  [k: string]: (string | string[]) | undefined;
6621
- };
6644
+ } | ({
6645
+ groupName?: string;
6646
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted");
6647
+ order?: ("desc" | "asc");
6648
+ anyOf?: {
6649
+ selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method");
6650
+ modifiers?: ("protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[];
6651
+ elementNamePattern?: string;
6652
+ decoratorNamePattern?: string;
6653
+ }[];
6654
+ } | {
6655
+ groupName?: string;
6656
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted");
6657
+ order?: ("desc" | "asc");
6658
+ selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method");
6659
+ modifiers?: ("protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[];
6660
+ elementNamePattern?: string;
6661
+ decoratorNamePattern?: string;
6662
+ })[]);
6622
6663
  }
6623
6664
  ];
6624
6665
  type PerfectionistSortEnums = [] | [
@@ -6751,6 +6792,14 @@ type PerfectionistSortObjects = [] | [
6751
6792
  };
6752
6793
  }
6753
6794
  ];
6795
+ type PerfectionistSortSets = [] | [
6796
+ {
6797
+ type?: ("alphabetical" | "natural" | "line-length");
6798
+ order?: ("asc" | "desc");
6799
+ ignoreCase?: boolean;
6800
+ groupKind?: ("mixed" | "literals-first" | "spreads-first");
6801
+ }
6802
+ ];
6754
6803
  type PerfectionistSortSvelteAttributes = [] | [
6755
6804
  {
6756
6805
  type?: ("alphabetical" | "natural" | "line-length");
@@ -7466,7 +7515,7 @@ type VueCustomEventNameCasing = ([] | [("kebab-case" | "camelCase")] | [
7466
7515
  type VueDefineEmitsDeclaration = [] | [("type-based" | "type-literal" | "runtime")];
7467
7516
  type VueDefineMacrosOrder = [] | [
7468
7517
  {
7469
- order?: ("defineEmits" | "defineProps" | "defineOptions" | "defineSlots" | "defineModel")[];
7518
+ order?: string[];
7470
7519
  defineExposeLast?: boolean;
7471
7520
  }
7472
7521
  ];
@@ -8028,6 +8077,16 @@ type VueMaxLinesPerBlock = [] | [
8028
8077
  skipBlankLines?: boolean;
8029
8078
  }
8030
8079
  ];
8080
+ type VueMaxProps = [] | [
8081
+ {
8082
+ maxProps?: number;
8083
+ }
8084
+ ];
8085
+ type VueMaxTemplateDepth = [] | [
8086
+ {
8087
+ maxDepth?: number;
8088
+ }
8089
+ ];
8031
8090
  type VueMultiWordComponentNames = [] | [
8032
8091
  {
8033
8092
  ignores?: string[];
@@ -8462,6 +8521,11 @@ type VueRequirePropComment = [] | [
8462
8521
  type?: ("JSDoc" | "line" | "block" | "any");
8463
8522
  }
8464
8523
  ];
8524
+ type VueRequireToggleInsideTransition = [] | [
8525
+ {
8526
+ additionalDirectives?: string[];
8527
+ }
8528
+ ];
8465
8529
  type VueReturnInComputedProperty = [] | [
8466
8530
  {
8467
8531
  treatUndefinedAsUnspecified?: boolean;
@@ -8799,7 +8863,7 @@ type YmlSpacedComment = [] | [("always" | "never")] | [
8799
8863
  markers?: string[];
8800
8864
  }
8801
8865
  ];
8802
- type ConfigName = 'ntnyq/command' | 'ntnyq/eslint-comments' | 'ntnyq/ignores' | 'ntnyq/imports' | 'ntnyq/js/recommended' | 'ntnyq/js/core' | 'ntnyq/js/scripts' | 'ntnyq/js/test' | 'ntnyq/jsdoc' | 'ntnyq/jsonc' | 'ntnyq/jsx' | 'markdown/recommended/plugin' | 'markdown/recommended/processor' | 'markdown/recommended/code-blocks' | 'ntnyq/markdown/extensions' | 'ntnyq/node' | 'ntnyq/prettier' | 'ntnyq/prettier/disabled' | 'ntnyq/regexp' | 'ntnyq/perfectionist' | 'ntnyq/sort/package-json' | 'ntnyq/sort/tsconfig' | 'typescript-eslint/base' | 'typescript-eslint/eslint-recommended' | 'typescript-eslint/recommended' | 'ntnyq/ts/core' | 'ntnyq/ts/dts' | 'ntnyq/ts/test' | 'ntnyq/ts/cjs' | 'ntnyq/unicorn' | 'ntnyq/unocss' | 'typescript-eslint/base' | 'typescript-eslint/eslint-recommended' | 'typescript-eslint/recommended' | 'ntnyq/ts/core' | 'ntnyq/vue/ts' | 'ntnyq/vue/core' | 'ntnyq/yaml' | 'ntnyq/toml';
8866
+ type ConfigName = 'ntnyq/command' | 'ntnyq/eslint-comments' | 'ntnyq/ignores' | 'ntnyq/imports' | 'ntnyq/gitignore' | 'ntnyq/js/recommended' | 'ntnyq/js/core' | 'ntnyq/js/scripts' | 'ntnyq/js/test' | 'ntnyq/jsdoc' | 'ntnyq/jsonc' | 'ntnyq/jsx' | 'markdown/recommended/plugin' | 'markdown/recommended/processor' | 'markdown/recommended/code-blocks' | 'ntnyq/markdown/extensions' | 'ntnyq/node' | 'ntnyq/prettier' | 'ntnyq/prettier/disabled' | 'ntnyq/regexp' | 'ntnyq/perfectionist' | 'ntnyq/sort/package-json' | 'ntnyq/sort/tsconfig' | 'typescript-eslint/base' | 'typescript-eslint/eslint-recommended' | 'typescript-eslint/recommended' | 'ntnyq/ts/core' | 'ntnyq/ts/dts' | 'ntnyq/ts/test' | 'ntnyq/ts/cjs' | 'ntnyq/unicorn' | 'ntnyq/unocss' | 'typescript-eslint/base' | 'typescript-eslint/eslint-recommended' | 'typescript-eslint/recommended' | 'ntnyq/ts/core' | 'ntnyq/vue/ts' | 'ntnyq/vue/core' | 'ntnyq/yaml' | 'ntnyq/toml';
8803
8867
 
8804
8868
  /**
8805
8869
  * Typed flat config item
@@ -8832,6 +8896,8 @@ interface OptionsOverrides<Rules extends TypedConfigItem['rules'] = TypedConfigI
8832
8896
  overrides?: Rules;
8833
8897
  }
8834
8898
  type ConfigIgnoresOptions = string[];
8899
+ type ConfigGitIgnoreOptions = FlatGitignoreOptions;
8900
+ type ConfigCommandOptions = ESLintPluginCommandOptions;
8835
8901
  interface ConfigJsdocOptions extends OptionsOverrides {
8836
8902
  }
8837
8903
  interface ConfigUnoCSSOptions extends OptionsOverrides {
@@ -8898,11 +8964,12 @@ interface ConfigUnusedImportsOptions extends OptionsOverrides {
8898
8964
  * Config factory options
8899
8965
  */
8900
8966
  interface ConfigOptions {
8901
- command?: boolean;
8902
8967
  sortTsConfig?: boolean;
8903
8968
  sortI18nLocale?: boolean;
8904
8969
  sortPackageJson?: boolean;
8905
8970
  ignores?: ConfigIgnoresOptions;
8971
+ command?: boolean | ConfigCommandOptions;
8972
+ gitignore?: boolean | ConfigGitIgnoreOptions;
8906
8973
  imports?: ConfigImportsOptions;
8907
8974
  javascript?: ConfigJavaScriptOptions;
8908
8975
  typescript?: ConfigTypeScriptOptions;
@@ -9025,7 +9092,9 @@ declare const regexp: (options?: ConfigRegexpOptions) => TypedConfigItem[];
9025
9092
 
9026
9093
  declare const unocss: (options?: ConfigUnoCSSOptions) => TypedConfigItem[];
9027
9094
 
9028
- declare const command: () => TypedConfigItem[];
9095
+ declare const gitignore: (options?: ConfigGitIgnoreOptions) => TypedConfigItem[];
9096
+
9097
+ declare const command: (options?: ConfigCommandOptions) => TypedConfigItem[];
9029
9098
 
9030
9099
  declare const vitest: (options?: ConfigVitestOptions) => TypedConfigItem[];
9031
9100
 
@@ -9043,4 +9112,4 @@ declare const jsonc: (options?: ConfigJsoncOptions) => TypedConfigItem[];
9043
9112
 
9044
9113
  declare const markdown: (options?: ConfigMarkdownOptions) => TypedConfigItem[];
9045
9114
 
9046
- export { type Arrayable, type Awaitable, type ConfigCommentsOptions, type ConfigIgnoresOptions, type ConfigImportsOptions, type ConfigJavaScriptOptions, type ConfigJsdocOptions, type ConfigJsoncOptions, type ConfigMarkdownOptions, type ConfigName, type ConfigNodeOptions, type ConfigOptions, type ConfigPerfectionistOptions, type ConfigPrettierOptions, type ConfigRegexpOptions, type ConfigTomlOptions, type ConfigTypeScriptOptions, type ConfigUnicornOptions, type ConfigUnoCSSOptions, type ConfigUnusedImportsOptions, type ConfigVitestOptions, type ConfigVueOptions, type ConfigYmlOptions, GLOB_ALL_SRC, GLOB_CSS, GLOB_DIST, GLOB_DTS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_LOCKFILE, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_NESTED, GLOB_NODE_MODULES, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TEST, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type InteropModuleDefault, type OptionsFiles, type OptionsOverrides, type ParserOptions, type ResolvedOptions, type RuleOptions, type TypedConfigItem, command, comments, getOverrides, hasTypeScript, hasUnoCSS, hasVitest, hasVue, ignores, imports, interopDefault, javascript, jsdoc, jsonc, jsx, loadPlugin, markdown, node, ntnyq, perfectionist, prettier, regexp, resolveSubOptions, sortI18nLocale, sortPackageJson, sortTsConfig, toArray, toml, typescript, typescriptCore, unicorn, unocss, unusedImports, vitest, vue, yml };
9115
+ export { type Arrayable, type Awaitable, type ConfigCommandOptions, type ConfigCommentsOptions, type ConfigGitIgnoreOptions, type ConfigIgnoresOptions, type ConfigImportsOptions, type ConfigJavaScriptOptions, type ConfigJsdocOptions, type ConfigJsoncOptions, type ConfigMarkdownOptions, type ConfigName, type ConfigNodeOptions, type ConfigOptions, type ConfigPerfectionistOptions, type ConfigPrettierOptions, type ConfigRegexpOptions, type ConfigTomlOptions, type ConfigTypeScriptOptions, type ConfigUnicornOptions, type ConfigUnoCSSOptions, type ConfigUnusedImportsOptions, type ConfigVitestOptions, type ConfigVueOptions, type ConfigYmlOptions, GLOB_ALL_SRC, GLOB_CSS, GLOB_DIST, GLOB_DTS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_LOCKFILE, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_NESTED, GLOB_NODE_MODULES, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TEST, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type InteropModuleDefault, type OptionsFiles, type OptionsOverrides, type ParserOptions, type ResolvedOptions, type RuleOptions, type TypedConfigItem, command, comments, getOverrides, gitignore, hasTypeScript, hasUnoCSS, hasVitest, hasVue, ignores, imports, interopDefault, javascript, jsdoc, jsonc, jsx, loadPlugin, markdown, node, ntnyq, perfectionist, prettier, regexp, resolveSubOptions, sortI18nLocale, sortPackageJson, sortTsConfig, toArray, toml, typescript, typescriptCore, unicorn, unocss, unusedImports, vitest, vue, yml };
package/dist/index.js CHANGED
@@ -879,11 +879,20 @@ var unocss = (options = {}) => [
879
879
  }
880
880
  ];
881
881
 
882
+ // src/configs/gitignore.ts
883
+ import createGitIgnore from "eslint-config-flat-gitignore";
884
+ var gitignore = (options = {}) => [
885
+ {
886
+ ...createGitIgnore(options),
887
+ name: "ntnyq/gitignore"
888
+ }
889
+ ];
890
+
882
891
  // src/configs/command.ts
883
892
  import createCommandPlugin from "eslint-plugin-command/config";
884
- var command = () => [
893
+ var command = (options = {}) => [
885
894
  {
886
- ...createCommandPlugin(),
895
+ ...createCommandPlugin(options),
887
896
  name: "ntnyq/command"
888
897
  }
889
898
  ];
@@ -951,6 +960,7 @@ var vue = (options = {}) => {
951
960
  "vue/require-prop-types": "off",
952
961
  "vue/require-default-prop": "off",
953
962
  "vue/multi-word-component-names": "off",
963
+ "vue/no-v-text-v-html-on-component": "off",
954
964
  "vue/no-setup-props-reactivity-loss": "off",
955
965
  "vue/html-self-closing": [
956
966
  "error",
@@ -995,7 +1005,20 @@ var vue = (options = {}) => {
995
1005
  exceptions: ["-"]
996
1006
  }
997
1007
  ],
1008
+ "vue/no-restricted-v-bind": ["error", "/^v-/"],
1009
+ "vue/no-useless-v-bind": "error",
1010
+ "vue/padding-line-between-blocks": "error",
1011
+ "vue/next-tick-style": ["error", "promise"],
998
1012
  "vue/array-bracket-spacing": ["error", "never"],
1013
+ "vue/prefer-separate-static-class": "error",
1014
+ "vue/no-constant-condition": "error",
1015
+ "vue/prefer-true-attribute-shorthand": ["error", "always"],
1016
+ "vue/prefer-define-options": "error",
1017
+ "vue/valid-define-options": "error",
1018
+ // TypeScript enhancements
1019
+ "vue/define-emits-declaration": ["error", "type-literal"],
1020
+ "vue/no-unused-emit-declarations": "error",
1021
+ "vue/this-in-template": ["error", "never"],
999
1022
  "vue/arrow-spacing": ["error", { before: true, after: true }],
1000
1023
  "vue/block-spacing": ["error", "always"],
1001
1024
  "vue/brace-style": ["error", "stroustrup", { allowSingleLine: true }],
@@ -1442,6 +1465,7 @@ var sortTsConfig = () => [
1442
1465
  ];
1443
1466
  var sortI18nLocale = () => [
1444
1467
  {
1468
+ name: "ntnyq/sort/i18n-locale",
1445
1469
  files: ["**/{locales,i18n}/*.json", "**/{locales,i18n}/*.y?(a)ml"],
1446
1470
  rules: {
1447
1471
  "jsonc/sort-keys": [
@@ -1532,10 +1556,15 @@ var markdown = (options = {}) => [
1532
1556
 
1533
1557
  // src/core.ts
1534
1558
  function ntnyq(options = {}, customConfig = []) {
1535
- const configs = [
1536
- /**
1537
- * Basic
1538
- */
1559
+ const configs = [];
1560
+ if (options.gitignore ?? true) {
1561
+ configs.push(
1562
+ ...gitignore({
1563
+ ...resolveSubOptions(options, "gitignore")
1564
+ })
1565
+ );
1566
+ }
1567
+ configs.push(
1539
1568
  ...ignores(options.ignores),
1540
1569
  ...jsx(),
1541
1570
  ...node({
@@ -1548,7 +1577,7 @@ function ntnyq(options = {}, customConfig = []) {
1548
1577
  ...resolveSubOptions(options, "javascript"),
1549
1578
  overrides: getOverrides(options, "javascript")
1550
1579
  })
1551
- ];
1580
+ );
1552
1581
  if (options.unicorn ?? true) {
1553
1582
  configs.push(
1554
1583
  ...unicorn({
@@ -1645,7 +1674,11 @@ function ntnyq(options = {}, customConfig = []) {
1645
1674
  );
1646
1675
  }
1647
1676
  if (options.command ?? true) {
1648
- configs.push(...command());
1677
+ configs.push(
1678
+ ...command({
1679
+ ...resolveSubOptions(options, "command")
1680
+ })
1681
+ );
1649
1682
  }
1650
1683
  configs.push(...toArray(customConfig));
1651
1684
  if (options.prettier ?? true) {
@@ -1689,6 +1722,7 @@ export {
1689
1722
  command,
1690
1723
  comments,
1691
1724
  getOverrides,
1725
+ gitignore,
1692
1726
  hasTypeScript,
1693
1727
  hasUnoCSS,
1694
1728
  hasVitest,