Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: rescript-lang/rescript
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: rescript-lang/rescript
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: maintenance/12.x
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 18 commits
  • 83 files changed
  • 5 contributors

Commits on Jan 27, 2026

  1. Set version to 12.2.0-rc.1

    cknitt committed Jan 27, 2026
    Configuration menu
    Copy the full SHA
    b62298a View commit details
    Browse the repository at this point in the history
  2. reanalyze: fix reactive invalidation on refs-only changes

    When transitive mode is off, dead-value reporting depends on hasRefBelow, which depends on value_refs_from (cross-file refs).
    
    Fix ReactiveSolver so per-file issues are recomputed when value_refs_from changes, not only when dead_decls_by_file changes. This prevents stale warnings in long-lived reanalyze-server sessions.
    
    Also add -transitive/-no-transitive CLI overrides (overriding rescript.json) and document/regenerate the checked-in non-transitive reactive pipeline mermaid diagram.
    
    Signed-off-by: Cristiano Calcagno <cristianoc@users.noreply.github.com>
    cristianoc authored and cknitt committed Jan 27, 2026
    Configuration menu
    Copy the full SHA
    8fbd4c0 View commit details
    Browse the repository at this point in the history
  3. Add duplicate package detection to rewatch (#8180)

    * Add duplicate package detection to rewatch
    
    * Add changelog
    
    * Warn to stderr
    
    * Set runtime env var
    
    * fmt
    nojaf authored and cknitt committed Jan 27, 2026
    Configuration menu
    Copy the full SHA
    f51ddc2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5010fbb View commit details
    Browse the repository at this point in the history
  5. Improve js-post-build (#8190)

    * Use correct js path
    
    * Print stdout/stderr of js-post-build
    
    * Add changelog
    
    * Update documentation
    
    * Mention the working dir as well
    # Conflicts:
    #	CHANGELOG.md
    #	docs/docson/build-schema.json
    #	rewatch/CompilerConfigurationSpec.md
    #	tests/build_tests/post-build/input.js
    nojaf authored and cknitt committed Jan 27, 2026
    Configuration menu
    Copy the full SHA
    0bfe571 View commit details
    Browse the repository at this point in the history
  6. Use rescript.json dir as working dir for js-post-build (#8195)

    * Use rescript.json working dir.
    
    * Add changelog
    nojaf authored and cknitt committed Jan 27, 2026
    Configuration menu
    Copy the full SHA
    4981cf1 View commit details
    Browse the repository at this point in the history
  7. reanalyze: add scoped @@live/@@dead annotations

    Add support for @@live/@@dead to set a default liveness annotation for subsequent items in a module/file scope, inheriting into nested modules and allowing later overrides.
    
    Add focused DCE fixtures covering override + scope boundaries and live-vs-dead liveness propagation.
    
    Update reanalyze deadcode expected output.
    cristianoc authored and cknitt committed Jan 27, 2026
    Configuration menu
    Copy the full SHA
    9a35dad View commit details
    Browse the repository at this point in the history
  8. reanalyze: restore toplevel ocaml.warning suppression

    Fix CollectAnnotations so top-level [@@ocaml.warning("-32")] / [@@warning] continues to suppress dead-value warnings even with scoped @@live/@@dead support.
    
    Add regression fixture and update expected deadcode output.
    cristianoc authored and cknitt committed Jan 27, 2026
    Configuration menu
    Copy the full SHA
    0275b76 View commit details
    Browse the repository at this point in the history
  9. Override module type for CommonJS runtime (#8194)

    * Explicitly add type commonjs for commonjs runtime
    
    * Update artifacts.json
    
    * Remove es6 package.json because it's already the default
    
    * Update CHANGELOG
    
    * WIP: Add tests
    
    * commit yarn.lock
    
    * Update CHANGELOG.md
    
    Co-authored-by: Christoph Knittel <christoph@knittel.cc>
    
    ---------
    
    Co-authored-by: Christoph Knittel <christoph@knittel.cc>
    # Conflicts:
    #	biome.json
    shulhi and cknitt committed Jan 27, 2026
    Configuration menu
    Copy the full SHA
    b973969 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    c4f6003 View commit details
    Browse the repository at this point in the history
  11. Only save formatted files if they changed (#8209)

    * Only save formatted files if they changed
    
    * Add changelog
    nojaf authored and cknitt committed Jan 27, 2026
    Configuration menu
    Copy the full SHA
    3d9fce4 View commit details
    Browse the repository at this point in the history
  12. Move generating AST log to when a module is actually being parsed. (#…

    …8210)
    
    * Move generating AST log to when a module is actually being parsed.
    
    * Add changelog
    nojaf authored and cknitt committed Jan 27, 2026
    Configuration menu
    Copy the full SHA
    4a79ce9 View commit details
    Browse the repository at this point in the history
  13. Fix warning loss during incremental builds in watch mode (#8216)

    * Fix warning loss during incremental builds in watch mode
    
    * Add changelog
    
    * Update lock file
    
    * Remove sleep
    
    * Update existing snapshots with added warning
    
    * Rename field
    # Conflicts:
    #	CHANGELOG.md
    #	rewatch/tests/02-watch-warnings-persist.sh
    #	rewatch/tests/snapshots/bs-dev-dependency-used-by-non-dev-source.txt
    #	rewatch/tests/snapshots/clean-rebuild.txt
    #	rewatch/tests/snapshots/dependency-cycle.txt
    #	rewatch/tests/snapshots/remove-file.txt
    #	rewatch/tests/snapshots/rename-file-internal-dep-namespace.txt
    #	rewatch/tests/snapshots/rename-file-internal-dep.txt
    #	rewatch/tests/snapshots/rename-file-with-interface.txt
    #	rewatch/tests/snapshots/rename-file.txt
    #	rewatch/tests/snapshots/rename-interface-file.txt
    #	rewatch/tests/suffix.sh
    #	rewatch/tests/suite.sh
    nojaf authored and cknitt committed Jan 27, 2026
    Configuration menu
    Copy the full SHA
    d8b903a View commit details
    Browse the repository at this point in the history
  14. Reanalyze: link type re-export labels (#8217)

    * Reanalyze: link type re-export labels
    
    Track manifest type paths on label declarations so re-exported record/variant labels
    can be linked to their manifest counterparts during type label dependency wiring.
    
    Adds a regression test for `type y = x = {...}` field liveness.
    
    Signed-off-by: Cristiano Calcagno <cristianoc@users.noreply.github.com>
    
    * Changelog: mention reanalyze type re-export label linking
    
    Signed-off-by: Cristiano Calcagno <cristianoc@users.noreply.github.com>
    
    * Reanalyze: suppress dead warnings on re-exported labels
    
    When a type is re-exported via `type y = x = {...}`, the re-exported record/variant
    labels are restated but not independently actionable. Suppress dead-type warning
    emission for those labels while keeping per-label liveness and linking intact.
    
    Signed-off-by: Cristiano Calcagno <cristianoc@users.noreply.github.com>
    
    * Reanalyze: link re-export manifests across modules
    
    Track manifest type paths (not just local type ids) so `type y = M.x = ...` and
    other cross-module type equations correctly link label/case liveness.
    
    Extend deadcode tests to cover variants and cross-file record re-exports.
    
    Signed-off-by: Cristiano Calcagno <cristianoc@users.noreply.github.com>
    
    ---------
    
    Signed-off-by: Cristiano Calcagno <cristianoc@users.noreply.github.com>
    # Conflicts:
    #	tests/analysis_tests/tests-reanalyze/deadcode/expected/deadcode.txt
    cristianoc authored and cknitt committed Jan 27, 2026
    Configuration menu
    Copy the full SHA
    076bd4a View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    eecb607 View commit details
    Browse the repository at this point in the history
  16. Watch folders based on BuildState (#8219)

    * Watch folders based on BuildState
    
    * Add additional test cases
    
    * Code review feedback
    
    * Make test cross plat (I hope)
    
    * Avoids sleeps in test
    
    * Log error when source folder does not exist.
    
    * Add changelog entry
    
    * Code review feedback
    
    * Avoid race condition (I hope)
    
    * Trigger CI
    # Conflicts:
    #	AGENTS.md
    #	CHANGELOG.md
    #	rewatch/tests/03-watch-new-file.sh
    #	rewatch/tests/04-watch-config-change.sh
    #	rewatch/tests/05-watch-ignores-non-source.sh
    #	rewatch/tests/06-watch-missing-source-folder.sh
    #	rewatch/tests/suite.sh
    #	rewatch/tests/watch/02-watch-warnings-persist.sh
    nojaf authored and cknitt committed Jan 27, 2026
    Configuration menu
    Copy the full SHA
    7995ed7 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    f97d4cf View commit details
    Browse the repository at this point in the history
  18. Merge pull request #8232 from rescript-lang/version-12.2.0-rc.1

    Version 12.2.0-rc.1
    cknitt authored Jan 27, 2026
    Configuration menu
    Copy the full SHA
    3156d4d View commit details
    Browse the repository at this point in the history
Loading