build-if-changed
Build your packages only if they changed since the last build.
How it works
-
Look for
package.json
modules in the working directory, ignoring anynode_modules
directories by default. Any local.gitignore
is also respected. -
Crawl the package and generate SHA-1 hashes from every watched file. These hashes are stored in the
.bic_cache
file next to eachpackage.json
module. -
If any
.bic_cache
files are outdated, thenbic
will executenpm run build
in the relevant packages.
Usage
- Install the package:
yarn add build-
- Edit your
package.json
module to customize the behavior:
// Only watch the "src" directory:"bic": "src"// Any glob can be included or excluded:"bic": "only": "skip": // Disable bic for a package:"bic": false
- Use the package:
yarn build-
Notes
- The
skip
config takes precedence over theonly
config. - The
.git
andnode_modules
directories are always skipped. - Any package with
bic
orbuild-if-changed
in its "build" script is skipped. - This tool uses a custom glob syntax (see here).