Super simple incremental build helper. (inspired by bazel)
$ npx bincr init # edit `.bincr.json`'s watch and cmd # echo ".bincr-hash" >> .gitignore $ npx bincr # Run command with update .bincr-hash # second run $ npx bincr # Skip because of same hash # after watch targets ... $ npx bincr # Run command by target changes # watch! $ npx bincr -w- Generate merkle hash for watched targets
- Compare
.bincr-hashand current hash - Run
cmdif hash changed - Update
.bincr-hash
$ npx bincr # run default $ npx bincr "npm run build" # run default $ npx bincr -f # run force$ npx bincr changed && echo 1 # with hash update $ npx bincr changed -u && echo 1{ "watch": ["src/**"], # hash targets "cmd": "npm run build" }Run mutiple bincr project
{ "watch": [], "cmd": "echo 'no build task'", "workspaces": ["packages/a", "packages/b"] }## run $ npx bincr workspace ## watch $ npx bincr workspace -wMIT