Skip to content

Rewatch is an alternative build system for the Rescript Compiler.

Notifications You must be signed in to change notification settings

DZakh-forks/rewatch

 
 

Repository files navigation

Rewatch

Release

Info

Rewatch is an alternative build system for the Rescript Compiler which uses Ninja. It strives to deliver consistent and faster builds in monorepo setups with multiple packages, where the default build system fails to pick up changed interfaces across multiple packages.

Project Status

This project should be considered Alpha Status. Currently used to solve a very specific problem within Walnut. We're open to PR's and other contributions to make this more solid.

  • Compile Monorepo's with multiple packages
  • Correctly compile to different formats than .mjs (taken from bsconfig)
  • Error Handling - we still panic here-and-there, don't expect a super smooth UX
  • Compile Single Package
  • Configure executables - potentially interop with some Melange / Bucklescript / ReasonML subset

Usage

  1. Install the package
yarn add @rolandpeelen/rewatch
  1. Build / Clean / Watch
yarn rewatch build .
yarn rewatch clean .
yarn rewatch watch .

Where . is the folder where the 'root' bsconfig.json lives. If you encounter a 'stale build error', either directly, or after a while, a clean may be needed to clean up some old compiler assets.

Contributing

Pre-requisites:

  • Rust
  • NodeJS - For running testscripts only
  • Yarn or Npm - Npm probably comes with your node installation
  1. cd testrepo && yarn (install dependencies for submodule)
  2. cargo run

Running tests:

  1. cargo build --release
  2. ./tests/suite.sh

About

Rewatch is an alternative build system for the Rescript Compiler.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 86.6%
  • JavaScript 7.3%
  • Shell 3.9%
  • ReScript 2.1%
  • Batchfile 0.1%