Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Docs: Add post on parserOptions.project = true #6520

Copy link
Copy link
Closed
@JoshuaKGoldberg

Description

@JoshuaKGoldberg
Issue body actions

Before You File a Documentation Request Please Confirm You Have Done The Following...

Suggested Changes

As part of writing #6515, I wrote up some docs on using parserOptions.project = true (#6084). That feature isn't actually part of v6 - it's just something I'd wanted to get in before or in v6.

Since it's already landed in v5, let's add a blog post explaining it! It'll be good visibility for the enhancement.

Here's what I originally drafted...

Feature: Relative tsconfig.json Projects

In typescript-eslint v5, in order to enable typed linting, your ESLint configuration must include a parserOptions.project property indicating which TSConfig(s) to use:

module.exports = {
  // ...
  parserOptions: {
    project: ['./tsconfig.json'],
  },
  // ...
};

This works well for repositories that have a single TSConfig for all files, such as small repositories using a single tsconfig.json or larger monorepos that have a tsconfig.eslint.json specifically used for linting.
But what if your project uses different TSConfig options for different TypeScript files in nested subdirectories?
Specifying the right array of relative TSConfig paths to try for each file in order can be cumbersome or downright impossible.

We recently added the option to specify parserOptions.project as just true in ESLint configurations.
This indicates to typescript-eslint that each file should be linted with the closest tsconfig.json file on disk.

module.exports = {
  // ...
  parserOptions: {
    project: true,
  },
  // ...
};

We hope using project = true simplifies configurations for repositories with nontrivial ESLint configuration setups.
We intend to add additional options around automatic TSConfig lookups to allow additional file names or other convenient behaviors.

Affected URL(s)

https://typescript-eslint.io/blog/relative-parser-options-projects perhaps? Something like that?

Metadata

Metadata

Labels

accepting prsGo ahead, send a pull request that resolves this issueGo ahead, send a pull request that resolves this issuedocumentationDocumentation ("docs") that needs adding/updatingDocumentation ("docs") that needs adding/updating

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    Morty Proxy This is a proxified and sanitized view of the page, visit original site.