All notable changes to Rest (OXC JS Bundler) are documented here. Format: Keep a Changelog.
- Test file formatting standardized (1,806 insertions/deletions)
- README overhauled (+174 lines)
- Binary.rs separated from Library.rs entry point
- Shell scripts made POSIX-compliant
43 files changed, 3,821 insertions, 2,659 deletions.
- 7 new OXC modules in
Source/Fn/OXC/:Compiler.rs(332 lines) - main orchestration with memory-safe allocator scoping, metric tracking, compile ID loggingTransformer.rs(224 lines) - AST transformation (TypeScript strip, JSX)Compile.rs(166 lines) - compilation entry point with file I/OParser.rs(154 lines) - ultra-fast TypeScript parsing, ESTree compatCodegen.rs(142 lines) - code generation with source mapsWatch.rs(62 lines) - file system monitoring vianotifycratemod.rs(11 lines)
- SWC dependencies: swc_common, swc_ecma_ast, swc_ecma_parser, swc_ecma_transforms_base, swc_ecma_transforms_typescript, swc_ecma_codegen, swc_ecma_visit
- OXC crates: oxc_allocator, oxc_parser, oxc_transformer, oxc_minifier, oxc_codegen, oxc_semantic, oxc_span, oxc_ast
- 6 test files (~3,800 lines):
tests/unit/codegen_tests.rs(1,224 lines)tests/unit/parser_tests.rs(1,057 lines)tests/unit/transformer_tests.rs(891 lines)tests/integration/vscode_compatibility.rs(427 lines)tests/unit/oxc_compiler.rs(293 lines)tests/lib.rs(15 lines)
Problem: allocator dropped prematurely during code generation (use-after-free). Solution: entire Parse → Transform → Codegen pipeline scoped in single block, allocator lifetime extends through all stages.
- Dependency updates maintained via Dependabot
- No source changes
- Dependency bumps continued
- Architecture stable
- Incremental improvements and testing
- 105 commits, mostly sync operations
- Bug fixes, sync operations
- 104 commits
- Stabilization: 42 commits
- Dependency management
- License work
Created September 14, 2024 (commit 31c95a1).
- Initial build: 33 files, 1,596 insertions
Source/Fn/Binary/Command.rs- CLI argument orchestrationSource/Fn/Binary/Entry.rs- command entry executionSource/Fn/Binary/Parallel.rs- Rayon-based parallel compilationSource/Fn/Binary/Sequential.rs- sequential fallbackSource/Fn/Build.rs(87 lines) - high-level build coordinationSource/Fn/Bundle/- ESBuild wrapper + config parsing (286+172+246 lines)Source/Fn/NLS/- i18n bundle/extract/replace (167+110+98 lines)Source/Fn/SWC/- SWC compiler integration (pre-OXC era)Source/Fn/Transform/private_field.rs- TypeScript AST transformsSource/Fn/Worker/- worker pool management (bootstrap, compile, detect)Source/Struct/Binary/Command*.rs- CLI structure definitionsSource/Struct/CompilerConfig.rs(166 lines) - compiler configuration DTO- Cargo.toml: Edition 2024 (nightly), outputs: staticlib + cdylib + rlib
- SWC ecosystem (swc_common, swc_ecma_*, swc_ecma_codegen, swc_ecma_visit)
- tokio, rayon, serde_json, tracing, git2, walkdir, notify, globset, dashmap