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): Complete README rewrite to concise benefit-focused format
Trim README from ~370 lines to ~55 lines. Remove exhaustive technical documentation on Rest compiler integration, build pipeline architecture, comparison tables, troubleshooting guides, and directory structure.
Retain only: one-paragraph description, three-item benefits list ("deterministic builds," "plugin-routed architecture," "checksum verification"), development reference, license, and See Also links.
Continues the benefit-focused rewrite from previous commit, matching the website's outcome-oriented direction.
|**Compatibility**| Maintain backward compatibility with esbuild while enabling Rest compiler adoption through plugin architecture. |`Source/ESBuild/RestPlugin.ts`, `Source/prepublishOnly.sh`|
86
-
|**Modularity**| Separation of concerns between build orchestration, compiler plugins, and artifact management. |`Source/ESBuild/Output.ts`, `Source/ESBuild/RestPlugin.ts`|
87
-
|**Performance**| Leverage Rest's OXC-based compiler for 10-100x speedup on TypeScript transpilation tasks. | Rest compiler integration, parallel processing |
88
-
|**Flexibility**| Environment-driven configuration enables different build strategies per deployment scenario. |`Compiler` environment variable, `REST_*` variables |
89
-
|**Observability**| Comprehensive logging and diagnostics for build process visibility and troubleshooting. |`REST_VERBOSE`, `REST_OPTIONS` configuration |
90
-
91
-
---
92
-
93
-
## Rest Compiler Integration ⛱️
94
-
95
-
The Rest compiler integration enables OXC-based TypeScript compilation as an
96
-
alternative or complement to esbuild. This section provides an overview of the
97
-
integration architecture, usage patterns, and comparison with esbuild.
98
-
99
-
### Overview of OXC-Based Compilation 📖
100
-
101
-
Rest leverages the **OXC (Oxidation Compiler)** ecosystem, a high-performance
102
-
JavaScript/TypeScript toolchain written in Rust. The OXC stack provides:
103
-
104
-
-**`oxc_parser`**: Ultra-fast JavaScript/TypeScript parser with ESTree
|**Speed**| Very Fast (10-100x tsc) | Ultra-Fast (parallel, OXC) |
190
-
|**Source Maps**| Yes | Yes |
191
-
|**Tree Shaking**| Yes | Yes |
192
-
|**Plugin System**| Rich ecosystem | Emerging |
193
-
|**Best For**| General bundling | TypeScript-heavy projects |
194
-
|**Watch Mode**| Yes | Yes (via notify) |
195
-
|**Minification**| Yes | Yes (oxc_minifier) |
196
-
197
-
### Decision Matrix: When to Use Rest
198
-
199
-
> [!NOTE] Use Rest compiler when:
200
-
>
201
-
> - Your project has heavy TypeScript usage
202
-
> - You need maximum build performance
203
-
> - You want to leverage OXC's semantic analysis
204
-
> - You're building for production with minification requirements
205
-
206
-
> [!TODO] Consider esbuild when:
207
-
>
208
-
> - You rely on specific esbuild plugins
209
-
> - Your project is primarily JavaScript
210
-
> - You need mature plugin ecosystem support
211
-
> - Build speed is less critical than compatibility
212
-
213
-
### Troubleshooting Rest Compiler 🔍
214
-
215
-
#### Rest Binary Not Found
216
-
217
-
Set `REST_BINARY_PATH` to the location of the Rest binary:
218
-
219
-
```bash
220
-
export REST_BINARY_PATH=/usr/local/bin/rest
221
-
```
39
+
# **Output** ⚫
222
40
223
-
#### Compilation Errors
41
+
> **Build processes that produce different artifacts depending on the machine, CI environment, or implicit tool versions make debugging production issues impossible.**
224
42
225
-
Enable verbose logging for detailed Rest compiler output:
43
+
_"Same commit. Same output. Every time."_
226
44
227
-
```bash
228
-
export REST_VERBOSE=true
229
-
```
230
-
231
-
#### Source Maps Not Generated
232
-
233
-
Ensure development mode or explicit source map configuration:
234
-
235
-
```bash
236
-
export NODE_ENV=development
237
-
```
238
-
239
-
---
240
-
241
-
## Compilation Pipeline
242
-
243
-
### Standard Pipeline (esbuild)
244
-
245
-
```
246
-
Source/ → esbuild → Configuration/ → Target/
247
-
```
248
-
249
-
### Rest Compiler Pipeline
250
-
251
-
When using the Rest compiler (`Compiler=Rest`), an additional stage is added:
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.
0 commit comments