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}