Status: PLAN (inventory + strategy). Execution is per-app, tracked separately. Baseline: main @ e473bcf.
Per the Hyperpolymath Standard, ReScript and TypeScript are banned estate-wide and npm/bun are replaced by Deno. The governance gates Trusted-base reduction policy and Language / package anti-pattern policy fail on nextgen-databases because its subprojects still carry these. Target mapping: UI → AffineScript (TEA); systems / perf → Rust; npm → Deno (deno.json).
143 .res/.resi/.ts/.tsx files + 4 package.json, by subproject:
| Area | Effort | Notes / target |
|---|---|---|
|
HIGHEST (~30 .res) |
Grid/Kanban/Calendar/Form/Gallery + stores + bindings (Yjs/Jotai/Webapi/Fetch). → AffineScript TEA, mirroring |
|
HIGH |
UI → AffineScript; systems/perf → Rust. |
|
MEDIUM |
CMS adapters bridging JS-only systems — candidate for a documented exception or thin Deno-ESM shim rather than full rewrite. Needs a decision. |
|
MEDIUM |
admin → AffineScript; connectors → Rust/AffineScript; playground → Deno. |
|
LOW |
Experimental — assess keep vs drop before migrating. |
4 × |
— |
→ deno.json where Deno-runnable; vscode-extension may need an exception. |
-
Leaf-first. Migrate modules with no dependents first to establish the pattern, then the apps. Glyphbase UI last (largest, binding-blocked).
-
Per-app ADR + PR. Never a big-bang; each app/subproject is its own change.
-
Language mapping. UI → AffineScript TEA; systems/perf/connectors → Rust; package.json → deno.json.
-
Exceptions. The CMS integrations and the VSCode extension bridge JS-only ecosystems; record an explicit exception rather than force a rewrite.
-
AffineScript toolchain: no compiler in CI / this container;
affinescript#56(DOM/fetch bindings) still pending — required for theglyphbase/ui/bindings/*andapi/Clientlayers. -
Until the toolchain is ready, migrate the non-UI surface first (systems → Rust, package.json → deno.json), leaving UI rewrites staged.