Nick2bad4u/eslint-plugin-tsconfig

GitHub: Nick2bad4u/eslint-plugin-tsconfig

一款基于 ESLint 的静态分析插件,专门用于检查和规范化 TypeScript 项目的「tsconfig.json」编译配置文件。

Stars: 1 | Forks: 0

# eslint-plugin-tsconfig [![npm 许可证。](https://flat.badgen.net/npm/license/eslint-plugin-tsconfig?color=purple)](https://github.com/Nick2bad4u/eslint-plugin-tsconfig/blob/main/LICENSE) [![npm 总下载量。](https://flat.badgen.net/npm/dt/eslint-plugin-tsconfig?color=pink)](https://www.npmjs.com/package/eslint-plugin-tsconfig) [![最新 GitHub 发行版。](https://flat.badgen.net/github/release/Nick2bad4u/eslint-plugin-tsconfig?color=cyan)](https://github.com/Nick2bad4u/eslint-plugin-tsconfig/releases) [![GitHub Stars。](https://flat.badgen.net/github/stars/Nick2bad4u/eslint-plugin-tsconfig?color=yellow)](https://github.com/Nick2bad4u/eslint-plugin-tsconfig/stargazers) [![GitHub Forks。](https://flat.badgen.net/github/forks/Nick2bad4u/eslint-plugin-tsconfig?color=green)](https://github.com/Nick2bad4u/eslint-plugin-tsconfig/forks) [![GitHub 未解决的问题。](https://flat.badgen.net/github/open-issues/Nick2bad4u/eslint-plugin-tsconfig?color=red)](https://github.com/Nick2bad4u/eslint-plugin-tsconfig/issues) [![codecov。](https://flat.badgen.net/codecov/github/Nick2bad4u/eslint-plugin-tsconfig?color=blue)](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, 云安全监控, 代码规范, 团队协作, 安全插件, 开源项目, 扁平化配置, 自动化攻击, 静态分析