@lincy/eslint-config 5.3.0 → 5.3.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/README.md +20 -10
- package/dist/index.cjs +1 -2
- package/dist/index.d.cts +115 -50
- package/dist/index.d.ts +115 -50
- package/dist/index.js +0 -1
- package/package.json +26 -26
package/README.md
CHANGED
|
@@ -4,15 +4,15 @@
|
|
|
4
4
|
|
|
5
5
|
> Thanks to [sxzz/eslint-config](https://github.com/sxzz/eslint-config) and [antfu/eslint-config](https://github.com/antfu/eslint-config) for the inspiration and reference.
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
7
|
+
- 单引号,无结尾分号
|
|
8
|
+
- 自动格式化
|
|
9
|
+
- 专为与 TypeScript、Vue(2/3)、React 一起使用而设计,开箱即用
|
|
10
|
+
- 也适用于 json、yaml、markdown
|
|
11
|
+
- import导入排序, 对象字⾯量项尾逗号
|
|
12
|
+
- 合理的默认值,最佳实践,只需一行配置
|
|
13
|
+
- [ESLint Flat config](https://eslint.org/docs/latest/use/configure/configuration-files-new)
|
|
14
|
+
- 使用 [ESLint Stylistic](https://github.com/eslint-stylistic/eslint-stylistic)
|
|
15
|
+
- **风格原则**: 读取最小,差异稳定
|
|
16
16
|
|
|
17
17
|
## Usage
|
|
18
18
|
|
|
@@ -44,7 +44,7 @@ export default lincy()
|
|
|
44
44
|
}
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
### VS Code support (保存时自动修复)
|
|
48
48
|
|
|
49
49
|
安装 [VS Code ESLint扩展](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
|
|
50
50
|
|
|
@@ -101,6 +101,16 @@ export default lincy()
|
|
|
101
101
|
}
|
|
102
102
|
```
|
|
103
103
|
|
|
104
|
+
### 使用.ts文件作为配置文件
|
|
105
|
+
|
|
106
|
+
1. 将`eslint`更新至最新版本
|
|
107
|
+
2. 在`package.json`中的`eslint .`后面添加参数`--flag unstable_ts_config`, 包括`scripts`、`lint-staged`中
|
|
108
|
+
3. 在`.vscode/settings.json`文件添加`"eslint.options": {
|
|
109
|
+
"flags": [
|
|
110
|
+
"unstable_ts_config"
|
|
111
|
+
]
|
|
112
|
+
}`
|
|
113
|
+
|
|
104
114
|
## 定制化
|
|
105
115
|
|
|
106
116
|
通常你只需要导入 `lincy` 预设:
|
package/dist/index.cjs
CHANGED
|
@@ -101,7 +101,7 @@ __export(src_exports, {
|
|
|
101
101
|
});
|
|
102
102
|
module.exports = __toCommonJS(src_exports);
|
|
103
103
|
|
|
104
|
-
// node_modules/.pnpm/tsup@8.3.5_jiti@2.
|
|
104
|
+
// node_modules/.pnpm/tsup@8.3.5_jiti@2.4.0_postcss@8.4.49_tsx@4.19.2_typescript@5.7.2_yaml@2.6.1/node_modules/tsup/assets/cjs_shims.js
|
|
105
105
|
var getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
|
|
106
106
|
var importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
|
|
107
107
|
|
|
@@ -1227,7 +1227,6 @@ async function react(options = {}) {
|
|
|
1227
1227
|
interopDefault(import("@eslint-react/eslint-plugin")),
|
|
1228
1228
|
// @ts-expect-error missing types
|
|
1229
1229
|
interopDefault(import("eslint-plugin-react-hooks")),
|
|
1230
|
-
// @ts-expect-error missing types
|
|
1231
1230
|
interopDefault(import("eslint-plugin-react-refresh"))
|
|
1232
1231
|
]);
|
|
1233
1232
|
const _isAllowConstantExport = ReactRefreshAllowConstantExportPackages.some(
|
package/dist/index.d.cts
CHANGED
|
@@ -387,233 +387,233 @@ interface RuleOptions {
|
|
|
387
387
|
'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>
|
|
388
388
|
/**
|
|
389
389
|
* Enforce or ban the use of inline type-only markers for named imports.
|
|
390
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
390
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/consistent-type-specifier-style.md
|
|
391
391
|
*/
|
|
392
392
|
'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>
|
|
393
393
|
/**
|
|
394
394
|
* Ensure a default export is present, given a default import.
|
|
395
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
395
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/default.md
|
|
396
396
|
*/
|
|
397
397
|
'import/default'?: Linter.RuleEntry<[]>
|
|
398
398
|
/**
|
|
399
399
|
* Enforce a leading comment with the webpackChunkName for dynamic imports.
|
|
400
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
400
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/dynamic-import-chunkname.md
|
|
401
401
|
*/
|
|
402
402
|
'import/dynamic-import-chunkname'?: Linter.RuleEntry<ImportDynamicImportChunkname>
|
|
403
403
|
/**
|
|
404
404
|
* Forbid any invalid exports, i.e. re-export of the same name.
|
|
405
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
405
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/export.md
|
|
406
406
|
*/
|
|
407
407
|
'import/export'?: Linter.RuleEntry<[]>
|
|
408
408
|
/**
|
|
409
409
|
* Ensure all exports appear after other statements.
|
|
410
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
410
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/exports-last.md
|
|
411
411
|
*/
|
|
412
412
|
'import/exports-last'?: Linter.RuleEntry<[]>
|
|
413
413
|
/**
|
|
414
414
|
* Ensure consistent use of file extension within the import path.
|
|
415
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
415
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/extensions.md
|
|
416
416
|
*/
|
|
417
417
|
'import/extensions'?: Linter.RuleEntry<ImportExtensions>
|
|
418
418
|
/**
|
|
419
419
|
* Ensure all imports appear before other statements.
|
|
420
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
420
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/first.md
|
|
421
421
|
*/
|
|
422
422
|
'import/first'?: Linter.RuleEntry<ImportFirst>
|
|
423
423
|
/**
|
|
424
424
|
* Prefer named exports to be grouped together in a single export declaration.
|
|
425
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
425
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/group-exports.md
|
|
426
426
|
*/
|
|
427
427
|
'import/group-exports'?: Linter.RuleEntry<[]>
|
|
428
428
|
/**
|
|
429
429
|
* Replaced by `import-x/first`.
|
|
430
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
430
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/imports-first.md
|
|
431
431
|
* @deprecated
|
|
432
432
|
*/
|
|
433
433
|
'import/imports-first'?: Linter.RuleEntry<ImportImportsFirst>
|
|
434
434
|
/**
|
|
435
435
|
* Enforce the maximum number of dependencies a module can have.
|
|
436
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
436
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/max-dependencies.md
|
|
437
437
|
*/
|
|
438
438
|
'import/max-dependencies'?: Linter.RuleEntry<ImportMaxDependencies>
|
|
439
439
|
/**
|
|
440
440
|
* Ensure named imports correspond to a named export in the remote file.
|
|
441
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
441
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/named.md
|
|
442
442
|
*/
|
|
443
443
|
'import/named'?: Linter.RuleEntry<ImportNamed>
|
|
444
444
|
/**
|
|
445
445
|
* Ensure imported namespaces contain dereferenced properties as they are dereferenced.
|
|
446
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
446
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/namespace.md
|
|
447
447
|
*/
|
|
448
448
|
'import/namespace'?: Linter.RuleEntry<ImportNamespace>
|
|
449
449
|
/**
|
|
450
450
|
* Enforce a newline after import statements.
|
|
451
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
451
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/newline-after-import.md
|
|
452
452
|
*/
|
|
453
453
|
'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>
|
|
454
454
|
/**
|
|
455
455
|
* Forbid import of modules using absolute paths.
|
|
456
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
456
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-absolute-path.md
|
|
457
457
|
*/
|
|
458
458
|
'import/no-absolute-path'?: Linter.RuleEntry<ImportNoAbsolutePath>
|
|
459
459
|
/**
|
|
460
460
|
* Forbid AMD `require` and `define` calls.
|
|
461
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
461
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-amd.md
|
|
462
462
|
*/
|
|
463
463
|
'import/no-amd'?: Linter.RuleEntry<[]>
|
|
464
464
|
/**
|
|
465
465
|
* Forbid anonymous values as default exports.
|
|
466
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
466
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-anonymous-default-export.md
|
|
467
467
|
*/
|
|
468
468
|
'import/no-anonymous-default-export'?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>
|
|
469
469
|
/**
|
|
470
470
|
* Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
|
|
471
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
471
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-commonjs.md
|
|
472
472
|
*/
|
|
473
473
|
'import/no-commonjs'?: Linter.RuleEntry<ImportNoCommonjs>
|
|
474
474
|
/**
|
|
475
475
|
* Forbid a module from importing a module with a dependency path back to itself.
|
|
476
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
476
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-cycle.md
|
|
477
477
|
*/
|
|
478
478
|
'import/no-cycle'?: Linter.RuleEntry<ImportNoCycle>
|
|
479
479
|
/**
|
|
480
480
|
* Forbid default exports.
|
|
481
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
481
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-default-export.md
|
|
482
482
|
*/
|
|
483
483
|
'import/no-default-export'?: Linter.RuleEntry<[]>
|
|
484
484
|
/**
|
|
485
485
|
* Forbid imported names marked with `@deprecated` documentation tag.
|
|
486
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
486
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-deprecated.md
|
|
487
487
|
*/
|
|
488
488
|
'import/no-deprecated'?: Linter.RuleEntry<[]>
|
|
489
489
|
/**
|
|
490
490
|
* Forbid repeated import of the same module in multiple places.
|
|
491
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
491
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-duplicates.md
|
|
492
492
|
*/
|
|
493
493
|
'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>
|
|
494
494
|
/**
|
|
495
495
|
* Forbid `require()` calls with expressions.
|
|
496
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
496
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-dynamic-require.md
|
|
497
497
|
*/
|
|
498
498
|
'import/no-dynamic-require'?: Linter.RuleEntry<ImportNoDynamicRequire>
|
|
499
499
|
/**
|
|
500
500
|
* Forbid empty named import blocks.
|
|
501
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
501
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-empty-named-blocks.md
|
|
502
502
|
*/
|
|
503
503
|
'import/no-empty-named-blocks'?: Linter.RuleEntry<[]>
|
|
504
504
|
/**
|
|
505
505
|
* Forbid the use of extraneous packages.
|
|
506
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
506
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-extraneous-dependencies.md
|
|
507
507
|
*/
|
|
508
508
|
'import/no-extraneous-dependencies'?: Linter.RuleEntry<ImportNoExtraneousDependencies>
|
|
509
509
|
/**
|
|
510
510
|
* Forbid import statements with CommonJS module.exports.
|
|
511
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
511
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-import-module-exports.md
|
|
512
512
|
*/
|
|
513
513
|
'import/no-import-module-exports'?: Linter.RuleEntry<ImportNoImportModuleExports>
|
|
514
514
|
/**
|
|
515
515
|
* Forbid importing the submodules of other modules.
|
|
516
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
516
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-internal-modules.md
|
|
517
517
|
*/
|
|
518
518
|
'import/no-internal-modules'?: Linter.RuleEntry<ImportNoInternalModules>
|
|
519
519
|
/**
|
|
520
520
|
* Forbid the use of mutable exports with `var` or `let`.
|
|
521
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
521
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-mutable-exports.md
|
|
522
522
|
*/
|
|
523
523
|
'import/no-mutable-exports'?: Linter.RuleEntry<[]>
|
|
524
524
|
/**
|
|
525
525
|
* Forbid use of exported name as identifier of default export.
|
|
526
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
526
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-as-default.md
|
|
527
527
|
*/
|
|
528
528
|
'import/no-named-as-default'?: Linter.RuleEntry<[]>
|
|
529
529
|
/**
|
|
530
530
|
* Forbid use of exported name as property of default export.
|
|
531
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
531
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-as-default-member.md
|
|
532
532
|
*/
|
|
533
533
|
'import/no-named-as-default-member'?: Linter.RuleEntry<[]>
|
|
534
534
|
/**
|
|
535
535
|
* Forbid named default exports.
|
|
536
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
536
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-default.md
|
|
537
537
|
*/
|
|
538
538
|
'import/no-named-default'?: Linter.RuleEntry<[]>
|
|
539
539
|
/**
|
|
540
540
|
* Forbid named exports.
|
|
541
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
541
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-export.md
|
|
542
542
|
*/
|
|
543
543
|
'import/no-named-export'?: Linter.RuleEntry<[]>
|
|
544
544
|
/**
|
|
545
545
|
* Forbid namespace (a.k.a. "wildcard" `*`) imports.
|
|
546
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
546
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-namespace.md
|
|
547
547
|
*/
|
|
548
548
|
'import/no-namespace'?: Linter.RuleEntry<ImportNoNamespace>
|
|
549
549
|
/**
|
|
550
550
|
* Forbid Node.js builtin modules.
|
|
551
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
551
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-nodejs-modules.md
|
|
552
552
|
*/
|
|
553
553
|
'import/no-nodejs-modules'?: Linter.RuleEntry<ImportNoNodejsModules>
|
|
554
554
|
/**
|
|
555
555
|
* Forbid importing packages through relative paths.
|
|
556
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
556
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-relative-packages.md
|
|
557
557
|
*/
|
|
558
558
|
'import/no-relative-packages'?: Linter.RuleEntry<ImportNoRelativePackages>
|
|
559
559
|
/**
|
|
560
560
|
* Forbid importing modules from parent directories.
|
|
561
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
561
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-relative-parent-imports.md
|
|
562
562
|
*/
|
|
563
563
|
'import/no-relative-parent-imports'?: Linter.RuleEntry<ImportNoRelativeParentImports>
|
|
564
564
|
/**
|
|
565
565
|
* Forbid importing a default export by a different name.
|
|
566
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
566
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-rename-default.md
|
|
567
567
|
*/
|
|
568
568
|
'import/no-rename-default'?: Linter.RuleEntry<ImportNoRenameDefault>
|
|
569
569
|
/**
|
|
570
570
|
* Enforce which files can be imported in a given folder.
|
|
571
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
571
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-restricted-paths.md
|
|
572
572
|
*/
|
|
573
573
|
'import/no-restricted-paths'?: Linter.RuleEntry<ImportNoRestrictedPaths>
|
|
574
574
|
/**
|
|
575
575
|
* Forbid a module from importing itself.
|
|
576
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
576
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-self-import.md
|
|
577
577
|
*/
|
|
578
578
|
'import/no-self-import'?: Linter.RuleEntry<[]>
|
|
579
579
|
/**
|
|
580
580
|
* Forbid unassigned imports.
|
|
581
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
581
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unassigned-import.md
|
|
582
582
|
*/
|
|
583
583
|
'import/no-unassigned-import'?: Linter.RuleEntry<ImportNoUnassignedImport>
|
|
584
584
|
/**
|
|
585
585
|
* Ensure imports point to a file/module that can be resolved.
|
|
586
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
586
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unresolved.md
|
|
587
587
|
*/
|
|
588
588
|
'import/no-unresolved'?: Linter.RuleEntry<ImportNoUnresolved>
|
|
589
589
|
/**
|
|
590
590
|
* Forbid modules without exports, or exports without matching import in another module.
|
|
591
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
591
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unused-modules.md
|
|
592
592
|
*/
|
|
593
593
|
'import/no-unused-modules'?: Linter.RuleEntry<ImportNoUnusedModules>
|
|
594
594
|
/**
|
|
595
595
|
* Forbid unnecessary path segments in import and require statements.
|
|
596
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
596
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-useless-path-segments.md
|
|
597
597
|
*/
|
|
598
598
|
'import/no-useless-path-segments'?: Linter.RuleEntry<ImportNoUselessPathSegments>
|
|
599
599
|
/**
|
|
600
600
|
* Forbid webpack loader syntax in imports.
|
|
601
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
601
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-webpack-loader-syntax.md
|
|
602
602
|
*/
|
|
603
603
|
'import/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
|
|
604
604
|
/**
|
|
605
605
|
* Enforce a convention in module import order.
|
|
606
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
606
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/order.md
|
|
607
607
|
*/
|
|
608
608
|
'import/order'?: Linter.RuleEntry<ImportOrder>
|
|
609
609
|
/**
|
|
610
610
|
* Prefer a default export if module exports a single name or multiple names.
|
|
611
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
611
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/prefer-default-export.md
|
|
612
612
|
*/
|
|
613
613
|
'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>
|
|
614
614
|
/**
|
|
615
615
|
* Forbid potentially ambiguous parse goal (`script` vs. `module`).
|
|
616
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
616
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/unambiguous.md
|
|
617
617
|
*/
|
|
618
618
|
'import/unambiguous'?: Linter.RuleEntry<[]>
|
|
619
619
|
/**
|
|
@@ -1360,7 +1360,7 @@ interface RuleOptions {
|
|
|
1360
1360
|
*/
|
|
1361
1361
|
'no-class-assign'?: Linter.RuleEntry<[]>
|
|
1362
1362
|
/**
|
|
1363
|
-
* Disallow comparing against
|
|
1363
|
+
* Disallow comparing against `-0`
|
|
1364
1364
|
* @see https://eslint.org/docs/latest/rules/no-compare-neg-zero
|
|
1365
1365
|
*/
|
|
1366
1366
|
'no-compare-neg-zero'?: Linter.RuleEntry<[]>
|
|
@@ -4796,6 +4796,11 @@ interface RuleOptions {
|
|
|
4796
4796
|
* @see https://typescript-eslint.io/rules/no-unsafe-return
|
|
4797
4797
|
*/
|
|
4798
4798
|
'ts/no-unsafe-return'?: Linter.RuleEntry<[]>
|
|
4799
|
+
/**
|
|
4800
|
+
* Disallow type assertions that narrow a type
|
|
4801
|
+
* @see https://typescript-eslint.io/rules/no-unsafe-type-assertion
|
|
4802
|
+
*/
|
|
4803
|
+
'ts/no-unsafe-type-assertion'?: Linter.RuleEntry<[]>
|
|
4799
4804
|
/**
|
|
4800
4805
|
* Require unary negation to take a number
|
|
4801
4806
|
* @see https://typescript-eslint.io/rules/no-unsafe-unary-minus
|
|
@@ -4953,6 +4958,11 @@ interface RuleOptions {
|
|
|
4953
4958
|
* @see https://typescript-eslint.io/rules/promise-function-async
|
|
4954
4959
|
*/
|
|
4955
4960
|
'ts/promise-function-async'?: Linter.RuleEntry<TsPromiseFunctionAsync>
|
|
4961
|
+
/**
|
|
4962
|
+
* Enforce that `get()` types should be assignable to their equivalent `set()` type
|
|
4963
|
+
* @see https://typescript-eslint.io/rules/related-getter-setter-pairs
|
|
4964
|
+
*/
|
|
4965
|
+
'ts/related-getter-setter-pairs'?: Linter.RuleEntry<[]>
|
|
4956
4966
|
/**
|
|
4957
4967
|
* Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`
|
|
4958
4968
|
* @see https://typescript-eslint.io/rules/require-array-sort-compare
|
|
@@ -6219,7 +6229,7 @@ interface RuleOptions {
|
|
|
6219
6229
|
* enforce `inheritAttrs` to be set to `false` when using `v-bind="$attrs"`
|
|
6220
6230
|
* @see https://eslint.vuejs.org/rules/no-duplicate-attr-inheritance.html
|
|
6221
6231
|
*/
|
|
6222
|
-
'vue/no-duplicate-attr-inheritance'?: Linter.RuleEntry<
|
|
6232
|
+
'vue/no-duplicate-attr-inheritance'?: Linter.RuleEntry<VueNoDuplicateAttrInheritance>
|
|
6223
6233
|
/**
|
|
6224
6234
|
* disallow duplication of attributes
|
|
6225
6235
|
* @see https://eslint.vuejs.org/rules/no-duplicate-attributes.html
|
|
@@ -6664,7 +6674,7 @@ interface RuleOptions {
|
|
|
6664
6674
|
*/
|
|
6665
6675
|
'vue/prefer-true-attribute-shorthand'?: Linter.RuleEntry<VuePreferTrueAttributeShorthand>
|
|
6666
6676
|
/**
|
|
6667
|
-
* require using `useTemplateRef` instead of `ref` for template refs
|
|
6677
|
+
* require using `useTemplateRef` instead of `ref`/`shallowRef` for template refs
|
|
6668
6678
|
* @see https://eslint.vuejs.org/rules/prefer-use-template-ref.html
|
|
6669
6679
|
*/
|
|
6670
6680
|
'vue/prefer-use-template-ref'?: Linter.RuleEntry<[]>
|
|
@@ -6778,6 +6788,11 @@ interface RuleOptions {
|
|
|
6778
6788
|
* @see https://eslint.vuejs.org/rules/require-valid-default-prop.html
|
|
6779
6789
|
*/
|
|
6780
6790
|
'vue/require-valid-default-prop'?: Linter.RuleEntry<[]>
|
|
6791
|
+
/**
|
|
6792
|
+
* enforce using only specific component names
|
|
6793
|
+
* @see https://eslint.vuejs.org/rules/restricted-component-names.html
|
|
6794
|
+
*/
|
|
6795
|
+
'vue/restricted-component-names'?: Linter.RuleEntry<VueRestrictedComponentNames>
|
|
6781
6796
|
/**
|
|
6782
6797
|
* enforce that a return statement is present in computed property
|
|
6783
6798
|
* @see https://eslint.vuejs.org/rules/return-in-computed-property.html
|
|
@@ -6804,6 +6819,11 @@ interface RuleOptions {
|
|
|
6804
6819
|
* @see https://eslint.vuejs.org/rules/singleline-html-element-content-newline.html
|
|
6805
6820
|
*/
|
|
6806
6821
|
'vue/singleline-html-element-content-newline'?: Linter.RuleEntry<VueSinglelineHtmlElementContentNewline>
|
|
6822
|
+
/**
|
|
6823
|
+
* enforce specific casing for slot names
|
|
6824
|
+
* @see https://eslint.vuejs.org/rules/slot-name-casing.html
|
|
6825
|
+
*/
|
|
6826
|
+
'vue/slot-name-casing'?: Linter.RuleEntry<VueSlotNameCasing>
|
|
6807
6827
|
/**
|
|
6808
6828
|
* enforce sort-keys in a manner that is compatible with order-in-components
|
|
6809
6829
|
* @see https://eslint.vuejs.org/rules/sort-keys.html
|
|
@@ -7861,6 +7881,7 @@ type JsdocInformativeDocs = []|[{
|
|
|
7861
7881
|
}]
|
|
7862
7882
|
// ----- jsdoc/lines-before-block -----
|
|
7863
7883
|
type JsdocLinesBeforeBlock = []|[{
|
|
7884
|
+
checkBlockStarts?: boolean
|
|
7864
7885
|
excludedTags?: string[]
|
|
7865
7886
|
ignoreSameLine?: boolean
|
|
7866
7887
|
lines?: number
|
|
@@ -10149,12 +10170,19 @@ type PerfectionistSortObjectTypes = []|[{
|
|
|
10149
10170
|
// ----- perfectionist/sort-objects -----
|
|
10150
10171
|
type PerfectionistSortObjects = []|[{
|
|
10151
10172
|
|
|
10173
|
+
destructuredObjects?: (boolean | {
|
|
10174
|
+
|
|
10175
|
+
groups?: boolean
|
|
10176
|
+
})
|
|
10177
|
+
|
|
10152
10178
|
ignorePattern?: string[]
|
|
10153
10179
|
|
|
10154
10180
|
partitionByComment?: (string[] | boolean | string)
|
|
10155
10181
|
|
|
10156
10182
|
destructureOnly?: boolean
|
|
10157
10183
|
|
|
10184
|
+
objectDeclarations?: boolean
|
|
10185
|
+
|
|
10158
10186
|
styledComponents?: boolean
|
|
10159
10187
|
|
|
10160
10188
|
partitionByNewLine?: boolean
|
|
@@ -10342,9 +10370,10 @@ type ReactNamingConventionFilenameExtension = []|[(("always" | "as-needed") | {
|
|
|
10342
10370
|
})]
|
|
10343
10371
|
// ----- react-refresh/only-export-components -----
|
|
10344
10372
|
type ReactRefreshOnlyExportComponents = []|[{
|
|
10373
|
+
allowExportNames?: string[]
|
|
10345
10374
|
allowConstantExport?: boolean
|
|
10375
|
+
customHOCs?: string[]
|
|
10346
10376
|
checkJS?: boolean
|
|
10347
|
-
allowExportNames?: string[]
|
|
10348
10377
|
}]
|
|
10349
10378
|
// ----- react/no-useless-fragment -----
|
|
10350
10379
|
type ReactNoUselessFragment = []|[{
|
|
@@ -10508,6 +10537,7 @@ type SortKeys = []|[("asc" | "desc")]|[("asc" | "desc"), {
|
|
|
10508
10537
|
natural?: boolean
|
|
10509
10538
|
minKeys?: number
|
|
10510
10539
|
allowLineSeparatedGroups?: boolean
|
|
10540
|
+
ignoreComputedKeys?: boolean
|
|
10511
10541
|
}]
|
|
10512
10542
|
// ----- sort-vars -----
|
|
10513
10543
|
type SortVars = []|[{
|
|
@@ -10600,6 +10630,8 @@ type StyleCommaDangle = []|[(_StyleCommaDangleValue | {
|
|
|
10600
10630
|
imports?: _StyleCommaDangleValueWithIgnore
|
|
10601
10631
|
exports?: _StyleCommaDangleValueWithIgnore
|
|
10602
10632
|
functions?: _StyleCommaDangleValueWithIgnore
|
|
10633
|
+
importAttributes?: _StyleCommaDangleValueWithIgnore
|
|
10634
|
+
dynamicImports?: _StyleCommaDangleValueWithIgnore
|
|
10603
10635
|
enums?: _StyleCommaDangleValueWithIgnore
|
|
10604
10636
|
generics?: _StyleCommaDangleValueWithIgnore
|
|
10605
10637
|
tuples?: _StyleCommaDangleValueWithIgnore
|
|
@@ -10749,12 +10781,20 @@ type StyleEolLast = []|[("always" | "never" | "unix" | "windows")]
|
|
|
10749
10781
|
// ----- style/func-call-spacing -----
|
|
10750
10782
|
type StyleFuncCallSpacing = ([]|["never"] | []|["always"]|["always", {
|
|
10751
10783
|
allowNewlines?: boolean
|
|
10784
|
+
optionalChain?: {
|
|
10785
|
+
before?: boolean
|
|
10786
|
+
after?: boolean
|
|
10787
|
+
}
|
|
10752
10788
|
}])
|
|
10753
10789
|
// ----- style/function-call-argument-newline -----
|
|
10754
10790
|
type StyleFunctionCallArgumentNewline = []|[("always" | "never" | "consistent")]
|
|
10755
10791
|
// ----- style/function-call-spacing -----
|
|
10756
10792
|
type StyleFunctionCallSpacing = ([]|["never"] | []|["always"]|["always", {
|
|
10757
10793
|
allowNewlines?: boolean
|
|
10794
|
+
optionalChain?: {
|
|
10795
|
+
before?: boolean
|
|
10796
|
+
after?: boolean
|
|
10797
|
+
}
|
|
10758
10798
|
}])
|
|
10759
10799
|
// ----- style/function-paren-newline -----
|
|
10760
10800
|
type StyleFunctionParenNewline = []|[(("always" | "never" | "consistent" | "multiline" | "multiline-arguments") | {
|
|
@@ -12422,6 +12462,8 @@ type TsNoConfusingVoidExpression = []|[{
|
|
|
12422
12462
|
ignoreArrowShorthand?: boolean
|
|
12423
12463
|
|
|
12424
12464
|
ignoreVoidOperator?: boolean
|
|
12465
|
+
|
|
12466
|
+
ignoreVoidReturningFunctions?: boolean
|
|
12425
12467
|
}]
|
|
12426
12468
|
// ----- ts/no-duplicate-type-constituents -----
|
|
12427
12469
|
type TsNoDuplicateTypeConstituents = []|[{
|
|
@@ -12858,6 +12900,10 @@ type TsPreferOptionalChain = []|[{
|
|
|
12858
12900
|
type TsPreferPromiseRejectErrors = []|[{
|
|
12859
12901
|
|
|
12860
12902
|
allowEmptyReject?: boolean
|
|
12903
|
+
|
|
12904
|
+
allowThrowingAny?: boolean
|
|
12905
|
+
|
|
12906
|
+
allowThrowingUnknown?: boolean
|
|
12861
12907
|
}]
|
|
12862
12908
|
// ----- ts/prefer-readonly -----
|
|
12863
12909
|
type TsPreferReadonly = []|[{
|
|
@@ -13330,6 +13376,7 @@ type VueAttributeHyphenation = []|[("always" | "never")]|[("always" | "never"),
|
|
|
13330
13376
|
} & {
|
|
13331
13377
|
[k: string]: unknown | undefined
|
|
13332
13378
|
})[]
|
|
13379
|
+
ignoreTags?: string[]
|
|
13333
13380
|
}]
|
|
13334
13381
|
// ----- vue/attributes-order -----
|
|
13335
13382
|
type VueAttributesOrder = []|[{
|
|
@@ -13382,6 +13429,8 @@ type VueCommaDangle = []|[(_VueCommaDangleValue | {
|
|
|
13382
13429
|
imports?: _VueCommaDangleValueWithIgnore
|
|
13383
13430
|
exports?: _VueCommaDangleValueWithIgnore
|
|
13384
13431
|
functions?: _VueCommaDangleValueWithIgnore
|
|
13432
|
+
importAttributes?: _VueCommaDangleValueWithIgnore
|
|
13433
|
+
dynamicImports?: _VueCommaDangleValueWithIgnore
|
|
13385
13434
|
enums?: _VueCommaDangleValueWithIgnore
|
|
13386
13435
|
generics?: _VueCommaDangleValueWithIgnore
|
|
13387
13436
|
tuples?: _VueCommaDangleValueWithIgnore
|
|
@@ -13458,6 +13507,10 @@ type VueFirstAttributeLinebreak = []|[{
|
|
|
13458
13507
|
// ----- vue/func-call-spacing -----
|
|
13459
13508
|
type VueFuncCallSpacing = ([]|["never"] | []|["always"]|["always", {
|
|
13460
13509
|
allowNewlines?: boolean
|
|
13510
|
+
optionalChain?: {
|
|
13511
|
+
before?: boolean
|
|
13512
|
+
after?: boolean
|
|
13513
|
+
}
|
|
13461
13514
|
}])
|
|
13462
13515
|
// ----- vue/html-button-has-type -----
|
|
13463
13516
|
type VueHtmlButtonHasType = []|[{
|
|
@@ -14040,6 +14093,10 @@ type VueNoDeprecatedSlotAttribute = []|[{
|
|
|
14040
14093
|
type VueNoDupeKeys = []|[{
|
|
14041
14094
|
groups?: unknown[]
|
|
14042
14095
|
}]
|
|
14096
|
+
// ----- vue/no-duplicate-attr-inheritance -----
|
|
14097
|
+
type VueNoDuplicateAttrInheritance = []|[{
|
|
14098
|
+
checkMultiRootNodes?: boolean
|
|
14099
|
+
}]
|
|
14043
14100
|
// ----- vue/no-duplicate-attributes -----
|
|
14044
14101
|
type VueNoDuplicateAttributes = []|[{
|
|
14045
14102
|
allowCoexistClass?: boolean
|
|
@@ -14275,6 +14332,7 @@ type VueNoUselessVBind = []|[{
|
|
|
14275
14332
|
// ----- vue/no-v-text-v-html-on-component -----
|
|
14276
14333
|
type VueNoVTextVHtmlOnComponent = []|[{
|
|
14277
14334
|
allow?: string[]
|
|
14335
|
+
ignoreElementNamespaces?: boolean
|
|
14278
14336
|
}]
|
|
14279
14337
|
// ----- vue/object-curly-newline -----
|
|
14280
14338
|
type VueObjectCurlyNewline = []|[((("always" | "never") | {
|
|
@@ -14395,6 +14453,10 @@ type VueRequirePropComment = []|[{
|
|
|
14395
14453
|
type VueRequireToggleInsideTransition = []|[{
|
|
14396
14454
|
additionalDirectives?: string[]
|
|
14397
14455
|
}]
|
|
14456
|
+
// ----- vue/restricted-component-names -----
|
|
14457
|
+
type VueRestrictedComponentNames = []|[{
|
|
14458
|
+
allow?: string[]
|
|
14459
|
+
}]
|
|
14398
14460
|
// ----- vue/return-in-computed-property -----
|
|
14399
14461
|
type VueReturnInComputedProperty = []|[{
|
|
14400
14462
|
treatUndefinedAsUnspecified?: boolean
|
|
@@ -14416,6 +14478,8 @@ type VueSinglelineHtmlElementContentNewline = []|[{
|
|
|
14416
14478
|
ignores?: string[]
|
|
14417
14479
|
externalIgnores?: string[]
|
|
14418
14480
|
}]
|
|
14481
|
+
// ----- vue/slot-name-casing -----
|
|
14482
|
+
type VueSlotNameCasing = []|[("camelCase" | "kebab-case" | "singleword")]
|
|
14419
14483
|
// ----- vue/sort-keys -----
|
|
14420
14484
|
type VueSortKeys = []|[("asc" | "desc")]|[("asc" | "desc"), {
|
|
14421
14485
|
caseSensitive?: boolean
|
|
@@ -14459,6 +14523,7 @@ type VueVOnEventHyphenation = []|[("always" | "never")]|[("always" | "never"), {
|
|
|
14459
14523
|
} & {
|
|
14460
14524
|
[k: string]: unknown | undefined
|
|
14461
14525
|
})[]
|
|
14526
|
+
ignoreTags?: string[]
|
|
14462
14527
|
}]
|
|
14463
14528
|
// ----- vue/v-on-function-call -----
|
|
14464
14529
|
type VueVOnFunctionCall = []|[("always" | "never")]|[("always" | "never"), {
|
package/dist/index.d.ts
CHANGED
|
@@ -387,233 +387,233 @@ interface RuleOptions {
|
|
|
387
387
|
'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>
|
|
388
388
|
/**
|
|
389
389
|
* Enforce or ban the use of inline type-only markers for named imports.
|
|
390
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
390
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/consistent-type-specifier-style.md
|
|
391
391
|
*/
|
|
392
392
|
'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>
|
|
393
393
|
/**
|
|
394
394
|
* Ensure a default export is present, given a default import.
|
|
395
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
395
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/default.md
|
|
396
396
|
*/
|
|
397
397
|
'import/default'?: Linter.RuleEntry<[]>
|
|
398
398
|
/**
|
|
399
399
|
* Enforce a leading comment with the webpackChunkName for dynamic imports.
|
|
400
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
400
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/dynamic-import-chunkname.md
|
|
401
401
|
*/
|
|
402
402
|
'import/dynamic-import-chunkname'?: Linter.RuleEntry<ImportDynamicImportChunkname>
|
|
403
403
|
/**
|
|
404
404
|
* Forbid any invalid exports, i.e. re-export of the same name.
|
|
405
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
405
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/export.md
|
|
406
406
|
*/
|
|
407
407
|
'import/export'?: Linter.RuleEntry<[]>
|
|
408
408
|
/**
|
|
409
409
|
* Ensure all exports appear after other statements.
|
|
410
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
410
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/exports-last.md
|
|
411
411
|
*/
|
|
412
412
|
'import/exports-last'?: Linter.RuleEntry<[]>
|
|
413
413
|
/**
|
|
414
414
|
* Ensure consistent use of file extension within the import path.
|
|
415
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
415
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/extensions.md
|
|
416
416
|
*/
|
|
417
417
|
'import/extensions'?: Linter.RuleEntry<ImportExtensions>
|
|
418
418
|
/**
|
|
419
419
|
* Ensure all imports appear before other statements.
|
|
420
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
420
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/first.md
|
|
421
421
|
*/
|
|
422
422
|
'import/first'?: Linter.RuleEntry<ImportFirst>
|
|
423
423
|
/**
|
|
424
424
|
* Prefer named exports to be grouped together in a single export declaration.
|
|
425
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
425
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/group-exports.md
|
|
426
426
|
*/
|
|
427
427
|
'import/group-exports'?: Linter.RuleEntry<[]>
|
|
428
428
|
/**
|
|
429
429
|
* Replaced by `import-x/first`.
|
|
430
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
430
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/imports-first.md
|
|
431
431
|
* @deprecated
|
|
432
432
|
*/
|
|
433
433
|
'import/imports-first'?: Linter.RuleEntry<ImportImportsFirst>
|
|
434
434
|
/**
|
|
435
435
|
* Enforce the maximum number of dependencies a module can have.
|
|
436
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
436
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/max-dependencies.md
|
|
437
437
|
*/
|
|
438
438
|
'import/max-dependencies'?: Linter.RuleEntry<ImportMaxDependencies>
|
|
439
439
|
/**
|
|
440
440
|
* Ensure named imports correspond to a named export in the remote file.
|
|
441
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
441
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/named.md
|
|
442
442
|
*/
|
|
443
443
|
'import/named'?: Linter.RuleEntry<ImportNamed>
|
|
444
444
|
/**
|
|
445
445
|
* Ensure imported namespaces contain dereferenced properties as they are dereferenced.
|
|
446
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
446
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/namespace.md
|
|
447
447
|
*/
|
|
448
448
|
'import/namespace'?: Linter.RuleEntry<ImportNamespace>
|
|
449
449
|
/**
|
|
450
450
|
* Enforce a newline after import statements.
|
|
451
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
451
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/newline-after-import.md
|
|
452
452
|
*/
|
|
453
453
|
'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>
|
|
454
454
|
/**
|
|
455
455
|
* Forbid import of modules using absolute paths.
|
|
456
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
456
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-absolute-path.md
|
|
457
457
|
*/
|
|
458
458
|
'import/no-absolute-path'?: Linter.RuleEntry<ImportNoAbsolutePath>
|
|
459
459
|
/**
|
|
460
460
|
* Forbid AMD `require` and `define` calls.
|
|
461
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
461
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-amd.md
|
|
462
462
|
*/
|
|
463
463
|
'import/no-amd'?: Linter.RuleEntry<[]>
|
|
464
464
|
/**
|
|
465
465
|
* Forbid anonymous values as default exports.
|
|
466
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
466
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-anonymous-default-export.md
|
|
467
467
|
*/
|
|
468
468
|
'import/no-anonymous-default-export'?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>
|
|
469
469
|
/**
|
|
470
470
|
* Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
|
|
471
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
471
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-commonjs.md
|
|
472
472
|
*/
|
|
473
473
|
'import/no-commonjs'?: Linter.RuleEntry<ImportNoCommonjs>
|
|
474
474
|
/**
|
|
475
475
|
* Forbid a module from importing a module with a dependency path back to itself.
|
|
476
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
476
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-cycle.md
|
|
477
477
|
*/
|
|
478
478
|
'import/no-cycle'?: Linter.RuleEntry<ImportNoCycle>
|
|
479
479
|
/**
|
|
480
480
|
* Forbid default exports.
|
|
481
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
481
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-default-export.md
|
|
482
482
|
*/
|
|
483
483
|
'import/no-default-export'?: Linter.RuleEntry<[]>
|
|
484
484
|
/**
|
|
485
485
|
* Forbid imported names marked with `@deprecated` documentation tag.
|
|
486
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
486
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-deprecated.md
|
|
487
487
|
*/
|
|
488
488
|
'import/no-deprecated'?: Linter.RuleEntry<[]>
|
|
489
489
|
/**
|
|
490
490
|
* Forbid repeated import of the same module in multiple places.
|
|
491
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
491
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-duplicates.md
|
|
492
492
|
*/
|
|
493
493
|
'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>
|
|
494
494
|
/**
|
|
495
495
|
* Forbid `require()` calls with expressions.
|
|
496
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
496
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-dynamic-require.md
|
|
497
497
|
*/
|
|
498
498
|
'import/no-dynamic-require'?: Linter.RuleEntry<ImportNoDynamicRequire>
|
|
499
499
|
/**
|
|
500
500
|
* Forbid empty named import blocks.
|
|
501
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
501
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-empty-named-blocks.md
|
|
502
502
|
*/
|
|
503
503
|
'import/no-empty-named-blocks'?: Linter.RuleEntry<[]>
|
|
504
504
|
/**
|
|
505
505
|
* Forbid the use of extraneous packages.
|
|
506
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
506
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-extraneous-dependencies.md
|
|
507
507
|
*/
|
|
508
508
|
'import/no-extraneous-dependencies'?: Linter.RuleEntry<ImportNoExtraneousDependencies>
|
|
509
509
|
/**
|
|
510
510
|
* Forbid import statements with CommonJS module.exports.
|
|
511
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
511
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-import-module-exports.md
|
|
512
512
|
*/
|
|
513
513
|
'import/no-import-module-exports'?: Linter.RuleEntry<ImportNoImportModuleExports>
|
|
514
514
|
/**
|
|
515
515
|
* Forbid importing the submodules of other modules.
|
|
516
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
516
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-internal-modules.md
|
|
517
517
|
*/
|
|
518
518
|
'import/no-internal-modules'?: Linter.RuleEntry<ImportNoInternalModules>
|
|
519
519
|
/**
|
|
520
520
|
* Forbid the use of mutable exports with `var` or `let`.
|
|
521
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
521
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-mutable-exports.md
|
|
522
522
|
*/
|
|
523
523
|
'import/no-mutable-exports'?: Linter.RuleEntry<[]>
|
|
524
524
|
/**
|
|
525
525
|
* Forbid use of exported name as identifier of default export.
|
|
526
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
526
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-as-default.md
|
|
527
527
|
*/
|
|
528
528
|
'import/no-named-as-default'?: Linter.RuleEntry<[]>
|
|
529
529
|
/**
|
|
530
530
|
* Forbid use of exported name as property of default export.
|
|
531
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
531
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-as-default-member.md
|
|
532
532
|
*/
|
|
533
533
|
'import/no-named-as-default-member'?: Linter.RuleEntry<[]>
|
|
534
534
|
/**
|
|
535
535
|
* Forbid named default exports.
|
|
536
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
536
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-default.md
|
|
537
537
|
*/
|
|
538
538
|
'import/no-named-default'?: Linter.RuleEntry<[]>
|
|
539
539
|
/**
|
|
540
540
|
* Forbid named exports.
|
|
541
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
541
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-export.md
|
|
542
542
|
*/
|
|
543
543
|
'import/no-named-export'?: Linter.RuleEntry<[]>
|
|
544
544
|
/**
|
|
545
545
|
* Forbid namespace (a.k.a. "wildcard" `*`) imports.
|
|
546
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
546
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-namespace.md
|
|
547
547
|
*/
|
|
548
548
|
'import/no-namespace'?: Linter.RuleEntry<ImportNoNamespace>
|
|
549
549
|
/**
|
|
550
550
|
* Forbid Node.js builtin modules.
|
|
551
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
551
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-nodejs-modules.md
|
|
552
552
|
*/
|
|
553
553
|
'import/no-nodejs-modules'?: Linter.RuleEntry<ImportNoNodejsModules>
|
|
554
554
|
/**
|
|
555
555
|
* Forbid importing packages through relative paths.
|
|
556
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
556
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-relative-packages.md
|
|
557
557
|
*/
|
|
558
558
|
'import/no-relative-packages'?: Linter.RuleEntry<ImportNoRelativePackages>
|
|
559
559
|
/**
|
|
560
560
|
* Forbid importing modules from parent directories.
|
|
561
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
561
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-relative-parent-imports.md
|
|
562
562
|
*/
|
|
563
563
|
'import/no-relative-parent-imports'?: Linter.RuleEntry<ImportNoRelativeParentImports>
|
|
564
564
|
/**
|
|
565
565
|
* Forbid importing a default export by a different name.
|
|
566
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
566
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-rename-default.md
|
|
567
567
|
*/
|
|
568
568
|
'import/no-rename-default'?: Linter.RuleEntry<ImportNoRenameDefault>
|
|
569
569
|
/**
|
|
570
570
|
* Enforce which files can be imported in a given folder.
|
|
571
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
571
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-restricted-paths.md
|
|
572
572
|
*/
|
|
573
573
|
'import/no-restricted-paths'?: Linter.RuleEntry<ImportNoRestrictedPaths>
|
|
574
574
|
/**
|
|
575
575
|
* Forbid a module from importing itself.
|
|
576
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
576
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-self-import.md
|
|
577
577
|
*/
|
|
578
578
|
'import/no-self-import'?: Linter.RuleEntry<[]>
|
|
579
579
|
/**
|
|
580
580
|
* Forbid unassigned imports.
|
|
581
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
581
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unassigned-import.md
|
|
582
582
|
*/
|
|
583
583
|
'import/no-unassigned-import'?: Linter.RuleEntry<ImportNoUnassignedImport>
|
|
584
584
|
/**
|
|
585
585
|
* Ensure imports point to a file/module that can be resolved.
|
|
586
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
586
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unresolved.md
|
|
587
587
|
*/
|
|
588
588
|
'import/no-unresolved'?: Linter.RuleEntry<ImportNoUnresolved>
|
|
589
589
|
/**
|
|
590
590
|
* Forbid modules without exports, or exports without matching import in another module.
|
|
591
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
591
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unused-modules.md
|
|
592
592
|
*/
|
|
593
593
|
'import/no-unused-modules'?: Linter.RuleEntry<ImportNoUnusedModules>
|
|
594
594
|
/**
|
|
595
595
|
* Forbid unnecessary path segments in import and require statements.
|
|
596
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
596
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-useless-path-segments.md
|
|
597
597
|
*/
|
|
598
598
|
'import/no-useless-path-segments'?: Linter.RuleEntry<ImportNoUselessPathSegments>
|
|
599
599
|
/**
|
|
600
600
|
* Forbid webpack loader syntax in imports.
|
|
601
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
601
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-webpack-loader-syntax.md
|
|
602
602
|
*/
|
|
603
603
|
'import/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
|
|
604
604
|
/**
|
|
605
605
|
* Enforce a convention in module import order.
|
|
606
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
606
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/order.md
|
|
607
607
|
*/
|
|
608
608
|
'import/order'?: Linter.RuleEntry<ImportOrder>
|
|
609
609
|
/**
|
|
610
610
|
* Prefer a default export if module exports a single name or multiple names.
|
|
611
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
611
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/prefer-default-export.md
|
|
612
612
|
*/
|
|
613
613
|
'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>
|
|
614
614
|
/**
|
|
615
615
|
* Forbid potentially ambiguous parse goal (`script` vs. `module`).
|
|
616
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
616
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/unambiguous.md
|
|
617
617
|
*/
|
|
618
618
|
'import/unambiguous'?: Linter.RuleEntry<[]>
|
|
619
619
|
/**
|
|
@@ -1360,7 +1360,7 @@ interface RuleOptions {
|
|
|
1360
1360
|
*/
|
|
1361
1361
|
'no-class-assign'?: Linter.RuleEntry<[]>
|
|
1362
1362
|
/**
|
|
1363
|
-
* Disallow comparing against
|
|
1363
|
+
* Disallow comparing against `-0`
|
|
1364
1364
|
* @see https://eslint.org/docs/latest/rules/no-compare-neg-zero
|
|
1365
1365
|
*/
|
|
1366
1366
|
'no-compare-neg-zero'?: Linter.RuleEntry<[]>
|
|
@@ -4796,6 +4796,11 @@ interface RuleOptions {
|
|
|
4796
4796
|
* @see https://typescript-eslint.io/rules/no-unsafe-return
|
|
4797
4797
|
*/
|
|
4798
4798
|
'ts/no-unsafe-return'?: Linter.RuleEntry<[]>
|
|
4799
|
+
/**
|
|
4800
|
+
* Disallow type assertions that narrow a type
|
|
4801
|
+
* @see https://typescript-eslint.io/rules/no-unsafe-type-assertion
|
|
4802
|
+
*/
|
|
4803
|
+
'ts/no-unsafe-type-assertion'?: Linter.RuleEntry<[]>
|
|
4799
4804
|
/**
|
|
4800
4805
|
* Require unary negation to take a number
|
|
4801
4806
|
* @see https://typescript-eslint.io/rules/no-unsafe-unary-minus
|
|
@@ -4953,6 +4958,11 @@ interface RuleOptions {
|
|
|
4953
4958
|
* @see https://typescript-eslint.io/rules/promise-function-async
|
|
4954
4959
|
*/
|
|
4955
4960
|
'ts/promise-function-async'?: Linter.RuleEntry<TsPromiseFunctionAsync>
|
|
4961
|
+
/**
|
|
4962
|
+
* Enforce that `get()` types should be assignable to their equivalent `set()` type
|
|
4963
|
+
* @see https://typescript-eslint.io/rules/related-getter-setter-pairs
|
|
4964
|
+
*/
|
|
4965
|
+
'ts/related-getter-setter-pairs'?: Linter.RuleEntry<[]>
|
|
4956
4966
|
/**
|
|
4957
4967
|
* Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`
|
|
4958
4968
|
* @see https://typescript-eslint.io/rules/require-array-sort-compare
|
|
@@ -6219,7 +6229,7 @@ interface RuleOptions {
|
|
|
6219
6229
|
* enforce `inheritAttrs` to be set to `false` when using `v-bind="$attrs"`
|
|
6220
6230
|
* @see https://eslint.vuejs.org/rules/no-duplicate-attr-inheritance.html
|
|
6221
6231
|
*/
|
|
6222
|
-
'vue/no-duplicate-attr-inheritance'?: Linter.RuleEntry<
|
|
6232
|
+
'vue/no-duplicate-attr-inheritance'?: Linter.RuleEntry<VueNoDuplicateAttrInheritance>
|
|
6223
6233
|
/**
|
|
6224
6234
|
* disallow duplication of attributes
|
|
6225
6235
|
* @see https://eslint.vuejs.org/rules/no-duplicate-attributes.html
|
|
@@ -6664,7 +6674,7 @@ interface RuleOptions {
|
|
|
6664
6674
|
*/
|
|
6665
6675
|
'vue/prefer-true-attribute-shorthand'?: Linter.RuleEntry<VuePreferTrueAttributeShorthand>
|
|
6666
6676
|
/**
|
|
6667
|
-
* require using `useTemplateRef` instead of `ref` for template refs
|
|
6677
|
+
* require using `useTemplateRef` instead of `ref`/`shallowRef` for template refs
|
|
6668
6678
|
* @see https://eslint.vuejs.org/rules/prefer-use-template-ref.html
|
|
6669
6679
|
*/
|
|
6670
6680
|
'vue/prefer-use-template-ref'?: Linter.RuleEntry<[]>
|
|
@@ -6778,6 +6788,11 @@ interface RuleOptions {
|
|
|
6778
6788
|
* @see https://eslint.vuejs.org/rules/require-valid-default-prop.html
|
|
6779
6789
|
*/
|
|
6780
6790
|
'vue/require-valid-default-prop'?: Linter.RuleEntry<[]>
|
|
6791
|
+
/**
|
|
6792
|
+
* enforce using only specific component names
|
|
6793
|
+
* @see https://eslint.vuejs.org/rules/restricted-component-names.html
|
|
6794
|
+
*/
|
|
6795
|
+
'vue/restricted-component-names'?: Linter.RuleEntry<VueRestrictedComponentNames>
|
|
6781
6796
|
/**
|
|
6782
6797
|
* enforce that a return statement is present in computed property
|
|
6783
6798
|
* @see https://eslint.vuejs.org/rules/return-in-computed-property.html
|
|
@@ -6804,6 +6819,11 @@ interface RuleOptions {
|
|
|
6804
6819
|
* @see https://eslint.vuejs.org/rules/singleline-html-element-content-newline.html
|
|
6805
6820
|
*/
|
|
6806
6821
|
'vue/singleline-html-element-content-newline'?: Linter.RuleEntry<VueSinglelineHtmlElementContentNewline>
|
|
6822
|
+
/**
|
|
6823
|
+
* enforce specific casing for slot names
|
|
6824
|
+
* @see https://eslint.vuejs.org/rules/slot-name-casing.html
|
|
6825
|
+
*/
|
|
6826
|
+
'vue/slot-name-casing'?: Linter.RuleEntry<VueSlotNameCasing>
|
|
6807
6827
|
/**
|
|
6808
6828
|
* enforce sort-keys in a manner that is compatible with order-in-components
|
|
6809
6829
|
* @see https://eslint.vuejs.org/rules/sort-keys.html
|
|
@@ -7861,6 +7881,7 @@ type JsdocInformativeDocs = []|[{
|
|
|
7861
7881
|
}]
|
|
7862
7882
|
// ----- jsdoc/lines-before-block -----
|
|
7863
7883
|
type JsdocLinesBeforeBlock = []|[{
|
|
7884
|
+
checkBlockStarts?: boolean
|
|
7864
7885
|
excludedTags?: string[]
|
|
7865
7886
|
ignoreSameLine?: boolean
|
|
7866
7887
|
lines?: number
|
|
@@ -10149,12 +10170,19 @@ type PerfectionistSortObjectTypes = []|[{
|
|
|
10149
10170
|
// ----- perfectionist/sort-objects -----
|
|
10150
10171
|
type PerfectionistSortObjects = []|[{
|
|
10151
10172
|
|
|
10173
|
+
destructuredObjects?: (boolean | {
|
|
10174
|
+
|
|
10175
|
+
groups?: boolean
|
|
10176
|
+
})
|
|
10177
|
+
|
|
10152
10178
|
ignorePattern?: string[]
|
|
10153
10179
|
|
|
10154
10180
|
partitionByComment?: (string[] | boolean | string)
|
|
10155
10181
|
|
|
10156
10182
|
destructureOnly?: boolean
|
|
10157
10183
|
|
|
10184
|
+
objectDeclarations?: boolean
|
|
10185
|
+
|
|
10158
10186
|
styledComponents?: boolean
|
|
10159
10187
|
|
|
10160
10188
|
partitionByNewLine?: boolean
|
|
@@ -10342,9 +10370,10 @@ type ReactNamingConventionFilenameExtension = []|[(("always" | "as-needed") | {
|
|
|
10342
10370
|
})]
|
|
10343
10371
|
// ----- react-refresh/only-export-components -----
|
|
10344
10372
|
type ReactRefreshOnlyExportComponents = []|[{
|
|
10373
|
+
allowExportNames?: string[]
|
|
10345
10374
|
allowConstantExport?: boolean
|
|
10375
|
+
customHOCs?: string[]
|
|
10346
10376
|
checkJS?: boolean
|
|
10347
|
-
allowExportNames?: string[]
|
|
10348
10377
|
}]
|
|
10349
10378
|
// ----- react/no-useless-fragment -----
|
|
10350
10379
|
type ReactNoUselessFragment = []|[{
|
|
@@ -10508,6 +10537,7 @@ type SortKeys = []|[("asc" | "desc")]|[("asc" | "desc"), {
|
|
|
10508
10537
|
natural?: boolean
|
|
10509
10538
|
minKeys?: number
|
|
10510
10539
|
allowLineSeparatedGroups?: boolean
|
|
10540
|
+
ignoreComputedKeys?: boolean
|
|
10511
10541
|
}]
|
|
10512
10542
|
// ----- sort-vars -----
|
|
10513
10543
|
type SortVars = []|[{
|
|
@@ -10600,6 +10630,8 @@ type StyleCommaDangle = []|[(_StyleCommaDangleValue | {
|
|
|
10600
10630
|
imports?: _StyleCommaDangleValueWithIgnore
|
|
10601
10631
|
exports?: _StyleCommaDangleValueWithIgnore
|
|
10602
10632
|
functions?: _StyleCommaDangleValueWithIgnore
|
|
10633
|
+
importAttributes?: _StyleCommaDangleValueWithIgnore
|
|
10634
|
+
dynamicImports?: _StyleCommaDangleValueWithIgnore
|
|
10603
10635
|
enums?: _StyleCommaDangleValueWithIgnore
|
|
10604
10636
|
generics?: _StyleCommaDangleValueWithIgnore
|
|
10605
10637
|
tuples?: _StyleCommaDangleValueWithIgnore
|
|
@@ -10749,12 +10781,20 @@ type StyleEolLast = []|[("always" | "never" | "unix" | "windows")]
|
|
|
10749
10781
|
// ----- style/func-call-spacing -----
|
|
10750
10782
|
type StyleFuncCallSpacing = ([]|["never"] | []|["always"]|["always", {
|
|
10751
10783
|
allowNewlines?: boolean
|
|
10784
|
+
optionalChain?: {
|
|
10785
|
+
before?: boolean
|
|
10786
|
+
after?: boolean
|
|
10787
|
+
}
|
|
10752
10788
|
}])
|
|
10753
10789
|
// ----- style/function-call-argument-newline -----
|
|
10754
10790
|
type StyleFunctionCallArgumentNewline = []|[("always" | "never" | "consistent")]
|
|
10755
10791
|
// ----- style/function-call-spacing -----
|
|
10756
10792
|
type StyleFunctionCallSpacing = ([]|["never"] | []|["always"]|["always", {
|
|
10757
10793
|
allowNewlines?: boolean
|
|
10794
|
+
optionalChain?: {
|
|
10795
|
+
before?: boolean
|
|
10796
|
+
after?: boolean
|
|
10797
|
+
}
|
|
10758
10798
|
}])
|
|
10759
10799
|
// ----- style/function-paren-newline -----
|
|
10760
10800
|
type StyleFunctionParenNewline = []|[(("always" | "never" | "consistent" | "multiline" | "multiline-arguments") | {
|
|
@@ -12422,6 +12462,8 @@ type TsNoConfusingVoidExpression = []|[{
|
|
|
12422
12462
|
ignoreArrowShorthand?: boolean
|
|
12423
12463
|
|
|
12424
12464
|
ignoreVoidOperator?: boolean
|
|
12465
|
+
|
|
12466
|
+
ignoreVoidReturningFunctions?: boolean
|
|
12425
12467
|
}]
|
|
12426
12468
|
// ----- ts/no-duplicate-type-constituents -----
|
|
12427
12469
|
type TsNoDuplicateTypeConstituents = []|[{
|
|
@@ -12858,6 +12900,10 @@ type TsPreferOptionalChain = []|[{
|
|
|
12858
12900
|
type TsPreferPromiseRejectErrors = []|[{
|
|
12859
12901
|
|
|
12860
12902
|
allowEmptyReject?: boolean
|
|
12903
|
+
|
|
12904
|
+
allowThrowingAny?: boolean
|
|
12905
|
+
|
|
12906
|
+
allowThrowingUnknown?: boolean
|
|
12861
12907
|
}]
|
|
12862
12908
|
// ----- ts/prefer-readonly -----
|
|
12863
12909
|
type TsPreferReadonly = []|[{
|
|
@@ -13330,6 +13376,7 @@ type VueAttributeHyphenation = []|[("always" | "never")]|[("always" | "never"),
|
|
|
13330
13376
|
} & {
|
|
13331
13377
|
[k: string]: unknown | undefined
|
|
13332
13378
|
})[]
|
|
13379
|
+
ignoreTags?: string[]
|
|
13333
13380
|
}]
|
|
13334
13381
|
// ----- vue/attributes-order -----
|
|
13335
13382
|
type VueAttributesOrder = []|[{
|
|
@@ -13382,6 +13429,8 @@ type VueCommaDangle = []|[(_VueCommaDangleValue | {
|
|
|
13382
13429
|
imports?: _VueCommaDangleValueWithIgnore
|
|
13383
13430
|
exports?: _VueCommaDangleValueWithIgnore
|
|
13384
13431
|
functions?: _VueCommaDangleValueWithIgnore
|
|
13432
|
+
importAttributes?: _VueCommaDangleValueWithIgnore
|
|
13433
|
+
dynamicImports?: _VueCommaDangleValueWithIgnore
|
|
13385
13434
|
enums?: _VueCommaDangleValueWithIgnore
|
|
13386
13435
|
generics?: _VueCommaDangleValueWithIgnore
|
|
13387
13436
|
tuples?: _VueCommaDangleValueWithIgnore
|
|
@@ -13458,6 +13507,10 @@ type VueFirstAttributeLinebreak = []|[{
|
|
|
13458
13507
|
// ----- vue/func-call-spacing -----
|
|
13459
13508
|
type VueFuncCallSpacing = ([]|["never"] | []|["always"]|["always", {
|
|
13460
13509
|
allowNewlines?: boolean
|
|
13510
|
+
optionalChain?: {
|
|
13511
|
+
before?: boolean
|
|
13512
|
+
after?: boolean
|
|
13513
|
+
}
|
|
13461
13514
|
}])
|
|
13462
13515
|
// ----- vue/html-button-has-type -----
|
|
13463
13516
|
type VueHtmlButtonHasType = []|[{
|
|
@@ -14040,6 +14093,10 @@ type VueNoDeprecatedSlotAttribute = []|[{
|
|
|
14040
14093
|
type VueNoDupeKeys = []|[{
|
|
14041
14094
|
groups?: unknown[]
|
|
14042
14095
|
}]
|
|
14096
|
+
// ----- vue/no-duplicate-attr-inheritance -----
|
|
14097
|
+
type VueNoDuplicateAttrInheritance = []|[{
|
|
14098
|
+
checkMultiRootNodes?: boolean
|
|
14099
|
+
}]
|
|
14043
14100
|
// ----- vue/no-duplicate-attributes -----
|
|
14044
14101
|
type VueNoDuplicateAttributes = []|[{
|
|
14045
14102
|
allowCoexistClass?: boolean
|
|
@@ -14275,6 +14332,7 @@ type VueNoUselessVBind = []|[{
|
|
|
14275
14332
|
// ----- vue/no-v-text-v-html-on-component -----
|
|
14276
14333
|
type VueNoVTextVHtmlOnComponent = []|[{
|
|
14277
14334
|
allow?: string[]
|
|
14335
|
+
ignoreElementNamespaces?: boolean
|
|
14278
14336
|
}]
|
|
14279
14337
|
// ----- vue/object-curly-newline -----
|
|
14280
14338
|
type VueObjectCurlyNewline = []|[((("always" | "never") | {
|
|
@@ -14395,6 +14453,10 @@ type VueRequirePropComment = []|[{
|
|
|
14395
14453
|
type VueRequireToggleInsideTransition = []|[{
|
|
14396
14454
|
additionalDirectives?: string[]
|
|
14397
14455
|
}]
|
|
14456
|
+
// ----- vue/restricted-component-names -----
|
|
14457
|
+
type VueRestrictedComponentNames = []|[{
|
|
14458
|
+
allow?: string[]
|
|
14459
|
+
}]
|
|
14398
14460
|
// ----- vue/return-in-computed-property -----
|
|
14399
14461
|
type VueReturnInComputedProperty = []|[{
|
|
14400
14462
|
treatUndefinedAsUnspecified?: boolean
|
|
@@ -14416,6 +14478,8 @@ type VueSinglelineHtmlElementContentNewline = []|[{
|
|
|
14416
14478
|
ignores?: string[]
|
|
14417
14479
|
externalIgnores?: string[]
|
|
14418
14480
|
}]
|
|
14481
|
+
// ----- vue/slot-name-casing -----
|
|
14482
|
+
type VueSlotNameCasing = []|[("camelCase" | "kebab-case" | "singleword")]
|
|
14419
14483
|
// ----- vue/sort-keys -----
|
|
14420
14484
|
type VueSortKeys = []|[("asc" | "desc")]|[("asc" | "desc"), {
|
|
14421
14485
|
caseSensitive?: boolean
|
|
@@ -14459,6 +14523,7 @@ type VueVOnEventHyphenation = []|[("always" | "never")]|[("always" | "never"), {
|
|
|
14459
14523
|
} & {
|
|
14460
14524
|
[k: string]: unknown | undefined
|
|
14461
14525
|
})[]
|
|
14526
|
+
ignoreTags?: string[]
|
|
14462
14527
|
}]
|
|
14463
14528
|
// ----- vue/v-on-function-call -----
|
|
14464
14529
|
type VueVOnFunctionCall = []|[("always" | "never")]|[("always" | "never"), {
|
package/dist/index.js
CHANGED
|
@@ -1120,7 +1120,6 @@ async function react(options = {}) {
|
|
|
1120
1120
|
interopDefault(import("@eslint-react/eslint-plugin")),
|
|
1121
1121
|
// @ts-expect-error missing types
|
|
1122
1122
|
interopDefault(import("eslint-plugin-react-hooks")),
|
|
1123
|
-
// @ts-expect-error missing types
|
|
1124
1123
|
interopDefault(import("eslint-plugin-react-refresh"))
|
|
1125
1124
|
]);
|
|
1126
1125
|
const _isAllowConstantExport = ReactRefreshAllowConstantExportPackages.some(
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lincy/eslint-config",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.3.
|
|
5
|
-
"packageManager": "pnpm@9.14.
|
|
4
|
+
"version": "5.3.1",
|
|
5
|
+
"packageManager": "pnpm@9.14.4",
|
|
6
6
|
"description": "LinCenYing's ESLint config",
|
|
7
7
|
"author": "LinCenYing <lincenying@gmail.com> (https://github.com/lincenying/)",
|
|
8
8
|
"license": "MIT",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"release": "bumpp && npm publish -r --access public",
|
|
32
32
|
"test": "vitest",
|
|
33
33
|
"typegen": "esno scripts/typegen.ts",
|
|
34
|
-
"lint": "pnpm run stub && eslint .",
|
|
34
|
+
"lint": "pnpm run stub && eslint . --flag unstable_ts_config",
|
|
35
35
|
"lint:fix": "eslint . --flag unstable_ts_config --fix",
|
|
36
36
|
"lint:ts": "tsc --noEmit",
|
|
37
37
|
"prepare": "npx simple-git-hooks"
|
|
@@ -67,33 +67,33 @@
|
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
69
|
"@antfu/eslint-define-config": "1.23.0-2",
|
|
70
|
-
"@antfu/install-pkg": "^0.
|
|
70
|
+
"@antfu/install-pkg": "^0.5.0",
|
|
71
71
|
"@clack/prompts": "^0.8.2",
|
|
72
72
|
"@eslint-community/eslint-plugin-eslint-comments": "^4.4.1",
|
|
73
73
|
"@eslint/markdown": "^6.2.1",
|
|
74
|
-
"@stylistic/eslint-plugin": "2.
|
|
75
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
76
|
-
"@typescript-eslint/parser": "8.
|
|
77
|
-
"@vitest/eslint-plugin": "^1.1.
|
|
74
|
+
"@stylistic/eslint-plugin": "2.11.0",
|
|
75
|
+
"@typescript-eslint/eslint-plugin": "8.17.0",
|
|
76
|
+
"@typescript-eslint/parser": "8.17.0",
|
|
77
|
+
"@vitest/eslint-plugin": "^1.1.14",
|
|
78
78
|
"eslint-config-flat-gitignore": "^0.3.0",
|
|
79
79
|
"eslint-flat-config-utils": "^0.4.0",
|
|
80
80
|
"eslint-merge-processors": "^0.1.0",
|
|
81
81
|
"eslint-parser-plain": "^0.1.0",
|
|
82
82
|
"eslint-plugin-antfu": "^2.7.0",
|
|
83
|
-
"eslint-plugin-import-x": "^4.
|
|
84
|
-
"eslint-plugin-jsdoc": "^50.
|
|
83
|
+
"eslint-plugin-import-x": "^4.5.0",
|
|
84
|
+
"eslint-plugin-jsdoc": "^50.6.0",
|
|
85
85
|
"eslint-plugin-jsonc": "^2.18.2",
|
|
86
86
|
"eslint-plugin-n": "^17.14.0",
|
|
87
87
|
"eslint-plugin-no-only-tests": "^3.3.0",
|
|
88
|
-
"eslint-plugin-perfectionist": "^4.
|
|
88
|
+
"eslint-plugin-perfectionist": "^4.1.2",
|
|
89
89
|
"eslint-plugin-regexp": "^2.7.0",
|
|
90
|
-
"eslint-plugin-toml": "^0.
|
|
90
|
+
"eslint-plugin-toml": "^0.12.0",
|
|
91
91
|
"eslint-plugin-unicorn": "^56.0.1",
|
|
92
92
|
"eslint-plugin-unused-imports": "^4.1.4",
|
|
93
|
-
"eslint-plugin-vue": "^9.
|
|
94
|
-
"eslint-plugin-yml": "^1.
|
|
93
|
+
"eslint-plugin-vue": "^9.32.0",
|
|
94
|
+
"eslint-plugin-yml": "^1.16.0",
|
|
95
95
|
"eslint-processor-vue-blocks": "^0.1.2",
|
|
96
|
-
"globals": "^15.
|
|
96
|
+
"globals": "^15.13.0",
|
|
97
97
|
"jsonc-eslint-parser": "^2.4.0",
|
|
98
98
|
"local-pkg": "^0.5.1",
|
|
99
99
|
"prompts": "^2.4.2",
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
},
|
|
104
104
|
"devDependencies": {
|
|
105
105
|
"@antfu/ni": "^0.23.1",
|
|
106
|
-
"@eslint-react/eslint-plugin": "^1.17.
|
|
106
|
+
"@eslint-react/eslint-plugin": "^1.17.3",
|
|
107
107
|
"@eslint-types/jsdoc": "48.2.2",
|
|
108
108
|
"@eslint-types/typescript-eslint": "^7.5.0",
|
|
109
109
|
"@eslint-types/unicorn": "^52.0.0",
|
|
@@ -112,29 +112,29 @@
|
|
|
112
112
|
"@prettier/plugin-xml": "^3.4.1",
|
|
113
113
|
"@stylistic/eslint-plugin-migrate": "^2.11.0",
|
|
114
114
|
"@types/fs-extra": "^11.0.4",
|
|
115
|
-
"@types/node": "^22.
|
|
115
|
+
"@types/node": "^22.10.1",
|
|
116
116
|
"@types/prompts": "^2.4.9",
|
|
117
|
-
"@unocss/eslint-plugin": "^0.
|
|
117
|
+
"@unocss/eslint-plugin": "^0.65.0",
|
|
118
118
|
"bumpp": "^9.8.1",
|
|
119
|
-
"eslint": "^9.
|
|
120
|
-
"eslint-plugin-format": "^0.1.
|
|
119
|
+
"eslint": "^9.16.0",
|
|
120
|
+
"eslint-plugin-format": "^0.1.3",
|
|
121
121
|
"eslint-plugin-react-hooks": "^5.0.0",
|
|
122
|
-
"eslint-plugin-react-refresh": "^0.4.
|
|
122
|
+
"eslint-plugin-react-refresh": "^0.4.16",
|
|
123
123
|
"eslint-ts-patch": "9.8.0-1",
|
|
124
124
|
"eslint-typegen": "^0.3.2",
|
|
125
125
|
"esno": "^4.8.0",
|
|
126
126
|
"fs-extra": "^11.2.0",
|
|
127
127
|
"lint-staged": "^15.2.10",
|
|
128
|
-
"prettier": "^3.
|
|
128
|
+
"prettier": "^3.4.1",
|
|
129
129
|
"react": "^18.3.1",
|
|
130
130
|
"rimraf": "^6.0.1",
|
|
131
131
|
"simple-git-hooks": "^2.11.1",
|
|
132
132
|
"simple-open-url": "^3.0.1",
|
|
133
133
|
"sucrase": "^3.35.0",
|
|
134
134
|
"tsup": "^8.3.5",
|
|
135
|
-
"typescript": "^5.
|
|
135
|
+
"typescript": "^5.7.2",
|
|
136
136
|
"unbuild": "^2.0.0",
|
|
137
|
-
"vitest": "^2.1.
|
|
137
|
+
"vitest": "^2.1.8",
|
|
138
138
|
"vue": "^3.5.13"
|
|
139
139
|
},
|
|
140
140
|
"pnpm": {
|
|
@@ -146,8 +146,8 @@
|
|
|
146
146
|
},
|
|
147
147
|
"resolutions": {
|
|
148
148
|
"@eslint-community/eslint-utils": "^4.4.1",
|
|
149
|
-
"@typescript-eslint/utils": "^8.
|
|
150
|
-
"eslint": "^9.
|
|
149
|
+
"@typescript-eslint/utils": "^8.17.0",
|
|
150
|
+
"eslint": "^9.16.0",
|
|
151
151
|
"tsx": "^4.19.2"
|
|
152
152
|
},
|
|
153
153
|
"simple-git-hooks": {
|