Nick2bad4u/eslint-plugin-tsconfig
GitHub: Nick2bad4u/eslint-plugin-tsconfig
一款基于 ESLint 的静态分析插件,专门用于检查和规范化 TypeScript 项目的「tsconfig.json」编译配置文件。
Stars: 1 | Forks: 0
# eslint-plugin-tsconfig
[](https://github.com/Nick2bad4u/eslint-plugin-tsconfig/blob/main/LICENSE) [](https://www.npmjs.com/package/eslint-plugin-tsconfig) [](https://github.com/Nick2bad4u/eslint-plugin-tsconfig/releases) [](https://github.com/Nick2bad4u/eslint-plugin-tsconfig/stargazers) [](https://github.com/Nick2bad4u/eslint-plugin-tsconfig/forks) [](https://github.com/Nick2bad4u/eslint-plugin-tsconfig/issues) [](https://codecov.io/gh/Nick2bad4u/eslint-plugin-tsconfig)
ESLint 插件,适合希望将一致的 `tsconfig.json` 配置作为 lint 规则强制执行的团队。
使用 [`jsonc-eslint-parser`](https://github.com/ota-meshi/jsonc-eslint-parser) 对您的 `tsconfig*.json` 文件进行静态分析,并报告配置问题。
## 目录
1. [安装](#installation)
2. [快速开始 (Flat Config)](#quick-start-flat-config)
3. [预设](#presets)
4. [按预设分类的配置示例](#configuration-examples-by-preset)
5. [规则](#rules)
6. [贡献者 ✨](#contributors-)
## 安装
```
npm install --save-dev eslint-plugin-tsconfig
```
### 兼容性
- **支持的 ESLint 版本:** `9.x` 和 `10.x`
- **配置系统:** 仅支持 Flat Config (`eslint.config.*`)
- **Node.js 运行环境:** `>=22.0.0`
## 快速开始 (Flat Config)
```
import tsconfig from "eslint-plugin-tsconfig";
export default [
tsconfig.configs.recommended
];
```
这足以开始对您的 `tsconfig*.json` 文件进行 lint。
## 预设
此插件导出了九个预设:
| Preset |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [🟡](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/recommended) [`tsconfig.configs.recommended`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/recommended) |
| [🔴](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict) [`tsconfig.configs.strict`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict) |
| [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [`tsconfig.configs.all`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) |
| [🔒](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict-mode) [`tsconfig.configs["strict-mode"]`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict-mode) |
| [📦](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/module-resolution) [`tsconfig.configs["module-resolution"]`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/module-resolution) |
| [📤](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/emit-config) [`tsconfig.configs["emit-config"]`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/emit-config) |
| [🧹](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/include-hygiene) [`tsconfig.configs["include-hygiene"]`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/include-hygiene) |
| [🎯](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/lib-target) [`tsconfig.configs["lib-target"]`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/lib-target) |
| [🔗](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/project-references) [`tsconfig.configs["project-references"]`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/project-references) |
## 按预设分类的配置示例
```
import tsconfig from "eslint-plugin-tsconfig";
export default [
// Two recommended rules enabled at "error" severity.
tsconfig.configs.recommended,
// All 25 rules enabled.
// tsconfig.configs.all,
// Strict type-safety conventions.
// tsconfig.configs.strict,
// Focused subsets:
// tsconfig.configs["strict-mode"],
// tsconfig.configs["module-resolution"],
// tsconfig.configs["emit-config"],
// tsconfig.configs["include-hygiene"],
// tsconfig.configs["lib-target"],
// tsconfig.configs["project-references"],
// tsconfig.configs.jsconfig,
// tsconfig.configs.strictest,
];
```
### 解析器配置的工作原理
每个预设会自动设置:
- `files: ["**/tsconfig.json", "**/tsconfig.*.json", "**/tsconfig-*.json"]` (通过 `jsonc-eslint-parser` 定位 tsconfig JSON 文件)
- `languageOptions.parser` 设置为 `jsonc-eslint-parser`
最终用户通常**不需要**手动配置解析器。
## 规则
- `Fix` 图例:
- `🔧` = 可自动修复
- `💡` = 提供建议
- `—` = 仅报告
- `Preset key` 图例:
- [🟡](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/recommended) — [`tsconfig.configs.recommended`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/recommended)
- [🔴](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict) — [`tsconfig.configs.strict`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict)
- [💎](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strictest) — [`tsconfig.configs.strictest`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strictest)
- [🟢](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/jsconfig) — [`tsconfig.configs.jsconfig`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/jsconfig)
- [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) — [`tsconfig.configs.all`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all)
- [🔒](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict-mode) — [`tsconfig.configs["strict-mode"]`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict-mode)
- [📦](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/module-resolution) — [`tsconfig.configs["module-resolution"]`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/module-resolution)
- [📤](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/emit-config) — [`tsconfig.configs["emit-config"]`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/emit-config)
- [🧹](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/include-hygiene) — [`tsconfig.configs["include-hygiene"]`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/include-hygiene)
- [🎯](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/lib-target) — [`tsconfig.configs["lib-target"]`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/lib-target)
- [🔗](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/project-references) — [`tsconfig.configs["project-references"]`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/project-references)
| Rule | Fix | Preset key |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [`consistent-incremental-with-tsbuildinfo`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/consistent-incremental-with-tsbuildinfo) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [📤](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/emit-config) |
| [`consistent-module-resolution`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/consistent-module-resolution) | — | [🟡](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/recommended) [🔴](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [📦](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/module-resolution) |
| [`consistent-target-and-lib`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/consistent-target-and-lib) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🎯](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/lib-target) |
| [`no-allowjs-without-checkjs`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/no-allowjs-without-checkjs) | — | [🟢](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/jsconfig) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🧹](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/include-hygiene) |
| [`no-declaration-only-without-declaration`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/no-declaration-only-without-declaration) | 🔧 | [🔴](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [📤](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/emit-config) |
| [`no-deprecated-target`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/no-deprecated-target) | — | [🟡](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/recommended) [🔴](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🎯](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/lib-target) |
| [`no-disable-strict-subset`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/no-disable-strict-subset) | — | [🔴](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🔒](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict-mode) |
| [`no-emit-in-root-config`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/no-emit-in-root-config) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [📤](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/emit-config) [🔗](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/project-references) |
| [`no-esmoduleinterop-with-verbatim`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/no-esmoduleinterop-with-verbatim) | 🔧 | [🔴](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [📦](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/module-resolution) |
| [`no-esnext-target-in-library`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/no-esnext-target-in-library) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🎯](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/lib-target) |
| [`no-include-dist`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/no-include-dist) | — | [🔴](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🧹](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/include-hygiene) |
| [`no-include-node-modules`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/no-include-node-modules) | 🔧 | [🔴](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🧹](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/include-hygiene) |
| [`no-inline-source-map`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/no-inline-source-map) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [📤](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/emit-config) |
| [`no-legacy-module-detection`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/no-legacy-module-detection) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [📦](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/module-resolution) |
| [`no-legacy-module-resolution`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/no-legacy-module-resolution) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [📦](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/module-resolution) |
| [`no-rootdir-includes-outdir`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/no-rootdir-includes-outdir) | — | [🔴](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [📤](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/emit-config) |
| [`no-skip-lib-check`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/no-skip-lib-check) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🧹](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/include-hygiene) |
| [`no-suppress-implicit-any-index-errors`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/no-suppress-implicit-any-index-errors) | — | [💎](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strictest) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🔒](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict-mode) |
| [`require-bundler-module-resolution`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-bundler-module-resolution) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [📦](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/module-resolution) |
| [`require-composite-for-references`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-composite-for-references) | 🔧 | [🔴](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🔗](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/project-references) |
| [`require-declaration-map`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-declaration-map) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [📤](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/emit-config) |
| [`require-declaration-with-composite`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-declaration-with-composite) | 🔧 | [🔴](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🔗](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/project-references) |
| [`require-downlevel-iteration-with-iterators`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-downlevel-iteration-with-iterators) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🎯](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/lib-target) |
| [`require-exact-optional-property-types`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-exact-optional-property-types) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🔒](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict-mode) |
| [`require-exclude-common-artifacts`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-exclude-common-artifacts) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🧹](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/include-hygiene) |
| [`require-force-consistent-casing-in-file-names`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-force-consistent-casing-in-file-names) | 🔧 | [🟡](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/recommended) [🔴](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict) [💎](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strictest) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🧹](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/include-hygiene) |
| [`require-isolated-declarations`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-isolated-declarations) | 🔧 | [💎](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strictest) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [📤](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/emit-config) |
| [`require-isolated-modules`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-isolated-modules) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [📦](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/module-resolution) |
| [`require-no-fallthrough-cases-in-switch`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-no-fallthrough-cases-in-switch) | 🔧 | [💎](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strictest) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🔒](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict-mode) |
| [`require-no-implicit-override`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-no-implicit-override) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🔒](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict-mode) |
| [`require-no-implicit-returns`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-no-implicit-returns) | 🔧 | [💎](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strictest) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🔒](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict-mode) |
| [`require-no-property-access-from-index-signature`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-no-property-access-from-index-signature) | 🔧 | [💎](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strictest) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🔒](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict-mode) |
| [`require-no-unchecked-indexed-access`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-no-unchecked-indexed-access) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🔒](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict-mode) |
| [`require-no-unused-locals`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-no-unused-locals) | 🔧 | [💎](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strictest) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🔒](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict-mode) |
| [`require-no-unused-parameters`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-no-unused-parameters) | 🔧 | [💎](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strictest) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🔒](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict-mode) |
| [`require-outdir-when-emitting`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-outdir-when-emitting) | — | [🔴](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [📤](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/emit-config) |
| [`require-source-map-in-dev`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-source-map-in-dev) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [📤](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/emit-config) |
| [`require-strict-mode`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-strict-mode) | 🔧 | [🟡](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/recommended) [🔴](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🔒](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict-mode) |
| [`require-use-unknown-in-catch-variables`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-use-unknown-in-catch-variables) | 🔧 | [💎](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strictest) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [🔒](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/strict-mode) |
| [`require-verbatim-module-syntax`](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/require-verbatim-module-syntax) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/all) [📦](https://nick2bad4u.github.io/eslint-plugin-tsconfig/docs/rules/presets/module-resolution) |
标签:CMS安全, DNS解析, ESLint插件, JavaScript, jsonc-eslint-parser, MITM代理, NPM包, OSV-Scalibr, tsconfig.json, TypeScript, 云安全监控, 代码规范, 团队协作, 安全插件, 开源项目, 扁平化配置, 自动化攻击, 静态分析