diff --git a/website/docs/en/guide/cli/lint.mdx b/website/docs/en/guide/cli/lint.mdx index aea5fa8..cbeba63 100644 --- a/website/docs/en/guide/cli/lint.mdx +++ b/website/docs/en/guide/cli/lint.mdx @@ -39,3 +39,7 @@ define.lint(({ js, ts }) => [ ts.configs.recommendedTypeChecked, ]); ``` + +## Typed linting + +Type-aware presets such as `ts.configs.recommendedTypeChecked` apply only to files included by a `tsconfig.json`. In a monorepo, list the project `tsconfig.json` files through Rslint's [`parserOptions.project`](https://rslint.rs/config/language-options#languageoptionsparseroptionsproject). See [Root configuration](../monorepo#root-configuration) for an example. diff --git a/website/docs/en/guide/monorepo.mdx b/website/docs/en/guide/monorepo.mdx index 4128219..1e949e2 100644 --- a/website/docs/en/guide/monorepo.mdx +++ b/website/docs/en/guide/monorepo.mdx @@ -49,6 +49,13 @@ import { define } from 'rstack'; define.lint(({ js, ts }) => [ js.configs.recommended, ts.configs.recommendedTypeChecked, + { + languageOptions: { + parserOptions: { + project: ['./apps/*/tsconfig.json', './packages/*/tsconfig.json'], + }, + }, + }, ]); define.fmt({ @@ -62,6 +69,8 @@ define.staged({ }); ``` +`parserOptions.project` lists the `tsconfig.json` of each project for type-aware presets and `rs check --type-check`. See [Typed linting](./cli/lint#typed-linting). + Expose these tasks through scripts in the root `package.json`: ```json title="package.json" diff --git a/website/docs/zh/guide/cli/lint.mdx b/website/docs/zh/guide/cli/lint.mdx index 0634bd3..859d69f 100644 --- a/website/docs/zh/guide/cli/lint.mdx +++ b/website/docs/zh/guide/cli/lint.mdx @@ -39,3 +39,7 @@ define.lint(({ js, ts }) => [ ts.configs.recommendedTypeChecked, ]); ``` + +## 类型感知检查 \{#typed-linting} + +`ts.configs.recommendedTypeChecked` 等类型感知预设只对 `tsconfig.json` 包含的文件生效。在 Monorepo 中,可以通过 Rslint 的 [`parserOptions.project`](https://rslint.rs/config/language-options#languageoptionsparseroptionsproject) 列出各个子项目的 `tsconfig.json`。示例请参考[根配置](../monorepo#root-configuration)。 diff --git a/website/docs/zh/guide/monorepo.mdx b/website/docs/zh/guide/monorepo.mdx index aa898b8..f83c7a6 100644 --- a/website/docs/zh/guide/monorepo.mdx +++ b/website/docs/zh/guide/monorepo.mdx @@ -49,6 +49,13 @@ import { define } from 'rstack'; define.lint(({ js, ts }) => [ js.configs.recommended, ts.configs.recommendedTypeChecked, + { + languageOptions: { + parserOptions: { + project: ['./apps/*/tsconfig.json', './packages/*/tsconfig.json'], + }, + }, + }, ]); define.fmt({ @@ -62,6 +69,8 @@ define.staged({ }); ``` +`parserOptions.project` 列出各个子项目的 `tsconfig.json`,供类型感知预设和 `rs check --type-check` 使用。详见[类型感知检查](./cli/lint#typed-linting)。 + 在根目录的 `package.json` 中提供对应脚本: ```json title="package.json"