@w5s/eslint-config 3.6.0 → 3.7.1

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
@@ -45,19 +45,169 @@ interface PluginOptionsBase<Rules> {
45
45
  * Plugin rules
46
46
  */
47
47
  rules?: Rules;
48
+ /**
49
+ * Include recommended settings
50
+ */
51
+ recommended?: boolean;
48
52
  /**
49
53
  * Stylistic options
50
54
  */
51
55
  stylistic?: boolean | StylisticParameters;
52
56
  }
53
57
  //#endregion
58
+ //#region src/typegen/e18e.d.ts
59
+ declare module 'eslint' {
60
+ namespace Linter {
61
+ interface RulesRecord extends RuleOptions$11 {}
62
+ }
63
+ }
64
+ interface RuleOptions$11 {
65
+ /**
66
+ * Disallow dependencies in favor of more performant or secure alternatives
67
+ */
68
+ 'e18e/ban-dependencies'?: Linter.RuleEntry<E18EBanDependencies>;
69
+ /**
70
+ * Disallow `delete` on properties — V8 deoptimizes the object to dictionary mode
71
+ */
72
+ 'e18e/no-delete-property'?: Linter.RuleEntry<[]>;
73
+ /**
74
+ * Prefer optimized alternatives to `indexOf()` equality checks
75
+ */
76
+ 'e18e/no-indexof-equality'?: Linter.RuleEntry<[]>;
77
+ /**
78
+ * Disallow spreading the accumulator inside a `reduce` callback (O(N²) growth)
79
+ */
80
+ 'e18e/no-spread-in-reduce'?: Linter.RuleEntry<[]>;
81
+ /**
82
+ * Prefer Array.prototype.at() over length-based indexing
83
+ */
84
+ 'e18e/prefer-array-at'?: Linter.RuleEntry<[]>;
85
+ /**
86
+ * Prefer Array.prototype.fill() over Array.from or map with constant values
87
+ */
88
+ 'e18e/prefer-array-fill'?: Linter.RuleEntry<[]>;
89
+ /**
90
+ * Prefer Array.from(iterable, mapper) over [...iterable].map(mapper) to avoid intermediate array allocation
91
+ */
92
+ 'e18e/prefer-array-from-map'?: Linter.RuleEntry<[]>;
93
+ /**
94
+ * Prefer Array.some() over Array.find() and Array.filter().length checks when checking for element existence
95
+ */
96
+ 'e18e/prefer-array-some'?: Linter.RuleEntry<[]>;
97
+ /**
98
+ * Prefer Array.prototype.toReversed() over copying and reversing arrays
99
+ */
100
+ 'e18e/prefer-array-to-reversed'?: Linter.RuleEntry<[]>;
101
+ /**
102
+ * Prefer Array.prototype.toSorted() over copying and sorting arrays
103
+ */
104
+ 'e18e/prefer-array-to-sorted'?: Linter.RuleEntry<[]>;
105
+ /**
106
+ * Prefer Array.prototype.toSpliced() over copying and splicing arrays
107
+ */
108
+ 'e18e/prefer-array-to-spliced'?: Linter.RuleEntry<[]>;
109
+ /**
110
+ * Prefer Date.now() over new Date().getTime() and +new Date()
111
+ */
112
+ 'e18e/prefer-date-now'?: Linter.RuleEntry<[]>;
113
+ /**
114
+ * Prefer the exponentiation operator ** over Math.pow()
115
+ */
116
+ 'e18e/prefer-exponentiation-operator'?: Linter.RuleEntry<[]>;
117
+ /**
118
+ * Prefer .includes() over indexOf() comparisons for arrays and strings
119
+ */
120
+ 'e18e/prefer-includes'?: Linter.RuleEntry<[]>;
121
+ /**
122
+ * Prefer String.prototype.{includes,startsWith,endsWith} over equivalent regex.test() calls
123
+ */
124
+ 'e18e/prefer-includes-over-regex-test'?: Linter.RuleEntry<[]>;
125
+ /**
126
+ * Prefer inline equality checks over temporary object creation for simple comparisons
127
+ */
128
+ 'e18e/prefer-inline-equality'?: Linter.RuleEntry<[]>;
129
+ /**
130
+ * Prefer nullish coalescing operator (?? and ??=) over verbose null checks
131
+ */
132
+ 'e18e/prefer-nullish-coalescing'?: Linter.RuleEntry<[]>;
133
+ /**
134
+ * Prefer Object.hasOwn() over Object.prototype.hasOwnProperty.call() and obj.hasOwnProperty()
135
+ */
136
+ 'e18e/prefer-object-has-own'?: Linter.RuleEntry<[]>;
137
+ /**
138
+ * prefer `RegExp.test()` over `String.match()` and `RegExp.exec()` when only checking for match existence
139
+ */
140
+ 'e18e/prefer-regex-test'?: Linter.RuleEntry<[]>;
141
+ /**
142
+ * Prefer spread syntax over Array.concat(), Array.from(), Object.assign({}, ...), and Function.apply()
143
+ */
144
+ 'e18e/prefer-spread-syntax'?: Linter.RuleEntry<[]>;
145
+ /**
146
+ * Prefer hoisting an `Intl.Collator` instance over calling localeCompare in a sort callback
147
+ */
148
+ 'e18e/prefer-static-collator'?: Linter.RuleEntry<[]>;
149
+ /**
150
+ * Prefer defining regular expressions at module scope to avoid re-compilation on every function call
151
+ */
152
+ 'e18e/prefer-static-regex'?: Linter.RuleEntry<[]>;
153
+ /**
154
+ * Prefer String.fromCharCode() over String.fromCodePoint() for code points below 0x10000
155
+ */
156
+ 'e18e/prefer-string-fromcharcode'?: Linter.RuleEntry<[]>;
157
+ /**
158
+ * Prefer passing function and arguments directly to setTimeout/setInterval instead of wrapping in an arrow function or using bind
159
+ */
160
+ 'e18e/prefer-timer-args'?: Linter.RuleEntry<[]>;
161
+ /**
162
+ * Prefer URL.canParse() over try-catch blocks for URL validation
163
+ */
164
+ 'e18e/prefer-url-canparse'?: Linter.RuleEntry<[]>;
165
+ }
166
+ /* ======= Declarations ======= */
167
+ // ----- e18e/ban-dependencies -----
168
+ type E18EBanDependencies = [] | [{
169
+ presets?: string[];
170
+ modules?: string[];
171
+ allowed?: string[];
172
+ }];
173
+ //#endregion
174
+ //#region src/config/e18e.d.ts
175
+ /**
176
+ * @see https://e18e.dev
177
+ * @param options
178
+ */
179
+ declare function e18e(options?: e18e.Options): Promise<[Config, Config]>;
180
+ declare namespace e18e {
181
+ type Rules = RuleOptions$11;
182
+ interface Options extends PluginOptionsBase<Rules> {
183
+ /**
184
+ * Include modernization default configuration
185
+ *
186
+ * @default true
187
+ */
188
+ modernization?: boolean;
189
+ /**
190
+ * Include moduleReplacements default configuration
191
+ *
192
+ * @default false
193
+ */
194
+ moduleReplacements?: boolean;
195
+ /**
196
+ * Include performanceImprovements default configuration
197
+ *
198
+ * @default true
199
+ */
200
+ performanceImprovements?: boolean;
201
+ }
202
+ }
203
+ //#endregion
54
204
  //#region src/typegen/jsonc.d.ts
55
205
  declare module 'eslint' {
56
206
  namespace Linter {
57
- interface RulesRecord extends RuleOptions$9 {}
207
+ interface RulesRecord extends RuleOptions$10 {}
58
208
  }
59
209
  }
60
- interface RuleOptions$9 {
210
+ interface RuleOptions$10 {
61
211
  /**
62
212
  * enforce line breaks after opening and before closing array brackets
63
213
  * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-bracket-newline.html
@@ -533,7 +683,343 @@ type JsoncSpaceUnaryOps = [] | [{
533
683
  //#region src/config/es.d.ts
534
684
  declare function es(options: es.Options): Promise<[Config, Config]>;
535
685
  declare namespace es {
536
- type Rules = RuleOptions$9;
686
+ var recommended: {
687
+ 'class-methods-use-this': "off";
688
+ 'default-case': "off";
689
+ 'no-console': "error";
690
+ 'no-nested-ternary': "off";
691
+ 'no-param-reassign': ["error", {
692
+ props: boolean;
693
+ }];
694
+ 'no-underscore-dangle': "off";
695
+ 'no-unused-vars': ["error", {
696
+ argsIgnorePattern: string;
697
+ }];
698
+ 'no-use-before-define': ["error", string];
699
+ 'no-void': ["error", {
700
+ allowAsStatement: boolean;
701
+ }];
702
+ 'unicode-bom': ["error", string];
703
+ 'init-declarations': "off";
704
+ 'no-catch-shadow': "off";
705
+ 'no-delete-var': "error";
706
+ 'no-label-var': "error";
707
+ 'no-restricted-globals': ["error", {
708
+ name: string;
709
+ message: string;
710
+ }, {
711
+ name: string;
712
+ message: string;
713
+ }];
714
+ 'no-shadow': "error";
715
+ 'no-shadow-restricted-names': "error";
716
+ 'no-undef': "error";
717
+ 'no-undef-init': "error";
718
+ 'no-undefined': "off";
719
+ strict: ["error", string];
720
+ 'arrow-body-style': ["error", string, {
721
+ requireReturnForObjectLiteral: boolean;
722
+ }];
723
+ 'arrow-parens': ["error", string];
724
+ 'arrow-spacing': ["error", {
725
+ before: boolean;
726
+ after: boolean;
727
+ }];
728
+ 'constructor-super': "error";
729
+ 'generator-star-spacing': ["error", {
730
+ before: boolean;
731
+ after: boolean;
732
+ }];
733
+ 'no-class-assign': "error";
734
+ 'no-confusing-arrow': ["error", {
735
+ allowParens: boolean;
736
+ }];
737
+ 'no-const-assign': "error";
738
+ 'no-dupe-class-members': "error";
739
+ 'no-duplicate-imports': "off";
740
+ 'no-new-symbol': "error";
741
+ 'no-restricted-exports': ["error", {
742
+ restrictedNamedExports: string[];
743
+ }];
744
+ 'no-restricted-imports': ["off", {
745
+ paths: never[];
746
+ patterns: never[];
747
+ }];
748
+ 'no-this-before-super': "error";
749
+ 'no-useless-computed-key': "error";
750
+ 'no-useless-constructor': "error";
751
+ 'no-useless-rename': ["error", {
752
+ ignoreDestructuring: boolean;
753
+ ignoreImport: boolean;
754
+ ignoreExport: boolean;
755
+ }];
756
+ 'no-var': "error";
757
+ 'object-shorthand': ["error", string, {
758
+ ignoreConstructors: boolean;
759
+ avoidQuotes: boolean;
760
+ }];
761
+ 'prefer-arrow-callback': ["error", {
762
+ allowNamedFunctions: boolean;
763
+ allowUnboundThis: boolean;
764
+ }];
765
+ 'prefer-const': ["error", {
766
+ destructuring: string;
767
+ ignoreReadBeforeAssign: boolean;
768
+ }];
769
+ 'prefer-destructuring': ["error", {
770
+ VariableDeclarator: {
771
+ array: boolean;
772
+ object: boolean;
773
+ };
774
+ AssignmentExpression: {
775
+ array: boolean;
776
+ object: boolean;
777
+ };
778
+ }, {
779
+ enforceForRenamedProperties: boolean;
780
+ }];
781
+ 'prefer-numeric-literals': "error";
782
+ 'prefer-reflect': "off";
783
+ 'prefer-rest-params': "error";
784
+ 'prefer-spread': "error";
785
+ 'prefer-template': "error";
786
+ 'require-yield': "error";
787
+ 'rest-spread-spacing': ["error", string];
788
+ 'sort-imports': ["off", {
789
+ ignoreCase: boolean;
790
+ ignoreDeclarationSort: boolean;
791
+ ignoreMemberSort: boolean;
792
+ memberSyntaxSortOrder: string[];
793
+ }];
794
+ 'symbol-description': "error";
795
+ 'template-curly-spacing': "error";
796
+ 'yield-star-spacing': ["error", string];
797
+ 'for-direction': "error";
798
+ 'getter-return': ["error", {
799
+ allowImplicit: boolean;
800
+ }];
801
+ 'no-async-promise-executor': "error";
802
+ 'no-await-in-loop': "error";
803
+ 'no-compare-neg-zero': "error";
804
+ 'no-cond-assign': ["error", string];
805
+ 'no-constant-binary-expression': "off";
806
+ 'no-constant-condition': "warn";
807
+ 'no-control-regex': "error";
808
+ 'no-debugger': "error";
809
+ 'no-dupe-args': "error";
810
+ 'no-dupe-else-if': "error";
811
+ 'no-dupe-keys': "error";
812
+ 'no-duplicate-case': "error";
813
+ 'no-empty': "error";
814
+ 'no-empty-character-class': "error";
815
+ 'no-ex-assign': "error";
816
+ 'no-extra-boolean-cast': "error";
817
+ 'no-extra-parens': ["off", string, {
818
+ conditionalAssign: boolean;
819
+ nestedBinaryExpressions: boolean;
820
+ returnAssign: boolean;
821
+ ignoreJSX: string;
822
+ enforceForArrowConditionals: boolean;
823
+ }];
824
+ 'no-extra-semi': "error";
825
+ 'no-func-assign': "error";
826
+ 'no-import-assign': "error";
827
+ 'no-inner-declarations': "error";
828
+ 'no-invalid-regexp': "error";
829
+ 'no-irregular-whitespace': "error";
830
+ 'no-loss-of-precision': "error";
831
+ 'no-misleading-character-class': "error";
832
+ 'no-obj-calls': "error";
833
+ 'no-new-native-nonconstructor': "off";
834
+ 'no-promise-executor-return': "error";
835
+ 'no-prototype-builtins': "error";
836
+ 'no-regex-spaces': "error";
837
+ 'no-setter-return': "error";
838
+ 'no-sparse-arrays': "error";
839
+ 'no-template-curly-in-string': "error";
840
+ 'no-unexpected-multiline': "error";
841
+ 'no-unreachable': "error";
842
+ 'no-unreachable-loop': ["error", {
843
+ ignore: never[];
844
+ }];
845
+ 'no-unsafe-finally': "error";
846
+ 'no-unsafe-negation': "error";
847
+ 'no-unsafe-optional-chaining': ["error", {
848
+ disallowArithmeticOperators: boolean;
849
+ }];
850
+ 'no-unused-private-class-members': "off";
851
+ 'no-useless-backreference': "error";
852
+ 'no-negated-in-lhs': "off";
853
+ 'require-atomic-updates': "off";
854
+ 'use-isnan': "error";
855
+ 'valid-jsdoc': "off";
856
+ 'valid-typeof': ["error", {
857
+ requireStringLiterals: boolean;
858
+ }];
859
+ 'accessor-pairs': "off";
860
+ 'array-callback-return': ["error", {
861
+ allowImplicit: boolean;
862
+ }];
863
+ 'block-scoped-var': "error";
864
+ complexity: ["off", number];
865
+ 'consistent-return': "error";
866
+ curly: ["error", string];
867
+ 'default-case-last': "error";
868
+ 'default-param-last': "error";
869
+ 'dot-notation': ["error", {
870
+ allowKeywords: boolean;
871
+ }];
872
+ 'dot-location': ["error", string];
873
+ eqeqeq: ["error", string, {
874
+ null: string;
875
+ }];
876
+ 'grouped-accessor-pairs': "error";
877
+ 'guard-for-in': "error";
878
+ 'max-classes-per-file': ["error", number];
879
+ 'no-alert': "warn";
880
+ 'no-caller': "error";
881
+ 'no-case-declarations': "error";
882
+ 'no-constructor-return': "error";
883
+ 'no-div-regex': "off";
884
+ 'no-else-return': ["error", {
885
+ allowElseIf: boolean;
886
+ }];
887
+ 'no-empty-function': ["error", {
888
+ allow: string[];
889
+ }];
890
+ 'no-empty-pattern': "error";
891
+ 'no-empty-static-block': "off";
892
+ 'no-eq-null': "off";
893
+ 'no-eval': "error";
894
+ 'no-extend-native': "error";
895
+ 'no-extra-bind': "error";
896
+ 'no-extra-label': "error";
897
+ 'no-fallthrough': "error";
898
+ 'no-floating-decimal': "error";
899
+ 'no-global-assign': ["error", {
900
+ exceptions: never[];
901
+ }];
902
+ 'no-native-reassign': "off";
903
+ 'no-implicit-coercion': ["off", {
904
+ boolean: boolean;
905
+ number: boolean;
906
+ string: boolean;
907
+ allow: never[];
908
+ }];
909
+ 'no-implicit-globals': "off";
910
+ 'no-implied-eval': "error";
911
+ 'no-invalid-this': "off";
912
+ 'no-iterator': "error";
913
+ 'no-labels': ["error", {
914
+ allowLoop: boolean;
915
+ allowSwitch: boolean;
916
+ }];
917
+ 'no-lone-blocks': "error";
918
+ 'no-loop-func': "error";
919
+ 'no-magic-numbers': ["off", {
920
+ ignore: never[];
921
+ ignoreArrayIndexes: boolean;
922
+ enforceConst: boolean;
923
+ detectObjects: boolean;
924
+ }];
925
+ 'no-multi-spaces': ["error", {
926
+ ignoreEOLComments: boolean;
927
+ }];
928
+ 'no-multi-str': "error";
929
+ 'no-new': "error";
930
+ 'no-new-func': "error";
931
+ 'no-new-wrappers': "error";
932
+ 'no-nonoctal-decimal-escape': "error";
933
+ 'no-object-constructor': "off";
934
+ 'no-octal': "error";
935
+ 'no-octal-escape': "error";
936
+ 'no-proto': "error";
937
+ 'no-redeclare': "error";
938
+ 'no-restricted-properties': ["error", {
939
+ object: string;
940
+ property: string;
941
+ message: string;
942
+ }, {
943
+ object: string;
944
+ property: string;
945
+ message: string;
946
+ }, {
947
+ object: string;
948
+ property: string;
949
+ message: string;
950
+ }, {
951
+ object: string;
952
+ property: string;
953
+ message: string;
954
+ }, {
955
+ object: string;
956
+ property: string;
957
+ message: string;
958
+ }, {
959
+ object: string;
960
+ property: string;
961
+ message: string;
962
+ }, {
963
+ object: string;
964
+ property: string;
965
+ message: string;
966
+ }, {
967
+ property: string;
968
+ message: string;
969
+ }, {
970
+ property: string;
971
+ message: string;
972
+ }, {
973
+ object: string;
974
+ property: string;
975
+ message: string;
976
+ }];
977
+ 'no-return-assign': ["error", string];
978
+ 'no-return-await': "error";
979
+ 'no-script-url': "error";
980
+ 'no-self-assign': ["error", {
981
+ props: boolean;
982
+ }];
983
+ 'no-self-compare': "error";
984
+ 'no-sequences': "error";
985
+ 'no-throw-literal': "error";
986
+ 'no-unmodified-loop-condition': "off";
987
+ 'no-unused-expressions': ["error", {
988
+ allowShortCircuit: boolean;
989
+ allowTernary: boolean;
990
+ allowTaggedTemplates: boolean;
991
+ }];
992
+ 'no-unused-labels': "error";
993
+ 'no-useless-call': "off";
994
+ 'no-useless-catch': "error";
995
+ 'no-useless-concat': "error";
996
+ 'no-useless-escape': "error";
997
+ 'no-useless-return': "error";
998
+ 'no-warning-comments': ["off", {
999
+ terms: string[];
1000
+ location: string;
1001
+ }];
1002
+ 'no-with': "error";
1003
+ 'prefer-promise-reject-errors': ["error", {
1004
+ allowEmptyReject: boolean;
1005
+ }];
1006
+ 'prefer-named-capture-group': "off";
1007
+ 'prefer-object-has-own': "off";
1008
+ 'prefer-regex-literals': ["error", {
1009
+ disallowRedundantWrapping: boolean;
1010
+ }];
1011
+ radix: "error";
1012
+ 'require-await': "off";
1013
+ 'require-unicode-regexp': "off";
1014
+ 'vars-on-top': "error";
1015
+ 'wrap-iife': ["error", string, {
1016
+ functionPrototypeMethods: boolean;
1017
+ }];
1018
+ yoda: "error";
1019
+ };
1020
+ }
1021
+ declare namespace es {
1022
+ type Rules = RuleOptions$10;
537
1023
  interface Options extends PluginOptionsBase<Rules> {}
538
1024
  }
539
1025
  //#endregion
@@ -546,10 +1032,10 @@ declare namespace ignores {
546
1032
  //#region src/typegen/jsdoc.d.ts
547
1033
  declare module 'eslint' {
548
1034
  namespace Linter {
549
- interface RulesRecord extends RuleOptions$8 {}
1035
+ interface RulesRecord extends RuleOptions$9 {}
550
1036
  }
551
1037
  }
552
- interface RuleOptions$8 {
1038
+ interface RuleOptions$9 {
553
1039
  /**
554
1040
  * Checks that `@access` tags have a valid value.
555
1041
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-access.md#repos-sticky-header
@@ -1426,24 +1912,24 @@ type JsdocValidTypes = [] | [{
1426
1912
  //#region src/config/jsdoc.d.ts
1427
1913
  declare function jsdoc(options?: jsdoc.Options): Promise<readonly Config[]>;
1428
1914
  declare namespace jsdoc {
1429
- type Rules = RuleOptions$8;
1915
+ type Rules = RuleOptions$9;
1430
1916
  interface Options extends PluginOptionsBase<Rules> {}
1431
1917
  }
1432
1918
  //#endregion
1433
1919
  //#region src/config/jsonc.d.ts
1434
1920
  declare function jsonc(options?: jsonc.Options): Promise<readonly Config[]>;
1435
1921
  declare namespace jsonc {
1436
- type Rules = RuleOptions$9;
1922
+ type Rules = RuleOptions$10;
1437
1923
  interface Options extends PluginOptionsBase<Rules> {}
1438
1924
  }
1439
1925
  //#endregion
1440
1926
  //#region src/typegen/import.d.ts
1441
1927
  declare module 'eslint' {
1442
1928
  namespace Linter {
1443
- interface RulesRecord extends RuleOptions$7 {}
1929
+ interface RulesRecord extends RuleOptions$8 {}
1444
1930
  }
1445
1931
  }
1446
- interface RuleOptions$7 {
1932
+ interface RuleOptions$8 {
1447
1933
  /**
1448
1934
  * Enforce or ban the use of inline type-only markers for named imports.
1449
1935
  * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/consistent-type-specifier-style.md
@@ -1889,17 +2375,30 @@ type ImportPreferDefaultExport = [] | [{
1889
2375
  //#region src/config/imports.d.ts
1890
2376
  declare function imports(options?: imports.Options): Promise<[Config]>;
1891
2377
  declare namespace imports {
1892
- type Rules = RuleOptions$7;
2378
+ var recommended: {
2379
+ 'import/first': string;
2380
+ 'import/no-duplicates': string;
2381
+ 'import/no-mutable-exports': string;
2382
+ 'import/no-named-default': string;
2383
+ };
2384
+ var stylistic: {
2385
+ 'import/newline-after-import': (string | {
2386
+ count: number;
2387
+ })[];
2388
+ };
2389
+ }
2390
+ declare namespace imports {
2391
+ type Rules = RuleOptions$8;
1893
2392
  interface Options extends PluginOptionsBase<Rules> {}
1894
2393
  }
1895
2394
  //#endregion
1896
2395
  //#region src/typegen/markdown.d.ts
1897
2396
  declare module 'eslint' {
1898
2397
  namespace Linter {
1899
- interface RulesRecord extends RuleOptions$6 {}
2398
+ interface RulesRecord extends RuleOptions$7 {}
1900
2399
  }
1901
2400
  }
1902
- interface RuleOptions$6 {
2401
+ interface RuleOptions$7 {
1903
2402
  /**
1904
2403
  * Require languages for fenced code blocks
1905
2404
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/fenced-code-language.md
@@ -2060,7 +2559,7 @@ type MarkdownTableColumnCount = [] | [{
2060
2559
  //#region src/config/markdown.d.ts
2061
2560
  declare function markdown(options?: markdown.Options): Promise<[Config, Config]>;
2062
2561
  declare namespace markdown {
2063
- type Rules = RuleOptions$6;
2562
+ type Rules = RuleOptions$7;
2064
2563
  interface Options extends PluginOptionsBase<Rules> {
2065
2564
  /**
2066
2565
  * Default to 'markdown/gfm' (Github Flavored Markdown)
@@ -2069,6 +2568,129 @@ declare namespace markdown {
2069
2568
  }
2070
2569
  }
2071
2570
  //#endregion
2571
+ //#region src/typegen/next.d.ts
2572
+ declare module 'eslint' {
2573
+ namespace Linter {
2574
+ interface RulesRecord extends RuleOptions$6 {}
2575
+ }
2576
+ }
2577
+ interface RuleOptions$6 {
2578
+ /**
2579
+ * Enforce font-display behavior with Google Fonts.
2580
+ * @see https://nextjs.org/docs/messages/google-font-display
2581
+ */
2582
+ 'next/google-font-display'?: Linter.RuleEntry<[]>;
2583
+ /**
2584
+ * Ensure `preconnect` is used with Google Fonts.
2585
+ * @see https://nextjs.org/docs/messages/google-font-preconnect
2586
+ */
2587
+ 'next/google-font-preconnect'?: Linter.RuleEntry<[]>;
2588
+ /**
2589
+ * Enforce `id` attribute on `next/script` components with inline content.
2590
+ * @see https://nextjs.org/docs/messages/inline-script-id
2591
+ */
2592
+ 'next/inline-script-id'?: Linter.RuleEntry<[]>;
2593
+ /**
2594
+ * Prefer `@next/third-parties/google` when using the inline script for Google Analytics and Tag Manager.
2595
+ * @see https://nextjs.org/docs/messages/next-script-for-ga
2596
+ */
2597
+ 'next/next-script-for-ga'?: Linter.RuleEntry<[]>;
2598
+ /**
2599
+ * Prevent assignment to the `module` variable.
2600
+ * @see https://nextjs.org/docs/messages/no-assign-module-variable
2601
+ */
2602
+ 'next/no-assign-module-variable'?: Linter.RuleEntry<[]>;
2603
+ /**
2604
+ * Prevent Client Components from being async functions.
2605
+ * @see https://nextjs.org/docs/messages/no-async-client-component
2606
+ */
2607
+ 'next/no-async-client-component'?: Linter.RuleEntry<[]>;
2608
+ /**
2609
+ * Prevent usage of `next/script`'s `beforeInteractive` strategy outside of `pages/_document.js`.
2610
+ * @see https://nextjs.org/docs/messages/no-before-interactive-script-outside-document
2611
+ */
2612
+ 'next/no-before-interactive-script-outside-document'?: Linter.RuleEntry<[]>;
2613
+ /**
2614
+ * Prevent manual stylesheet tags.
2615
+ * @see https://nextjs.org/docs/messages/no-css-tags
2616
+ */
2617
+ 'next/no-css-tags'?: Linter.RuleEntry<[]>;
2618
+ /**
2619
+ * Prevent importing `next/document` outside of `pages/_document.js`.
2620
+ * @see https://nextjs.org/docs/messages/no-document-import-in-page
2621
+ */
2622
+ 'next/no-document-import-in-page'?: Linter.RuleEntry<[]>;
2623
+ /**
2624
+ * Prevent duplicate usage of `<Head>` in `pages/_document.js`.
2625
+ * @see https://nextjs.org/docs/messages/no-duplicate-head
2626
+ */
2627
+ 'next/no-duplicate-head'?: Linter.RuleEntry<[]>;
2628
+ /**
2629
+ * Prevent usage of `<head>` element.
2630
+ * @see https://nextjs.org/docs/messages/no-head-element
2631
+ */
2632
+ 'next/no-head-element'?: Linter.RuleEntry<[]>;
2633
+ /**
2634
+ * Prevent usage of `next/head` in `pages/_document.js`.
2635
+ * @see https://nextjs.org/docs/messages/no-head-import-in-document
2636
+ */
2637
+ 'next/no-head-import-in-document'?: Linter.RuleEntry<[]>;
2638
+ /**
2639
+ * Prevent usage of `<a>` elements to navigate to internal Next.js pages.
2640
+ * @see https://nextjs.org/docs/messages/no-html-link-for-pages
2641
+ */
2642
+ 'next/no-html-link-for-pages'?: Linter.RuleEntry<NextNoHtmlLinkForPages>;
2643
+ /**
2644
+ * Prevent usage of `<img>` element due to slower LCP and higher bandwidth.
2645
+ * @see https://nextjs.org/docs/messages/no-img-element
2646
+ */
2647
+ 'next/no-img-element'?: Linter.RuleEntry<[]>;
2648
+ /**
2649
+ * Prevent page-only custom fonts.
2650
+ * @see https://nextjs.org/docs/messages/no-page-custom-font
2651
+ */
2652
+ 'next/no-page-custom-font'?: Linter.RuleEntry<[]>;
2653
+ /**
2654
+ * Prevent usage of `next/script` in `next/head` component.
2655
+ * @see https://nextjs.org/docs/messages/no-script-component-in-head
2656
+ */
2657
+ 'next/no-script-component-in-head'?: Linter.RuleEntry<[]>;
2658
+ /**
2659
+ * Prevent usage of `styled-jsx` in `pages/_document.js`.
2660
+ * @see https://nextjs.org/docs/messages/no-styled-jsx-in-document
2661
+ */
2662
+ 'next/no-styled-jsx-in-document'?: Linter.RuleEntry<[]>;
2663
+ /**
2664
+ * Prevent synchronous scripts.
2665
+ * @see https://nextjs.org/docs/messages/no-sync-scripts
2666
+ */
2667
+ 'next/no-sync-scripts'?: Linter.RuleEntry<[]>;
2668
+ /**
2669
+ * Prevent usage of `<title>` with `Head` component from `next/document`.
2670
+ * @see https://nextjs.org/docs/messages/no-title-in-document-head
2671
+ */
2672
+ 'next/no-title-in-document-head'?: Linter.RuleEntry<[]>;
2673
+ /**
2674
+ * Prevent common typos in Next.js data fetching functions.
2675
+ */
2676
+ 'next/no-typos'?: Linter.RuleEntry<[]>;
2677
+ /**
2678
+ * Prevent duplicate polyfills from Polyfill.io.
2679
+ * @see https://nextjs.org/docs/messages/no-unwanted-polyfillio
2680
+ */
2681
+ 'next/no-unwanted-polyfillio'?: Linter.RuleEntry<[]>;
2682
+ }
2683
+ /* ======= Declarations ======= */
2684
+ // ----- next/no-html-link-for-pages -----
2685
+ type NextNoHtmlLinkForPages = [] | [(string | string[])];
2686
+ //#endregion
2687
+ //#region src/config/next.d.ts
2688
+ declare function next(options?: next.Options): Promise<[Config, Config]>;
2689
+ declare namespace next {
2690
+ type Rules = RuleOptions$6;
2691
+ interface Options extends Omit<PluginOptionsBase<Rules>, 'stylistic'> {}
2692
+ }
2693
+ //#endregion
2072
2694
  //#region src/typegen/node.d.ts
2073
2695
  declare module 'eslint' {
2074
2696
  namespace Linter {
@@ -7642,13 +8264,16 @@ declare namespace yml {
7642
8264
  //#endregion
7643
8265
  //#region src/defineConfig.d.ts
7644
8266
  interface DefineConfigOptions extends ignores.Options {
8267
+ e18e?: boolean | e18e.Options;
7645
8268
  es?: boolean | es.Options;
7646
8269
  import?: boolean | imports.Options;
7647
8270
  markdown?: boolean | markdown.Options;
7648
8271
  jsdoc?: boolean | jsdoc.Options;
7649
8272
  jsonc?: boolean | jsonc.Options;
8273
+ next?: boolean | next.Options;
7650
8274
  node?: boolean | node.Options;
7651
8275
  stylistic?: boolean | stylistic.Options;
8276
+ test?: boolean | test.Options;
7652
8277
  ts?: boolean | ts.Options;
7653
8278
  unicorn?: boolean | unicorn.Options;
7654
8279
  yml?: boolean | yml.Options;
@@ -7662,5 +8287,5 @@ declare const meta: Readonly<{
7662
8287
  buildNumber: number;
7663
8288
  }>;
7664
8289
  //#endregion
7665
- export { Config, DefineConfigOptions, PluginOptionsBase, StylisticConfig, StylisticParameters, defineConfig as default, defineConfig, es, ignores, imports, jsdoc, jsonc, markdown, meta, node, stylistic, test, ts, unicorn, yml };
8290
+ export { Config, DefineConfigOptions, PluginOptionsBase, StylisticConfig, StylisticParameters, defineConfig as default, defineConfig, e18e, es, ignores, imports, jsdoc, jsonc, markdown, meta, next, node, stylistic, test, ts, unicorn, yml };
7666
8291
  //# sourceMappingURL=index.d.ts.map