{"_id":"watch-dir-safe","_rev":"3-53dd81a0e83708ded81e41dbec34c759","name":"watch-dir-safe","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"watch-dir-safe","version":"1.0.0","description":"Watch a directory for changes","license":"MIT","author":{"name":"Connor White","email":"connor.bcw@gmail.com","url":"https://connorwhite.org"},"homepage":"https://connorwhite.org/github/watch-dir-safe","repository":{"type":"git","url":"git+https://github.com/bconnorwhite/watch-dir-safe.git"},"keywords":[],"main":"./build/index.js","scripts":{"build":"bob build","commit":"bob commit","lint":"bob lint","release":"bob publish","test":"bob test"},"dependencies":{"chokidar":"^3.4.2"},"devDependencies":{"@bconnorwhite/bob":"^2.9.2"},"eslintConfig":{"extends":"eslint-config-bob"},"husky":{"hooks":{"commit-msg":"bob lint commit"}},"npmpackagejsonlint":{"extends":"npm-package-json-lint-config-bob"},"_id":"watch-dir-safe@1.0.0","dist":{"shasum":"66c1897b586b85ca90e864109cb97a934af74b7f","integrity":"sha512-4h5Cmz1Rvu5nP9RwmQ1j28vM5DfN2u8r05RNrRwIwtuwZ1Sb/aWFEOmfGLQtIHV19clpb9MWsDPVSY72XkvGcw==","tarball":"https://registry.npmjs.org/watch-dir-safe/-/watch-dir-safe-1.0.0.tgz","fileCount":7,"unpackedSize":6488,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfeTx9CRA9TVsSAnZWagAAuNkP/1Jd/P+aEB8w+jL6njZo\ndZpiut7oQjonRt54U8vf+vsk7fBa4YqLrekgX9BL1R2BKOQ4/AtGqwut9hz2\nFcl6r7P06xrSCY1kon+e1ndKW3kWxRx9NCKHk8YAxyBFSxi94plFnPlGmM1c\nARndqlAo+pdI1BkKrxT82ehJDbLc3WNKsk9aeErqCI8RB0HkAMjUOG5rPc53\n3g0L92ufg9h8Fqm3P/muffhEg1CL2eRy+Kixl4EvHyIVm1YWxuErHCBLGge4\nFPPl6iinb/uD5VFZ4YyYLNRZMkzjzFrd6zf5Cr6qWTr1Zv2oKQlQk/HxvC0o\nIAlm4RmNgz3wFZlfsMxfC6+zzJ6+fp9PRzGEm4s+i3uzfwwKzhMB3/zSq7SD\nM7mMNDoIgg4ih5iKGXSlDGAfWk9CflUByCiwJMBEw5BKqgvXGqq6asiOic5q\nyE8CvxTdX3Dbz2aN4p/IUe767+GvGPQhFRw7kxi9dr3/VjKYfjGGrBWOaV17\nZv5tl9SR6RgVJOlhLNlUXQCbqgWGSOrwkhq2jMYU7gyejxIBj6LIk4txKZbO\n/+aroSKJEG77yx1y/zcnD5gaNevlcy8A82WSsckq1HNotKuV8eZRYGEL2k7z\n0QMkza/7KP0tz74QFF2WgW4f3aH9ZNOr6nwxnVd7uGgVqK0IPFVRV2KufZ2Q\nhhxm\r\n=UEiW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDFm4CrJ8xBYaX18JFUt6OSFYSWC9nsM8eZx6YgOhzgfAiB0ihWYbMuoMo64xMqBEbm/FMucrBtUUgXa6qAPfSUcWQ=="}]},"maintainers":[{"name":"bconnorwhite","email":"connor.bcw@gmail.com"}],"_npmUser":{"name":"bconnorwhite","email":"connor.bcw@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/watch-dir-safe_1.0.0_1601780861397_0.36164320697165486"},"_hasShrinkwrap":false},"1.0.1":{"name":"watch-dir-safe","version":"1.0.1","description":"Watch a directory for changes","license":"MIT","author":{"name":"Connor White","email":"connor.bcw@gmail.com","url":"https://connorwhite.org"},"homepage":"https://connorwhite.org/github/watch-dir-safe","repository":{"type":"git","url":"git+https://github.com/bconnorwhite/watch-dir-safe.git"},"keywords":[],"main":"./build/index.js","scripts":{"build":"bob build","commit":"bob commit","lint":"bob lint","release":"bob publish","test":"bob test"},"dependencies":{"chokidar":"^3.4.2"},"devDependencies":{"@bconnorwhite/bob":"^2.9.2"},"eslintConfig":{"extends":"eslint-config-bob"},"husky":{"hooks":{"commit-msg":"bob lint commit"}},"npmpackagejsonlint":{"extends":"npm-package-json-lint-config-bob"},"_id":"watch-dir-safe@1.0.1","dist":{"shasum":"3d33cf3a6e51cf98eef661fba1398eca72f0ed44","integrity":"sha512-LkuXzutmoeaxWdMHMwrIL7hzBgzeoXQ/+U2h3shHv6UoQJbf29/XCfTRnhQo0yXey+2UmMO9EUM25S659FcQBg==","tarball":"https://registry.npmjs.org/watch-dir-safe/-/watch-dir-safe-1.0.1.tgz","fileCount":7,"unpackedSize":6858,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfegkdCRA9TVsSAnZWagAA4G8QAIKcLYglJ4GZ5qlAyooG\nH1EXvvq63f+yGvlSTJH6/PQheinhlzlNXbf9pWEKehfiGvYhe4Lrwmz6D2eX\nDuRYninEqxmFl92LXcxyf5rHouKj/mdhR8p4s8GGW70J8lhF+TPWbA4DnOvG\nMqwutGYCcotiI4hMCWWCUonsc27ZNNmzds/zvetmImOl25mPSnmoQbQz5Z65\nGdFERq2WqE7iC2F+zEJQH70wfq6AV/mQNAlVHVe6urdl+gcKeo2xRA6n+rdS\ngka4Nz1CijIGXcqkftruc6NzQyeZb9R1064L44vlbZuC+DYmiU8w4SdiRb9H\nUqzdZtem0NOlTXUCnWo9yJ1x5fhgyKykqdDMxkfUVkCR8svyo9E3EAkGBw1q\nU6gahYobLh1Bo2+69O1tPFQ3E4I7SeJtFM/QwVhzETo4pw3ooDTWssNyZV+J\nyIahRsckrtdNBZsxWjGK2nncGUvrWMX1IGxz61KhpQImuEy5mfep5ywGEAlm\n/nD+A8J3OdR/710/VIq0KIDXiJh0Hf78cPPmd/S+QB2PQn6LwXUyw/csIe5P\n0QWtouBEzYAQcvqKGDCgz9KkmJln489TD9jfYekt1CNKhWNPyOHiwO+aUy1n\nlkqsejza20mtJfnvQ+b/QXnw66w8exVoVDHn2vbvPlS7A0qvnPP8jZMVEYhk\nB5+s\r\n=FSCw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGS8VZwHSSg6dbCA7t9o7wu3Hx/WWskcbFOfcnufWKtAAiACAhp9GielD62hyXpbj8yttO059P4Uqhusf10yReBRtg=="}]},"maintainers":[{"name":"bconnorwhite","email":"connor.bcw@gmail.com"}],"_npmUser":{"name":"bconnorwhite","email":"connor.bcw@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/watch-dir-safe_1.0.1_1601833244871_0.6625337521789598"},"_hasShrinkwrap":false},"1.0.2":{"name":"watch-dir-safe","version":"1.0.2","description":"Watch a directory for changes","license":"MIT","author":{"name":"Connor White","email":"connor.bcw@gmail.com","url":"https://connorwhite.org"},"homepage":"https://connorwhite.org/github/watch-dir-safe","repository":{"type":"git","url":"git+https://github.com/bconnorwhite/watch-dir-safe.git"},"keywords":[],"main":"./build/index.js","scripts":{"build":"bob build","commit":"bob commit","lint":"bob lint","release":"bob publish","test":"bob test"},"dependencies":{"chokidar":"^3.4.2"},"devDependencies":{"@bconnorwhite/bob":"^2.9.2"},"eslintConfig":{"extends":"eslint-config-bob"},"husky":{"hooks":{"commit-msg":"bob lint commit"}},"npmpackagejsonlint":{"extends":"npm-package-json-lint-config-bob"},"_id":"watch-dir-safe@1.0.2","dist":{"shasum":"26e2bf8e6c215a47464ddca9fa3219fb6691642f","integrity":"sha512-ngzTKQWTGYDxHq1dF1JDu6p+Jr7IIhD3hOvCTClUEXu/6VpEktainbeMbKufspDATMuPXv+BoWgh0qw2fbVx0A==","tarball":"https://registry.npmjs.org/watch-dir-safe/-/watch-dir-safe-1.0.2.tgz","fileCount":7,"unpackedSize":7072,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfegmaCRA9TVsSAnZWagAAxvQP/RCXLejO8dGcGhxe7SKw\nRSl+Zqjz/rBDyj+a5mCqSPnotsHz6IfWvO3+BNHzNctisxsThfYKuDnI/A7J\nyuiGWvBcf6vgiPTA5mbE+CYgi0NKYBsQE/ekKlz6y7hFTnpIXk9GBw1k5SY3\npOfRQqMEyJ6YYgTP/TlIERS/EOB74acNt11ivD7yL6QzXQ/4XH7o51P6x2VK\nE/FE8yddfq/zUhS7qRsQ3pxHfEtbK5La5wB050eV8BxNOEOP0ialqOJ9fnZf\n6/aCYou33mCr71JBQdog3dlPj68N2Ml4DQzz6H+HNhzJ7PBNXc/d3TyhNKlA\nDmGd77Aap0CnFm2Th8/fT+NDNgc8Ft0Fb5ZUWwiYHcFChVs+a4wfv3N8ADuv\n5rP8Tp1P4qbeW+xMXINh6W2NTLCkJ7uBvT/MSGJOsg8v0yPHwjsLBmMmbQHZ\ncK9jW44e2Oj3Q7TXKkm/HJdFLnVqy7L1K/0IJ1MWx565N7P5Risq7kd8GRQp\nIF8V0WH/Q2qcwM4TMGNo6TBygNR7hbYUog2umV56g6XmlTwZaPqgk+dp1Nmy\np4AdtJkaaS8YXROLNj44Ml8fdm8SBz1wPVsGgzvF5o04BYSXaU5sXCZo3pBx\nZ5jsr+upez8G0cFJADiQF2HwWyvss8w4kbMgjUiDNHQ3pGF0ldjxhV7Mhwvl\ndgWG\r\n=19S3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIQC5S4I6mbQvhG0/nUreTMdtKCbe5Z/N+HghHSG6g/sjrwIfHaB9T49WpvE+MpJKAEgDkhEO0oBdPs3G509LqHMB3Q=="}]},"maintainers":[{"name":"bconnorwhite","email":"connor.bcw@gmail.com"}],"_npmUser":{"name":"bconnorwhite","email":"connor.bcw@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/watch-dir-safe_1.0.2_1601833369463_0.2539797413332272"},"_hasShrinkwrap":false}},"time":{"created":"2020-10-04T03:07:41.397Z","1.0.0":"2020-10-04T03:07:41.502Z","modified":"2022-05-24T01:53:30.152Z","1.0.1":"2020-10-04T17:40:44.973Z","1.0.2":"2020-10-04T17:42:49.669Z"},"maintainers":[{"name":"bconnorwhite","email":"connor.bcw@gmail.com"}],"description":"Watch a directory for changes","homepage":"https://connorwhite.org/github/watch-dir-safe","keywords":[],"repository":{"type":"git","url":"git+https://github.com/bconnorwhite/watch-dir-safe.git"},"author":{"name":"Connor White","email":"connor.bcw@gmail.com","url":"https://connorwhite.org"},"license":"MIT","readme":"<div align=\"center\">\n  <a href=\"https://github.com/bconnorwhite/watch-dir-safe\">\n    <img alt=\"watch-dir-safe\" src=\"assets/header.svg\" />\n  </a>\n  <a href=\"https://npmjs.com/package/watch-dir-safe\">\n    <img alt=\"NPM\" src=\"https://img.shields.io/npm/v/watch-dir-safe.svg\">\n  </a>\n  <a href=\"https://github.com/bconnorwhite/watch-dir-safe\">\n    <img alt=\"TypeScript\" src=\"https://img.shields.io/github/languages/top/bconnorwhite/watch-dir-safe.svg\">\n  </a>\n  <a href='https://coveralls.io/github/bconnorwhite/watch-dir-safe?branch=master'>\n    <img alt=\"Coverage Status\" src=\"https://img.shields.io/coveralls/github/bconnorwhite/watch-dir-safe.svg?branch=master\">\n  </a>\n  <a href=\"https://github.com/bconnorwhite/watch-dir-safe\">\n    <img alt=\"GitHub Stars\" src=\"https://img.shields.io/github/stars/bconnorwhite/watch-dir-safe?label=Stars%20Appreciated%21&style=social\">\n  </a>\n  <a href=\"https://twitter.com/bconnorwhite\">\n    <img alt=\"Twitter Follow\" src=\"https://img.shields.io/twitter/follow/bconnorwhite.svg?label=%40bconnorwhite&style=social\">\n  </a>\n</div>\n\n<br />\n\n> Watch a directory for changes.\n\nProvides a simplified wrapper around [chokidar](https://www.npmjs.com/package/chokidar) for watching a directory.\n\n## Installation\n\n```sh\nyarn add watch-dir-safe\n```\n\n```sh\nnpm install watch-dir-safe\n```\n\n## API\n\n### Usage\n```ts\nimport watchDir from \"watch-dir-safe\";\n\nconst watcher = watchDir(\"/path/to/dir\");\n\nwatcher.onReady(() => {\n  console.log(`Ready`);\n}).onAdd((path: string) => {\n  console.log(`Added ${path}`);\n}).onChange((path: string) => {\n  console.log(`Changed ${path}`);\n}).onRemove((path: string) => {\n  console.log(`Removed ${path}`);\n}).onAddDir((path: string) => {\n  console.log(`Added dir ${path}`);\n}).onRemoveDir((path: string) => {\n  console.log(`Added dir ${path}`);\n});\n\n// To stop watching:\nwatcher.stop();\n```\n\n### Types\n```ts\nimport watchDir, { Watcher, EventCallback } from \"watch-dir-safe\";\n\nfunction watchDir(path: string): Watcher;\n\ntype EventCallback = (path: string) => void;\n\ntype Watcher = {\n  onAdd: (cb: EventCallback) => Watcher;\n  onRemove: (cb: EventCallback) => Watcher;\n  onChange: (cb: EventCallback) => Watcher;\n  onAddDir: (cb: EventCallback) => Watcher;\n  onRemoveDir: (cb: EventCallback) => Watcher;\n  onReady: (cb: () => void) => Watcher;\n  stop: () => Promise<boolean>;\n}\n```\n\n<br />\n\n<h2>Dependencies<img align=\"right\" alt=\"dependencies\" src=\"https://img.shields.io/david/bconnorwhite/watch-file-safe.svg\"></h2>\n\n- [chokidar](https://www.npmjs.com/package/chokidar): A neat wrapper around node.js fs.watch / fs.watchFile / fsevents.\n\n<br />\n\n<h2>Dev Dependencies<img align=\"right\" alt=\"David\" src=\"https://img.shields.io/david/dev/bconnorwhite/watch-dir-safe.svg\"></h2>\n\n- [@bconnorwhite/bob](https://www.npmjs.com/package/@bconnorwhite/bob): undefined\n\n<br />\n\n<h2>License <img align=\"right\" alt=\"license\" src=\"https://img.shields.io/npm/l/watch-dir-safe.svg\"></h2>\n\n[MIT](https://opensource.org/licenses/MIT)\n\n<br />\n\n## Related Packages\n\n- [fs-safe](https://www.npmjs.com/package/fs-safe): A simple fs wrapper that doesn't throw\n- [watch-file-safe](https://www.npmjs.com/package/watch-file-safe): Watch a file for changes\n- [read-dir-safe](https://www.npmjs.com/package/read-dir-safe): Read directories recursively or non-recursively\n- [write-dir-safe](https://www.npmjs.com/package/write-dir-safe): Create directories and their parents recursively\n- [remove-dir-safe](https://www.npmjs.com/package/remove-dir-safe): Remove directories recursively or non-recursively\n","readmeFilename":"README.md"}