Skip to content

Commit e4ec6be

Browse files
committed
Auto-commit: Sync changes [2026-03-02]
1 parent 817cbc0 commit e4ec6be

1 file changed

Lines changed: 69 additions & 0 deletions

File tree

URGENT-RESCRIPT-MIGRATION.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
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+
- `7-tentacles (^11.0.0)`
14+
- `betlang/editors/vscode (^11.0.0)`
15+
- `wokelang/editors/vscode (^11.0.0)`
16+
- `oblibeny/fs/src (^11.0.0)`
17+
- `my-lang/7-tentacles (^11.0.0)`
18+
19+
**Key v11 → v12 migration steps:**
20+
1. Update `package.json`: `"rescript": "^12.2.0"`
21+
2. Add `@rescript/core` and `@rescript/react` (if applicable) to dependencies
22+
3. Config: `bs-dependencies``dependencies`, `bs-dev-dependencies``dev-dependencies`
23+
4. Remove `bsc-flags` from config
24+
5. JSX: v3 is removed in v12 — must use JSX v4
25+
6. Module format: `es6`/`es6-global``esmodule` (now default)
26+
7. Migrate deprecated `Js.*` APIs → `@rescript/core` equivalents:
27+
- `Js.Dict``Dict`, `Js.Console.log``Console.log`
28+
- `Js.String2``String`, `Js.Array2``Array`
29+
- `Js.Math``Math`, `Js.Float``Float`, `Js.Int``Int`
30+
- `Js.Promise``Promise`, `Js.Nullable``Nullable`
31+
8. Functions ending in `Exn``OrThrow` (e.g. `getExn``getOrThrow`)
32+
9. Run `npx rescript-tools migrate` for automated codemods
33+
34+
## LOW: ReScript 12.0.x/12.1.x → 12.2.0
35+
36+
Already on v12 but not latest patch. Minor bump.
37+
38+
- `ephapax/library/rescript-dom-mounter (^12.1.0)`
39+
40+
**Action:** Update `package.json` to `"rescript": "^12.2.0"`
41+
42+
## CHECK: Version Unknown or Unpinned
43+
44+
- `error-lang/compiler (no version pinned)`
45+
- `error-lang/ide (no version pinned)`
46+
- `betlang/ui (no version pinned)`
47+
- `betlang/playground (no version pinned)`
48+
- `ephapax/playground/frontend (no version pinned)`
49+
- `me-dialect (no version pinned)`
50+
51+
**Action:** Pin to `"rescript": "^12.2.0"` explicitly.
52+
53+
---
54+
55+
## ReScript 13 Preparation (v13.0.0-alpha.2 available)
56+
57+
v13 is in alpha. These breaking changes are CONFIRMED — prepare now:
58+
59+
1. **`bsconfig.json` support removed** — must use `rescript.json` only
60+
2. **`rescript-legacy` command removed** — only modern build system
61+
3. **`bs-dependencies`/`bs-dev-dependencies`/`bsc-flags` config keys removed**
62+
4. **Uncurried `(. args) => ...` syntax removed** — use standard `(args) => ...`
63+
5. **`es6`/`es6-global` module format names removed** — use `esmodule`
64+
6. **`external-stdlib` config option removed**
65+
7. **`--dev`, `--create-sourcedirs`, `build -w` CLI flags removed**
66+
8. **`Int.fromString`/`Float.fromString` API changes** — no explicit radix arg
67+
9. **`js-post-build` behaviour changed** — now passes correct output paths
68+
69+
**Migration path:** Complete all v12 migration FIRST, then test against v13-alpha.

0 commit comments

Comments
 (0)