Skip to main content

ferrijs_bundle/
lib.rs

1//! The front-end a ferrijs host runs real projects through: rolldown
2//! bundles TypeScript and `node_modules` into one ESM chunk, the chunk
3//! is compiled to `QuickJS` bytecode once, and the bytecode is cached on
4//! disk under an ABI tag so an unchanged tree skips both steps.
5
6#![allow(clippy::missing_errors_doc, clippy::too_many_lines, clippy::doc_markdown)]
7
8pub mod bundle;
9pub mod cache;
10
11pub use bundle::{BundledSource, Bundler, BundlerOptions, is_typescript_path, source_is_es_module};
12pub use cache::{BytecodeCache, CacheEntry, abi_tag, entry_key, input_set, inputs_fingerprint, source_stamp};
13pub use ferrijs::source_map::{CompiledModule, LazyMap, SourceMapper};