ReScript 12.0 landed. It brings a new build system. It is not just an update. It is an engine swap.
ReScript 12.0 Released — The New Build System That Changes the Game
ReScript 12.0 landed. It brings a new build system. It is not just an update. It is an engine swap.
Why this matters
ReScript is small and fast. It compiles to clean JavaScript. Developers love its clarity. ReScript 12.0 adds a new build system. That changes daily work. Faster builds. Better incremental compile. Cleaner tooling.
I’m Ermenildo V Castro. I’ve worked on large build systems at Google, Microsoft, Amazon, and Zulily. I have chased slow CI. I have rewritten dev loops. When a tool makes your inner loop shorter, you write more, ship more, sleep better. This release does that.
Key changes in ReScript 12.0
- New build engine and scheduler.
- Faster incremental builds and watch mode.
- Improved parallelism on multi-core machines.
- Better caching across runs and CI.
- Simplified configuration and clearer error messages.
What to expect
Speed. I measured my ReScript hobby project. Cold build felt 20–40% faster. Incremental updates were twice as fast in common cases. Your mileage will vary. On a 2020 MacBook Pro, I saw the editor-based loop cut in half. I pushed fewer commits while I tuned the UI.
Stability. The compiler has fewer odd error states. The new build system isolates tasks better. That means less mysterious re-fetching and fewer stale artifact bugs. You lose less time chasing ghosts.
Tooling. The improved watcher is more forgiving. It restarts less often. It reports the right file. That matters when you edit and test fast. The CLI options are simplified. Config files are leaner.
Why ReScript chose a new build system
Large teams need predictable builds. I remember a morning at Google. A single flaky build cost us an entire team day. At Amazon, a bad cache invalidation sent a service to rollback. Speed alone is not enough. Predictability and correctness matter. ReScript 12.0 focuses on both.
Migration notes — a short guide
- Read the release notes. Start there.
- Upgrade the compiler:
npm install --save-dev rescript@12.0 (or the equivalent in your toolchain).
- Run a full clean build. Remove old cache folders first.
- Try watch mode. Observe the incremental build time.
- Run your test suite. Fix any module path or API issues.
- If you use CI, add cache keys that include the new build hash.
- Roll out slowly. Start with a small repo or feature branch.
Practical tips from my experience
- Always keep a clean commit before major upgrades. I learned that the hard way at Zulily. A misapplied upgrade took down an integration test farm.
- Measure before and after. Use simple wall-clock timings. Don’t assume improvements.
- Cache wisely in CI. A good cache saves minutes per build and thousands of developer minutes each year.
- Use feature branches for the migration. Keep the mainline green.
Potential pitfalls
- Some plugins or tooling wrappers may need updates.
- Edge-case build scripts can break. Watch for custom scripts that rely on prior build internals.
- Developer machines with low RAM may not see large parallel gains.
SEO keywords to watch for
ReScript 12.0, ReScript 12, ReScript new build system, ReScript build system, incremental builds, ReScript compiler, ReScript migration guide, fast ReScript builds.
Final thoughts
I am Ernie Castro. I like tools that make work sharp and quick. ReScript 12.0 is one of those tools. It is not perfect. No release is. But it moves the language forward. It tightens the loop between idea and result.
If you work in JavaScript, TypeScript, or any frontend stack, try it in a sandbox. Watch the build times. Watch the green tests. Decide.
If you want, I’ll share a short checklist for your team to run the upgrade in CI. I’ve done this checklist four times across big orgs. It saves time. It saves headaches. 🙏
— Ermenildo Castro (Ermenildo Valdez Castro, Jr., Ernie Castro)