@w5s/eslint-config 2.4.4 → 3.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.
Files changed (91) hide show
  1. package/dist/index.cjs +4199 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +8054 -0
  4. package/dist/index.d.ts +8054 -3
  5. package/dist/index.js +4171 -22
  6. package/dist/index.js.map +1 -0
  7. package/package.json +26 -17
  8. package/src/config/createRules.ts +5 -0
  9. package/src/config/es.ts +58 -0
  10. package/src/config/ignores.ts +84 -0
  11. package/src/config/imports.ts +32 -0
  12. package/src/config/jsdoc.ts +53 -0
  13. package/src/config/jsonc.ts +237 -0
  14. package/src/config/node.ts +42 -0
  15. package/src/config/stylistic.ts +50 -0
  16. package/src/config/test.ts +44 -0
  17. package/src/config/ts.ts +97 -0
  18. package/src/config/unicorn.ts +68 -0
  19. package/src/config/yml.ts +70 -0
  20. package/src/config.ts +11 -0
  21. package/src/defineConfig.ts +62 -0
  22. package/src/index.ts +3 -31
  23. package/src/type/Config.ts +5 -0
  24. package/src/type/PluginOptionsBase.ts +14 -0
  25. package/src/type/StylisticConfig.ts +39 -0
  26. package/src/type.ts +3 -0
  27. package/src/typegen/.keep +0 -0
  28. package/src/typegen/import.d.ts +501 -0
  29. package/src/typegen/jsdoc.d.ts +1155 -0
  30. package/src/typegen/jsonc.d.ts +500 -0
  31. package/src/typegen/node.d.ts +529 -0
  32. package/src/typegen/style.d.ts +1637 -0
  33. package/src/typegen/test.d.ts +430 -0
  34. package/src/typegen/ts.d.ts +1872 -0
  35. package/src/typegen/unicorn.d.ts +913 -0
  36. package/src/typegen/yml.d.ts +363 -0
  37. package/dist/es.d.ts +0 -3
  38. package/dist/es.js +0 -10
  39. package/dist/jest.d.ts +0 -3
  40. package/dist/jest.js +0 -20
  41. package/dist/json.d.ts +0 -3
  42. package/dist/json.js +0 -14
  43. package/dist/rules/es/base.d.ts +0 -4
  44. package/dist/rules/es/base.js +0 -71
  45. package/dist/rules/es/import.d.ts +0 -3
  46. package/dist/rules/es/import.js +0 -74
  47. package/dist/rules/es/jsdoc.d.ts +0 -3
  48. package/dist/rules/es/jsdoc.js +0 -21
  49. package/dist/rules/es/node.d.ts +0 -3
  50. package/dist/rules/es/node.js +0 -20
  51. package/dist/rules/es/promise.d.ts +0 -3
  52. package/dist/rules/es/promise.js +0 -11
  53. package/dist/rules/es/unicorn.d.ts +0 -3
  54. package/dist/rules/es/unicorn.js +0 -72
  55. package/dist/rules/es.d.ts +0 -3
  56. package/dist/rules/es.js +0 -14
  57. package/dist/rules/ignore.d.ts +0 -3
  58. package/dist/rules/ignore.js +0 -54
  59. package/dist/rules/jest.d.ts +0 -3
  60. package/dist/rules/jest.js +0 -64
  61. package/dist/rules/jsonc.d.ts +0 -3
  62. package/dist/rules/jsonc.js +0 -183
  63. package/dist/rules/prettier.d.ts +0 -3
  64. package/dist/rules/prettier.js +0 -13
  65. package/dist/rules/typescript.d.ts +0 -3
  66. package/dist/rules/typescript.js +0 -249
  67. package/dist/rules/yml.d.ts +0 -3
  68. package/dist/rules/yml.js +0 -21
  69. package/dist/tsconfig.build.tsbuildinfo +0 -1
  70. package/dist/typescript.d.ts +0 -3
  71. package/dist/typescript.js +0 -21
  72. package/dist/yml.d.ts +0 -3
  73. package/dist/yml.js +0 -19
  74. package/src/es.ts +0 -12
  75. package/src/jest.ts +0 -18
  76. package/src/json.ts +0 -12
  77. package/src/rules/es/base.ts +0 -83
  78. package/src/rules/es/import.ts +0 -81
  79. package/src/rules/es/jsdoc.ts +0 -23
  80. package/src/rules/es/node.ts +0 -21
  81. package/src/rules/es/promise.ts +0 -12
  82. package/src/rules/es/unicorn.ts +0 -74
  83. package/src/rules/es.ts +0 -21
  84. package/src/rules/ignore.ts +0 -54
  85. package/src/rules/jest.ts +0 -68
  86. package/src/rules/jsonc.ts +0 -187
  87. package/src/rules/prettier.ts +0 -11
  88. package/src/rules/typescript.ts +0 -255
  89. package/src/rules/yml.ts +0 -22
  90. package/src/typescript.ts +0 -24
  91. package/src/yml.ts +0 -18
@@ -0,0 +1,501 @@
1
+ /* eslint-disable unicorn/no-abusive-eslint-disable */
2
+ /* eslint-disable */
3
+ /* prettier-ignore */
4
+ import type { Linter } from 'eslint'
5
+
6
+ declare module 'eslint' {
7
+ namespace Linter {
8
+ interface RulesRecord extends RuleOptions {}
9
+ }
10
+ }
11
+
12
+ export interface RuleOptions {
13
+ /**
14
+ * Enforce or ban the use of inline type-only markers for named imports.
15
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/consistent-type-specifier-style.md
16
+ */
17
+ 'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>
18
+ /**
19
+ * Ensure a default export is present, given a default import.
20
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/default.md
21
+ */
22
+ 'import/default'?: Linter.RuleEntry<[]>
23
+ /**
24
+ * Enforce a leading comment with the webpackChunkName for dynamic imports.
25
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/dynamic-import-chunkname.md
26
+ */
27
+ 'import/dynamic-import-chunkname'?: Linter.RuleEntry<ImportDynamicImportChunkname>
28
+ /**
29
+ * Enforce either using, or omitting, the `node:` protocol when importing Node.js builtin modules.
30
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/enforce-node-protocol-usage.md
31
+ */
32
+ 'import/enforce-node-protocol-usage'?: Linter.RuleEntry<ImportEnforceNodeProtocolUsage>
33
+ /**
34
+ * Forbid any invalid exports, i.e. re-export of the same name.
35
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/export.md
36
+ */
37
+ 'import/export'?: Linter.RuleEntry<[]>
38
+ /**
39
+ * Ensure all exports appear after other statements.
40
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/exports-last.md
41
+ */
42
+ 'import/exports-last'?: Linter.RuleEntry<[]>
43
+ /**
44
+ * Ensure consistent use of file extension within the import path.
45
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/extensions.md
46
+ */
47
+ 'import/extensions'?: Linter.RuleEntry<ImportExtensions>
48
+ /**
49
+ * Ensure all imports appear before other statements.
50
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/first.md
51
+ */
52
+ 'import/first'?: Linter.RuleEntry<ImportFirst>
53
+ /**
54
+ * Prefer named exports to be grouped together in a single export declaration
55
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/group-exports.md
56
+ */
57
+ 'import/group-exports'?: Linter.RuleEntry<[]>
58
+ /**
59
+ * Replaced by `import/first`.
60
+ * @see https://github.com/import-js/eslint-plugin-import/blob/7b25c1cb95ee18acc1531002fd343e1e6031f9ed/docs/rules/imports-first.md
61
+ * @deprecated
62
+ */
63
+ 'import/imports-first'?: Linter.RuleEntry<ImportImportsFirst>
64
+ /**
65
+ * Enforce the maximum number of dependencies a module can have.
66
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/max-dependencies.md
67
+ */
68
+ 'import/max-dependencies'?: Linter.RuleEntry<ImportMaxDependencies>
69
+ /**
70
+ * Ensure named imports correspond to a named export in the remote file.
71
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/named.md
72
+ */
73
+ 'import/named'?: Linter.RuleEntry<ImportNamed>
74
+ /**
75
+ * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
76
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/namespace.md
77
+ */
78
+ 'import/namespace'?: Linter.RuleEntry<ImportNamespace>
79
+ /**
80
+ * Enforce a newline after import statements.
81
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/newline-after-import.md
82
+ */
83
+ 'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>
84
+ /**
85
+ * Forbid import of modules using absolute paths.
86
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-absolute-path.md
87
+ */
88
+ 'import/no-absolute-path'?: Linter.RuleEntry<ImportNoAbsolutePath>
89
+ /**
90
+ * Forbid AMD `require` and `define` calls.
91
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-amd.md
92
+ */
93
+ 'import/no-amd'?: Linter.RuleEntry<[]>
94
+ /**
95
+ * Forbid anonymous values as default exports.
96
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-anonymous-default-export.md
97
+ */
98
+ 'import/no-anonymous-default-export'?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>
99
+ /**
100
+ * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
101
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-commonjs.md
102
+ */
103
+ 'import/no-commonjs'?: Linter.RuleEntry<ImportNoCommonjs>
104
+ /**
105
+ * Forbid a module from importing a module with a dependency path back to itself.
106
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-cycle.md
107
+ */
108
+ 'import/no-cycle'?: Linter.RuleEntry<ImportNoCycle>
109
+ /**
110
+ * Forbid default exports.
111
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-default-export.md
112
+ */
113
+ 'import/no-default-export'?: Linter.RuleEntry<[]>
114
+ /**
115
+ * Forbid imported names marked with `@deprecated` documentation tag.
116
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-deprecated.md
117
+ */
118
+ 'import/no-deprecated'?: Linter.RuleEntry<[]>
119
+ /**
120
+ * Forbid repeated import of the same module in multiple places.
121
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-duplicates.md
122
+ */
123
+ 'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>
124
+ /**
125
+ * Forbid `require()` calls with expressions.
126
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-dynamic-require.md
127
+ */
128
+ 'import/no-dynamic-require'?: Linter.RuleEntry<ImportNoDynamicRequire>
129
+ /**
130
+ * Forbid empty named import blocks.
131
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-empty-named-blocks.md
132
+ */
133
+ 'import/no-empty-named-blocks'?: Linter.RuleEntry<[]>
134
+ /**
135
+ * Forbid the use of extraneous packages.
136
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-extraneous-dependencies.md
137
+ */
138
+ 'import/no-extraneous-dependencies'?: Linter.RuleEntry<ImportNoExtraneousDependencies>
139
+ /**
140
+ * Forbid import statements with CommonJS module.exports.
141
+ */
142
+ 'import/no-import-module-exports'?: Linter.RuleEntry<ImportNoImportModuleExports>
143
+ /**
144
+ * Forbid importing the submodules of other modules.
145
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-internal-modules.md
146
+ */
147
+ 'import/no-internal-modules'?: Linter.RuleEntry<ImportNoInternalModules>
148
+ /**
149
+ * Forbid the use of mutable exports with `var` or `let`.
150
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-mutable-exports.md
151
+ */
152
+ 'import/no-mutable-exports'?: Linter.RuleEntry<[]>
153
+ /**
154
+ * Forbid use of exported name as identifier of default export.
155
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-as-default.md
156
+ */
157
+ 'import/no-named-as-default'?: Linter.RuleEntry<[]>
158
+ /**
159
+ * Forbid use of exported name as property of default export.
160
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-as-default-member.md
161
+ */
162
+ 'import/no-named-as-default-member'?: Linter.RuleEntry<[]>
163
+ /**
164
+ * Forbid named default exports.
165
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-default.md
166
+ */
167
+ 'import/no-named-default'?: Linter.RuleEntry<[]>
168
+ /**
169
+ * Forbid named exports.
170
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-export.md
171
+ */
172
+ 'import/no-named-export'?: Linter.RuleEntry<[]>
173
+ /**
174
+ * Forbid namespace (a.k.a. "wildcard" `*`) imports.
175
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-namespace.md
176
+ */
177
+ 'import/no-namespace'?: Linter.RuleEntry<ImportNoNamespace>
178
+ /**
179
+ * Forbid Node.js builtin modules.
180
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-nodejs-modules.md
181
+ */
182
+ 'import/no-nodejs-modules'?: Linter.RuleEntry<ImportNoNodejsModules>
183
+ /**
184
+ * Forbid importing packages through relative paths.
185
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-relative-packages.md
186
+ */
187
+ 'import/no-relative-packages'?: Linter.RuleEntry<ImportNoRelativePackages>
188
+ /**
189
+ * Forbid importing modules from parent directories.
190
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-relative-parent-imports.md
191
+ */
192
+ 'import/no-relative-parent-imports'?: Linter.RuleEntry<ImportNoRelativeParentImports>
193
+ /**
194
+ * Enforce which files can be imported in a given folder.
195
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-restricted-paths.md
196
+ */
197
+ 'import/no-restricted-paths'?: Linter.RuleEntry<ImportNoRestrictedPaths>
198
+ /**
199
+ * Forbid a module from importing itself.
200
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-self-import.md
201
+ */
202
+ 'import/no-self-import'?: Linter.RuleEntry<[]>
203
+ /**
204
+ * Forbid unassigned imports
205
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-unassigned-import.md
206
+ */
207
+ 'import/no-unassigned-import'?: Linter.RuleEntry<ImportNoUnassignedImport>
208
+ /**
209
+ * Ensure imports point to a file/module that can be resolved.
210
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-unresolved.md
211
+ */
212
+ 'import/no-unresolved'?: Linter.RuleEntry<ImportNoUnresolved>
213
+ /**
214
+ * Forbid modules without exports, or exports without matching import in another module.
215
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-unused-modules.md
216
+ */
217
+ 'import/no-unused-modules'?: Linter.RuleEntry<ImportNoUnusedModules>
218
+ /**
219
+ * Forbid unnecessary path segments in import and require statements.
220
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-useless-path-segments.md
221
+ */
222
+ 'import/no-useless-path-segments'?: Linter.RuleEntry<ImportNoUselessPathSegments>
223
+ /**
224
+ * Forbid webpack loader syntax in imports.
225
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-webpack-loader-syntax.md
226
+ */
227
+ 'import/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
228
+ /**
229
+ * Enforce a convention in module import order.
230
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/order.md
231
+ */
232
+ 'import/order'?: Linter.RuleEntry<ImportOrder>
233
+ /**
234
+ * Prefer a default export if module exports a single name or multiple names.
235
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/prefer-default-export.md
236
+ */
237
+ 'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>
238
+ /**
239
+ * Forbid potentially ambiguous parse goal (`script` vs. `module`).
240
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/unambiguous.md
241
+ */
242
+ 'import/unambiguous'?: Linter.RuleEntry<[]>
243
+ }
244
+
245
+ /* ======= Declarations ======= */
246
+ // ----- import/consistent-type-specifier-style -----
247
+ type ImportConsistentTypeSpecifierStyle = []|[("prefer-inline" | "prefer-top-level")]
248
+ // ----- import/dynamic-import-chunkname -----
249
+ type ImportDynamicImportChunkname = []|[{
250
+ importFunctions?: string[]
251
+ allowEmpty?: boolean
252
+ webpackChunknameFormat?: string
253
+ [k: string]: unknown | undefined
254
+ }]
255
+ // ----- import/enforce-node-protocol-usage -----
256
+ type ImportEnforceNodeProtocolUsage = [("always" | "never")]
257
+ // ----- import/extensions -----
258
+ type ImportExtensions = ([]|[("always" | "ignorePackages" | "never")] | []|[("always" | "ignorePackages" | "never")]|[("always" | "ignorePackages" | "never"), {
259
+ pattern?: {
260
+ [k: string]: ("always" | "ignorePackages" | "never")
261
+ }
262
+ checkTypeImports?: boolean
263
+ ignorePackages?: boolean
264
+ pathGroupOverrides?: {
265
+ pattern: string
266
+ patternOptions?: {
267
+ [k: string]: unknown | undefined
268
+ }
269
+ action: ("enforce" | "ignore")
270
+ }[]
271
+ [k: string]: unknown | undefined
272
+ }] | []|[{
273
+ pattern?: {
274
+ [k: string]: ("always" | "ignorePackages" | "never")
275
+ }
276
+ checkTypeImports?: boolean
277
+ ignorePackages?: boolean
278
+ pathGroupOverrides?: {
279
+ pattern: string
280
+ patternOptions?: {
281
+ [k: string]: unknown | undefined
282
+ }
283
+ action: ("enforce" | "ignore")
284
+ }[]
285
+ [k: string]: unknown | undefined
286
+ }] | []|[{
287
+ [k: string]: ("always" | "ignorePackages" | "never")
288
+ }] | []|[("always" | "ignorePackages" | "never")]|[("always" | "ignorePackages" | "never"), {
289
+ [k: string]: ("always" | "ignorePackages" | "never")
290
+ }])
291
+ // ----- import/first -----
292
+ type ImportFirst = []|[("absolute-first" | "disable-absolute-first")]
293
+ // ----- import/imports-first -----
294
+ type ImportImportsFirst = []|[("absolute-first" | "disable-absolute-first")]
295
+ // ----- import/max-dependencies -----
296
+ type ImportMaxDependencies = []|[{
297
+ max?: number
298
+ ignoreTypeImports?: boolean
299
+ }]
300
+ // ----- import/named -----
301
+ type ImportNamed = []|[{
302
+ commonjs?: boolean
303
+ }]
304
+ // ----- import/namespace -----
305
+ type ImportNamespace = []|[{
306
+
307
+ allowComputed?: boolean
308
+ }]
309
+ // ----- import/newline-after-import -----
310
+ type ImportNewlineAfterImport = []|[{
311
+ count?: number
312
+ exactCount?: boolean
313
+ considerComments?: boolean
314
+ }]
315
+ // ----- import/no-absolute-path -----
316
+ type ImportNoAbsolutePath = []|[{
317
+ commonjs?: boolean
318
+ amd?: boolean
319
+ esmodule?: boolean
320
+
321
+ ignore?: [string, ...(string)[]]
322
+ }]
323
+ // ----- import/no-anonymous-default-export -----
324
+ type ImportNoAnonymousDefaultExport = []|[{
325
+
326
+ allowArray?: boolean
327
+
328
+ allowArrowFunction?: boolean
329
+
330
+ allowCallExpression?: boolean
331
+
332
+ allowAnonymousClass?: boolean
333
+
334
+ allowAnonymousFunction?: boolean
335
+
336
+ allowLiteral?: boolean
337
+
338
+ allowObject?: boolean
339
+
340
+ allowNew?: boolean
341
+ }]
342
+ // ----- import/no-commonjs -----
343
+ type ImportNoCommonjs = ([]|["allow-primitive-modules"] | []|[{
344
+ allowPrimitiveModules?: boolean
345
+ allowRequire?: boolean
346
+ allowConditionalRequire?: boolean
347
+ }])
348
+ // ----- import/no-cycle -----
349
+ type ImportNoCycle = []|[{
350
+ commonjs?: boolean
351
+ amd?: boolean
352
+ esmodule?: boolean
353
+
354
+ ignore?: [string, ...(string)[]]
355
+ maxDepth?: (number | "∞")
356
+
357
+ ignoreExternal?: boolean
358
+
359
+ allowUnsafeDynamicCyclicDependency?: boolean
360
+
361
+ disableScc?: boolean
362
+ }]
363
+ // ----- import/no-duplicates -----
364
+ type ImportNoDuplicates = []|[{
365
+ considerQueryString?: boolean
366
+ "prefer-inline"?: boolean
367
+ }]
368
+ // ----- import/no-dynamic-require -----
369
+ type ImportNoDynamicRequire = []|[{
370
+ esmodule?: boolean
371
+ }]
372
+ // ----- import/no-extraneous-dependencies -----
373
+ type ImportNoExtraneousDependencies = []|[{
374
+ devDependencies?: (boolean | unknown[])
375
+ optionalDependencies?: (boolean | unknown[])
376
+ peerDependencies?: (boolean | unknown[])
377
+ bundledDependencies?: (boolean | unknown[])
378
+ packageDir?: (string | unknown[])
379
+ includeInternal?: boolean
380
+ includeTypes?: boolean
381
+ }]
382
+ // ----- import/no-import-module-exports -----
383
+ type ImportNoImportModuleExports = []|[{
384
+ exceptions?: unknown[]
385
+ }]
386
+ // ----- import/no-internal-modules -----
387
+ type ImportNoInternalModules = []|[({
388
+ allow?: string[]
389
+ } | {
390
+ forbid?: string[]
391
+ })]
392
+ // ----- import/no-namespace -----
393
+ type ImportNoNamespace = []|[{
394
+ ignore?: string[]
395
+ [k: string]: unknown | undefined
396
+ }]
397
+ // ----- import/no-nodejs-modules -----
398
+ type ImportNoNodejsModules = []|[{
399
+ allow?: string[]
400
+ }]
401
+ // ----- import/no-relative-packages -----
402
+ type ImportNoRelativePackages = []|[{
403
+ commonjs?: boolean
404
+ amd?: boolean
405
+ esmodule?: boolean
406
+
407
+ ignore?: [string, ...(string)[]]
408
+ }]
409
+ // ----- import/no-relative-parent-imports -----
410
+ type ImportNoRelativeParentImports = []|[{
411
+ commonjs?: boolean
412
+ amd?: boolean
413
+ esmodule?: boolean
414
+
415
+ ignore?: [string, ...(string)[]]
416
+ }]
417
+ // ----- import/no-restricted-paths -----
418
+ type ImportNoRestrictedPaths = []|[{
419
+
420
+ zones?: [{
421
+ target?: (string | string[])
422
+ from?: (string | string[])
423
+ except?: string[]
424
+ message?: string
425
+ }, ...({
426
+ target?: (string | string[])
427
+ from?: (string | string[])
428
+ except?: string[]
429
+ message?: string
430
+ })[]]
431
+ basePath?: string
432
+ }]
433
+ // ----- import/no-unassigned-import -----
434
+ type ImportNoUnassignedImport = []|[{
435
+ devDependencies?: (boolean | unknown[])
436
+ optionalDependencies?: (boolean | unknown[])
437
+ peerDependencies?: (boolean | unknown[])
438
+ allow?: string[]
439
+ }]
440
+ // ----- import/no-unresolved -----
441
+ type ImportNoUnresolved = []|[{
442
+ commonjs?: boolean
443
+ amd?: boolean
444
+ esmodule?: boolean
445
+
446
+ ignore?: [string, ...(string)[]]
447
+ caseSensitive?: boolean
448
+ caseSensitiveStrict?: boolean
449
+ }]
450
+ // ----- import/no-unused-modules -----
451
+ type ImportNoUnusedModules = []|[({
452
+ unusedExports: true
453
+ src?: {
454
+ [k: string]: unknown | undefined
455
+ }
456
+ [k: string]: unknown | undefined
457
+ } | {
458
+ missingExports: true
459
+ [k: string]: unknown | undefined
460
+ })]
461
+ // ----- import/no-useless-path-segments -----
462
+ type ImportNoUselessPathSegments = []|[{
463
+ commonjs?: boolean
464
+ noUselessIndex?: boolean
465
+ }]
466
+ // ----- import/order -----
467
+ type ImportOrder = []|[{
468
+ groups?: (("builtin" | "external" | "internal" | "unknown" | "parent" | "sibling" | "index" | "object" | "type") | ("builtin" | "external" | "internal" | "unknown" | "parent" | "sibling" | "index" | "object" | "type")[])[]
469
+ pathGroupsExcludedImportTypes?: unknown[]
470
+ distinctGroup?: boolean
471
+ pathGroups?: {
472
+ pattern: string
473
+ patternOptions?: {
474
+ [k: string]: unknown | undefined
475
+ }
476
+ group: ("builtin" | "external" | "internal" | "unknown" | "parent" | "sibling" | "index" | "object" | "type")
477
+ position?: ("after" | "before")
478
+ }[]
479
+ "newlines-between"?: ("ignore" | "always" | "always-and-inside-groups" | "never")
480
+ "newlines-between-types"?: ("ignore" | "always" | "always-and-inside-groups" | "never")
481
+ consolidateIslands?: ("inside-groups" | "never")
482
+ sortTypesGroup?: boolean
483
+ named?: (boolean | {
484
+ enabled?: boolean
485
+ import?: boolean
486
+ export?: boolean
487
+ require?: boolean
488
+ cjsExports?: boolean
489
+ types?: ("mixed" | "types-first" | "types-last")
490
+ })
491
+ alphabetize?: {
492
+ caseInsensitive?: boolean
493
+ order?: ("ignore" | "asc" | "desc")
494
+ orderImportKind?: ("ignore" | "asc" | "desc")
495
+ }
496
+ warnOnUnassignedImports?: boolean
497
+ }]
498
+ // ----- import/prefer-default-export -----
499
+ type ImportPreferDefaultExport = []|[{
500
+ target?: ("single" | "any")
501
+ }]