reluxscript/
lib.rs

1//! ReluxScript Compiler
2//!
3//! A language that compiles to both Babel (JavaScript) and SWC (Rust) plugins.
4
5pub mod lexer;
6pub mod parser;
7pub mod type_system;
8pub mod semantic;
9#[cfg(feature = "codegen")]
10pub mod codegen;
11pub mod mapping;
12pub mod autofix;
13pub mod luxon;
14pub mod manifest;
15// pub mod error;
16// pub mod prelude;
17
18pub use lexer::{Lexer, Token, TokenKind, Span};
19pub use parser::{Parser, Program, ParseError};
20pub use semantic::{analyze, analyze_with_base_dir, lower, SemanticError, SemanticResult, UnwrapHoister};
21#[cfg(feature = "codegen")]
22pub use codegen::{generate, generate_with_types, Target, GeneratedCode, SwcDecorator, SwcRewriter};
23pub use mapping::{
24    NodeMapping, FieldMapping, HelperMapping, PatternMapping,
25    get_node_mapping, get_field_mapping, get_helper_for_field, get_pattern_check,
26};
27pub use autofix::TokenRewriter;
28
29// WASM bindings for playground
30#[cfg(feature = "wasm")]
31pub mod wasm;
32
33// Language Server Protocol
34#[cfg(feature = "lsp")]
35pub mod lsp;