Skip to content

Commit 2911699

Browse files
author
Jonathan D.A. Jewell
committed
Auto-commit: Sync changes [2026-03-02]
1 parent c0c5cfa commit 2911699

1 file changed

Lines changed: 47 additions & 0 deletions

File tree

URGENT-RESCRIPT-MIGRATION.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# URGENT: ReScript Migration Required
2+
3+
**Generated:** 2026-03-02
4+
**Current stable ReScript:** 12.2.0
5+
**Pre-release:** 13.0.0-alpha.2 (2025-02-27)
6+
7+
This repo has ReScript code that needs migration. Address in priority order.
8+
9+
## HIGH: ReScript 11.x → 12.2.0 Upgrade Required
10+
11+
ReScript 11 is outdated. v12 has breaking changes that need migration.
12+
13+
- `echidna-playground (^11.1.0)`
14+
- `src/rescript (^11.0.1)`
15+
16+
**Key v11 → v12 migration steps:**
17+
1. Update `package.json`: `"rescript": "^12.2.0"`
18+
2. Add `@rescript/core` and `@rescript/react` (if applicable) to dependencies
19+
3. Config: `bs-dependencies``dependencies`, `bs-dev-dependencies``dev-dependencies`
20+
4. Remove `bsc-flags` from config
21+
5. JSX: v3 is removed in v12 — must use JSX v4
22+
6. Module format: `es6`/`es6-global``esmodule` (now default)
23+
7. Migrate deprecated `Js.*` APIs → `@rescript/core` equivalents:
24+
- `Js.Dict``Dict`, `Js.Console.log``Console.log`
25+
- `Js.String2``String`, `Js.Array2``Array`
26+
- `Js.Math``Math`, `Js.Float``Float`, `Js.Int``Int`
27+
- `Js.Promise``Promise`, `Js.Nullable``Nullable`
28+
8. Functions ending in `Exn``OrThrow` (e.g. `getExn``getOrThrow`)
29+
9. Run `npx rescript-tools migrate` for automated codemods
30+
31+
---
32+
33+
## ReScript 13 Preparation (v13.0.0-alpha.2 available)
34+
35+
v13 is in alpha. These breaking changes are CONFIRMED — prepare now:
36+
37+
1. **`bsconfig.json` support removed** — must use `rescript.json` only
38+
2. **`rescript-legacy` command removed** — only modern build system
39+
3. **`bs-dependencies`/`bs-dev-dependencies`/`bsc-flags` config keys removed**
40+
4. **Uncurried `(. args) => ...` syntax removed** — use standard `(args) => ...`
41+
5. **`es6`/`es6-global` module format names removed** — use `esmodule`
42+
6. **`external-stdlib` config option removed**
43+
7. **`--dev`, `--create-sourcedirs`, `build -w` CLI flags removed**
44+
8. **`Int.fromString`/`Float.fromString` API changes** — no explicit radix arg
45+
9. **`js-post-build` behaviour changed** — now passes correct output paths
46+
47+
**Migration path:** Complete all v12 migration FIRST, then test against v13-alpha.

0 commit comments

Comments
 (0)