Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. tsc.nvim

tsc.nvim

MITLuav2.10.1

A Neovim plugin for asynchronous project-wide TypeScript type-checking using the TypeScript compiler (tsc).

GitHubGitHub
546 stars33 forks0 contributors

What is tsc.nvim?

tsc.nvim is a Neovim plugin that enables asynchronous project-wide TypeScript type-checking using the TypeScript compiler (tsc). It runs type-checking in the background to avoid blocking the editor, displays results in a quickfix list, and provides visual notifications for progress and errors. It solves the problem of slow or blocking type-checking in Neovim by leveraging tsc asynchronously.

Target Audience

Neovim users who work with TypeScript projects and want fast, non-blocking type-checking integrated directly into their editor. It's particularly useful for developers who prefer using the official TypeScript compiler over LSP-based solutions.

Value Proposition

Developers choose tsc.nvim for its simplicity, reliability, and non-blocking nature. It uses the official TypeScript compiler for accurate type-checking, provides a seamless Neovim integration with quickfix lists and notifications, and offers flexible configuration for monorepos, watch mode, and alternative compilers like tsgo.

Overview

A Neovim plugin for seamless, asynchronous project-wide TypeScript type-checking using the TypeScript compiler (tsc)

Use Cases

Best For

  • Neovim users who want asynchronous TypeScript type-checking without LSP
  • Projects that rely on the official TypeScript compiler for type accuracy
  • Monorepo setups where multiple tsconfig files need to be checked
  • Developers who prefer quickfix lists over inline diagnostics for error navigation
  • Teams using watch mode for automatic type-checking on file saves
  • Users who want to integrate type-checking with plugins like Trouble or nvim-notify

Not Ideal For

  • Developers who rely on LSP servers for real-time, per-file TypeScript intelligence and refactoring tools.
  • Projects using build tools like Vite that already integrate type-checking, making tsc.nvim redundant.
  • Teams needing cross-editor compatibility, as tsc.nvim is exclusive to Neovim.

Pros & Cons

Pros

Non-blocking Type Checking

Runs tsc asynchronously to prevent editor lock-ups, with progress notifications and spinner animations, ensuring a smooth workflow as highlighted in the demo videos.

Seamless Neovim Integration

Displays errors in a quickfix list for easy navigation and works with plugins like nvim-notify and Trouble for enhanced UI experiences, as noted in the configuration options.

Flexible Configuration Options

Supports custom tsc flags, monorepos with run_as_monorepo, and alternative compilers like tsgo via bin_name or bin_path settings, providing adaptability for various project setups.

Watch Mode Automation

Can automatically run type-checks on file saves in TypeScript/TSX files, with auto_start_watch_mode for hands-free operation, improving developer efficiency.

Cons

Notification Setup Complexity

Optimal use requires nvim-notify and careful configuration to avoid notification spam, as the FAQ warns about returning notify records for proper functionality.

Monorepo Configuration Hurdles

The README admits that by default it only checks the nearest tsconfig, requiring explicit settings like run_as_monorepo=true for full monorepo support, which adds setup overhead.

Limited to Type-Checking Only

Focuses solely on type errors without providing LSP features such as code completion, go-to-definition, or refactoring tools, making it less comprehensive for advanced development needs.

Frequently Asked Questions

Quick Stats

Stars546
Forks33
Contributors0
Open Issues3
Last commit4 months ago
CreatedSince 2023

Tags

#vimscript#developer-tools#vim#asynchronous#neovim-plugin#typescript#code-quality#type-checking#error-reporting#nvim-plugin#neovim#lua#nvim#quickfix

Built With

N
Neovim
T
TypeScript
L
Lua

Included in

Neovim20.6k
Auto-fetched 1 day ago

Related Projects

nvim-javanvim-java

Painless Java in Neovim

Stars1,637
Forks88
Last commit3 months ago
flutter-tools.nvimflutter-tools.nvim

Tools to help create flutter apps in neovim using the native lsp

Stars1,393
Forks114
Last commit14 days ago
typst-preview.nvimtypst-preview.nvim

Low latency typst preview for Neovim

Stars919
Forks51
Last commit1 month ago
lean.nvimlean.nvim

Neovim support for the Lean theorem prover

Stars525
Forks50
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub