Skip to main content

perry_wit/
lib.rs

1//! Perry-WIT: compiles TypeScript directly into WASI 0.3 WebAssembly components.
2//!
3//! Pipeline: TypeScript → specialized HIR (`perry_frontend`) → eager MIR (`perry_lower`,
4//! `perry_mir`) → Wasm dialect (`perry_codegen`, `pliron_wasm`) → linked core Wasm → component.
5//! Runtime libraries are built in their own workspace and embedded through `perry_rt_build`.
6
7pub mod api;
8mod audit;
9pub mod compiler;
10pub use api::compile as compile_with_diagnostics;
11pub use diagnostics::{
12    CompileError, DiagnosticCode, DiagnosticSeverity, PerryDiagnostic, SourceSpan,
13};
14pub use perry_wit_diagnostics as diagnostics;
15pub mod component;
16mod link;
17pub mod sdk;
18mod strip;
19
20pub use compiler::{
21    CompileOptions, Compiled, ComponentOutput, compile_core, compile_file, compile_for_world,
22    compile_typescript,
23};
24pub use sdk::{SdkOptions, SdkResult, generate_sdk_files};