codegraph_typescript/
lib.rs

1//! # codegraph-typescript
2//!
3//! TypeScript/JavaScript parser for CodeGraph - extracts code entities and relationships.
4//!
5//! ## Features
6//!
7//! - Parse TypeScript and JavaScript files
8//! - Extract functions, classes, interfaces, and modules
9//! - Track relationships (calls, imports, inheritance, implementations)
10//! - Support for modern JS/TS features (arrow functions, async/await, decorators)
11//! - Full integration with codegraph-parser-api
12//!
13//! ## Quick Start
14//!
15//! ```rust,no_run
16//! use codegraph_typescript::TypeScriptParser;
17//! use codegraph_parser_api::CodeParser;
18//! use codegraph::CodeGraph;
19//! use std::path::Path;
20//!
21//! # fn main() -> Result<(), Box<dyn std::error::Error>> {
22//! let mut graph = CodeGraph::in_memory()?;
23//! let parser = TypeScriptParser::new();
24//!
25//! let file_info = parser.parse_file(Path::new("src/index.ts"), &mut graph)?;
26//! println!("Parsed {} functions", file_info.functions.len());
27//! # Ok(())
28//! # }
29//! ```
30
31mod extractor;
32mod mapper;
33mod parser_impl;
34mod visitor;
35
36// Re-export parser-api types for convenience
37pub use codegraph_parser_api::{
38    CodeParser, FileInfo, ParserConfig, ParserError, ParserMetrics, ProjectInfo,
39};
40
41// Export the TypeScript parser implementation
42pub use parser_impl::TypeScriptParser;