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 and string types.
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 syntax {
57    //! Common code for JavaScript Syntax
58    //!
59    //! See the [`oxc_syntax` module-level documentation](oxc_syntax) for more information.
60    #[doc(inline)]
61    pub use oxc_syntax::*;
62}
63
64#[cfg(feature = "semantic")]
65pub mod semantic {
66    //! Semantic analysis of a JavaScript/TypeScript program.
67    //!
68    //! See the [`oxc_semantic` module-level documentation](oxc_semantic) for more information.
69    #[doc(inline)]
70    pub use oxc_semantic::*;
71}
72
73#[cfg(feature = "transformer")]
74pub mod transformer {
75    //! Transformer/Transpiler
76    //!
77    //! See the [`oxc_transformer` module-level documentation](oxc_transformer) for more
78    //! information.
79    #[doc(inline)]
80    pub use oxc_transformer::*;
81}
82
83#[cfg(feature = "transformer")]
84pub mod transformer_plugins {
85    //! Transformer/Transpiler
86    //!
87    //! See the [`oxc_transformer_plugins` module-level documentation](oxc_transformer_plugins) for more
88    //! information.
89    #[doc(inline)]
90    pub use oxc_transformer_plugins::*;
91}
92
93#[cfg(feature = "minifier")]
94pub mod minifier {
95    //! Source code minifier.
96    //!
97    //! See the [`oxc_minifier` module-level documentation](oxc_minifier) for more information.
98    #[doc(inline)]
99    pub use oxc_minifier::*;
100}
101
102#[cfg(feature = "mangler")]
103pub mod mangler {
104    #[doc(inline)]
105    pub use oxc_mangler::*;
106}
107
108#[cfg(feature = "codegen")]
109pub mod codegen {
110    //! AST code printer
111    //!
112    //! See the [`oxc_codegen` module-level documentation](oxc_codegen) for more information.
113    #[doc(inline)]
114    pub use oxc_codegen::*;
115}
116
117#[cfg(feature = "isolated_declarations")]
118pub mod isolated_declarations {
119    //! `.d.ts` emit for Isolated Declarations.
120    //!
121    //! See the [`oxc_isolated_declarations` module-level documentation](oxc_isolated_declarations)
122    //! for more information.
123    #[doc(inline)]
124    pub use oxc_isolated_declarations::*;
125}
126
127#[cfg(feature = "cfg")]
128pub mod cfg {
129    #[doc(inline)]
130    pub use oxc_cfg::*;
131}