oxc_isolated_declarations

Crates.iooxc_isolated_declarations
lib.rsoxc_isolated_declarations
version0.83.0
created_at2024-06-27 12:46:48.325058+00
updated_at2025-08-29 06:53:58.020841+00
descriptionA collection of JavaScript tools written in Rust.
homepagehttps://oxc.rs
repositoryhttps://github.com/oxc-project/oxc
max_upload_size
id1285728
size165,685
Boshen (Boshen)

documentation

README

Oxc Isolated Declarations

TypeScript isolated declarations transformer for generating .d.ts files.

Overview

This crate implements TypeScript's isolated declarations feature, which generates TypeScript declaration files (.d.ts) from source code without requiring full type checking. This enables faster builds and better incremental compilation.

Key Features

  • Fast declaration generation: Generate .d.ts files without full type checking
  • TypeScript 5.5+ compatibility: Implements the latest isolated declarations specification
  • Incremental builds: Enables faster TypeScript compilation workflows
  • Comprehensive support: Handles classes, functions, interfaces, and complex types

Architecture

Isolated Declarations Concept

Isolated declarations allow generating TypeScript declaration files without full type inference by requiring that:

  • All exported functions have explicit return types
  • All exported variables have explicit types
  • Type information is locally available

Implementation Details

  • AST transformation: Convert implementation AST to declaration AST
  • Type extraction: Extract and preserve type information
  • Export analysis: Determine what needs to be included in declarations
  • Error reporting: Provide helpful diagnostics for missing type annotations

Benefits

  • Faster builds: No full type checking required
  • Incremental compilation: Each file can be processed independently
  • Parallel processing: Multiple files can be processed simultaneously
  • Simplified tooling: Easier to integrate into build systems

This implementation follows the TypeScript compiler's approach while leveraging oxc's performance-oriented architecture.

Commit count: 11571

cargo fmt