Skip to content

refactor: remove obsolete website code and check unused exports - #1443

Open
fhammerschmidt wants to merge 3 commits into
rescript-lang:masterfrom
fhammerschmidt:fix/1421-dead-code
Open

fhammerschmidt wants to merge 3 commits into
rescript-lang:masterfrom
fhammerschmidt:fix/1421-dead-code

Conversation

@fhammerschmidt

@fhammerschmidt fhammerschmidt commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Obsolete compiler installations, scripts, components, and exports remained after the website and guide migrations. Remove the confirmed dead paths and make unused ReScript values and exports fail CI across all workspaces.

Fixes #1409. Part of #1421.

  • Delete the unused compiler installation, CodeMirror 5 setup, scripts, shims, duplicate MDX components, unmounted scroll-lock context, and stdlib-toc.json.
  • Trim unused URL/version helpers, Babel AST cases, warning-letter groups, guide output fields, and public interfaces. Keep live MDX mappings, compiler hover hints, internal decoders, and script dependencies such as jsdom.
  • Remove four unused direct dependencies and their orphaned lockfile entries.
  • Keep 44 necessary @live annotations: 42 in .resi interfaces and two in standalone .res modules. Remove duplicate implementation annotations and document annotating each entry point only once. Add yarn check:dead-code and a CI gate for unused values/exports; underscore bindings are intentional discards, while record-field and argument diagnostics remain advisory.

Branch: fix/1421-dead-code, based on website master (v12). No compiler repository changes.

Validation: strict ReScript compilation, dead-code check, a real temporary-unused-export failure probe, five diagnostic-check tests, 56 existing Node script tests, guide production build, and formatting pass. Docs production build and validation of all 188 example pages and relative links also pass. Removing each of the 44 remaining annotations individually produces an unused-value/export finding, confirming that all are necessary with the current analyzer. Strict compilation, formatting, and the dead-code gate pass locally. The homepage CSS prefetch test now waits for the client router and an observable React state update before focusing the prerendered link, preserving its initial absence, focus-prefetch, and blur-cleanup assertions. All six CI jobs pass on the latest commit; HomepageRouteCss passes all nine tests and the homepage suite passes all 40 tests.

Integration: keep this cleanup last among the #1421 PRs. Other API, routing, compiler-settings, and playground changes touch the same code and may supersede parts of this cleanup; rebase and drop those edits as the earlier PRs land. The branch is rebased onto current master, preserving the guide's shared favicon imports and the removal of its obsolete output directory. No static assets or screenshots were changed.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-09T23:25:05.929130Z 3cd3497 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Remove abandoned scripts, compiler installations, components, and data. Keep live MDX mappings and framework entry points, trim unused interfaces, and enforce the monorepo dead-value check in CI.

Fixes rescript-lang#1409
Remove 42 redundant implementation annotations and document keeping @LiVe in interfaces when available. Retain 44 annotations, each verified necessary by removing it individually and rerunning the analyzer.
Wait for the client router and a gallery state update before focusing the prerendered Get started link. This prevents a one-shot focus event from racing React hydration while preserving the no-prefetch, focus-prefetch, and blur-cleanup assertions.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dead code and files

1 participant