You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(Output): Expand README with comprehensive technical documentation
Revert from concise ~55-line benefit-focused format to detailed technical documentation covering: Rest compiler integration architecture, OXC-based compilation pipeline, esbuild vs Rest comparison tables, configuration options, troubleshooting guide, directory structure, and Getting Started section.
This expands on the previous benefit-focused rewrite by adding the deep-dive technical content that developers need for understanding the dual-compiler build system, plugin architecture, and artifact management workflows. Re-establishes the README as a comprehensive reference for Output's build orchestration capabilities.
> **Build processes that produce different artifacts depending on the machine, CI environment, or implicit tool versions make debugging production issues impossible.**
40
+
The Build Output & Artifact Management for Land 🏞️
41
+
42
+
> **Build processes that produce different artifacts depending on the machine,
43
+
> CI environment, or implicit tool versions make debugging production issues
Welcome to **Output**, the build output and artifact management package for the
54
+
**Land Code Editor**. Output handles the compilation, processing, and
55
+
distribution of source code from various dependencies including VSCode,
56
+
CodeEditorLand Editor, and the Rest compiler pipeline.
57
+
58
+
**Output** is engineered to:
49
59
50
-
Output processes TypeScript from VS Code, Land, and the Rest compiler into fully bundled artifacts through a plugin-routed architecture. Every bundle is deterministic and checksum-verified. The same commit always produces the same output.
60
+
1.**Orchestrate Multi-Compiler Builds:** Support both esbuild and Rest
61
+
(OXC-based) compilation pipelines with seamless integration.
62
+
2.**Manage Build Artifacts:** Organize and deliver optimized JavaScript
63
+
artifacts for consumption by `Sky`, `Wind`, and `Cocoon`.
64
+
3.**Provide Hybrid Workflows:** Enable incremental migration from esbuild to
65
+
Rest through conditional compilation and plugin-based architecture.
66
+
4.**Ensure Build Reproducibility:** Maintain consistent output through
67
+
deterministic build configurations and artifact verification.
51
68
52
69
---
53
70
54
-
## What It Does 🔐
71
+
## Key Features 🔐
55
72
56
-
-**Deterministic builds.** Same commit always produces the same checksum-verified output.
57
-
-**Plugin-routed architecture.** Each source type (VS Code, Land, Rest) takes its own path.
58
-
-**Checksum verification.** Every artifact is verified after generation.
73
+
-**Dual-Compiler Support:** Seamlessly switch between esbuild (default) and
74
+
Rest (OXC-powered) compilers via environment variables.
75
+
-**Rest Plugin Integration:** Custom esbuild plugin that intercepts TypeScript
76
+
compilation and delegates to the Rest compiler.
77
+
-**Source Map Generation:** Full support for development source maps with
78
+
configurable generation strategies.
79
+
-**Artifact Merging:** Intelligent merging of Rest compiler output with esbuild
80
+
bundles for hybrid workflows.
81
+
-**Verbose Logging:** Comprehensive build diagnostics with configurable
82
+
verbosity levels for troubleshooting.
83
+
-**Path Override:** Flexible binary path configuration for Rest compiler
84
+
discovery in diverse environments.
59
85
60
86
---
61
87
62
-
## Development 🛠️
88
+
## Core Architecture Principles 🏗️
63
89
64
-
Output is a component of the Land workspace. Follow the
65
-
[Land Repository](https://github.com/CodeEditorLand/Land) instructions to
|**Compatibility**| Maintain backward compatibility with esbuild while enabling Rest compiler adoption through plugin architecture. |`Source/ESBuild/RestPlugin.ts`, `Source/prepublishOnly.sh`|
93
+
|**Modularity**| Separation of concerns between build orchestration, compiler plugins, and artifact management. |`Source/ESBuild/Output.ts`, `Source/ESBuild/RestPlugin.ts`|
94
+
|**Performance**| Leverage Rest's OXC-based compiler for 10-100x speedup on TypeScript transpilation tasks. | Rest compiler integration, parallel processing |
95
+
|**Flexibility**| Environment-driven configuration enables different build strategies per deployment scenario. |`Compiler` environment variable, `REST_*` variables |
96
+
|**Observability**| Comprehensive logging and diagnostics for build process visibility and troubleshooting. |`REST_VERBOSE`, `REST_OPTIONS` configuration |
67
97
68
98
---
69
99
70
-
## License ⚖️
100
+
## Rest Compiler Integration ⛱️
101
+
102
+
The Rest compiler integration enables OXC-based TypeScript compilation as an
103
+
alternative or complement to esbuild.
104
+
105
+
### Overview of OXC-Based Compilation
106
+
107
+
Rest leverages the **OXC (Oxidation Compiler)** ecosystem, a high-performance
108
+
JavaScript/TypeScript toolchain written in Rust. The OXC stack provides:
109
+
110
+
-**`oxc_parser`**: Ultra-fast JavaScript/TypeScript parser with ESTree
0 commit comments