{"_id":"@d1g1tal/watchr","_rev":"23-c3f28356241c7b5b71f4db00c4e2806e","name":"@d1g1tal/watchr","dist-tags":{"latest":"3.4.0"},"versions":{"1.0.0":{"name":"@d1g1tal/watchr","version":"1.0.0","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":{"name":"D1g1talEntr0py"},"license":"MIT","_id":"@d1g1tal/watchr@1.0.0","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"9f5126531105f21fc5029c160bf24d2a9d76df85","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-1.0.0.tgz","fileCount":37,"integrity":"sha512-Gg2H73CXhNOgvt2i/rTWbbn964dp7hg2whQxDkwMtHOA+8d7qch++kKF2evnp1cSf4KBntHxiRbAj7Ro37RlsQ==","signatures":[{"sig":"MEUCIQDjJzPxrSzM5dW907/5HHrA5S6Vu7YnrnI6udwINcRdXAIgbiazoCShxbMYYoVaYEvP4JD4PdBSKXd5d3Ij9u6nRBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89794},"main":"./dist/index.js","type":"module","_from":"file:d1g1tal-watchr-1.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint ./src","test":"vitest run","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"d1g1tal","email":"jason.dimeo@gmail.com"},"_resolved":"/tmp/74e7459edf3844eafe058dcc9d12d7c8/d1g1tal-watchr-1.0.0.tgz","_integrity":"sha512-Gg2H73CXhNOgvt2i/rTWbbn964dp7hg2whQxDkwMtHOA+8d7qch++kKF2evnp1cSf4KBntHxiRbAj7Ro37RlsQ==","repository":{"url":"git+https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"_npmVersion":"11.8.0","description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"25.6.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.56.10","eslint":"^10.0.0","vitest":"^4.0.18","esbuild":"^0.27.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^25.2.2","typescript-eslint":"^8.54.0","@vitest/coverage-v8":"^4.0.18","eslint-plugin-jsdoc":"^62.5.4","@typescript-eslint/parser":"^8.54.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/watchr_1.0.0_1770574306954_0.7959819087752711","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@d1g1tal/watchr","version":"1.0.2","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":{"name":"D1g1talEntr0py"},"license":"MIT","_id":"@d1g1tal/watchr@1.0.2","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"a56e820ccd5542a9864f65deb7a6bd1ce35163dd","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-1.0.2.tgz","fileCount":37,"integrity":"sha512-a+gNlRK54+1XvV1H2dufdBcUjmgsSb57fTSdhi+msidiX5s7dZmZF5jEyHHqdEjJ8eKn43TtrCRRIvGrJxE3Lw==","signatures":[{"sig":"MEYCIQCm9vGC5QOBYtiuC5fzQwCMdEVZ8LwhmTPdaHLlQTyFQwIhANPniZIJN+tZOLyN82EB/TfjyE+fbOIrg6lNwwleTN53","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89985},"type":"module","_from":"file:d1g1tal-watchr-1.0.2.tgz","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint ./src","test":"vitest run","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"_resolved":"/tmp/316fb8a79cc247cd40d036da37ab29b3/d1g1tal-watchr-1.0.2.tgz","_integrity":"sha512-a+gNlRK54+1XvV1H2dufdBcUjmgsSb57fTSdhi+msidiX5s7dZmZF5jEyHHqdEjJ8eKn43TtrCRRIvGrJxE3Lw==","repository":{"url":"git+https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"_npmVersion":"11.9.0","description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.56.11","eslint":"^10.0.3","vitest":"^4.0.18","esbuild":"^0.27.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@vitest/coverage-v8":"^4.0.18","eslint-plugin-jsdoc":"^62.7.1","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/watchr_1.0.2_1772891820209_0.4803151447668421","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@d1g1tal/watchr","version":"1.0.3","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":{"name":"D1g1talEntr0py"},"license":"MIT","_id":"@d1g1tal/watchr@1.0.3","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"9d5d88d4917b2c0ebd722335a2c9b36077841d4c","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-1.0.3.tgz","fileCount":37,"integrity":"sha512-LjYp+evdMH1s2SJOn4s+7HMG7uy51pXk6mHpaIPN5RfsctNFXlhq0/JSGOmrddLsEbFUho3QGuZQXl33SRXA3g==","signatures":[{"sig":"MEUCIDKb1IFqssmgZXs76hJoZ5CeczGN+TMFNQ99inNiY+MaAiEAwEXrwYkF1GLUUQbqrTnQB0MGsdm03dxLNGAIw36HckU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90202},"type":"module","_from":"file:d1g1tal-watchr-1.0.3.tgz","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint ./src","test":"vitest run","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"_resolved":"/tmp/a69167f59c2624894a145a68048f1f45/d1g1tal-watchr-1.0.3.tgz","_integrity":"sha512-LjYp+evdMH1s2SJOn4s+7HMG7uy51pXk6mHpaIPN5RfsctNFXlhq0/JSGOmrddLsEbFUho3QGuZQXl33SRXA3g==","repository":{"url":"git+https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"_npmVersion":"11.9.0","description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.56.11","eslint":"^10.0.3","vitest":"^4.0.18","esbuild":"^0.27.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@vitest/coverage-v8":"^4.0.18","eslint-plugin-jsdoc":"^62.7.1","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/watchr_1.0.3_1772893102013_0.5276718308404227","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@d1g1tal/watchr","version":"1.0.4","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":{"name":"D1g1talEntr0py"},"license":"MIT","_id":"@d1g1tal/watchr@1.0.4","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"8ef2a2367a23d3b32ff558907b73eab6449f7a5a","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-1.0.4.tgz","fileCount":38,"integrity":"sha512-0AVBh9OGtUsBOdiZXsWgYcLHnO/+LuFt3f7GZd1uhJeNPOBGRp+TSdik6z1IxXWsSY9vUbpiHa+rorBNxNu2Mg==","signatures":[{"sig":"MEUCIDh15rcXkJBOXtgjiLFPBUcV/LOiJv0e7sWqDg526XM1AiEA9n/nr0Bj3D2dxlGNv4jA1eCqX+a1ctaf3Fn8S1pLCSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@1.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":96859},"type":"module","_from":"file:d1g1tal-watchr-1.0.4.tgz","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint ./src","test":"vitest run","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"_resolved":"/tmp/aad4d7e8721fdc0fde932a7af50b07f5/d1g1tal-watchr-1.0.4.tgz","_integrity":"sha512-0AVBh9OGtUsBOdiZXsWgYcLHnO/+LuFt3f7GZd1uhJeNPOBGRp+TSdik6z1IxXWsSY9vUbpiHa+rorBNxNu2Mg==","repository":{"url":"git+https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"_npmVersion":"11.9.0","description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.56.11","eslint":"^10.0.3","vitest":"^4.1.0","esbuild":"^0.27.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^25.5.0","typescript-eslint":"^8.57.1","@vitest/coverage-v8":"^4.1.0","eslint-plugin-jsdoc":"^62.8.0","@rolldown/plugin-babel":"^0.2.2","@typescript-eslint/parser":"^8.57.1","@typescript-eslint/eslint-plugin":"^8.57.1","@babel/plugin-proposal-decorators":"^7.29.0"},"_npmOperationalInternal":{"tmp":"tmp/watchr_1.0.4_1773855332816_0.035723747211259926","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@d1g1tal/watchr","version":"1.0.5","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":{"name":"D1g1talEntr0py"},"license":"MIT","_id":"@d1g1tal/watchr@1.0.5","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"66294f5437bdae9d3ad11b1881531dbf8d6643fe","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-1.0.5.tgz","fileCount":38,"integrity":"sha512-g+VYHG6zPOrBEhBTzWug1g02ZHr5u3dy3WzrS14ZN6ds/C1Zo/BWSOa5dTaDZmYY+3cGjKUki5Znivy5UwXRHw==","signatures":[{"sig":"MEQCIFojiNmAbRMWJXBPqazwUdqBCafctiQxhkUSwZoZtX4kAiBDGG2urO/Ki8XM1wA9jDCBoTSCjCTK3NMQG3YgjEvAWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@1.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":98721},"type":"module","_from":"file:d1g1tal-watchr-1.0.5.tgz","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint ./src","test":"vitest run","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"_resolved":"/tmp/3c90cedc093f673d4b235e5c4f6c50a5/d1g1tal-watchr-1.0.5.tgz","_integrity":"sha512-g+VYHG6zPOrBEhBTzWug1g02ZHr5u3dy3WzrS14ZN6ds/C1Zo/BWSOa5dTaDZmYY+3cGjKUki5Znivy5UwXRHw==","repository":{"url":"git+https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"_npmVersion":"11.9.0","description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.57.1","eslint":"^10.1.0","vitest":"^4.1.2","esbuild":"^0.27.4","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.0","typescript-eslint":"^8.57.2","@vitest/coverage-v8":"^4.1.2","eslint-plugin-jsdoc":"^62.8.1","@typescript-eslint/parser":"^8.57.2","@typescript-eslint/eslint-plugin":"^8.57.2"},"_npmOperationalInternal":{"tmp":"tmp/watchr_1.0.5_1774648254989_0.5283524052739215","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@d1g1tal/watchr","version":"1.0.6","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":{"name":"D1g1talEntr0py"},"license":"MIT","_id":"@d1g1tal/watchr@1.0.6","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"8eb25cfaec46e7192e313aafb32302fb80957f48","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-1.0.6.tgz","fileCount":36,"integrity":"sha512-kUcJe1XWkU/radY1hkEm6Io9DYquWK20sH6TOE1Nb+9cTVqZRdnZi5YmLoYryRYgazrnz8CSPjQ45D9Rg4mzpQ==","signatures":[{"sig":"MEUCIQCAJstsy0BGujjYRIAZoHImON20s3uiTUb1UxrUCDlWvAIgOgXj8zxh9R/su9MEP/axUC1ggir2rbmeorkGQxTWxRE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@1.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":99583},"type":"module","_from":"file:d1g1tal-watchr-1.0.6.tgz","types":"./dist/watchr.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/watchr.d.ts","import":"./dist/watchr.js"}},"scripts":{"lint":"eslint ./src","test":"vitest run","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"_resolved":"/tmp/c5fb0aa40b7995c3b623f6fa8d8d9239/d1g1tal-watchr-1.0.6.tgz","_integrity":"sha512-kUcJe1XWkU/radY1hkEm6Io9DYquWK20sH6TOE1Nb+9cTVqZRdnZi5YmLoYryRYgazrnz8CSPjQ45D9Rg4mzpQ==","repository":{"url":"git+https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"_npmVersion":"11.11.0","description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.57.1","eslint":"^10.2.0","vitest":"^4.1.3","esbuild":"^0.28.0","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.2","typescript-eslint":"^8.58.0","@vitest/coverage-v8":"^4.1.3","eslint-plugin-jsdoc":"^62.9.0","@typescript-eslint/parser":"^8.58.0","@typescript-eslint/eslint-plugin":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/watchr_1.0.6_1775569266421_0.6657939770678707","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@d1g1tal/watchr","version":"1.0.7","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":"D1g1talEntr0py","license":"MIT","_id":"@d1g1tal/watchr@1.0.7","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"ffe46e46acc54025fad3644408b4b9b4fd4be913","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-1.0.7.tgz","fileCount":36,"integrity":"sha512-VojzOGQ0QuW6FsfzDqKTKexdix6KRUrom8K843dm5bvAi16JkEG3UtrCZ09BxH27jPG7B3S+FTmC8XgDceWRVQ==","signatures":[{"sig":"MEUCIFvhb+1ovzE354bCzNWHxoWZXbIR4gmDPhseDgcKo2GmAiEAv5y1jL18OhhykFgqpO/205KbEhz2B/v9W7QCG5FN/Mk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@1.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":108762},"type":"module","types":"./dist/watchr.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/watchr.d.ts","import":"./dist/watchr.js"}},"scripts":{"lint":"eslint ./src","test":"vitest run","bench":"vitest bench","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","bench:watch":"vitest bench --watch","build:watch":"tsc --watch --emitDeclarationOnly","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"repository":{"url":"https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.57.1","eslint":"^10.2.0","mitata":"^0.1.9","vitest":"^4.1.3","esbuild":"^0.28.0","watcher":"^2.3.1","chokidar":"^3.6.0","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.2","typescript-eslint":"^8.58.0","@vitest/coverage-v8":"^4.1.3","eslint-plugin-jsdoc":"^62.9.0","@typescript-eslint/parser":"^8.58.0","@typescript-eslint/eslint-plugin":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/watchr_1.0.7_1782062376940_0.330710156493754","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@d1g1tal/watchr","version":"1.1.0","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":"D1g1talEntr0py","license":"MIT","_id":"@d1g1tal/watchr@1.1.0","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"bfb6c643aaefdf2383313cef35906f5b597c4dc8","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-1.1.0.tgz","fileCount":36,"integrity":"sha512-wg3pigUAN5Ua1fKONogHR7uGFMadY5NWvrUE0hxQZA9zOueBLget2hSagbPWQV1pYtKpVjohgJOBluvhNsJvbw==","signatures":[{"sig":"MEUCIQCLvngpADvdyXn+h+kAagddfeXoKgLMIaEUwRk+3RqcSgIgcEC3Xyymh0pH6echJnr1xoVeoSdYtKJd7qeykj4d05Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112484},"type":"module","types":"./dist/watchr.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/watchr.d.ts","import":"./dist/watchr.js"}},"scripts":{"lint":"eslint --flag unstable_native_nodejs_ts_config ./src","test":"vitest run","bench":"vitest bench --run","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","bench:watch":"vitest bench --watch","build:watch":"tsc --watch --emitDeclarationOnly","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"repository":{"url":"https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.57.8","eslint":"^10.5.0","vitest":"^4.1.9","esbuild":"^0.28.1","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.0.0","typescript-eslint":"^8.62.0","@vitest/coverage-v8":"^4.1.9","eslint-plugin-jsdoc":"^63.0.7","@typescript-eslint/parser":"^8.62.0","@typescript-eslint/eslint-plugin":"^8.62.0"},"_npmOperationalInternal":{"tmp":"tmp/watchr_1.1.0_1782350606795_0.5041771551165128","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@d1g1tal/watchr","version":"1.1.1","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":"D1g1talEntr0py","license":"MIT","_id":"@d1g1tal/watchr@1.1.1","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"41818dec6d42a2fd629cecc1a2320e6371235f8c","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-1.1.1.tgz","fileCount":36,"integrity":"sha512-RWHbU/SV9fXio0fjKNsm5+F59WI760zbbIIkzp1DSI51IoBAQA0/BbLiY2Ces4g7qMTBbGXRg4kd2VdtA9E91w==","signatures":[{"sig":"MEUCIC1qpyZeARCPtVPUKgvypb+SaN1Xmc4cxOfuVtGW7dHEAiEA3ju49ptlFRwc7JSpNq9ufmoK02eFsqZuNa5W7gz6C64=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":113010},"type":"module","types":"./dist/watchr.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/watchr.d.ts","import":"./dist/watchr.js"}},"scripts":{"lint":"eslint --flag unstable_native_nodejs_ts_config ./src","test":"vitest run","bench":"vitest bench --run","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","bench:watch":"vitest bench --watch","build:watch":"tsc --watch --emitDeclarationOnly","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"repository":{"url":"https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.57.8","eslint":"^10.5.0","vitest":"^4.1.9","esbuild":"^0.28.1","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.0.0","typescript-eslint":"^8.62.0","@vitest/coverage-v8":"^4.1.9","eslint-plugin-jsdoc":"^63.0.7","@typescript-eslint/parser":"^8.62.0","@typescript-eslint/eslint-plugin":"^8.62.0"},"_npmOperationalInternal":{"tmp":"tmp/watchr_1.1.1_1782384937514_0.1680151387478308","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@d1g1tal/watchr","version":"1.2.0","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":"D1g1talEntr0py","license":"MIT","_id":"@d1g1tal/watchr@1.2.0","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"5f42784124b74c87bdc707272f78b6cd0e98cd1f","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-1.2.0.tgz","fileCount":36,"integrity":"sha512-ge7tWuJQh5gHjPRjwTo63qcMbTwKes0KEprrYCC6PK5H6IBud5HAJCbtkW/AhNnFFHVyY8lJLnlhZNebwE9Hnw==","signatures":[{"sig":"MEQCIEAmyeXWjZ/l1+OCnJkRzVX3zVrJsdT1r4OU+cKW1d1hAiBtvj0Afa/ilU+ILR39qA9cqO7p2bPeXGGRvaE/VnSyog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":130778},"type":"module","types":"./dist/watchr.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/watchr.d.ts","import":"./dist/watchr.js"}},"scripts":{"lint":"eslint --flag unstable_native_nodejs_ts_config ./src","test":"vitest run","bench":"node benchmarks/watchr.bench.ts","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","bench:compare":"node benchmarks/compare.ts","test:coverage":"vitest run --coverage","bench:compare:json":"node benchmarks/compare.ts --format json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"repository":{"url":"https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.64.0","eslint":"^10.8.0","mitata":"^1.0.34","vitest":"^4.1.10","esbuild":"^0.28.1","@eslint/js":"^10.0.1","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.1.2","typescript-eslint":"^8.65.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^4.1.10","eslint-plugin-jsdoc":"^63.3.2","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/watchr_1.2.0_1785704420511_0.17258414788502607","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@d1g1tal/watchr","version":"2.0.0","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":"D1g1talEntr0py","license":"MIT","_id":"@d1g1tal/watchr@2.0.0","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"69cf4131ef9faa049d0be71da691fdca9157eeae","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-2.0.0.tgz","fileCount":34,"integrity":"sha512-ib7Uupsds45R0Cz9CgNC7ah4T4VBc4PSPAWp5GpWT7x4qTDn6TZRpvTMO00AzJ0lpI3hocxWtnA+yGcGrOUQ3g==","signatures":[{"sig":"MEQCICIqRs36l64BIgIR03AeacMeQiauL2rGZCvRBPAbwYOqAiA8dHTI5LmSmbg3jWnzwMxvNQSUlRH92+I3pUOMTkmLYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":131852},"type":"module","types":"./dist/watchr.d.ts","engines":{"node":">=24.6.0"},"exports":{".":{"types":"./dist/watchr.d.ts","import":"./dist/watchr.js"}},"scripts":{"lint":"eslint --flag unstable_native_nodejs_ts_config ./src","test":"vitest run","bench":"pnpm build && node benchmarks/watchr.bench.ts","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","bench:compare":"pnpm build && node benchmarks/compare.ts","test:coverage":"vitest run --coverage","bench:compare:json":"pnpm build && node benchmarks/compare.ts --format json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"repository":{"url":"https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.68.0","eslint":"^10.8.0","mitata":"^1.0.34","vitest":"^4.1.10","esbuild":"^0.28.1","@eslint/js":"^10.0.1","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.1.2","typescript-eslint":"^8.66.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^4.1.10","eslint-plugin-jsdoc":"^63.3.3","@typescript-eslint/parser":"^8.66.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/watchr_2.0.0_1786099833228_0.0859683087280727","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@d1g1tal/watchr","version":"2.0.1","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":"D1g1talEntr0py","license":"MIT","_id":"@d1g1tal/watchr@2.0.1","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"beec69e783841fe70c723fa3850fd8442d41483b","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-2.0.1.tgz","fileCount":34,"integrity":"sha512-oJMttLxuD0KLq1phex/HDlhJTowMH6zzVKW87CbLoa4RaB6/SgiPrx+6lP5qp6wj9Iigz4LXuNaO/hE4uq5HHA==","signatures":[{"sig":"MEUCIQDwMUsRkSOgW/U9FLniYM6kpqrPE7DP1/8mlNtj4kgR/wIgV66NzgXaet36edWswNGcZA5+DlPpElx9G3pzZudsKgU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":132752},"type":"module","types":"./dist/watchr.d.ts","engines":{"node":">=24.6.0"},"exports":{".":{"types":"./dist/watchr.d.ts","import":"./dist/watchr.js"}},"scripts":{"lint":"eslint --flag unstable_native_nodejs_ts_config ./src","test":"vitest run","bench":"pnpm build && node benchmarks/watchr.bench.ts","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","bench:compare":"pnpm build && node benchmarks/compare.ts","test:coverage":"vitest run --coverage","bench:compare:json":"pnpm build && node benchmarks/compare.ts --format json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"repository":{"url":"https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.68.0","eslint":"^10.8.0","mitata":"^1.0.34","vitest":"^4.1.10","esbuild":"^0.28.1","@eslint/js":"^10.0.1","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.1.2","typescript-eslint":"^8.66.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^4.1.10","eslint-plugin-jsdoc":"^63.3.3","@typescript-eslint/parser":"^8.66.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/watchr_2.0.1_1786102613540_0.1420607009565955","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@d1g1tal/watchr","version":"2.0.2","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":"D1g1talEntr0py","license":"MIT","_id":"@d1g1tal/watchr@2.0.2","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"f0979b2124d636199f3934bbd9f7396cc6879c4e","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-2.0.2.tgz","fileCount":34,"integrity":"sha512-HKrD3I0e2WHEsvdX2QMkVLfNDtKLkf92d6l+BmhSt53ZWn6xZJCioqEQ7bmJi7aRtgXlKIAIYgujaEZsEq4qgA==","signatures":[{"sig":"MEYCIQDq/Kpb27TWW+aXV7foRWa+VeLP/J8e7bCGJdqCVVoGaAIhAIJGxeaEALU+7fyQ5ygFYhQiOfdQEVMjSvFomKVC8Rrs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@2.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":132988},"type":"module","types":"./dist/watchr.d.ts","engines":{"node":">=24.6.0"},"exports":{".":{"types":"./dist/watchr.d.ts","import":"./dist/watchr.js"}},"scripts":{"lint":"eslint --flag unstable_native_nodejs_ts_config ./src","test":"vitest run","bench":"pnpm build && node benchmarks/watchr.bench.ts","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","bench:compare":"pnpm build && node benchmarks/compare.ts","test:coverage":"vitest run --coverage","bench:compare:json":"pnpm build && node benchmarks/compare.ts --format json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"repository":{"url":"https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.68.0","eslint":"^10.8.0","mitata":"^1.0.34","vitest":"^4.1.10","esbuild":"^0.28.1","@eslint/js":"^10.0.1","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.1.2","typescript-eslint":"^8.66.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^4.1.10","eslint-plugin-jsdoc":"^63.3.3","@typescript-eslint/parser":"^8.66.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/watchr_2.0.2_1786103409179_0.4881001647774552","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@d1g1tal/watchr","version":"3.0.0","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":"D1g1talEntr0py","license":"MIT","_id":"@d1g1tal/watchr@3.0.0","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"69a4339c9246f43f457b00bfd70116f29a3b1c4c","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-3.0.0.tgz","fileCount":34,"integrity":"sha512-5/b6rPX7akWya89mRZ7yeiXdGfu8X0rugDUXaTJ2lIOvUCgfKv2+iQzZpf1JVj5Fb1gB/lf5frVqfonbMRad3w==","signatures":[{"sig":"MEYCIQDvXeWnC2pGJOdt3XYTt0o2BbiL6VnV1S4l9XpoWr+GaQIhAKzYy0jprK32bCL9OWogQHTXwhzB9wkcLmPihIdQJArs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":133546},"type":"module","types":"./dist/watchr.d.ts","engines":{"node":">=24.6.0"},"exports":{".":{"types":"./dist/watchr.d.ts","import":"./dist/watchr.js"}},"scripts":{"lint":"eslint --flag unstable_native_nodejs_ts_config ./src","test":"vitest run","bench":"pnpm build && node benchmarks/watchr.bench.ts","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","bench:compare":"pnpm build && node benchmarks/compare.ts","test:coverage":"vitest run --coverage","bench:compare:json":"pnpm build && node benchmarks/compare.ts --format json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"repository":{"url":"https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.68.0","eslint":"^10.8.0","mitata":"^1.0.34","vitest":"^4.1.10","esbuild":"^0.28.1","@eslint/js":"^10.0.1","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.1.2","typescript-eslint":"^8.66.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^4.1.10","eslint-plugin-jsdoc":"^63.3.3","@typescript-eslint/parser":"^8.66.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/watchr_3.0.0_1786105438413_0.8387376667545463","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@d1g1tal/watchr","version":"3.0.1","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":"D1g1talEntr0py","license":"MIT","_id":"@d1g1tal/watchr@3.0.1","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"755171766ca436a5a410e431c2888875f874f0c1","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-3.0.1.tgz","fileCount":34,"integrity":"sha512-CZEd0dYdxtdmk+8uGeM/MDqiWHGDhBNFVlVwJjueoz+75nGVhAsUOkHRCHOTfwZJX5Uc2EuDU1QcjViqa6hFfA==","signatures":[{"sig":"MEQCIGOYAlbBFkB1mYDNgH7BpwCSO5TH6BLnHxBnWA7jSUbxAiAbgprtQ6V+C65ohv2lxRJabgIPVLbXkqOVEGewcFVG2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@3.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":133748},"type":"module","types":"./dist/watchr.d.ts","engines":{"node":">=24.6.0"},"exports":{".":{"types":"./dist/watchr.d.ts","import":"./dist/watchr.js"}},"scripts":{"lint":"eslint --flag unstable_native_nodejs_ts_config ./src","test":"vitest run","bench":"pnpm build && node benchmarks/watchr.bench.ts","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","bench:compare":"pnpm build && node benchmarks/compare.ts","test:coverage":"vitest run --coverage","bench:compare:json":"pnpm build && node benchmarks/compare.ts --format json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"repository":{"url":"https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.68.0","eslint":"^10.8.0","mitata":"^1.0.34","vitest":"^4.1.10","esbuild":"^0.28.1","@eslint/js":"^10.0.1","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.1.2","typescript-eslint":"^8.66.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^4.1.10","eslint-plugin-jsdoc":"^63.3.3","@typescript-eslint/parser":"^8.66.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/watchr_3.0.1_1786112804384_0.11488339309905893","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@d1g1tal/watchr","version":"3.0.2","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":"D1g1talEntr0py","license":"MIT","_id":"@d1g1tal/watchr@3.0.2","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"b0a42e5d77a2388e1455066addc1c63005e33219","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-3.0.2.tgz","fileCount":34,"integrity":"sha512-SywlKYkvDOgDXD3if/quiCit0B6GsSVFcfRP+caSp1gM19xIjdv9qRR5a1Fz7A9p85grR9hLNydEzys5EnHqhQ==","signatures":[{"sig":"MEQCIFLpbyhVkSDavu09Ya7qkUmpnTjhIdUHQPSWRpDthhsDAiBTa4gTRhDkK1clxkDeAWwiPHaqUL8n2emA1/LtpFHqqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@3.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":143223},"type":"module","types":"./dist/watchr.d.ts","engines":{"node":">=24.6.0"},"exports":{".":{"types":"./dist/watchr.d.ts","import":"./dist/watchr.js"}},"scripts":{"lint":"eslint --flag unstable_native_nodejs_ts_config ./src","test":"vitest run","bench":"pnpm build && node benchmarks/watchr.bench.ts","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","bench:compare":"pnpm build && node benchmarks/compare.ts","test:coverage":"vitest run --coverage","bench:compare:json":"pnpm build && node benchmarks/compare.ts --format json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"repository":{"url":"https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.68.0","eslint":"^10.8.0","mitata":"^1.0.34","vitest":"^4.1.10","esbuild":"^0.28.1","@eslint/js":"^10.0.1","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.1.2","typescript-eslint":"^8.66.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^4.1.10","eslint-plugin-jsdoc":"^63.3.3","@typescript-eslint/parser":"^8.66.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/watchr_3.0.2_1786126910183_0.0311093215497944","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@d1g1tal/watchr","version":"3.1.0","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":"D1g1talEntr0py","license":"MIT","_id":"@d1g1tal/watchr@3.1.0","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"18cabb4b742373f145b5dca7eefec3f06e8650c3","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-3.1.0.tgz","fileCount":34,"integrity":"sha512-ZgxkAUxN+WPRc/HkoDq/vtYxQoYL2rBtw+l8BWVUPM9aPcij5WSIgIP4A8n6F35tLFt+jMGWsz0EhY5BSfYcuA==","signatures":[{"sig":"MEUCIQCdfsiXpuAwYiuU8aVhmpsPG5AEJiCivYUzJEvfaNNh5QIgI1UVXQ3ZhfF23y7/+h83PfFUwbR0BSBDWezyTiwa8tg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":148937},"type":"module","types":"./dist/watchr.d.ts","engines":{"node":">=24.6.0"},"exports":{".":{"types":"./dist/watchr.d.ts","import":"./dist/watchr.js"}},"scripts":{"lint":"eslint --flag unstable_native_nodejs_ts_config ./src","test":"vitest run","bench":"pnpm build && node benchmarks/watchr.bench.ts","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","bench:compare":"pnpm build && node benchmarks/compare.ts","test:coverage":"vitest run --coverage","bench:diagnostics":"pnpm build && node --expose-gc benchmarks/diagnostics.bench.ts","bench:compare:json":"pnpm build && node benchmarks/compare.ts --format json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"repository":{"url":"https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.68.0","eslint":"^10.8.0","mitata":"^1.0.34","vitest":"^4.1.10","esbuild":"^0.28.1","@eslint/js":"^10.0.1","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.1.2","typescript-eslint":"^8.66.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^4.1.10","eslint-plugin-jsdoc":"^63.3.3","@typescript-eslint/parser":"^8.66.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/watchr_3.1.0_1786188672925_0.14269213380120727","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@d1g1tal/watchr","version":"3.2.0","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":"D1g1talEntr0py","license":"MIT","_id":"@d1g1tal/watchr@3.2.0","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"eb14f7897235fe93216cc4f4f4f8f25188964d7f","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-3.2.0.tgz","fileCount":21,"integrity":"sha512-7hkFStTPiaqy5xo2XEFCmXcraPFay9K5Sh3+L9WxTj1Fvpjm1SLIwIB23XEZ4Gx/Tt1JaWbVZqMKhUTG8oXuvA==","signatures":[{"sig":"MEUCIGZObeqJRy5bdnIfcmAExvBLV8hQHoCbAGw9Rz8qeJs3AiEA1yVD899onW11+7dTsaym45Wila1wL9tPMx0J0OeiHFk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":151508},"type":"module","types":"./dist/watchr.d.ts","engines":{"node":">=24.6.0"},"exports":{".":{"types":"./dist/watchr.d.ts","import":"./dist/watchr.js"}},"scripts":{"lint":"eslint --flag unstable_native_nodejs_ts_config ./src","test":"vitest run","bench":"pnpm build && node benchmarks/watchr.bench.ts","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","bench:compare":"pnpm build && node benchmarks/compare.ts","test:coverage":"vitest run --coverage","bench:diagnostics":"pnpm build && node --expose-gc benchmarks/diagnostics.bench.ts","bench:compare:json":"pnpm build && node benchmarks/compare.ts --format json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"repository":{"url":"https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.18.0","dependencies":{"temporal-polyfill-lite":"^0.4.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.68.0","eslint":"^10.8.1","mitata":"^1.0.34","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.2.0","typescript-eslint":"^8.66.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^4.1.10","eslint-plugin-jsdoc":"^64.0.2"},"_npmOperationalInternal":{"tmp":"tmp/watchr_3.2.0_1786404179736_0.33523060382293224","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"@d1g1tal/watchr","version":"3.2.1","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":"D1g1talEntr0py","license":"MIT","_id":"@d1g1tal/watchr@3.2.1","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"d816e66f6926087393a7337b99552784520639c9","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-3.2.1.tgz","fileCount":21,"integrity":"sha512-EEEmXH+nj7cfhaEWjAVkHfUBcJqUoQx/SJMnrrgsm5Lv05jKOC1BrCSTE0vd7pTbm7tOBcLy7bZ+yucG9Exyow==","signatures":[{"sig":"MEUCIQD+HxPA3OoyABKJzIgteZMQSQRQaLepMVyKfiUwjPxIMAIgRTMeRgMxwalHjAvgKWp3/njm3pgFipWxifvX0JHt/SI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@3.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":152427},"type":"module","types":"./dist/watchr.d.ts","engines":{"node":">=24.6.0"},"exports":{".":{"types":"./dist/watchr.d.ts","import":"./dist/watchr.js"}},"scripts":{"lint":"eslint --flag unstable_native_nodejs_ts_config ./src","test":"vitest run","bench":"pnpm build && node benchmarks/watchr.bench.ts","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","bench:compare":"pnpm build && node benchmarks/compare.ts","test:coverage":"vitest run --coverage","bench:diagnostics":"pnpm build && node --expose-gc benchmarks/diagnostics.bench.ts","bench:compare:json":"pnpm build && node benchmarks/compare.ts --format json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"repository":{"url":"https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.18.0","dependencies":{"temporal-polyfill-lite":"^0.4.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.68.0","eslint":"^10.8.1","mitata":"^1.0.34","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.2.0","typescript-eslint":"^8.66.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^4.1.10","eslint-plugin-jsdoc":"^64.0.2"},"_npmOperationalInternal":{"tmp":"tmp/watchr_3.2.1_1786406259237_0.9400536709298899","host":"s3://npm-registry-packages-npm-production"}},"3.2.2":{"name":"@d1g1tal/watchr","version":"3.2.2","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":"D1g1talEntr0py","license":"MIT","_id":"@d1g1tal/watchr@3.2.2","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"13b3721c3bb9c4dec2e6b9920bbcb1329692698c","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-3.2.2.tgz","fileCount":21,"integrity":"sha512-e1TeB6xHlfLkNVkl/PFkkmQ/Bc5wlCkNLjYAN7wS4/XjZHkOl968yDRleeb1Cumixltc60k8PM2PPM2hFPzeww==","signatures":[{"sig":"MEUCIQDeuaXvCAyiYyM4w2BMtbio1Ok5J19/7Mi2TOzXqoyK4AIgCJme0PuJW2e546rAfRqfe3EMSgirub7EpWJvVBlX0Vk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@3.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":152691},"type":"module","types":"./dist/watchr.d.ts","engines":{"node":">=24.6.0"},"exports":{".":{"types":"./dist/watchr.d.ts","import":"./dist/watchr.js"}},"scripts":{"lint":"eslint --flag unstable_native_nodejs_ts_config ./src","test":"vitest run","bench":"pnpm build && node benchmarks/watchr.bench.ts","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","bench:compare":"pnpm build && node benchmarks/compare.ts","test:coverage":"vitest run --coverage","bench:diagnostics":"pnpm build && node --expose-gc benchmarks/diagnostics.bench.ts","bench:compare:json":"pnpm build && node benchmarks/compare.ts --format json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"repository":{"url":"https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.19.0","dependencies":{"temporal-polyfill-lite":"^0.4.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.68.1","eslint":"^10.9.0","mitata":"^1.0.34","vitest":"^4.1.11","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.2.0","typescript-eslint":"^8.67.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^4.1.11","eslint-plugin-jsdoc":"^64.2.1"},"_npmOperationalInternal":{"tmp":"tmp/watchr_3.2.2_1787412371798_0.6445654881717411","host":"s3://npm-registry-packages-npm-production"}},"3.2.3":{"name":"@d1g1tal/watchr","version":"3.2.3","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":"D1g1talEntr0py","license":"MIT","_id":"@d1g1tal/watchr@3.2.3","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"f23acabdf77136dc07ae33c909b1702e7e4e8013","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-3.2.3.tgz","fileCount":21,"integrity":"sha512-XZwK4f68fsUoVQpUjDyBEouWjBSyOJJGlB8BwkBO5BMjYiYBL85DKyz5BVk9cMTDrAMU7PiiKK7PExkFjn704Q==","signatures":[{"sig":"MEYCIQDW6uOod8uLcnoj5HsnBg81jKCkBSt47wgtf1NGJftWrwIhAI2jchlWqPpiOdfECFduBjDsEggbUUClG6fB8OrIZVUK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@3.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":152940},"type":"module","types":"./dist/watchr.d.ts","engines":{"node":">=24.6.0"},"exports":{".":{"types":"./dist/watchr.d.ts","import":"./dist/watchr.js"}},"scripts":{"lint":"eslint --flag unstable_native_nodejs_ts_config ./src","test":"vitest run","bench":"pnpm build && node benchmarks/watchr.bench.ts","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","bench:compare":"pnpm build && node benchmarks/compare.ts","test:coverage":"vitest run --coverage","bench:diagnostics":"pnpm build && node --expose-gc benchmarks/diagnostics.bench.ts","bench:compare:json":"pnpm build && node benchmarks/compare.ts --format json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"repository":{"url":"https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"_nodeVersion":"24.19.0","dependencies":{"temporal-polyfill-lite":"^0.4.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.68.1","eslint":"^10.9.0","mitata":"^1.0.34","vitest":"^4.1.11","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.2.0","typescript-eslint":"^8.67.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^4.1.11","eslint-plugin-jsdoc":"^64.2.1"},"_npmOperationalInternal":{"tmp":"tmp/watchr_3.2.3_1787412537139_0.7034083056770128","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@d1g1tal/watchr","version":"3.3.0","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"author":"D1g1talEntr0py","license":"MIT","_id":"@d1g1tal/watchr@3.3.0","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"homepage":"https://github.com/D1g1talEntr0py/watchr#readme","bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"dist":{"shasum":"bffe3405f2524c8697278a5942f8480247d147ba","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-3.3.0.tgz","fileCount":21,"integrity":"sha512-WH/Vhi3pS9mezIQYN5kkfwlzO6LIawvWMwCWDbyFUBKUwzveHzR8RJFAyNg+3lkBYfheWkNGS88m6+vK2qX4EA==","signatures":[{"sig":"MEUCIAt0rOjdpahDPGerPhhdtR66k+O9XO4zz5/RFjW29SizAiEA+6f+nd8T4S7qCBcWw96QDf24iugDgZRLhzLMPln8zrw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@3.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":156156},"type":"module","types":"./dist/watchr.d.ts","engines":{"node":">=24.6.0"},"exports":{".":{"types":"./dist/watchr.d.ts","import":"./dist/watchr.js"}},"scripts":{"lint":"eslint --flag unstable_native_nodejs_ts_config ./src","test":"vitest run","bench":"pnpm build && node benchmarks/watchr.bench.ts","build":"node esbuild.config.ts","test:watch":"vitest","type-check":"tsc --noEmit","build:watch":"tsc --watch --emitDeclarationOnly","bench:compare":"pnpm build && node benchmarks/compare.ts","test:coverage":"vitest run --coverage","bench:diagnostics":"pnpm build && node --expose-gc benchmarks/diagnostics.bench.ts","bench:compare:json":"pnpm build && node benchmarks/compare.ts --format json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"repository":{"url":"https://github.com/D1g1talEntr0py/watchr.git","type":"git"},"description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","directories":{},"dependencies":{"temporal-polyfill-lite":"^0.4.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"memfs":"^4.68.1","eslint":"^10.9.1","mitata":"^1.0.34","vitest":"^4.1.11","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.3.0","typescript-eslint":"^8.68.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^4.1.11","eslint-plugin-jsdoc":"^64.2.1"},"_npmOperationalInternal":{"tmp":"tmp/watchr_3.3.0_1787868054704_0.7017640474245501","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"@d1g1tal/watchr","author":"D1g1talEntr0py","version":"3.4.0","license":"MIT","description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","homepage":"https://github.com/D1g1talEntr0py/watchr#readme","repository":{"type":"git","url":"https://github.com/D1g1talEntr0py/watchr.git"},"bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"engines":{"node":">=24.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"type":"module","types":"./dist/watchr.d.ts","exports":{".":{"types":"./dist/watchr.d.ts","import":"./dist/watchr.js"}},"dependencies":{"temporal-polyfill-lite":"^0.4.3"},"devDependencies":{"@eslint/js":"^10.0.1","@types/node":"^26.4.1","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^5.0.0","esbuild":"^0.28.2","eslint":"^10.10.0","eslint-plugin-jsdoc":"^64.3.6","memfs":"^4.71.0","mitata":"^1.0.34","typescript":"npm:@typescript/typescript6@^6.0.2","typescript-eslint":"^8.69.0","vitest":"^5.0.0"},"keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"scripts":{"build":"node esbuild.config.ts","build:watch":"tsc --watch --emitDeclarationOnly","type-check":"tsc --noEmit","lint":"eslint --flag unstable_native_nodejs_ts_config ./src","test":"vitest run","test:coverage":"vitest run --coverage","test:watch":"vitest","bench":"pnpm build && node tests/benchmarks/watchr.bench.ts","bench:compare":"pnpm build && node tests/benchmarks/compare.ts","bench:compare:json":"pnpm build && node tests/benchmarks/compare.ts --format json","bench:diagnostics":"pnpm build && node --expose-gc tests/benchmarks/diagnostics.bench.ts"},"_id":"@d1g1tal/watchr@3.4.0","dist":{"integrity":"sha512-c8GgmlzdoNCNxKylHQM1yRUjTesY7R8luIN69P88r7cR6vXPULYJHma8zNT9HU2CSnqzPGMBqHWRRNmlPmv2Xw==","shasum":"8f5f9cf6f335243b8db9d50f0792920794acfed5","tarball":"https://registry.npmjs.org/@d1g1tal/watchr/-/watchr-3.4.0.tgz","fileCount":36,"unpackedSize":232127,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d1g1tal%2fwatchr@3.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEgvVQhEm2UC/+7tGncV6sFnxL1Ma9QltNeiFE7b6VVOAiEA9PEluO8TETXiQQkkDNyq3jch377UBdG84r4fszKfMTs="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bbbce570-f262-46a9-b92e-4f29bcaab3bc"}},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/watchr_3.4.0_1788786934162_0.09893319497214592"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-08T18:11:46.797Z","modified":"2026-09-07T13:15:34.742Z","1.0.0":"2026-02-08T18:11:47.089Z","1.0.2":"2026-03-07T13:57:00.342Z","1.0.3":"2026-03-07T14:18:22.166Z","1.0.4":"2026-03-18T17:35:32.952Z","1.0.5":"2026-03-27T21:50:55.139Z","1.0.6":"2026-04-07T13:41:06.578Z","1.0.7":"2026-06-21T17:19:37.080Z","1.1.0":"2026-06-25T01:23:26.948Z","1.1.1":"2026-06-25T10:55:37.664Z","1.2.0":"2026-08-02T21:00:20.647Z","2.0.0":"2026-08-07T10:50:33.385Z","2.0.1":"2026-08-07T11:36:53.738Z","2.0.2":"2026-08-07T11:50:09.314Z","3.0.0":"2026-08-07T12:23:58.558Z","3.0.1":"2026-08-07T14:26:44.590Z","3.0.2":"2026-08-07T18:21:50.342Z","3.1.0":"2026-08-08T11:31:13.139Z","3.2.0":"2026-08-10T23:22:59.932Z","3.2.1":"2026-08-10T23:57:39.396Z","3.2.2":"2026-08-22T15:26:11.942Z","3.2.3":"2026-08-22T15:28:57.274Z","3.3.0":"2026-08-27T22:00:54.861Z","3.4.0":"2026-09-07T13:15:34.294Z"},"bugs":{"url":"https://github.com/D1g1talEntr0py/watchr/issues"},"author":"D1g1talEntr0py","license":"MIT","homepage":"https://github.com/D1g1talEntr0py/watchr#readme","keywords":["fs","file","system","filesystem","watch","watcher","watchr","file-watcher","fs.watch","recursive","inode","rename-detection","typescript"],"repository":{"type":"git","url":"https://github.com/D1g1talEntr0py/watchr.git"},"description":"A native NodeJS file system watcher with optional rename detection support. Forked from github:fabiospampinato/watcher","maintainers":[{"name":"d1g1tal","email":"jason.dimeo@gmail.com"}],"readme":"# Watchr\n\n[![npm version](https://img.shields.io/npm/v/@d1g1tal/watchr?color=blue)](https://www.npmjs.com/package/@d1g1tal/watchr)\n[![npm downloads](https://img.shields.io/npm/dm/@d1g1tal/watchr)](https://www.npmjs.com/package/@d1g1tal/watchr)\n[![CI](https://github.com/D1g1talEntr0py/watchr/actions/workflows/ci.yml/badge.svg)](https://github.com/D1g1talEntr0py/watchr/actions/workflows/ci.yml)\n[![codecov](https://codecov.io/gh/D1g1talEntr0py/watchr/graph/badge.svg)](https://codecov.io/gh/D1g1talEntr0py/watchr)\n[![License: MIT](https://img.shields.io/github/license/D1g1talEntr0py/watchr)](https://github.com/D1g1talEntr0py/watchr/blob/main/LICENSE)\n[![Node.js](https://img.shields.io/node/v/@d1g1tal/watchr)](https://nodejs.org)\n[![TypeScript](https://img.shields.io/badge/TypeScript->=6.0.0-blue?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)\n\n> **⚠️ Important Notice**: This is a personal fork of [`Watcher`](https://github.com/fabiospampinato/watcher) by [Fabio Spampinato](https://github.com/fabiospampinato), modified to fit specific personal needs and experimentation. **Most users should use the original [Watcher](https://github.com/fabiospampinato/watcher) library instead**, which is actively maintained, battle-tested, and feature-complete.\n\nA modern, TypeScript-first file system watcher built on Node.js native APIs.\n\n## Features\n\n- **Native Performance**: Built on Node.js native `fs.watch` with recursive watching support\n- **TypeScript First**: Written entirely in TypeScript with comprehensive type definitions\n- **Event-Driven Architecture**: Clean, EventEmitter-based API for handling file system events\n- **Rename Detection**: Optional detection of file and directory renames with configurable timeouts\n- **Abort Signal Support**: Built-in AbortController integration for clean cancellation\n- **File Statistics**: Includes file stats with all events for enhanced metadata access\n- **Supported Platforms**: Linux and macOS only. Windows is not supported.\n- **Zero Native Dependencies**: Pure TypeScript implementation with no native binaries\n\n## Installation\n\n```bash\n# pnpm\npnpm add @d1g1tal/watchr\n\n# npm\nnpm install @d1g1tal/watchr\n\n# yarn\nyarn add @d1g1tal/watchr\n```\n\n## Quick Start\n\n```typescript\nimport { Watchr } from '@d1g1tal/watchr';\n\n// Watch a single directory\nconst watcher = new Watchr('/path/to/watch');\n\n// Listen for all events\nwatcher.on('all', (event, stats, targetPath, targetPathNext) => {\n  console.log(`${event}: ${targetPath}`);\n});\n\n// Listen for specific events\nwatcher.on('add', (stats, filePath) => {\n  console.log(`File added: ${filePath}`);\n});\n\nwatcher.on('change', (stats, filePath) => {\n  console.log(`File changed: ${filePath}`);\n});\n\n// Close when done\nwatcher.close();\n```\n\nWatchr also supports JavaScript explicit resource management in Node.js 24+:\n\n```typescript\nimport { once } from 'node:events';\nimport { Watchr } from '@d1g1tal/watchr';\n\n{\n  using watcher = new Watchr('/path/to/watch');\n  await watcher.readyLock;\n\n  const [stats, filePath] = await once(watcher, 'change');\n  console.log(`File changed: ${filePath}`);\n}\n```\n\n## Configuration Options\n\nWatchr accepts the following options to customize behavior:\n\n- **`persistent`**: Whether to keep the Node.js process running while watching\n  - Default: `true` (Node.js native watcher default)\n  - When `true`, prevents the process from exiting while the watcher is active\n\n- **`recursive`**: Enable recursive watching of subdirectories\n  - Default: `false`\n  - Uses Node.js native recursive watching\n\n- **`encoding`**: Character encoding for file paths\n  - Default: `'utf8'`\n  - Supports any Node.js BufferEncoding\n\n- **`ignore`**: Ignore matcher for paths\n  - Type: native Node `fs.watch` ignore matcher\n  - Callback form: `(filename: string) => boolean`\n  - Return `true` to ignore matching names\n  - Native form: string and regex patterns are matched against full path and basename\n  - String patterns also support glob-style matching (for example `**/*.log`)\n\n- **`ignoreInitial`**: Skip initial scan events when starting to watch\n  - Default: `false`\n  - When `true`, only new changes after watching starts will emit events\n\n- **`throwIfNoEntry`**: Throw immediately if watched path does not exist\n  - Default: Node.js default (`true`)\n\n- **`renameTimeout`**: Timeout in milliseconds for rename detection\n  - Default: `150ms`\n  - How long to wait to detect if separate add/unlink events are actually a rename\n\n## Events\n\nWatchr extends Node.js EventEmitter and emits the following events:\n\n### Watcher Events\n- **`ready`**: Emitted when the watcher has finished initialization\n- **`close`**: Emitted when the watcher is closed and all operations stopped\n- **`error`**: Emitted when an error occurs\n- **`all`**: Emitted before every file system event with `(event, stats, targetPath, targetPathNext?)`\n\n### File System Events\n- **`add`**: New file added - `(stats, filePath)`\n- **`addDir`**: New directory added - `(stats, directoryPath)`\n- **`change`**: File content or metadata changed - `(stats, filePath)`\n- **`rename`**: File renamed - `(stats, oldPath, newPath)`\n- **`renameDir`**: Directory renamed - `(stats, oldPath, newPath)`\n- **`unlink`**: File removed - `(stats, filePath)`\n- **`unlinkDir`**: Directory removed - `(stats, directoryPath)`\n\nAll file system events include a `WatchrStats` object containing file metadata.\n\n## API Reference\n\n### Constructor\n\n```typescript\nnew Watchr(target?: string | string[], options?: WatchrOptions, handler?: Handler)\n```\n\n- **`target`**: Path(s) to watch (file or directory)\n- **`options`**: Configuration options (see Configuration Options above)\n- **`handler`**: Optional handler for the `all` event\n\n### Public Methods\n\n```typescript\n// Check if the watcher is closed\nisClosed(): boolean\n\n// Check if the watcher is ready\nisReady(): boolean\n\n// Close the watcher and stop all watching\nclose(): void\n\n// Dispose the watcher; equivalent to close()\n[Symbol.dispose](): void\n\n// Check if a path should be ignored\nisIgnored(targetPath: string, ignore?: WatchIgnore): boolean\n\n// Access the abort signal for cancellation\nget abortSignal(): AbortSignal\n\n// Get a promise that resolves when ready\nget readyLock(): Promise<void>\n\n// Access file rename handler\nget renameWatchr(): FileRenameHandler\n```\n\n### Type Definitions\n\n```typescript\ntype WatchrOptions = {\n  persistent?: boolean;\n  recursive?: boolean;\n  encoding?: BufferEncoding;\n  ignore?: ((filename: string) => boolean) | string | RegExp | Array<string | RegExp | ((filename: string) => boolean)>;\n  ignoreInitial?: boolean;\n  throwIfNoEntry?: boolean;\n  renameTimeout?: number;\n};\n\ntype Handler = (\n  event: FileSystemEvent,\n  stats: WatchrStats,\n  targetPath: string,\n  targetPathNext?: string\n) => void;\n\ntype FileSystemEvent =\n  | 'add' | 'addDir' | 'change'\n  | 'rename' | 'renameDir'\n  | 'unlink' | 'unlinkDir';\n```\n\n### Ignore Matching Semantics\n\n- Callback ignore (`(filename) => boolean`): native watcher-style matcher.\n- String ignore:\n  - Exact path and basename checks are supported.\n  - Glob patterns are supported via Node path glob semantics.\n  - Matching is attempted against both absolute path and basename.\n- RegExp ignore:\n  - Evaluated against full path, then basename.\n- Array ignore:\n  - Any matching pattern in the array ignores the path.\n\nExamples:\n\n```typescript\n// Ignore all .log files anywhere\nnew Watchr('/repo', { ignore: '**/*.log' });\n\n// Ignore by basename\nnew Watchr('/repo', { ignore: 'node_modules' });\n\n// Ignore with callback\nnew Watchr('/repo', { ignore: (filename) => filename.endsWith('.map') });\n\n// Mixed native patterns\nnew Watchr('/repo', { ignore: [ '**/*.tmp', /\\.cache\\// ] });\n```\n\n## Usage Examples\n\n### Basic File Watching\n\n```typescript\nimport { Watchr } from '@d1g1tal/watchr';\n\n// Watch a single directory\nconst watcher = new Watchr('/path/to/watch', { recursive: true });\n\nwatcher.on(Watchr.Event.READY, () => {\n  console.log('Watcher is ready');\n});\n\nwatcher.on(Watchr.FileEvent.ADD, (stats, filePath) => {\n  console.log(`File added: ${filePath}`);\n  console.log(`Size: ${stats.size} bytes`);\n});\n\nwatcher.on(Watchr.FileEvent.CHANGE, (stats, filePath) => {\n  console.log(`File changed: ${filePath}`);\n});\n\nwatcher.on(Watchr.FileEvent.UNLINK, (stats, filePath) => {\n  console.log(`File deleted: ${filePath}`);\n});\n```\n\n### Watching Multiple Paths\n\n```typescript\nconst fileItems = [ '/path/to/src', '/path/to/config', '/path/to/package.json' ];\nconst watcher = new Watchr(fileItems, { recursive: true, ignore: (path) => path.includes('node_modules') });\n```\n\n### Using the Universal Handler\n\n```typescript\nconst watcher = new Watchr('/path/to/watch', {}, (event, stats, targetPath, targetPathNext) => {\n  switch (event) {\n    case Watchr.FileEvent.ADD: {\n      console.log(`Added: ${targetPath}`);\n      break;\n    }\n    case Watchr.FileEvent.RENAME: {\n      console.log(`Renamed: ${targetPath} -> ${targetPathNext}`);\n      break;\n    }\n    case Watchr.FileEvent.UNLINK: {\n      console.log(`Removed: ${targetPath}`);\n      break;\n    }\n  }\n});\n```\n\n### Advanced Configuration\n\n```typescript\nconst watcher = new Watchr('/project', {\n  recursive: true,\n  ignoreInitial: true,\n  ignore: (path) => {\n    // Ignore common development artifacts\n    return path.includes('node_modules') ||\n           path.includes('.git') ||\n           path.endsWith('.tmp');\n  }\n});\n\n// Listen for all events\nwatcher.on('all', (event, stats, targetPath, targetPathNext) => {\n  console.log(`Event: ${event}, Path: ${targetPath}`);\n  if (targetPathNext) {\n    console.log(`New path: ${targetPathNext}`);\n  }\n});\n\n// Handle errors\nwatcher.on('error', (error) => {\n  console.error('Watcher error:', error);\n});\n\n// Clean shutdown\nprocess.on('SIGINT', () => {\n  watcher.close();\n  process.exit(0);\n});\n```\n\n### With AbortController Integration\n\n```typescript\nconst watcher = new Watchr('/path/to/watch');\n\n// Use the built-in abort signal\nconst { abortSignal } = watcher;\n\nabortSignal.addEventListener('abort', () => {\n  console.log('Watcher was aborted');\n});\n\n// Close the watcher (triggers abort)\nsetTimeout(() => watcher.close(), 10000);\n```\n\n### With Explicit Resource Management\n\n```typescript\nimport { once } from 'node:events';\nimport { Watchr } from '@d1g1tal/watchr';\n\n{\n  using watcher = new Watchr('/path/to/watch');\n  await watcher.readyLock;\n\n  const [event, stats, targetPath] = await once(watcher, 'all');\n  console.log(event, targetPath);\n}\n```\n\nThese examples watch until the first matching event after readiness. Leaving the `using` block calls `watcher[Symbol.dispose]()` automatically. Disposal is synchronous, idempotent, emits `close` once, aborts `abortSignal`, and has the same behavior as `watcher.close()`.\n\n## Requirements\n\n- Node.js 24.6.0 or higher\n- TypeScript 6.0.0 or higher (for TypeScript projects)\n\n## Why Use the Original Watcher Instead?\n\nThe original [`Watcher`](https://github.com/fabiospampinato/watcher) by Fabio Spampinato is:\n- **Production-ready** with extensive real-world usage and testing\n- **Actively maintained** with regular updates and bug fixes\n- **Well-documented** with comprehensive examples and API documentation\n- **Battle-tested** across many projects and platforms\n- **Feature-complete** with robust edge case handling\n\nThis fork was created for personal experimentation with alternative architectural approaches (like inode-based rename detection patterns and event flow redesigns) and should be considered experimental. Unless you have specific needs that align with these experimental features, you'll be better served by the original library.\n\n## Additional Acknowledgments\n- [`chokidar`](https://github.com/paulmillr/chokidar) - Popular file watcher that helped shape API design decisions\n- [`node-watch`](https://github.com/yuanchuan/node-watch) - Minimalist watcher implementation for reference\n\n## License\n\nMIT © D1g1talEntr0py\n","readmeFilename":""}