{"_id":"@alloc/build-if-changed","_rev":"1-38354797cca2ebdc9b5455f252de72ef","name":"@alloc/build-if-changed","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@alloc/build-if-changed","version":"1.0.0","description":"Run build scripts only when files changed","license":"MIT","main":"src/index.js","bin":{"bic":"bin/cli.js","build-if-changed":"bin/cli.js"},"dependencies":{"lodge":"^0.1.1","recrawl":"^1.0.3","saxon":"^0.1.15"},"devDependencies":{"husky":"^2.3.0","prettier":"^1.17.1","pretty-quick":"^1.11.0"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"author":{"name":"Alec Larson"},"contributors":[{"name":"Michel Weststrate"}],"repository":{"type":"git","url":"git+https://github.com/aleclarson/build-if-changed.git"},"homepage":"https://github.com/aleclarson/build-if-changed#readme","bugs":{"url":"https://github.com/aleclarson/build-if-changed/issues"},"gitHead":"2b2c41fef5ef5446dcc71a09013211b75e50ed88","_id":"@alloc/build-if-changed@1.0.0","_nodeVersion":"11.10.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-uDyXzwRfHd7lkwxjs0OSvddtJnV4BhypmcH0gyf1t4fb+VSq/8OGhTabfh1GfJnGmIksul0yROseDXuqbKIKEw==","shasum":"617e17a4291334a93db28909a345cf24fee357fa","tarball":"https://registry.npmjs.org/@alloc/build-if-changed/-/build-if-changed-1.0.0.tgz","fileCount":9,"unpackedSize":9814,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc9WL2CRA9TVsSAnZWagAAAqIP/3wlhuEkNRHfdIHMRd+l\niDqNk7i/G9C2Zlp6DefKOeiqmEPVhYbZWUYM+OIePJWYMQth19kkETSP+loP\nSNXBMSo8NrT/t/JPoRSSaQrL8itZKhd7BZqKwa9lbUbdixaSNn+4PFfGCG0b\nYO1s/wTFak2dwGClWshdaSPBgJEveBxh0iVTMiscb5R5iX50T01d+/sfw1RX\nekDUrzn0xeqOwbKeDciIoDPxERGc4VyezY+/ebYn86x2Q8JLBosamzpNOmlb\nzJlZ4Uave4aWZPPmQ9JH77ZJbNN0OtJEDF6VOfQheSuvu0rtVp0m0sUJYixD\n2YQENUvPL4eN/1YT2xbnRKaeQaY2q2s91NrmpDtKgxP/ss1XMzxC3rZL6io7\nj5+uaadniWFcfNQuEJ/7wbscQXSPFW/nBcy0vEHTRHaLDwVCTp2N3KsHuW/H\n/QZSq5okW67YL4q/IHAjMdBA37FPHNtX4IaHwCfVd6MlNKFLw8bBtTp1CY7q\n132KCVTi/ka8BAdgZ0mfxmnXKC6u9csWQuKJcOD6P0e7vUrIXVRgVU+2s0ey\n3DlgYiwYWmoVH2M8sHtALCcBIyUtQVg7Fty6SW44V+OIVlMrsJfRPrG+gVxz\n/yTsosJ6hO7JR7MHRWmLdBSfVzTJuQE9N2+BK2oNLqQ+PAldaqfOHks3/KjO\n/vU+\r\n=3Zkv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDaJWtfgFnE9X/93fAWvM5GYxicsiETGAuTEDGx0DLvpAiAII4emOH1ycKgrpza7gta2sfyuqV+Lv9k3c8wRFmdm/A=="}]},"maintainers":[{"name":"aleclarson","email":"alec.stanford.larson@gmail.com"}],"_npmUser":{"name":"aleclarson","email":"alec.stanford.larson@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-if-changed_1.0.0_1559585525008_0.8436472338965466"},"_hasShrinkwrap":false}},"time":{"created":"2019-06-03T18:12:04.815Z","1.0.0":"2019-06-03T18:12:05.260Z","modified":"2022-04-04T13:33:33.736Z"},"maintainers":[{"name":"aleclarson","email":"alec.stanford.larson@gmail.com"}],"description":"Run build scripts only when files changed","homepage":"https://github.com/aleclarson/build-if-changed#readme","repository":{"type":"git","url":"git+https://github.com/aleclarson/build-if-changed.git"},"contributors":[{"name":"Michel Weststrate"}],"author":{"name":"Alec Larson"},"bugs":{"url":"https://github.com/aleclarson/build-if-changed/issues"},"license":"MIT","readme":"# build-if-changed\n\nBuild your packages only if they changed since the last build.\n\n&nbsp;\n\n## How it works\n\n1. Look for `package.json` modules in the working directory, ignoring any\n   `node_modules` directories by default. Any local `.gitignore` is also\n   respected.\n\n2. Crawl the package and generate SHA-1 hashes from every watched file. These\n   hashes are stored in the `.bic_cache` file next to each `package.json` module.\n\n3. If any `.bic_cache` files are outdated, then `bic` will execute `npm run build`\n   in the relevant packages.\n\n&nbsp;\n\n## Usage\n\n1. Install the package:\n\n```sh\nyarn add build-if-changed -D\n```\n\n2. Edit your `package.json` module to customize the behavior:\n\n```js\n// Only watch the \"src\" directory:\n\"bic\": [\"src\"],\n// Any glob can be included or excluded:\n\"bic\": { \"only\": [], \"skip\": [] },\n// Disable bic for a package:\n\"bic\": false,\n```\n\n3. Use the package:\n\n```sh\nyarn build-if-changed\n# or\nyarn bic\n```\n\n&nbsp;\n\n## Notes\n\n- The `skip` config takes precedence over the `only` config.\n- The `.git` and `node_modules` directories are always skipped.\n- Any package with `bic` or `build-if-changed` in its \"build\" script is skipped.\n- This tool uses a custom glob syntax ([see here](https://www.npmjs.com/package/recrawl#pattern-syntax)).\n","readmeFilename":"README.md"}