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}