Skip to content

Commit 086a303

Browse files
committed
docs: highlight project-centric design philosophy
1 parent d506c33 commit 086a303

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,15 @@ TSSLint eliminates this overhead by running directly as a `tsserver` plugin. By
2323

2424
## Key Features
2525

26+
* **Project-Centric**: Treats the **Project (tsconfig)** as a first-class citizen rather than individual files. This aligns with TypeScript's internal architecture, enabling efficient cross-file type analysis and seamless support for complex monorepos.
2627
* **Zero Assumptions**: Comes with no built-in rules. It does not enforce any specific coding style or patterns, leaving full control to the developer.
2728
* **High Performance**: Runs as a `tsserver` plugin, sharing the existing `TypeChecker` instance to avoid redundant parsing and type-checking.
2829
* **Low Noise**: Violations are reported as "Message" diagnostics, ensuring they don't interfere with actual compiler errors or warnings.
2930
* **Direct AST Access**: Rule authoring uses native TypeScript APIs directly, without unnecessary abstraction layers.
3031

3132
## How It Works
3233

33-
TSSLint integrates into `tsserver` via the TypeScript plugin system, leveraging the semantic information already computed by your editor.
34+
TSSLint integrates into `tsserver` via the TypeScript plugin system, leveraging the semantic information already computed by your editor. Because TSSLint operates at the project level, it naturally understands the relationships between files defined in your `tsconfig.json`, allowing for more accurate and performant diagnostics compared to file-based linters.
3435

3536
<p align="center">
3637
<img src="architecture.png" alt="TSSLint Architecture Diagram" width="700">

0 commit comments

Comments
 (0)