Skip to main content

oxc/
lib.rs

1#[cfg(feature = "full")]
2mod compiler;
3
4#[cfg(feature = "full")]
5pub use compiler::{Compiler, CompilerInterface};
6
7pub mod allocator {
8    //! Memory arena allocator used by all other submodules.
9    //!
10    //! See the [`oxc_allocator` module-level documentation](oxc_allocator) for more information.
11    #[doc(inline)]
12    pub use oxc_allocator::*;
13}
14
15pub mod ast {
16    #[doc(inline)]
17    pub use oxc_ast::*;
18}
19
20#[cfg(feature = "ast_visit")]
21pub mod ast_visit {
22    #[doc(inline)]
23    pub use oxc_ast_visit::*;
24}
25
26pub mod diagnostics {
27    //! Error data types and utilities for handling/reporting them.
28    //!
29    //! See the [`oxc_diagnostics` module-level documentation](oxc_diagnostics) for more information.
30    #[doc(inline)]
31    pub use oxc_diagnostics::*;
32}
33
34pub mod parser {
35    //! JavaScript/TypeScript parser.
36    //!
37    //! See the [`oxc_parser` module-level documentation](oxc_parser) for more information.
38    #[doc(inline)]
39    pub use oxc_parser::*;
40}
41
42#[cfg(feature = "regular_expression")]
43pub mod regular_expression {
44    #[doc(inline)]
45    pub use oxc_regular_expression::*;
46}
47
48pub mod span {
49    //! Source text Span.
50    //!
51    //! See the [`oxc_span` module-level documentation](oxc_span) for more information.
52    #[doc(inline)]
53    pub use oxc_span::*;
54}
55
56pub mod str {
57    //! String types.
58    //!
59    //! See the [`oxc_str` module-level documentation](oxc_str) for more information.
60    #[doc(inline)]
61    pub use oxc_str::*;
62}
63
64pub mod syntax {
65    //! Common code for JavaScript Syntax
66    //!
67    //! See the [`oxc_syntax` module-level documentation](oxc_syntax) for more information.
68    #[doc(inline)]
69    pub use oxc_syntax::*;
70}
71
72#[cfg(feature = "semantic")]
73pub mod semantic {
74    //! Semantic analysis of a JavaScript/TypeScript program.
75    //!
76    //! See the [`oxc_semantic` module-level documentation](oxc_semantic) for more information.
77    #[doc(inline)]
78    pub use oxc_semantic::*;
79}
80
81#[cfg(feature = "transformer")]
82pub mod transformer {
83    //! Transformer/Transpiler
84    //!
85    //! See the [`oxc_transformer` module-level documentation](oxc_transformer) for more
86    //! information.
87    #[doc(inline)]
88    pub use oxc_transformer::*;
89}
90
91#[cfg(feature = "transformer")]
92pub mod transformer_plugins {
93    //! Transformer/Transpiler
94    //!
95    //! See the [`oxc_transformer_plugins` module-level documentation](oxc_transformer_plugins) for more
96    //! information.
97    #[doc(inline)]
98    pub use oxc_transformer_plugins::*;
99}
100
101#[cfg(feature = "minifier")]
102pub mod minifier {
103    //! Source code minifier.
104    //!
105    //! See the [`oxc_minifier` module-level documentation](oxc_minifier) for more information.
106    #[doc(inline)]
107    pub use oxc_minifier::*;
108}
109
110#[cfg(feature = "mangler")]
111pub mod mangler {
112    #[doc(inline)]
113    pub use oxc_mangler::*;
114}
115
116#[cfg(feature = "codegen")]
117pub mod codegen {
118    //! AST code printer
119    //!
120    //! See the [`oxc_codegen` module-level documentation](oxc_codegen) for more information.
121    #[doc(inline)]
122    pub use oxc_codegen::*;
123}
124
125#[cfg(feature = "isolated_declarations")]
126pub mod isolated_declarations {
127    //! `.d.ts` emit for Isolated Declarations.
128    //!
129    //! See the [`oxc_isolated_declarations` module-level documentation](oxc_isolated_declarations)
130    //! for more information.
131    #[doc(inline)]
132    pub use oxc_isolated_declarations::*;
133}
134
135#[cfg(feature = "cfg")]
136pub mod cfg {
137    #[doc(inline)]
138    pub use oxc_cfg::*;
139}