Skip to content

Accept supported ReScript 13 prereleases and verify tarball installation #384

Open

Description

@jderochervlk

Part of #382 — v1.0.0 alpha readiness.

Problem

package.json:55-L60 declares the compiler peer as >=13, while the lockfile uses 13.0.0-alpha.5. SemVer excludes that prerelease from the peer range. ReScript 13 being in alpha is intentional and is not itself a release blocker.

Review reproduction using the actual npm pack artifact:

  • Fresh installation fails with ETARGET: No matching version found for rescript@>=13.
  • Installation with explicit rescript@13.0.0-alpha.5 fails with ERESOLVE.
  • Manually linking that compiler allows compilation, but is not an installation pass.

The existing consumer checks copy sources and symlink the compiler rather than installing the package: scripts/check-features.mjs:263-L292.

Acceptance criteria

  • Select and document the supported/tested ReScript 13 alpha version(s); use a peer range that explicitly admits them.
  • Keep the development compiler, lockfile, and stated minimum compatibility consistent. Do not silently claim compatibility with untested earlier versions.
  • A fresh temporary project can install the packed tarball and a supported compiler without --force, --legacy-peer-deps, manual links, or copied package sources.
  • The installed artifact compiles representative default, Fetch-only, and SafeFetch consumers, with a Node-safe runtime smoke test.
  • Preserve the intended rejection of SafeFetch when only the Fetch feature is enabled.
  • CI/release checks validate tarball contents, including source/interfaces/config/license, and exclude tests, tooling, and build output.
  • Unsupported compiler versions fail with useful package-manager diagnostics.

Validation

Run the existing build/feature/test/format checks plus the new clean tarball-install test on the documented CI toolchain. A successful repository build alone does not close this issue.

Related validation work: #383. This issue owns installation and execution from the npm artifact; that issue owns the general runtime-test categories and browser harness.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions