{"_id":"@budarin/pluggable-serviceworker","_rev":"93-49ace1353f07fde05d61421e8d97b3dd","name":"@budarin/pluggable-serviceworker","dist-tags":{"latest":"1.18.13"},"versions":{"1.0.1":{"name":"@budarin/pluggable-serviceworker","version":"1.0.1","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.1","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"3bd4cd981ae7f4b2e835f595c42e63e7f5b52999","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.1.tgz","fileCount":14,"integrity":"sha512-yOj1Eki8WZ7xLyFK//LhwBKiPqATj0Q79N5TSkNzLMNqHfU7yS0Gp4e8jII0ghujaXHzpu4Cfw0Tsx0E7aiGSw==","signatures":[{"sig":"MEUCIHvhh1E035hzUJKthKrwagZd90rijbCChqeqW13+W1E7AiEA5w5hsK/JKGOxz76lYsFEZ0xSMplHA6eT4vVeGOgcNyg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34567},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.1.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\8b47e1cf27245711052ecfb4289b32d5\\budarin-pluggable-serviceworker-1.0.1.tgz","_integrity":"sha512-yOj1Eki8WZ7xLyFK//LhwBKiPqATj0Q79N5TSkNzLMNqHfU7yS0Gp4e8jII0ghujaXHzpu4Cfw0Tsx0E7aiGSw==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.1_1758389016969_0.4435300599181946","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@budarin/pluggable-serviceworker","version":"1.0.2","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.2","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"3b24e175ea5456c747b505e14b3c57790f05c9a0","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.2.tgz","fileCount":14,"integrity":"sha512-Ppe5tCUa8BpeH+k15A4fcj7/QL3bR6fd1M+ABES+/T7YZJmWX5yyBi+kljnpZEOBn5QeE8UzlrvUM92jifyjcg==","signatures":[{"sig":"MEYCIQC1TLqF9aOPV/dfuixsBhmTQIh05Q116fUe7vODSn6ssQIhAMaxofV9Fl586FEV0toF4NBQFw5eqZYPtY/H38tMdKQH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44909},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.2.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\94352e637fe9929859f778511f4a865b\\budarin-pluggable-serviceworker-1.0.2.tgz","_integrity":"sha512-Ppe5tCUa8BpeH+k15A4fcj7/QL3bR6fd1M+ABES+/T7YZJmWX5yyBi+kljnpZEOBn5QeE8UzlrvUM92jifyjcg==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.2_1758393494152_0.992172275825284","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@budarin/pluggable-serviceworker","version":"1.0.3","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.3","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"708b97b1cd752e9b3384a886670856d19307a265","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.3.tgz","fileCount":14,"integrity":"sha512-uBYDz6A0UhhW6XnqoZOJ+t38H+Zf2h1Ddc/4s+X/JLDep/MYwZjfK0VvTG7oVq0t7eYiefksF5DXxaf5XHnGkA==","signatures":[{"sig":"MEYCIQDfNasay7zLxchmLKbAJPr08LTubH95/yurbRCg0Vc03gIhAKVCAbb3dtniG8dBAWoPxiT+uDaL8KMFMkGNgI/WjSOF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44879},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.3.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\57d7addd8882ea47b21f4d0d60399281\\budarin-pluggable-serviceworker-1.0.3.tgz","_integrity":"sha512-uBYDz6A0UhhW6XnqoZOJ+t38H+Zf2h1Ddc/4s+X/JLDep/MYwZjfK0VvTG7oVq0t7eYiefksF5DXxaf5XHnGkA==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.3_1758393775546_0.9012117494306242","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@budarin/pluggable-serviceworker","version":"1.0.4","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.4","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"16a06fb276e0490a8bffb0127d64d97c33bc748b","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.4.tgz","fileCount":14,"integrity":"sha512-mBEH6MrfYu0LwdgIuwrghfRz8gBnHRlAPkY5tpQkOh8tOYYBlgYkGLPy7+gsJTNfgYgyEmfb/t94cl6BjukuyQ==","signatures":[{"sig":"MEUCIDqG8vSC8EehIW9uQcc1L7TpzD+VWyskpuO+3v30cg7bAiEAnnXoWRuEWBqleGcVfuqCXM+vbjX8WvpgRXA+rpT4T0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51834},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.4.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\6bb68a82462a2af1a12b0a7ed5297a11\\budarin-pluggable-serviceworker-1.0.4.tgz","_integrity":"sha512-mBEH6MrfYu0LwdgIuwrghfRz8gBnHRlAPkY5tpQkOh8tOYYBlgYkGLPy7+gsJTNfgYgyEmfb/t94cl6BjukuyQ==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.4_1758396024033_0.28938168828039856","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@budarin/pluggable-serviceworker","version":"1.0.5","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.5","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"e0303b570c41846e0320e92c2eb86b33edeb487c","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.5.tgz","fileCount":14,"integrity":"sha512-xM7lYgMz7E8F1JcSRLWhJY+QxmWw6t/bEIUz49IhHLyVJblnmOT5ZnzDewHKkEPf1SZwQjkiM+edfhsWJtlwow==","signatures":[{"sig":"MEUCIQCGons4LbqSq45S/TXMM09R5BJSU12fijvAaCAKv3wP9wIgYc6JgeKDoQ55G1ALlapzPe0zDrifjEcLYtDysiJsRtA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56208},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.5.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\fb209683b532fb7f6750457445664c6e\\budarin-pluggable-serviceworker-1.0.5.tgz","_integrity":"sha512-xM7lYgMz7E8F1JcSRLWhJY+QxmWw6t/bEIUz49IhHLyVJblnmOT5ZnzDewHKkEPf1SZwQjkiM+edfhsWJtlwow==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.5_1758397190413_0.9000845007776028","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@budarin/pluggable-serviceworker","version":"1.0.6","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.6","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"bee421a9a9d5947acb856657f081a1ea3ed672b1","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.6.tgz","fileCount":14,"integrity":"sha512-jqbugWCYVx5YsUNYKAesjJtZZ2ZIU6IEDYkJZG+X1igZo/yf5A+l/ZKi5wY2g7LZoCSrfbZ+no8H/5UAsluhIA==","signatures":[{"sig":"MEUCIAHt0G2vfYYPHSIep9d5C67ow06wy8ndFOk7pbVEtQcKAiEAvMP0kRwX6ajBRS0DRHYUNRuVO9gvlgphACnV0yp/yqc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56198},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.6.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\65be451e2fc3bc70004d4faaf289396e\\budarin-pluggable-serviceworker-1.0.6.tgz","_integrity":"sha512-jqbugWCYVx5YsUNYKAesjJtZZ2ZIU6IEDYkJZG+X1igZo/yf5A+l/ZKi5wY2g7LZoCSrfbZ+no8H/5UAsluhIA==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.6_1758397365647_0.24704440297481978","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@budarin/pluggable-serviceworker","version":"1.0.7","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.7","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"54fba57e55c77b6ff127a1a368bf12bcb475af61","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.7.tgz","fileCount":14,"integrity":"sha512-jMIXAG+yfMxwVEAJ4S5jPWX8wimwJEescd0S3R5bNLq4M6KyFmRn2zsJeF1xLA7Q7UkhOvj+r8Q52mwexLgXiA==","signatures":[{"sig":"MEQCIFsfYCUiCE6SCEN+unTTZg2Yd6V79HDzVNw8VPOxWyCjAiAungO+JIk6J/JC08CtN+fsOdTXx0stR+Rxm5fN8SULiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56087},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.7.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\5b16cb6f8028599a89eb67eea37334ae\\budarin-pluggable-serviceworker-1.0.7.tgz","_integrity":"sha512-jMIXAG+yfMxwVEAJ4S5jPWX8wimwJEescd0S3R5bNLq4M6KyFmRn2zsJeF1xLA7Q7UkhOvj+r8Q52mwexLgXiA==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.7_1758397732473_0.43946655007498436","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@budarin/pluggable-serviceworker","version":"1.0.8","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.8","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"38fc60b1982b6a03fd55a541d67e70c2a30bb158","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.8.tgz","fileCount":14,"integrity":"sha512-dsLgGSXPTqwIzcs5BbPgtAcANA7WWZU+cHn+Ft2efcvS6tAWt/sgR1LcpjjRP6/dge0k4J9z/o5CqB9E0auqYw==","signatures":[{"sig":"MEUCIQDlXUmtHU+CSLKUvtTlP8YO+LuZv+Y5WiV+eZaDser1GQIgE2axyvVAfEXKdHcKzAH2VgNGMVun6hbRjNGW7r08Vq4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56222},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.8.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\c7311dd5f63301f839edf85357d058b9\\budarin-pluggable-serviceworker-1.0.8.tgz","_integrity":"sha512-dsLgGSXPTqwIzcs5BbPgtAcANA7WWZU+cHn+Ft2efcvS6tAWt/sgR1LcpjjRP6/dge0k4J9z/o5CqB9E0auqYw==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.8_1758399864107_0.49950993050512893","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@budarin/pluggable-serviceworker","version":"1.0.9","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.9","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"b2742550b377ecb6560106fc96d525fbba75cc93","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.9.tgz","fileCount":10,"integrity":"sha512-rNzWoFrfyya0bDOuRqfo0TIYT0Q6sFWGQ+ngzsya2qdDbVcmFp/n9L2lazGxFkrh1GbQte9zhCk8+AkMJNeV8A==","signatures":[{"sig":"MEQCIE89EtJ11ZcBI8qKWXvSnrLgtqLkvfv72O587YBvyHmiAiA15l/ifPfGrkX7XGD/Mc9u8ADDmJ3bRToKRcgmSW8uAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43694},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.9.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\61abcd5acc6e661b681202f9113bf78b\\budarin-pluggable-serviceworker-1.0.9.tgz","_integrity":"sha512-rNzWoFrfyya0bDOuRqfo0TIYT0Q6sFWGQ+ngzsya2qdDbVcmFp/n9L2lazGxFkrh1GbQte9zhCk8+AkMJNeV8A==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.9_1758639839298_0.8745759119837977","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@budarin/pluggable-serviceworker","version":"1.0.10","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.10","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"2df62046fd11b6b18ae426627d0865d72662408e","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.10.tgz","fileCount":7,"integrity":"sha512-Os6UuRcMUyDLSWBqh/Zsys+FsKMgk9GE+zq/yX7Y+qPR4GrgiV7OJT9kk14flcZYJ6tv/wUKmGWv0FuiEdUITw==","signatures":[{"sig":"MEYCIQCFkYcn5RIL8USngGW4hdLDfbF88CBaMdPrDx2E98HlaQIhAJxYCwTr1QsWWL9wJcI/KZuCLUNqg0c93KCfOAgyzu2w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37093},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.10.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\a4eab852bbbd5f4f230ed7debf0fc85b\\budarin-pluggable-serviceworker-1.0.10.tgz","_integrity":"sha512-Os6UuRcMUyDLSWBqh/Zsys+FsKMgk9GE+zq/yX7Y+qPR4GrgiV7OJT9kk14flcZYJ6tv/wUKmGWv0FuiEdUITw==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.10_1758640195074_0.6655158241251149","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@budarin/pluggable-serviceworker","version":"1.0.11","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.11","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"5f97cc66bc386ee7ad631cb8eb0b347f35204990","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.11.tgz","fileCount":7,"integrity":"sha512-AHqn3xtXZ+R3hZGiTPfcU3sPdhBXSPpBArrakb+klGkU2OFv5XjKFEB6tUFvTl156a28Aq8zbJ7PmvOEtVdb+w==","signatures":[{"sig":"MEQCIFR+gs9I+1npnBu5J0YtHq2cD0SJj9Cr+x1KpvoLSIekAiBMUQso0GCo/J0woo+gjLtTz32hNrLpieIrFLyTdetwfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37105},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.11.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\76f86af0972be49f438b471f6eef085c\\budarin-pluggable-serviceworker-1.0.11.tgz","_integrity":"sha512-AHqn3xtXZ+R3hZGiTPfcU3sPdhBXSPpBArrakb+klGkU2OFv5XjKFEB6tUFvTl156a28Aq8zbJ7PmvOEtVdb+w==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.11_1758706932556_0.8159074557058497","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@budarin/pluggable-serviceworker","version":"1.0.12","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.12","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"f0ebc6b0e357e9a1c7618a5cdf81e571bf59e6ab","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.12.tgz","fileCount":7,"integrity":"sha512-RbWd73oRiDbXxgxolGE2fN4WDS+7+CNldCM202ySUiYpc898m5rmdgHQPmrVsJSh02T6wkqi7kt4xHDjY9Emlw==","signatures":[{"sig":"MEQCIGeLoc9PQzManDlMJRHvfGtNuo0nKtKqJw0ygckq4+xgAiA7S5B8EAT95Z7BTFlyTrOHsSM5IdqFnBEx9GOBfs4SGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37220},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.12.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\815074640f0e003b36538f86c34e2129\\budarin-pluggable-serviceworker-1.0.12.tgz","_integrity":"sha512-RbWd73oRiDbXxgxolGE2fN4WDS+7+CNldCM202ySUiYpc898m5rmdgHQPmrVsJSh02T6wkqi7kt4xHDjY9Emlw==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.12_1758707543234_0.14020781548603023","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@budarin/pluggable-serviceworker","version":"1.0.13","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.13","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"60f59743ede658fc721cf046a504ef7341fd5f1c","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.13.tgz","fileCount":7,"integrity":"sha512-8fdvB7WbwFa3uFkkh1oEE50x+B5ors81QeIGfmeGBRQX4JSvxNS6VEzu+8FjMPJcMt+wd3FjIhMUZ+QeUWXKQw==","signatures":[{"sig":"MEUCIApesArcmRbsVO1gqDzrXGqMaEnWbDDhx90eGCg3D4zdAiEAsBIl30saIsvGE7Mbux+6UX2uv+sNLNBx4u1n3sz0wOQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37244},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.13.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\03a234992cc81b5c083ee3adf5603908\\budarin-pluggable-serviceworker-1.0.13.tgz","_integrity":"sha512-8fdvB7WbwFa3uFkkh1oEE50x+B5ors81QeIGfmeGBRQX4JSvxNS6VEzu+8FjMPJcMt+wd3FjIhMUZ+QeUWXKQw==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.13_1758728653215_0.9291496057531317","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@budarin/pluggable-serviceworker","version":"1.0.14","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.14","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"d2c0d56488c44401b338deb6b6c6944920cc6ac9","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.14.tgz","fileCount":7,"integrity":"sha512-lBppsZhasDM7SoP6/3wx5UHZ9SixAE9XAcwKjRLHpaKUhQDuB8J62y6gB6wct7ujseMzpV3BK7n7lNHRy8KGjw==","signatures":[{"sig":"MEUCIQCFAPaCzD5NorZJYN7gGRl5FKQ/oG2lkZwZuQQBDdjU+QIgDCfZh4M7eUb8Wr4lDIM2S2f0n2YpwYQaVaHAhRmUIX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37460},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.14.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\7206d3dffad3c54d8104080969d70eaa\\budarin-pluggable-serviceworker-1.0.14.tgz","_integrity":"sha512-lBppsZhasDM7SoP6/3wx5UHZ9SixAE9XAcwKjRLHpaKUhQDuB8J62y6gB6wct7ujseMzpV3BK7n7lNHRy8KGjw==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.14_1758729591504_0.6111123689367797","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@budarin/pluggable-serviceworker","version":"1.0.15","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.15","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"d5760915a54a8188554dd9e53aa48e660319f3a8","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.15.tgz","fileCount":7,"integrity":"sha512-iYS7ynPZCPMSd2VyYSKcsykoBJjuajyfXIsLpUbQLd0MoDSycyKXLLEp9p6dxcuCVTM35omu7dYsazTHWP2isw==","signatures":[{"sig":"MEUCIByx/wKyLzN37BBhKacmtc/qlzL3A/Af9yH1M6T4g7d2AiEA63sp9E6kheFLpfPlsHuQ6cpy67yoMPhDvGNer8IeXE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37495},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.15.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\643bc410ff2d90b111a67089df624d16\\budarin-pluggable-serviceworker-1.0.15.tgz","_integrity":"sha512-iYS7ynPZCPMSd2VyYSKcsykoBJjuajyfXIsLpUbQLd0MoDSycyKXLLEp9p6dxcuCVTM35omu7dYsazTHWP2isw==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.15_1758800872252_0.8815995774329977","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@budarin/pluggable-serviceworker","version":"1.0.16","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.16","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"8e0b1e685d027ad03ae8cfad7add569f28d77b1e","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.16.tgz","fileCount":7,"integrity":"sha512-Fr5cvevhF57mCjUguDp8yHF22pXEiSRd2n9z1yNR+rZMAfLV3YcvuJDwKtJxcw1kj7JM7WO2uRT3iK+PEcS8Jg==","signatures":[{"sig":"MEUCIFJqPNvodpbJj1xwUdPIMc8DExDti82BBXLjqoUE3RZuAiEAo0w/VDqf/zrcX/A/tNk4PauNUYfK6+R62Mv0pxVO8vA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38801},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.16.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\34208d18c70647f2995172a057e921a9\\budarin-pluggable-serviceworker-1.0.16.tgz","_integrity":"sha512-Fr5cvevhF57mCjUguDp8yHF22pXEiSRd2n9z1yNR+rZMAfLV3YcvuJDwKtJxcw1kj7JM7WO2uRT3iK+PEcS8Jg==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.16_1758816564441_0.08208752670462105","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@budarin/pluggable-serviceworker","version":"1.0.17","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.17","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"44ddf5a29d8092567613843ac55e62dbf180d7bc","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.17.tgz","fileCount":7,"integrity":"sha512-VqP5ia5iphOQOaiU3yyMLguCB/e3UhPzKdHtwJV3D14sEZOrKnv0jGGwVb9MKl/pPm2nYheeCREubEdd+pAoIg==","signatures":[{"sig":"MEYCIQDMx9oDbSEd3sUKMV5Cf5HMJGia20aK8j4sIyhkc9ZdpwIhALGkQcYoh1o+j9J/o7pLEmAmkApgolp0Vn/3X+SdBHsK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41770},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.17.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\d7eb41850da8c3dd9dfd2f50bb5b9b37\\budarin-pluggable-serviceworker-1.0.17.tgz","_integrity":"sha512-VqP5ia5iphOQOaiU3yyMLguCB/e3UhPzKdHtwJV3D14sEZOrKnv0jGGwVb9MKl/pPm2nYheeCREubEdd+pAoIg==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.17_1758925645627_0.09054134298532013","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@budarin/pluggable-serviceworker","version":"1.0.18","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.18","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"e156c4ada8d901720217555e7e757cdd1ed429ad","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.18.tgz","fileCount":7,"integrity":"sha512-e+dKLDVI3aaEU9S2bua6t0M+1o/sgHgTdMX1mzAMktetykT6eQyclshxSsd+ywoyE9ap/UEwLWRN8iGaQOG1QA==","signatures":[{"sig":"MEUCIF++rTZ/F5kfTL4nd01Aj0CcQ6vXNKHJfg9aBwPmIFbgAiEAokqBcTSlxVWwG4AK/z6I0raKDbzgaVKaXU3NmYy9eks=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41870},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.18.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\67c3ab1f101f6d4a7b94159539a11cc1\\budarin-pluggable-serviceworker-1.0.18.tgz","_integrity":"sha512-e+dKLDVI3aaEU9S2bua6t0M+1o/sgHgTdMX1mzAMktetykT6eQyclshxSsd+ywoyE9ap/UEwLWRN8iGaQOG1QA==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.18_1758927101359_0.39402229133570765","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@budarin/pluggable-serviceworker","version":"1.0.19","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.19","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"49868c872e2bf2432644954e98b318dbcfae0f47","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.19.tgz","fileCount":7,"integrity":"sha512-hC4joAh9W44vtSQGzQZCz4JvemgeIbZku99EVQ3V1UO616rRsLjcHUhjgKoNCMMDh1+rhzdiLzE8KjC0NgbElg==","signatures":[{"sig":"MEUCIBEjwJ7huzHEfI4xdojoYvyx3Xt401mttS5w2n5FqM0CAiEA8cOchAYjIKU7DizYXNIxVfggh2tFAmestABBBMjjS5w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28818},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.19.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","pnpm-install":"pnpm install","upgrade-deps":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"/private/var/folders/3d/my733tj9449d7jbbq3h3395w0000gn/T/8714591dff6cbc120f293bdb12e57467/budarin-pluggable-serviceworker-1.0.19.tgz","_integrity":"sha512-hC4joAh9W44vtSQGzQZCz4JvemgeIbZku99EVQ3V1UO616rRsLjcHUhjgKoNCMMDh1+rhzdiLzE8KjC0NgbElg==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.19_1758933041290_0.3936069524589938","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@budarin/pluggable-serviceworker","version":"1.0.20","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.20","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"4f4b66b06e3591468ff23dd38fd24b406f92fa7d","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.20.tgz","fileCount":8,"integrity":"sha512-cdD9nCvAS8S/DwXf2s1Ui9j7K8UQ3PHLQ8N7ShVVdsIVzd+sJFrIFZrRudXeoX80FyGIPjgiFxHdfHi0LbwltQ==","signatures":[{"sig":"MEQCIEkVFKJnHCvq8XB3Wyn4gdU40yJH5qo3fPXEwMw4E7JYAiAlgr9ds3fg8sL+58rz3aERWQ0y+l9th0JBc+WXWvrPBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31251},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.20.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","pnpm-install":"pnpm install","upgrade-deps":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\c06c6545829bc643b235d0e118c03d39\\budarin-pluggable-serviceworker-1.0.20.tgz","_integrity":"sha512-cdD9nCvAS8S/DwXf2s1Ui9j7K8UQ3PHLQ8N7ShVVdsIVzd+sJFrIFZrRudXeoX80FyGIPjgiFxHdfHi0LbwltQ==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.20_1759074900658_0.9893242869782075","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@budarin/pluggable-serviceworker","version":"1.0.21","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.21","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"560e15f5e4fbf606b2db3e14b0873400f1f4f4c0","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.21.tgz","fileCount":8,"integrity":"sha512-oVb/I6iIkNGxi35LCPKIBhD/xKjA85JUudI2UJ/QAZwsj9bVsgKoisjdIrJN02TcDq8lZoR6WQ8gBLWrOUiYnA==","signatures":[{"sig":"MEYCIQCaiDVVOhDbmCdN2ptv6g7z86DuhwicbraSMeAt7amRpgIhALwoKxdv+P9r3eJf1Zk3MGpvgGZVMDsUnRY47Y17HUVV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29792},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.21.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","pnpm-install":"pnpm install","upgrade-deps":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\27a48b8020484214ea3ebba5dc165e19\\budarin-pluggable-serviceworker-1.0.21.tgz","_integrity":"sha512-oVb/I6iIkNGxi35LCPKIBhD/xKjA85JUudI2UJ/QAZwsj9bVsgKoisjdIrJN02TcDq8lZoR6WQ8gBLWrOUiYnA==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@budarin/http-constants":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.21_1759087636741_0.42122742713082073","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@budarin/pluggable-serviceworker","version":"1.0.22","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.22","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"ecbd285b61bcc0f3761b53375afae0af52f9ed13","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.22.tgz","fileCount":8,"integrity":"sha512-miXg68+xLBcUPr+WPWPnz7OO/eETx6UP39uaOkFQFAldhJBQKsW2KUqGZm5zvHficNwNW/0Y9DnhFX/9OX2rpQ==","signatures":[{"sig":"MEYCIQC66BWXym4ONb0JP1y9X/+MYCAjpJAVyOOpe7/5sBj5VgIhANPAImpy5QbeP/EESfxMEhockm3aHuzpnVTTU+hF6HRV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29793},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.22.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","pnpm-install":"pnpm install","upgrade-deps":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\91e99a2cfde1e9d3595d02868c08943a\\budarin-pluggable-serviceworker-1.0.22.tgz","_integrity":"sha512-miXg68+xLBcUPr+WPWPnz7OO/eETx6UP39uaOkFQFAldhJBQKsW2KUqGZm5zvHficNwNW/0Y9DnhFX/9OX2rpQ==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@budarin/http-constants":"^1.0.11"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.22_1759095853469_0.4190375544809146","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@budarin/pluggable-serviceworker","version":"1.0.23","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.23","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"6712222331bc298b7382a40f83d6fbfbe36658dd","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.23.tgz","fileCount":8,"integrity":"sha512-7k71QGwK9Vgh0L8tJXJRbwAZVFgsabo6pESHLEtEKGgxiOtAUsDrtXnQwl/WXspIOfWK1umEG6d82cPuABmWpw==","signatures":[{"sig":"MEQCIHvomeS+susDEmfQybioaJ29rHQARPICnsR85UbzNBq7AiB/KXPepm3kMsstHgfZowHM6i8w7PW61CqVJ54WxY/TAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29793},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.23.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","pnpm-install":"pnpm install","upgrade-deps":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\e85e550a244a587b28dd4f8756b55aa7\\budarin-pluggable-serviceworker-1.0.23.tgz","_integrity":"sha512-7k71QGwK9Vgh0L8tJXJRbwAZVFgsabo6pESHLEtEKGgxiOtAUsDrtXnQwl/WXspIOfWK1umEG6d82cPuABmWpw==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@budarin/http-constants":"^1.0.12"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.23_1759098180347_0.34849626392444155","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"@budarin/pluggable-serviceworker","version":"1.0.24","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.24","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"556619bb1ed60f0cd621b406e4447c25005773f4","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.24.tgz","fileCount":8,"integrity":"sha512-rzJz4QwmbTYcP5d9nDIcAmJLpQc3mj0D+ep78ivoeSi2GcwZx7jWv8oj0d+PTSz3n1eyMZJzARDrwZTvv+TcIQ==","signatures":[{"sig":"MEUCIBZyY4MPuDJPpYzprqcVG/8CDQwfNAf3AGCAPSBrSSfmAiEAqcozuK2C9vnJRqJtiVrDIyupp6oxjL20R9SUfiUY9qs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29793},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.24.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","pnpm-install":"pnpm install","upgrade-deps":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\b6ce658685b4e7bbd568f5f6d9cbecc5\\budarin-pluggable-serviceworker-1.0.24.tgz","_integrity":"sha512-rzJz4QwmbTYcP5d9nDIcAmJLpQc3mj0D+ep78ivoeSi2GcwZx7jWv8oj0d+PTSz3n1eyMZJzARDrwZTvv+TcIQ==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@budarin/http-constants":"^1.0.13"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.24_1759099555532_0.5110736951620038","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"@budarin/pluggable-serviceworker","version":"1.0.25","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.25","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"baec65f120247c19a9ec232fcaf7006bfea06586","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.25.tgz","fileCount":8,"integrity":"sha512-n+QE2nRgwt9+oRJngUjtCwstt2gB/je8x+GrcYsb72l4KlEWGY/o7vodJC06ogJ60BfYV2sN5GUmwcAQvkzflA==","signatures":[{"sig":"MEYCIQC35mXcznapnmehf+5IgOV4eYOeL/xUVLAEObmMEsHZ0gIhAI61q7aP4IYueSKQ3nWQkKBNazvwGQ95gE0WgDgBIAjf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31702},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.25.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","pnpm-install":"pnpm install","upgrade-deps":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"/private/var/folders/3d/my733tj9449d7jbbq3h3395w0000gn/T/cc71fe3e92fcb758ab2841ac10d22a10/budarin-pluggable-serviceworker-1.0.25.tgz","_integrity":"sha512-n+QE2nRgwt9+oRJngUjtCwstt2gB/je8x+GrcYsb72l4KlEWGY/o7vodJC06ogJ60BfYV2sN5GUmwcAQvkzflA==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@budarin/http-constants":"^1.0.13"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.25_1759112510177_0.7952396349798427","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"@budarin/pluggable-serviceworker","version":"1.0.26","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.26","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"e666d0320ac3a069ae240040a106c20a4031bf8b","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.26.tgz","fileCount":8,"integrity":"sha512-NeHTeAAhSqzoINKjBIlw49hP7xnzKzlnYLYFQiyJVgvhjZ9UijZs5Ylm+hmlDtdo6ISD1J4a8GK54uvLU3girw==","signatures":[{"sig":"MEUCIQDggToJx9fcx22PCUchLMhQcN1CcmDbv0RN6RDLNl1V4wIgaZiidc0Zt3aAZIK8DxovkQrQ8lo4/i9+CLGupsrHfOw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31624},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.26.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","pnpm-install":"pnpm install","upgrade-deps":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"/private/var/folders/3d/my733tj9449d7jbbq3h3395w0000gn/T/0acc1f8e78dd25654e90ef61d291a34f/budarin-pluggable-serviceworker-1.0.26.tgz","_integrity":"sha512-NeHTeAAhSqzoINKjBIlw49hP7xnzKzlnYLYFQiyJVgvhjZ9UijZs5Ylm+hmlDtdo6ISD1J4a8GK54uvLU3girw==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@budarin/http-constants":"^1.0.13"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.26_1759112620021_0.7169263766227087","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"@budarin/pluggable-serviceworker","version":"1.0.27","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.27","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"5af934df469af3294a27a681233c2d70c2101ccd","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.27.tgz","fileCount":8,"integrity":"sha512-XPQ1LkgAk8rFKEueE/YG367KmzIGqvVK2u2SePL2H+O8JtJFOPwlD5VO3wtttH+sBtSKd774tZwdhtrsX/HccQ==","signatures":[{"sig":"MEUCIDFEf3IvdYBEUEJ5Gct8hlK9vgTdebMzUJMJk4T9wDwpAiEA0wTs4JNtmM20gttu3pM2cznOFJxiHkDMHmEkHOjEw0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31346},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.27.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","pnpm-install":"pnpm install","upgrade-deps":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"/private/var/folders/3d/my733tj9449d7jbbq3h3395w0000gn/T/f12bcc260348d327088c6f53fbe09377/budarin-pluggable-serviceworker-1.0.27.tgz","_integrity":"sha512-XPQ1LkgAk8rFKEueE/YG367KmzIGqvVK2u2SePL2H+O8JtJFOPwlD5VO3wtttH+sBtSKd774tZwdhtrsX/HccQ==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@budarin/http-constants":"^1.0.13"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.27_1759112747825_0.7718974511751611","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"@budarin/pluggable-serviceworker","version":"1.0.28","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.28","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"bf01e232255b250df45233a2a8f6fe10462a99d7","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.28.tgz","fileCount":4,"integrity":"sha512-lLMAz/vBmbr0z9d1MenOP7FSWSf2gBKguId8hg7xQKNrziUsp8WIJDiCtvecM25YPFBsulstUCKX7ZVuo2HG1g==","signatures":[{"sig":"MEYCIQDH9+vKgClouUT9ZxaGkI1F3tncdhLDj+l7+4w2q3qFKgIhAJJCbpfj/HDZaU752gOLrWOgsnGdU5CeU9BX5uY2YLIt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23058},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.28.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","pnpm-install":"pnpm install","upgrade-deps":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"/private/var/folders/3d/my733tj9449d7jbbq3h3395w0000gn/T/e973e6089d78e796551bae241253549a/budarin-pluggable-serviceworker-1.0.28.tgz","_integrity":"sha512-lLMAz/vBmbr0z9d1MenOP7FSWSf2gBKguId8hg7xQKNrziUsp8WIJDiCtvecM25YPFBsulstUCKX7ZVuo2HG1g==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@budarin/http-constants":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.28_1759115464009_0.1601115416991452","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"@budarin/pluggable-serviceworker","version":"1.0.29","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.29","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"0c5bac206228175a3941df135811a62dffd5bba1","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.29.tgz","fileCount":7,"integrity":"sha512-2DBnpycuIZ0GwqM2s3c9QShiKuKLOBKPKLG1LRIEt9tLtXp9ezMi4tKugB6772BDexbP0V19Qs8W4FtUmsCNQA==","signatures":[{"sig":"MEUCIF7ZM3/rZ94DQJfxc3wjU86Eth8pXB/mOr1X72h+Q7b4AiEAmgkL3JN0TUHDPdJvjvSkKgDva+voiRrDcJdEnk7Cb0Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34123},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.29.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","pnpm-install":"pnpm install","upgrade-deps":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"/private/var/folders/3d/my733tj9449d7jbbq3h3395w0000gn/T/c0e4021b564e1b53a1f200d0c7b3a657/budarin-pluggable-serviceworker-1.0.29.tgz","_integrity":"sha512-2DBnpycuIZ0GwqM2s3c9QShiKuKLOBKPKLG1LRIEt9tLtXp9ezMi4tKugB6772BDexbP0V19Qs8W4FtUmsCNQA==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@budarin/http-constants":"^1.0.16"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.2","@types/node":"^24.5.2","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.29_1759116038146_0.6381551904735925","host":"s3://npm-registry-packages-npm-production"}},"1.0.30":{"name":"@budarin/pluggable-serviceworker","version":"1.0.30","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.30","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"45a91fb900d68d12ba386c5f1f13f5267af10f1f","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.30.tgz","fileCount":7,"integrity":"sha512-YjnS4Z0fPu+Ml/r2fr+a5gZW2m1GFbnquPItnABAoiSjUU1yMzIZ140xASrvoP3ZnhrJ4sqH3jmaRu23PgZVrA==","signatures":[{"sig":"MEUCIC6XdnBgH+ldxuM9dqM5Y3w0J3P0pf24Cbkie6OMoU94AiEAnTY71FyIZ7OlPIHdGbfqHb7gCiI/jwRi+27ovSGBzJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38285},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.30.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","pnpm-install":"pnpm install","upgrade-deps":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\d7b65495d10778922181dc8610c7e0fe\\budarin-pluggable-serviceworker-1.0.30.tgz","_integrity":"sha512-YjnS4Z0fPu+Ml/r2fr+a5gZW2m1GFbnquPItnABAoiSjUU1yMzIZ140xASrvoP3ZnhrJ4sqH3jmaRu23PgZVrA==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@budarin/http-constants":"^1.0.16"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.3","@types/node":"^24.10.0","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.30_1762303339830_0.20973765792086607","host":"s3://npm-registry-packages-npm-production"}},"1.0.31":{"name":"@budarin/pluggable-serviceworker","version":"1.0.31","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.31","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"f799846a8b745603a1242b8f94c584e00c1ae68b","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.31.tgz","fileCount":7,"integrity":"sha512-c6lCeEapaU0lYVX86fHXwV3+TYpK99vxH/4BmWseo+fef8PAPtihgG+W+Pl4LNSI0Css07WkBa7Qp4wrF4Ff0A==","signatures":[{"sig":"MEUCIQDg2btfA2+htjiERjkOqDNGm0JLAOYqVGZKiB9A/ERbcAIgHbngDAVqd9lOd4GB3eZjqUq5XgCeAdgkX+TNan+bfB8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38285},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.31.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","pnpm-install":"pnpm install","upgrade-deps":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\d0c88b0de428f61c65ab724ac2db0bf6\\budarin-pluggable-serviceworker-1.0.31.tgz","_integrity":"sha512-c6lCeEapaU0lYVX86fHXwV3+TYpK99vxH/4BmWseo+fef8PAPtihgG+W+Pl4LNSI0Css07WkBa7Qp4wrF4Ff0A==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@budarin/http-constants":"^1.0.16"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.3","@types/node":"^24.10.0","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.31_1762303558571_0.2903433857721702","host":"s3://npm-registry-packages-npm-production"}},"1.0.32":{"name":"@budarin/pluggable-serviceworker","version":"1.0.32","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.0.32","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"b1648d36752af211932a51d79f9236bb962e7a9c","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.0.32.tgz","fileCount":7,"integrity":"sha512-PF4r9zlhvtiZxJfCVGZ172C76JL48t5wwquZZdm8Lk+BVPPplWAoEnfRNo5sxKmckSVLARPpa4PZIsy5Sm0b8g==","signatures":[{"sig":"MEUCID3iH2H1+p421NoA09UeD0eLaNXmC2zyhVoMeR8jS0MWAiEA72kMbLy14+PQ0e/4nRx8DhAliJMYi0QdE+So9WKjSuU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37830},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.0.32.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./types":"./dist/index.d.ts"},"scripts":{"build":"tsc","pnpm-install":"pnpm install","upgrade-deps":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"/private/var/folders/3d/my733tj9449d7jbbq3h3395w0000gn/T/ef2d55ccf31fabdcc4d042d7340b202c/budarin-pluggable-serviceworker-1.0.32.tgz","_integrity":"sha512-PF4r9zlhvtiZxJfCVGZ172C76JL48t5wwquZZdm8Lk+BVPPplWAoEnfRNo5sxKmckSVLARPpa4PZIsy5Sm0b8g==","_npmVersion":"11.6.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@budarin/http-constants":"^1.0.16"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.3","@types/node":"^24.10.1","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.0.32_1763352374404_0.5012343348745962","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@budarin/pluggable-serviceworker","version":"1.1.0","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.1.0","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"575d2bf212b87f106d7681567aad6038c1088dae","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.1.0.tgz","fileCount":7,"integrity":"sha512-aI67tX4j7GENkHswbw3RkYCVD0CPuXqaRejyybJq7iVfSzfqHoySjktsne4/LI3Cc7U0fftMU54Qty+lX+YV5Q==","signatures":[{"sig":"MEUCIQDGmmbeuI03fJu4393XyLGDtpx7bGtF8yzAwS8INpQ9vwIgAYoGp2jYnwjiSopxrGasqh+ggyeJEk0yp5xN7br52S4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40851},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.1.0.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","pnpm-install":"pnpm install","upgrade-deps":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\d9b5aecf92b7ee1f030533cd58454cea\\budarin-pluggable-serviceworker-1.1.0.tgz","_integrity":"sha512-aI67tX4j7GENkHswbw3RkYCVD0CPuXqaRejyybJq7iVfSzfqHoySjktsne4/LI3Cc7U0fftMU54Qty+lX+YV5Q==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.16"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.3","@types/node":"^24.10.1","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.1.0_1769918768493_0.5710162389354727","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@budarin/pluggable-serviceworker","version":"1.1.1","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.1.1","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"789b604e48b08a73cf189409cca9347e606bdf5b","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.1.1.tgz","fileCount":7,"integrity":"sha512-LBnYtSqTb6Gvn17cQ8nE4zQKBel397NzQHiKoU8BTSnylHmqNyjPT4aqnxgY6DP/MatVAvX6Z9sp3GRVOQd57Q==","signatures":[{"sig":"MEUCIQCS8GarX7LDx7KSLqFocGzOnsTwBhhX1zqrn2DlzydTtwIgKJg5wnqdkHJV64dBk4nQvGYRz4N5AXZueRL/qcO3FFk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41453},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.1.1.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","pnpm-install":"pnpm install","upgrade-deps":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\322ef6ab57557830e3b660d44bf84099\\budarin-pluggable-serviceworker-1.1.1.tgz","_integrity":"sha512-LBnYtSqTb6Gvn17cQ8nE4zQKBel397NzQHiKoU8BTSnylHmqNyjPT4aqnxgY6DP/MatVAvX6Z9sp3GRVOQd57Q==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.16"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","prettier":"^3.6.2","@types/web":"^0.0.269","typescript":"^5.9.3","@types/node":"^24.10.1","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.1.1_1770335354883_0.08261303953153631","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@budarin/pluggable-serviceworker","version":"1.2.0","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.2.0","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"08810ef9f2304594a710a26132824c46b08d1bd1","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.2.0.tgz","fileCount":75,"integrity":"sha512-DFbKBkn1A5JOxb4JRMZzjbz/Xd0MtmVSLY7nZMewFK9ZkUm2JorrxWNnJeiTfdHDUHczhQ4hW8U4rPbeM5tIOw==","signatures":[{"sig":"MEQCIFRYLn8pAWn1y/j/sg8uOBy7gBmiVwfAuGhxoeUd434dAiA4Sc74W0nTrJzpj6gt9g9Lqgpvdk0RrWU/0Ckr9ZP3dg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78186},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.2.0.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","pnpm-install":"pnpm install","upgrade-deps":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\b090ab6db6905d6210f3b5e7845281d5\\budarin-pluggable-serviceworker-1.2.0.tgz","_integrity":"sha512-DFbKBkn1A5JOxb4JRMZzjbz/Xd0MtmVSLY7nZMewFK9ZkUm2JorrxWNnJeiTfdHDUHczhQ4hW8U4rPbeM5tIOw==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.16"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","prettier":"^3.8.1","@types/web":"^0.0.269","typescript":"^5.9.3","@types/node":"^24.10.11","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.2.0_1770425142491_0.95926632777113","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@budarin/pluggable-serviceworker","version":"1.2.1","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.2.1","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"3bca76b26c7e23003e7212743cf922c2aa513661","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.2.1.tgz","fileCount":75,"integrity":"sha512-LFFt8BM7BR3U+8bgHLKXsSTKoHLBzfY0pWtQtK2gTmZpcmb/GtPjlWfv6CMq2jfuSVi5PpGNJP/XdYZvgsm3rg==","signatures":[{"sig":"MEUCIQCEmNOZhkUNCexWWvOf2x1z/zrMO8QFt5J7+fydkQmxewIgXAkEszAS3phqr56m2QO4g1Sdq7lvn1i9SvAUpoxzW7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78204},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.2.1.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","pnpm-install":"pnpm install","upgrade-deps":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\18eae63b47a922a5f673e2ec6ad1459c\\budarin-pluggable-serviceworker-1.2.1.tgz","_integrity":"sha512-LFFt8BM7BR3U+8bgHLKXsSTKoHLBzfY0pWtQtK2gTmZpcmb/GtPjlWfv6CMq2jfuSVi5PpGNJP/XdYZvgsm3rg==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.16"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","prettier":"^3.8.1","@types/web":"^0.0.269","typescript":"^5.9.3","@types/node":"^24.10.11","@types/serviceworker":"^0.0.153"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.2.1_1770426620064_0.45762575535433236","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@budarin/pluggable-serviceworker","version":"1.5.0","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.5.0","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"a518d245511f1ab6cd848d819cb082373606f20c","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.5.0.tgz","fileCount":57,"integrity":"sha512-YTI7VWcNF/oM/779ZYgNt9yxvOiEKDrxgNARWJ1Jhgbb0qykSn5up0+EIz6ZYqc/umIGbTPz+odzIHEdc967Tg==","signatures":[{"sig":"MEUCIGcOKbCGbIWD4+XPmBHt4eGuEUb/qQ8pz+4mP7Y+1sbxAiEAq3WqLwH1KDxhXthV/W/VZjngGHVO6fSjBgMqvN+GoDI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69152},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.5.0.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\40a9b5cc379ddc94992ee2034ceb8994\\budarin-pluggable-serviceworker-1.5.0.tgz","_integrity":"sha512-YTI7VWcNF/oM/779ZYgNt9yxvOiEKDrxgNARWJ1Jhgbb0qykSn5up0+EIz6ZYqc/umIGbTPz+odzIHEdc967Tg==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.328","typescript":"^5.9.3","@types/node":"^25.2.2","@types/serviceworker":"^0.0.184"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.5.0_1770602199003_0.5392841011957756","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@budarin/pluggable-serviceworker","version":"1.5.1","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.5.1","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"9eda9587123af7935e9e1161d5a0ff608478fcbd","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.5.1.tgz","fileCount":59,"integrity":"sha512-HMPoxH/0MBpW+Kaiwiryeu0HGuQUPr1kqLHFcXxoCkGPFYmGCS3u3tjP+2D6vt75TagKfj3suq7N5hW1gpZzyQ==","signatures":[{"sig":"MEYCIQD6VykRzipuZS/znnM8i7zSk2H2GK4eG6njeOEOpOohzwIhAJQnaQlmTDN22eyYQBhLKRMvD45qG7+vhw+uX2eurppe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69041},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.5.1.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\29daef83d2deaa76ba6a601c9a4be6cf\\budarin-pluggable-serviceworker-1.5.1.tgz","_integrity":"sha512-HMPoxH/0MBpW+Kaiwiryeu0HGuQUPr1kqLHFcXxoCkGPFYmGCS3u3tjP+2D6vt75TagKfj3suq7N5hW1gpZzyQ==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.328","typescript":"^5.9.3","@types/node":"^25.2.2","@types/serviceworker":"^0.0.184"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.5.1_1770604735502_0.24751758927309364","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"@budarin/pluggable-serviceworker","version":"1.5.2","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.5.2","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"b4722eb0f1f1297c117603161485040a216faffd","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.5.2.tgz","fileCount":59,"integrity":"sha512-gvodTrQ7fkFhf/YgfK+2Yc47nQT9XqUgqFaV/C9WbTaqiMgsCSsu7O8oH3mvLi7lohDGtiHoodUrexSzHCtb6Q==","signatures":[{"sig":"MEYCIQDHifICTeU+jnx9GjcxLlyNsC+AGNoDtXD/ExUMiOdNFAIhAOEXe4NH7qQajSDI68thByUC9gsQxOA1J+sDS0v8A38X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70941},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.5.2.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\7e24ee41ab4e79baa171f8f987a35665\\budarin-pluggable-serviceworker-1.5.2.tgz","_integrity":"sha512-gvodTrQ7fkFhf/YgfK+2Yc47nQT9XqUgqFaV/C9WbTaqiMgsCSsu7O8oH3mvLi7lohDGtiHoodUrexSzHCtb6Q==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.328","typescript":"^5.9.3","@types/node":"^25.2.2","@types/serviceworker":"^0.0.184"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.5.2_1770606223236_0.2951323254175564","host":"s3://npm-registry-packages-npm-production"}},"1.5.3":{"name":"@budarin/pluggable-serviceworker","version":"1.5.3","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.5.3","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"90c971fbc3322f0bc9c291e58c329e01e29df269","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.5.3.tgz","fileCount":59,"integrity":"sha512-a7FgKKo69ty8YRAf91Hf1I3oKTcp6SJ7FXy3L+6hpXL0ytAVW6NF5fgNSFiSKS+RF05wBn58umYltV4/Ri+3HA==","signatures":[{"sig":"MEUCIHhUTt7cuTbV2fKRVILCwfR4to4e5TyVRJDIxMZZ/QkqAiEA1ukFshkJ125KMC7/gKqV4SBUqZSiFAWIaaWz6HFJyDg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70806},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.5.3.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\6fed99c711eecf0f4d711cbd06469d61\\budarin-pluggable-serviceworker-1.5.3.tgz","_integrity":"sha512-a7FgKKo69ty8YRAf91Hf1I3oKTcp6SJ7FXy3L+6hpXL0ytAVW6NF5fgNSFiSKS+RF05wBn58umYltV4/Ri+3HA==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.328","typescript":"^5.9.3","@types/node":"^25.2.2","@types/serviceworker":"^0.0.184"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.5.3_1770606468798_0.7426136055681203","host":"s3://npm-registry-packages-npm-production"}},"1.5.4":{"name":"@budarin/pluggable-serviceworker","version":"1.5.4","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.5.4","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"7ac45264d9df46147315c5b5ab536d370881076f","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.5.4.tgz","fileCount":59,"integrity":"sha512-2hb4qAHrA0ctH6FAHfzP2wxz+iYyZbcUjnwoY3IJJ6FPLvboimydMRTbTAApV4/8NoXLGOtSANRgTjALbQneiA==","signatures":[{"sig":"MEUCIFUf9MHLVeeR4LSSoYasH2xLI4KoSjGihz/+2pAl51aSAiEAlME+u3ciyKNTQb3sZ+dejTnjbCIBHJ8fdwTLp+CSYmQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69956},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.5.4.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\6938b91f4978482202e6c1d5cef526d7\\budarin-pluggable-serviceworker-1.5.4.tgz","_integrity":"sha512-2hb4qAHrA0ctH6FAHfzP2wxz+iYyZbcUjnwoY3IJJ6FPLvboimydMRTbTAApV4/8NoXLGOtSANRgTjALbQneiA==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.328","typescript":"^5.9.3","@types/node":"^25.2.2","@types/serviceworker":"^0.0.184"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.5.4_1770607365859_0.3763013407751994","host":"s3://npm-registry-packages-npm-production"}},"1.5.5":{"name":"@budarin/pluggable-serviceworker","version":"1.5.5","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.5.5","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"67cfcefc617395fdafc4fa1e3059542d5d511ca7","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.5.5.tgz","fileCount":59,"integrity":"sha512-a1/WQvFCyMUE7vf3Wm6AVJ4xBnel/Kf3ervFOtkdF8DqDaA9XXmQVJStGbbG8XlS3mG4yNhug7sJVqNGrMsEoA==","signatures":[{"sig":"MEYCIQDaZk5EnSW3lc4uhqbcG4JfTd3/3VG3kZKpa6JNP/2rAwIhAOx3H/63WiHgRrsYmCeYECtd30kcJFLIEgv05/e0Vc+c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71406},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.5.5.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\12d13b266c67c919191db9df87cbd0a8\\budarin-pluggable-serviceworker-1.5.5.tgz","_integrity":"sha512-a1/WQvFCyMUE7vf3Wm6AVJ4xBnel/Kf3ervFOtkdF8DqDaA9XXmQVJStGbbG8XlS3mG4yNhug7sJVqNGrMsEoA==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.328","typescript":"^5.9.3","@types/node":"^25.2.2","@types/serviceworker":"^0.0.184"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.5.5_1770608842819_0.9878637031533293","host":"s3://npm-registry-packages-npm-production"}},"1.5.6":{"name":"@budarin/pluggable-serviceworker","version":"1.5.6","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.5.6","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"e39e06bfb15dbc2fda34a49aa9793c5cae4a22fa","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.5.6.tgz","fileCount":67,"integrity":"sha512-nU2wVmJamVJm804LSH6VhsJHPgrY8eXSzWkdLDqynHeMedRGfV+H/dO7Rb4QDVWYRbpTC433Q8Y6lCreWdoMBg==","signatures":[{"sig":"MEYCIQCIQcPMzIIayT6nW6162v7BMFtXa8F3aIKokwHQeJbzxQIhAKZJCLfr7d2dGtztQOaH9TeDn+BsIJSiH4X7qyA37qxd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75308},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.5.6.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\36be9d911f868ea911e2ba67ec699b1b\\budarin-pluggable-serviceworker-1.5.6.tgz","_integrity":"sha512-nU2wVmJamVJm804LSH6VhsJHPgrY8eXSzWkdLDqynHeMedRGfV+H/dO7Rb4QDVWYRbpTC433Q8Y6lCreWdoMBg==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.328","typescript":"^5.9.3","@types/node":"^25.2.2","@types/serviceworker":"^0.0.184"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.5.6_1770617119684_0.3067946627004414","host":"s3://npm-registry-packages-npm-production"}},"1.5.7":{"name":"@budarin/pluggable-serviceworker","version":"1.5.7","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.5.7","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"951de845c3aa267c96baf4723c9541a93386f9b9","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.5.7.tgz","fileCount":67,"integrity":"sha512-MJs/ne8uRt5KIv4qELQvuYwmS3eZDoh0FoSULg2LVSYna272NDGcYzndRAL0FcD7FC2QuuiYv5HGexX4hcspNA==","signatures":[{"sig":"MEUCICOTrdxM3jd8op+AhuinjjLyyupWLzunFpbv8VxxAt4oAiEA/La7o3BFuDCK/6iRnAdY0dVSj4DZkV9S8srYM0V9faw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75980},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.5.7.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\f4f7102d2eeda287ccdd7563910f6dfa\\budarin-pluggable-serviceworker-1.5.7.tgz","_integrity":"sha512-MJs/ne8uRt5KIv4qELQvuYwmS3eZDoh0FoSULg2LVSYna272NDGcYzndRAL0FcD7FC2QuuiYv5HGexX4hcspNA==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.328","typescript":"^5.9.3","@types/node":"^25.2.2","@types/serviceworker":"^0.0.184"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.5.7_1770617958286_0.03126439218684274","host":"s3://npm-registry-packages-npm-production"}},"1.5.8":{"name":"@budarin/pluggable-serviceworker","version":"1.5.8","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.5.8","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"0479d8d2319c13c22a8b39c7ef6ff51cd3af6f51","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.5.8.tgz","fileCount":67,"integrity":"sha512-S3F50jzmNVxPCD5N3o3bbrKk9BdDhWE+H1Xn7HJnoj2dBx6sho85FE2uAVD1WdDWJFKeubUEYcOoFA4LsIhexw==","signatures":[{"sig":"MEUCIHlnLXffB7vLth0hUA4b8PDo89cEPlhhwZanrupjUNhpAiEAlrVX+KV2R0xxKF/vedpA99cs3AUfi0P8nKvKIoMnlIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78484},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.5.8.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\8e739e6b12ab9f47344192770cdf8260\\budarin-pluggable-serviceworker-1.5.8.tgz","_integrity":"sha512-S3F50jzmNVxPCD5N3o3bbrKk9BdDhWE+H1Xn7HJnoj2dBx6sho85FE2uAVD1WdDWJFKeubUEYcOoFA4LsIhexw==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.328","typescript":"^5.9.3","@types/node":"^25.2.2","@types/serviceworker":"^0.0.184"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.5.8_1770621566185_0.5488256545989052","host":"s3://npm-registry-packages-npm-production"}},"1.5.9":{"name":"@budarin/pluggable-serviceworker","version":"1.5.9","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.5.9","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"8a7307f71fb3891acb8223765e3d7dbe8e655e22","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.5.9.tgz","fileCount":67,"integrity":"sha512-x5nWRaVbxA/zWkAeSiIltdP3pY9Ouzt1t2Z/OMC5NgxelWPAn1DkkrnsR6YB2A8t+HN930EWnVQL9vhQB8l/xg==","signatures":[{"sig":"MEYCIQD6UZh2jW4ROXzblP7vzZAm/MljSN+8T9cGAfzN/Vlx2AIhAOLYH2C1MRWIqJWEY0zLypKLVB2TBLr8p3DCP0U17iBx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78265},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.5.9.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\76143324b3cefebd6d50db0521ffe6b4\\budarin-pluggable-serviceworker-1.5.9.tgz","_integrity":"sha512-x5nWRaVbxA/zWkAeSiIltdP3pY9Ouzt1t2Z/OMC5NgxelWPAn1DkkrnsR6YB2A8t+HN930EWnVQL9vhQB8l/xg==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.330","typescript":"^5.9.3","@types/node":"^25.2.2","@types/serviceworker":"^0.0.186"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.5.9_1770725080326_0.1451743699731307","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@budarin/pluggable-serviceworker","version":"1.6.0","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.6.0","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"b4398ef5f6b32afddfe4562042184393ed0e1a21","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.6.0.tgz","fileCount":83,"integrity":"sha512-NmdhuEtx8a5WtZq/j9nU9sGXas6mwZzwqmikwaShUR4ZJ98nluSEyXN2e4eqnrWb+4+axt3NvGuLAIAsDb62Ew==","signatures":[{"sig":"MEQCIDpoTtsrYEWLF21gyI47pff3ALXGTgX1dhdGKU8P9LclAiBRDaR0rv/+tbEcHn7/DQVONzBvdxIDNPjNcS18dM3COA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96767},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.6.0.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\0e02bfafe5b5ef2428fc5560d14f264b\\budarin-pluggable-serviceworker-1.6.0.tgz","_integrity":"sha512-NmdhuEtx8a5WtZq/j9nU9sGXas6mwZzwqmikwaShUR4ZJ98nluSEyXN2e4eqnrWb+4+axt3NvGuLAIAsDb62Ew==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.330","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.186"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.6.0_1770748098866_0.053529700670140956","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@budarin/pluggable-serviceworker","version":"1.6.1","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.6.1","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"734660068bd7b899cdadbc8bbcb1ea4e3f310d51","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.6.1.tgz","fileCount":84,"integrity":"sha512-ZhIE/Eote/8mTUQCvoPQkHwBT2ngPFymojKKm9wGFOtzFyzYuiJDnzw8+iIu8AiRoGSax2Tzfd7yCikiMuNKVw==","signatures":[{"sig":"MEUCIHJnwpOQqI1nL9cmSP9IPeQkq9RNPFOCKnnrNqjUVGaIAiEAjiFLdm7zCHPus/aqQeTl5oKCvOBLhOll9VJD1Refuto=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130982},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.6.1.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\915fb4b99b8daf83f6075faaf8027272\\budarin-pluggable-serviceworker-1.6.1.tgz","_integrity":"sha512-ZhIE/Eote/8mTUQCvoPQkHwBT2ngPFymojKKm9wGFOtzFyzYuiJDnzw8+iIu8AiRoGSax2Tzfd7yCikiMuNKVw==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.330","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.186"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.6.1_1770770546041_0.20906997693513207","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"@budarin/pluggable-serviceworker","version":"1.6.2","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.6.2","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"3d44d6c80146776558ffaf25ead4e52d8230c043","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.6.2.tgz","fileCount":84,"integrity":"sha512-XKybnKUVX60B0lwFA7Iq3MkdT8fWRa3UxL/VACj+l5Yv0Y4/RAaNoLD99LNIi3FvzZJc7XKhe4OTjEkLwhKjrA==","signatures":[{"sig":"MEUCIBxCEwyFXyIRLCQ2sfqW4gx4t9tLclT74H1Wtp1hLOdSAiEA+IxNZjQduExV6CfuM+r4awSmB4fkqw/B8McgwMAzQR0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131045},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.6.2.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\893dfbc59accf493d5c48ec6e80a70ac\\budarin-pluggable-serviceworker-1.6.2.tgz","_integrity":"sha512-XKybnKUVX60B0lwFA7Iq3MkdT8fWRa3UxL/VACj+l5Yv0Y4/RAaNoLD99LNIi3FvzZJc7XKhe4OTjEkLwhKjrA==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.330","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.186"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.6.2_1770770859100_0.2431171804282246","host":"s3://npm-registry-packages-npm-production"}},"1.6.3":{"name":"@budarin/pluggable-serviceworker","version":"1.6.3","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.6.3","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"916c9b066bdc32ab073122edfcdc64605b5ead7f","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.6.3.tgz","fileCount":84,"integrity":"sha512-Kcby3cPJt8dJz3PvZnpPYZ7vRffRzTnu6tbLV/oy8y4LmQpnMIZpcJ8PITy3lATsknrtFerv4BSDUp3XLZlMTA==","signatures":[{"sig":"MEUCIBAFXPewHvcLHFxoMo4L7IHVY4i0vvPvFXQbW58Ndwc1AiEA/ray8SN7kFzTBpoD1zo1uIMZ2syhh16o3r3FV01epBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131937},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.6.3.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\545bb57018d58f2c790b9433b085288b\\budarin-pluggable-serviceworker-1.6.3.tgz","_integrity":"sha512-Kcby3cPJt8dJz3PvZnpPYZ7vRffRzTnu6tbLV/oy8y4LmQpnMIZpcJ8PITy3lATsknrtFerv4BSDUp3XLZlMTA==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.330","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.186"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.6.3_1770771626938_0.14650651042457774","host":"s3://npm-registry-packages-npm-production"}},"1.6.4":{"name":"@budarin/pluggable-serviceworker","version":"1.6.4","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.6.4","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"7bb382e69b9309f59b3ae509193ef6111b566763","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.6.4.tgz","fileCount":84,"integrity":"sha512-1X3EjL5Sc8ePFXaUAA7lqtXsvGYotb9jz14J3bMDCFOp5Oq6BXysjHEVsSgXHzLeJtVLlrJc5/kHWjtcA0NegA==","signatures":[{"sig":"MEYCIQCeBSxkwKzIYCEcjZr+LYN9oi/6WB5hjpoE1eTjQleEaAIhAIyaqy3UxnhsY1rXlw4UP++J67nVwYofZEj6ho1JJL0b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132373},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.6.4.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\811c9988369ca459d6db79d9d7d0d581\\budarin-pluggable-serviceworker-1.6.4.tgz","_integrity":"sha512-1X3EjL5Sc8ePFXaUAA7lqtXsvGYotb9jz14J3bMDCFOp5Oq6BXysjHEVsSgXHzLeJtVLlrJc5/kHWjtcA0NegA==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.330","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.186"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.6.4_1770774580333_0.229037042452495","host":"s3://npm-registry-packages-npm-production"}},"1.6.5":{"name":"@budarin/pluggable-serviceworker","version":"1.6.5","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.6.5","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"47927811a381b1aae648b72d511e5f5ab01ae4fa","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.6.5.tgz","fileCount":84,"integrity":"sha512-N5S994oUaEiQg9CWv9EQdqsklgSjNW0D3fRLI+eSF+lr9udPJBM820tflCWk+icDqFFX18Y72Hj4PhzkqSdfsQ==","signatures":[{"sig":"MEUCIQCCom9U0+nI8PZlSonyi00YaScavtTF3HJi+WvoBKTV+gIgbNXCpniaQNEqS0eHJKuKCREv+2Ctf5kuZENs2qn4VPE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132370},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.6.5.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\2961edead5f3283d404803814d16c106\\budarin-pluggable-serviceworker-1.6.5.tgz","_integrity":"sha512-N5S994oUaEiQg9CWv9EQdqsklgSjNW0D3fRLI+eSF+lr9udPJBM820tflCWk+icDqFFX18Y72Hj4PhzkqSdfsQ==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.330","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.186"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.6.5_1770774990396_0.5439783172005077","host":"s3://npm-registry-packages-npm-production"}},"1.6.6":{"name":"@budarin/pluggable-serviceworker","version":"1.6.6","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.6.6","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"27355b3b2c1edfc930e205c995d775ecef645f6d","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.6.6.tgz","fileCount":84,"integrity":"sha512-Vjhxul+HC94H4xCMod+5SrsErvBB8ywhI49z2lYi4f9BssqRBETbVKf+9u9JS3rGwwq3H2bH6j0a1NPnWFSRlw==","signatures":[{"sig":"MEQCIG26Izf3rsxlNDjSknNOZqZsERoRppCS/bDfGGVnbyQIAiBnEwRsBFNhAXVMrnIGr97CSpqXcgbGyOaS/WEbwfp7lA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133255},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.6.6.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\ff5b07ee7b2f78fb839bc6b12071ca4a\\budarin-pluggable-serviceworker-1.6.6.tgz","_integrity":"sha512-Vjhxul+HC94H4xCMod+5SrsErvBB8ywhI49z2lYi4f9BssqRBETbVKf+9u9JS3rGwwq3H2bH6j0a1NPnWFSRlw==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.330","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.186"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.6.6_1770811092943_0.5770828446359184","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@budarin/pluggable-serviceworker","version":"1.7.0","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.7.0","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"c57ab5ba5d7ce4cef116f5c26d8b479bcdde73e1","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.7.0.tgz","fileCount":84,"integrity":"sha512-BS0fjebpKpirnd1osIU02k0AUxdWjh2e+xZFQuAwWgeywwyLfQRfW9k9SUKmmY5iNAKQl9dI1LiejSkZf6GADg==","signatures":[{"sig":"MEUCIQD5L7XS8H/PJa18GgHFAH+uDrDLCJZDven1bpzTvY5i1gIgaQrHHL10huucJfE3q+BaAxq8jAr+hJnyEt3d3poQQWk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134365},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.7.0.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\fb007782cea9bf0bf38db3c15218c5b0\\budarin-pluggable-serviceworker-1.7.0.tgz","_integrity":"sha512-BS0fjebpKpirnd1osIU02k0AUxdWjh2e+xZFQuAwWgeywwyLfQRfW9k9SUKmmY5iNAKQl9dI1LiejSkZf6GADg==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.330","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.186"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.7.0_1770835411022_0.3852138213624159","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"@budarin/pluggable-serviceworker","version":"1.7.1","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.7.1","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"44d07b64e7929138e0e7e56ea13424ca4b400515","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.7.1.tgz","fileCount":84,"integrity":"sha512-LvvqzdVScIlPaebWBnu5G8PubfuI4bno48wBY60scujN8bEtZYo2CjJvfKOWZE4OUVbXt66m+TC03efJhEi5Jw==","signatures":[{"sig":"MEQCIFCPY5q8is8bAkc6aih/M9qUVozLuKWIw+5CyS6FLGDKAiA72pMIrgOg72WTmmKZbAT38PxToeQmPTM0D5oUjuaz0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134492},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.7.1.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\d9e998315d058c53211c4522cde19c9f\\budarin-pluggable-serviceworker-1.7.1.tgz","_integrity":"sha512-LvvqzdVScIlPaebWBnu5G8PubfuI4bno48wBY60scujN8bEtZYo2CjJvfKOWZE4OUVbXt66m+TC03efJhEi5Jw==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.330","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.186"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.7.1_1770835722418_0.8796276281614666","host":"s3://npm-registry-packages-npm-production"}},"1.7.2":{"name":"@budarin/pluggable-serviceworker","version":"1.7.2","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.7.2","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"9a0c16d4d924f38958cef7b0d819abaeff45cd96","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.7.2.tgz","fileCount":84,"integrity":"sha512-RerYWdse2AgCNW017oBpAwv7iAEAeGommKVECHiP5Lrfo4eOZ3Y9Zz7lCC4m9ve/na7rveGBFT2SqV84rxk/xg==","signatures":[{"sig":"MEUCIQCSAJIDvUDPRrkUQobE/8dj6EuQsuCZVXQPwyL3xKNWLAIgWn8D9xL3LfaT7FDL1BhkJLHj94rggBYakeXxCQ+RVTk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135333},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.7.2.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\a34b3a24d0eea0ad73a9588a168978a5\\budarin-pluggable-serviceworker-1.7.2.tgz","_integrity":"sha512-RerYWdse2AgCNW017oBpAwv7iAEAeGommKVECHiP5Lrfo4eOZ3Y9Zz7lCC4m9ve/na7rveGBFT2SqV84rxk/xg==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.330","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.186"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.7.2_1770904636579_0.41872211568118356","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@budarin/pluggable-serviceworker","version":"1.8.0","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.8.0","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"315da2f9d34b56cda4adf6d8b6191c2a2c0260db","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.8.0.tgz","fileCount":84,"integrity":"sha512-mJD1AF5k9Y+v/pYUe3GMi24Q1LND2lo35uhgXX/XBi+n4RCLvsUckw56nrK6rlnNK6lV3mZqsmCtimGlPw4rLg==","signatures":[{"sig":"MEUCIQDdSn5oKLSgEQ2GvwyQjuupp2nr63fmaVP9bgPwWgoB6wIgDFd4hLEYZwM+HX6hORUXbFqk2azXQ1ZkzQTn5LZswqE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137562},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.8.0.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\6f4484d57ab0dbd81180dc881b45d9a0\\budarin-pluggable-serviceworker-1.8.0.tgz","_integrity":"sha512-mJD1AF5k9Y+v/pYUe3GMi24Q1LND2lo35uhgXX/XBi+n4RCLvsUckw56nrK6rlnNK6lV3mZqsmCtimGlPw4rLg==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.330","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.186"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.8.0_1770919494171_0.09328020322618036","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"@budarin/pluggable-serviceworker","version":"1.8.1","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.8.1","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"3b217f447c882efeef83d5253f28949b99e91942","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.8.1.tgz","fileCount":84,"integrity":"sha512-LHLZjd62ZwH1o3Jy34xdQXro1zO9JWBPCJHsXD7f9jgBoClbk3z0clMkN7FBCUMbZMwtp1Hi3mRR0e5Jcz1pMA==","signatures":[{"sig":"MEUCIFyb6i+M5vs6A+t0m4x+lqUr6+Vd03uQuzl/Ed8AZNG0AiEAzU16f1nHZOp/TRcZXNQOIK0hsrV3dtAzKXA9oANCgnU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137521},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.8.1.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\4606ce2e5f2e77e565701c81ae9438ff\\budarin-pluggable-serviceworker-1.8.1.tgz","_integrity":"sha512-LHLZjd62ZwH1o3Jy34xdQXro1zO9JWBPCJHsXD7f9jgBoClbk3z0clMkN7FBCUMbZMwtp1Hi3mRR0e5Jcz1pMA==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.20"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.330","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.186"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.8.1_1770920664283_0.017359114717516277","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@budarin/pluggable-serviceworker","version":"1.9.0","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.9.0","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"af0ecdf870d71fc17ba33f8a8f98fc3a0e3ac14b","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.9.0.tgz","fileCount":116,"integrity":"sha512-bgwMYSh8FNvGmStIFsZ+kWYXHwdpTlgLJ/Oomvy2ZSi/LYY49Fj0bH7aiIA2GV8pwqGd3xqwMfG+Gg5T5NyMbg==","signatures":[{"sig":"MEUCIQCp7IT6PMjTY7iCti8ZUfboDashSYy23kyKYTHYpJlhQQIgIQsCnws5KfVgGnTj55pa/1YvffQP7+yH4RWLi7gA0r0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":167186},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.9.0.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\6390b3cd124b2d00fb58fe68b3cbf14c\\budarin-pluggable-serviceworker-1.9.0.tgz","_integrity":"sha512-bgwMYSh8FNvGmStIFsZ+kWYXHwdpTlgLJ/Oomvy2ZSi/LYY49Fj0bH7aiIA2GV8pwqGd3xqwMfG+Gg5T5NyMbg==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.335","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.190"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.9.0_1771190175218_0.06473333796029257","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"@budarin/pluggable-serviceworker","version":"1.10.0","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.10.0","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"548cf8baa27043173cf1bac9a0824fb4b3adeb0f","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.10.0.tgz","fileCount":116,"integrity":"sha512-dSt24ao9xsdlpV6k/HcxURF87h3z5WtVwNMlzdgVynbqG3wfJEOgPz3PUNb/GQkvuFehAvweHKgnUwgDek2bhg==","signatures":[{"sig":"MEYCIQCYhoLUTbSZ/u07uL3RJTH3gLhDJGC8YTu2cdj+O4xYFgIhAPKto6Xh1uWakDkivGoKCjyTkyNpDVpA7iF9qgy93f3e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":167240},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.10.0.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\c317f6b0513572aeec23084c723ef256\\budarin-pluggable-serviceworker-1.10.0.tgz","_integrity":"sha512-dSt24ao9xsdlpV6k/HcxURF87h3z5WtVwNMlzdgVynbqG3wfJEOgPz3PUNb/GQkvuFehAvweHKgnUwgDek2bhg==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.335","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.190"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.10.0_1771192087178_0.2744199997591812","host":"s3://npm-registry-packages-npm-production"}},"1.10.1":{"name":"@budarin/pluggable-serviceworker","version":"1.10.1","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.10.1","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"fce33e891d9854e92421c3bb99778d9ecb7765f4","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.10.1.tgz","fileCount":116,"integrity":"sha512-6u75FB9KYeyULXBBuUu8Fxn0opu2azQ2aTEtzuGmVCb5uejVn8LpfdZNbn00NGP7inzqjDEHUl3wWDjpDH39HQ==","signatures":[{"sig":"MEYCIQCMrW+v92v3ZrS19Fk1NlZm4+Ma3PNLNDRbE5pdzho5aAIhAJrBDtTXeu0HDVwHhtspHSvV+BSulxSHuuVGgk0bmcF9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":167735},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.10.1.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\5abd868e23411134e207064c80477711\\budarin-pluggable-serviceworker-1.10.1.tgz","_integrity":"sha512-6u75FB9KYeyULXBBuUu8Fxn0opu2azQ2aTEtzuGmVCb5uejVn8LpfdZNbn00NGP7inzqjDEHUl3wWDjpDH39HQ==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.335","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.190"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.10.1_1771210462234_0.37506415080852706","host":"s3://npm-registry-packages-npm-production"}},"1.10.2":{"name":"@budarin/pluggable-serviceworker","version":"1.10.2","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.10.2","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"1bf6c78c9e2e1d6a4fc794dfaa581cb20394ed82","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.10.2.tgz","fileCount":116,"integrity":"sha512-XnXoLe7wLwEzNOEHS7j9JosY/gPGaLxmYCdqOdYORrdfX2NM+ehGJaxKYXkI2e2ICmxkd0YZde3NWXk6SLM/rA==","signatures":[{"sig":"MEUCIG3uD/WruTPLXHm5iZVA5uLRFMRLt0f2yB0fL+JU1zwqAiEAzDSERXXkmaadXmUtibydVkivb2/1cYb8LepcUQeVcvk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":169195},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.10.2.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\28f9d2f9e3df01099e66f032fa6b1b1a\\budarin-pluggable-serviceworker-1.10.2.tgz","_integrity":"sha512-XnXoLe7wLwEzNOEHS7j9JosY/gPGaLxmYCdqOdYORrdfX2NM+ehGJaxKYXkI2e2ICmxkd0YZde3NWXk6SLM/rA==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.335","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.190"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.10.2_1771212131911_0.679446228285195","host":"s3://npm-registry-packages-npm-production"}},"1.10.3":{"name":"@budarin/pluggable-serviceworker","version":"1.10.3","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.10.3","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"e11b3ca40a9523dd41ff7ac7537067483dc2001c","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.10.3.tgz","fileCount":116,"integrity":"sha512-HaYJVLLLPB25TT/pPRAUeNcNDfUDYSPkYGd8SDMut+nKx/CokRwka+CYHVOWrH8XAS+vWZTjoXPfqEmolh/hRA==","signatures":[{"sig":"MEUCIAFk5SWVWnXvD1W/2Q5wVGdyWE+W3wtBCx55RAMJGm07AiEA5RdQl55QdRxQXI54NBs/YWYJb4uGr12cMGHQd40yDGo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":169627},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.10.3.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\893f1d365d20cabab50a1266220c07aa\\budarin-pluggable-serviceworker-1.10.3.tgz","_integrity":"sha512-HaYJVLLLPB25TT/pPRAUeNcNDfUDYSPkYGd8SDMut+nKx/CokRwka+CYHVOWrH8XAS+vWZTjoXPfqEmolh/hRA==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.335","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.190"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.10.3_1771213487159_0.8018874385718655","host":"s3://npm-registry-packages-npm-production"}},"1.10.4":{"name":"@budarin/pluggable-serviceworker","version":"1.10.4","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.10.4","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"c086ae8779fbf618f58e5bd65f8d7d5c63429f85","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.10.4.tgz","fileCount":116,"integrity":"sha512-XHKXgyiGpaQ0GsIetpPg8oyW9STbBBXp1syAFE2khUYkabYB91fS0G9a2GMOJQ7cwyoLvKWNWgppCpckaz9iKQ==","signatures":[{"sig":"MEUCIFmY7xuLLCSEHkvN1RVZmy3GmJUtHpZNR8ail4UvT9UgAiEAvfcdnKykaFjxLGu+xslfzMoEQkNUkL3O/Xqwn4Rh8C8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":169837},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.10.4.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\c3f8535b5d5d515375fbe12ca781cd36\\budarin-pluggable-serviceworker-1.10.4.tgz","_integrity":"sha512-XHKXgyiGpaQ0GsIetpPg8oyW9STbBBXp1syAFE2khUYkabYB91fS0G9a2GMOJQ7cwyoLvKWNWgppCpckaz9iKQ==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.335","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.190"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.10.4_1771260581734_0.5880368853639024","host":"s3://npm-registry-packages-npm-production"}},"1.10.5":{"name":"@budarin/pluggable-serviceworker","version":"1.10.5","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.10.5","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"e1fe704a2a6d41b04fabe57a96432a815320aef9","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.10.5.tgz","fileCount":116,"integrity":"sha512-2nKvLThjX1Wwl4SZ6RppB5H4u84Gst1PAHsRfBq+BzTK5ffGsz/emoI/waN8mWILbx+Z/bVqsZPZ0gGchxGB2Q==","signatures":[{"sig":"MEUCIQDw4VD47k2lfqMaLSq1pgjmB7T/f2ANhvJ57tGVs805aQIgNG4f6coiomnD19aErfPQOsWXP70T/QdXHzDKlbXUOW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179364},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.10.5.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\1ed3e71ab337422b071a0718539e89ff\\budarin-pluggable-serviceworker-1.10.5.tgz","_integrity":"sha512-2nKvLThjX1Wwl4SZ6RppB5H4u84Gst1PAHsRfBq+BzTK5ffGsz/emoI/waN8mWILbx+Z/bVqsZPZ0gGchxGB2Q==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.336","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.191"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.10.5_1771273298342_0.7700512957249928","host":"s3://npm-registry-packages-npm-production"}},"1.10.6":{"name":"@budarin/pluggable-serviceworker","version":"1.10.6","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.10.6","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"63a7ec5bd9edc06062875f42b22e692fac5fffc3","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.10.6.tgz","fileCount":116,"integrity":"sha512-ACFJJFW9WGdZmZSGqj5Y+UVmQNtZWtujgkoAfxjfVUedRJeBnwxZrPcM5old/sEwOi2TJnNltI571eYDz6FUDA==","signatures":[{"sig":"MEUCIQC9AFg9ZVuZT4siWkWMXKwWMcSkjEbxp6sMJapIDTfedAIgJRo6P/X4a6tZVRAgt5Gkq1SLs9s1nbJWAdO7YdhMm7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179440},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.10.6.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\56bee3c44d24cada9a84ef565fe22794\\budarin-pluggable-serviceworker-1.10.6.tgz","_integrity":"sha512-ACFJJFW9WGdZmZSGqj5Y+UVmQNtZWtujgkoAfxjfVUedRJeBnwxZrPcM5old/sEwOi2TJnNltI571eYDz6FUDA==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.336","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.191"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.10.6_1771336169406_0.8395413886834349","host":"s3://npm-registry-packages-npm-production"}},"1.10.7":{"name":"@budarin/pluggable-serviceworker","version":"1.10.7","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.10.7","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"f44c7d310e4451ab7a70281727e695fa228da099","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.10.7.tgz","fileCount":112,"integrity":"sha512-SZdpLpnrZOB4bdVQt7DYm113vwC05ZCuex01fMEoWVOC+U18iKvG60q8+/mY9urhCvKOmtSNKzS8cNbKm2YJZA==","signatures":[{"sig":"MEUCICHNktEzVD43UWMa+Lo/jdcEhPI807Lq55gLQ9YOJOXpAiEA2OYQHVSinp7QsPbyiCtlWapPN9/YThfHSFYZiapsjjc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185457},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.10.7.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"/private/var/folders/3d/my733tj9449d7jbbq3h3395w0000gn/T/021a8fb0d366d14d687d72403a3c5fc6/budarin-pluggable-serviceworker-1.10.7.tgz","_integrity":"sha512-SZdpLpnrZOB4bdVQt7DYm113vwC05ZCuex01fMEoWVOC+U18iKvG60q8+/mY9urhCvKOmtSNKzS8cNbKm2YJZA==","_npmVersion":"11.8.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.336","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.191"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.10.7_1771344322756_0.4348826002252393","host":"s3://npm-registry-packages-npm-production"}},"1.10.8":{"name":"@budarin/pluggable-serviceworker","version":"1.10.8","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.10.8","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"8d825ca25a714fea8fbfc588dfd7574d86b472e4","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.10.8.tgz","fileCount":112,"integrity":"sha512-XV/pG+C+UrqG55B+x395OenyHM7kDXBzka3hdchh7bEvc2TBK6NIjfrX2mUMmzlMMTgw9uwh78aqvNCOT+TbQg==","signatures":[{"sig":"MEQCIFbCr91fYOKKu0LTX2OhXcktDmfq6fJklAz2x/AqbSvzAiAZ4b1rHztZERqkr9rAmhdl+3gMtwNYYHEWS4wgSxSinw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185137},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.10.8.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"/private/var/folders/3d/my733tj9449d7jbbq3h3395w0000gn/T/8841656857345df1d513d533d58cfd1f/budarin-pluggable-serviceworker-1.10.8.tgz","_integrity":"sha512-XV/pG+C+UrqG55B+x395OenyHM7kDXBzka3hdchh7bEvc2TBK6NIjfrX2mUMmzlMMTgw9uwh78aqvNCOT+TbQg==","_npmVersion":"11.8.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.336","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.191"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.10.8_1771344742282_0.7413450962511219","host":"s3://npm-registry-packages-npm-production"}},"1.10.9":{"name":"@budarin/pluggable-serviceworker","version":"1.10.9","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.10.9","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"4bcdc51b04d92d56a50df36094bb97c073230c6a","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.10.9.tgz","fileCount":116,"integrity":"sha512-oVLLotzSBMpzbio5LTorNXuwIWzF6QO77psMlO+dYQYyROZ+EGf/cfXfy4k1Oa3Ho2vNrXLJZYi+T35T9AX7qw==","signatures":[{"sig":"MEYCIQCGFRzb2lc+GJa/R4ZyLJ/Z6mdAMqz3MEK9DTsWo67WUAIhAO3s5jwDLMYpztwSkxg/R5Fk7Sse4fCMFjLv+QXRmXl2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":180528},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.10.9.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\5145d9ebf4534047343be74235b26ece\\budarin-pluggable-serviceworker-1.10.9.tgz","_integrity":"sha512-oVLLotzSBMpzbio5LTorNXuwIWzF6QO77psMlO+dYQYyROZ+EGf/cfXfy4k1Oa3Ho2vNrXLJZYi+T35T9AX7qw==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.336","typescript":"^5.9.3","@types/node":"^25.2.3","@types/serviceworker":"^0.0.191"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.10.9_1771443060126_0.8733818811458707","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"@budarin/pluggable-serviceworker","version":"1.11.0","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.11.0","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"951f992c658fcf925b7c8696c14be7bb4a9d783b","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.11.0.tgz","fileCount":120,"integrity":"sha512-cBXfWBm8YHciIwwiW1QUW1aMGUgcIo2N0kLnvoIDn7WZ/80b7zv1EWGZo6Na3c4cdkI9nS/yzQ6N8CWIKk9BZw==","signatures":[{"sig":"MEUCIQC7pwP9P4FlIwh2Gms1UnVrLncT0NeQqnJgf8u+BEk3RAIgPCeOYd+Q070vH9K0Pxsg4OoQ+pdATmG2j/tgCQTDBiM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193071},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.11.0.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\140ee31bdead5beeba43a352568853ee\\budarin-pluggable-serviceworker-1.11.0.tgz","_integrity":"sha512-cBXfWBm8YHciIwwiW1QUW1aMGUgcIo2N0kLnvoIDn7WZ/80b7zv1EWGZo6Na3c4cdkI9nS/yzQ6N8CWIKk9BZw==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.337","typescript":"^5.9.3","@types/node":"^25.3.0","@types/serviceworker":"^0.0.191"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.11.0_1772029449508_0.6725215152566928","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"@budarin/pluggable-serviceworker","version":"1.12.0","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.12.0","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"65d028b8375771a28ee56183660cb36a3b74ded4","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.12.0.tgz","fileCount":122,"integrity":"sha512-4G5QDV73LU/JDLLKhYYAHeFO8n4pUmXoJgvfXeokHWlmUzfQOF4oZID4s+4I8CvAXyc8IHOw2ySOE6Q8sW05Sg==","signatures":[{"sig":"MEYCIQDZYisYVYGqk+4ijOHEVUzlSngbnP7MKQwRSDuBvCSXBwIhAOjSfx/sPVYU9yP8FXcX/tzwxVMmdS4DZ6fmT4lFF0d4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199996},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.12.0.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\e7c87693676de40ff87788821bfa5c28\\budarin-pluggable-serviceworker-1.12.0.tgz","_integrity":"sha512-4G5QDV73LU/JDLLKhYYAHeFO8n4pUmXoJgvfXeokHWlmUzfQOF4oZID4s+4I8CvAXyc8IHOw2ySOE6Q8sW05Sg==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.337","typescript":"^5.9.3","@types/node":"^25.3.0","@types/serviceworker":"^0.0.191"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.12.0_1772051790882_0.17922285252500259","host":"s3://npm-registry-packages-npm-production"}},"1.12.1":{"name":"@budarin/pluggable-serviceworker","version":"1.12.1","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.12.1","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"fb4a162e5a31464c91c868833258597ff94f27f8","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.12.1.tgz","fileCount":122,"integrity":"sha512-1wDGf01SwQctbKYLS8PPWQB4CIzdux3gqLd0iSNH7uPoT4vBgytDyVF87f38tsbGs9hGzYe5D8DyIaqbIC9Ogw==","signatures":[{"sig":"MEYCIQDBOYTrterVPnebTJqPBD06BBxNKZA53RFH5EPH6T8X+AIhAOIbpSKu8KXf2bQdgxK2DCdoJceZ9Ma7udkbbCytgATO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200073},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.12.1.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\a6261b6d0d4e74b540f7e306fa8908a6\\budarin-pluggable-serviceworker-1.12.1.tgz","_integrity":"sha512-1wDGf01SwQctbKYLS8PPWQB4CIzdux3gqLd0iSNH7uPoT4vBgytDyVF87f38tsbGs9hGzYe5D8DyIaqbIC9Ogw==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.338","typescript":"^5.9.3","@types/node":"^25.3.0","@types/serviceworker":"^0.0.192"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.12.1_1772058148689_0.17344038772509274","host":"s3://npm-registry-packages-npm-production"}},"1.12.2":{"name":"@budarin/pluggable-serviceworker","version":"1.12.2","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.12.2","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"b8a72464e92e006c25e3e06513fb5777230be6d6","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.12.2.tgz","fileCount":122,"integrity":"sha512-Z6lgAM1wlTimTLErFrvoST0VSI3iKNoaqGtVN0bIabZbozYtXU3gIZIGax//SQUx3rVIvfw45QDbEOvWvtV69w==","signatures":[{"sig":"MEQCIAyjbraVXUwuBH7DjKZ7h0/PmWo7QXbhBeXNSC0+xul0AiAXW6crcLl2qKgvr0+xHy1EWUr8NqMBpreiNfyItq9MQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199928},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.12.2.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\894cc0e0b921891d25f46882c42d03e5\\budarin-pluggable-serviceworker-1.12.2.tgz","_integrity":"sha512-Z6lgAM1wlTimTLErFrvoST0VSI3iKNoaqGtVN0bIabZbozYtXU3gIZIGax//SQUx3rVIvfw45QDbEOvWvtV69w==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.338","typescript":"^5.9.3","@types/node":"^25.3.1","@types/serviceworker":"^0.0.192"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.12.2_1772127353278_0.3344410584464137","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"@budarin/pluggable-serviceworker","version":"1.13.0","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.13.0","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"85b105dd0c80ed048865604335f2f3803e7a3ed3","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.13.0.tgz","fileCount":122,"integrity":"sha512-7LcFklqDAU9u+bC9f1UblEy8sG4ei1OvxwzgbspfBls9E2CcW81eP8SBcCjtrq0mGxJvH+1ltTrBZxQEt3nwng==","signatures":[{"sig":"MEUCIHiniOmOnxvjRf+RyDIIrKqrannuB90oWBKNaUrtGd3HAiEAgVChkORs3yMqPUvBoYZ+vG5vgJYbuO9PC4ZPOYIO9+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201004},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.13.0.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\2791a716e7a10f3562f02bc9a0a01467\\budarin-pluggable-serviceworker-1.13.0.tgz","_integrity":"sha512-7LcFklqDAU9u+bC9f1UblEy8sG4ei1OvxwzgbspfBls9E2CcW81eP8SBcCjtrq0mGxJvH+1ltTrBZxQEt3nwng==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.338","typescript":"^5.9.3","@types/node":"^25.3.1","@types/serviceworker":"^0.0.192"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.13.0_1772129141057_0.9222502813013473","host":"s3://npm-registry-packages-npm-production"}},"1.13.1":{"name":"@budarin/pluggable-serviceworker","version":"1.13.1","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.13.1","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"52249866b2838b96ffe7a95d18308377ed8edc09","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.13.1.tgz","fileCount":122,"integrity":"sha512-vjeB6qYN/GoYLaynRjR5lmb3MVkJMNOmvV6PLrrhTIRk8SgbRWu37lZLbvdSenTQwSx3fQRcX3e3LZPGIvLEuQ==","signatures":[{"sig":"MEQCIECNF7CtyjuS9E/JHJPabhqESWIr2A74Ca0tKBSdgWJYAiAPbhNieOJ8LysM//pjqKNSohs8JUbFng02YpBoDlZDTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201447},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.13.1.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\a98a49158492c4a6ed503d3ce981833d\\budarin-pluggable-serviceworker-1.13.1.tgz","_integrity":"sha512-vjeB6qYN/GoYLaynRjR5lmb3MVkJMNOmvV6PLrrhTIRk8SgbRWu37lZLbvdSenTQwSx3fQRcX3e3LZPGIvLEuQ==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.338","typescript":"^5.9.3","@types/node":"^25.3.1","@types/serviceworker":"^0.0.192"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.13.1_1772132681388_0.6301537114241891","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"@budarin/pluggable-serviceworker","version":"1.14.0","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.14.0","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"1e5ec3d21b04ec1993b506af670677c0d3c2b32b","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.14.0.tgz","fileCount":122,"integrity":"sha512-ru6PPi6oJyG2DOG5EYiqC6dmoL59tmefqgOD3+OLIphF2pIgk8iY44vAzcyHHb5yzdP+YtIBCSmc37CP4rhaNw==","signatures":[{"sig":"MEUCIQCvBxUxfdAyIzFrmHvpZX00I4BWeTNXvHonPOLj601M5wIgErZZAhfyAy1Id0lDoonK5AAb0fGLLgfURBUA8lFSAbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203213},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.14.0.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\56ec912463e9969ac9f78d19ab1cb591\\budarin-pluggable-serviceworker-1.14.0.tgz","_integrity":"sha512-ru6PPi6oJyG2DOG5EYiqC6dmoL59tmefqgOD3+OLIphF2pIgk8iY44vAzcyHHb5yzdP+YtIBCSmc37CP4rhaNw==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.338","typescript":"^5.9.3","@types/node":"^25.3.1","@types/serviceworker":"^0.0.192"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.14.0_1772137010714_0.38936591376259133","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"@budarin/pluggable-serviceworker","version":"1.15.0","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.15.0","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"5aa9fbc4263268908d485d8b2656cced1b394447","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.15.0.tgz","fileCount":124,"integrity":"sha512-SOxT1cCs8rvxYpRuB0UUBpIzH3AXd0S7gbxz5dy2tT52rjtqFdNQuqzk5HwG2zkbt0hdMQPzFqMfSzhVsUSeLw==","signatures":[{"sig":"MEUCIQCDgs20tvErAm/498f+tv52hzL6yHNgFZHejzT7bzazTgIgT+D9fsLgSRjJSEFxcj6WbCRychyzDhu497fjTp7O6wc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204762},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.15.0.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\619558d2c881a16f62322ec463dd1d2f\\budarin-pluggable-serviceworker-1.15.0.tgz","_integrity":"sha512-SOxT1cCs8rvxYpRuB0UUBpIzH3AXd0S7gbxz5dy2tT52rjtqFdNQuqzk5HwG2zkbt0hdMQPzFqMfSzhVsUSeLw==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.338","typescript":"^5.9.3","@types/node":"^25.3.1","@types/serviceworker":"^0.0.192"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.15.0_1772139319125_0.5756440801199265","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"@budarin/pluggable-serviceworker","version":"1.16.0","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.16.0","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"9875e87e94a4dc74af584b51ed714e46df42a9b2","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.16.0.tgz","fileCount":124,"integrity":"sha512-WFCDpPd3eO2R3QjlGDJC2WG8ImuP28yMPVQ4G2oFNBHoGEqjcf78hGsk7bKgcqa1zRMKyN/YyT07y8O5xqQ7ZA==","signatures":[{"sig":"MEUCIQD1mYTNN/AyyFcQFu9NYrPke3MxX5MeRKT0TBhS7ONbewIgOltBjSvfXL8gQKsPlmYNoYrM9yA9/FCXzZ2KLL3qgU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204756},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.16.0.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\aa73dc1dbd96ad1a00522b7a2e3d49ce\\budarin-pluggable-serviceworker-1.16.0.tgz","_integrity":"sha512-WFCDpPd3eO2R3QjlGDJC2WG8ImuP28yMPVQ4G2oFNBHoGEqjcf78hGsk7bKgcqa1zRMKyN/YyT07y8O5xqQ7ZA==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.338","typescript":"^5.9.3","@types/node":"^25.3.1","@types/serviceworker":"^0.0.192"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.16.0_1772151284894_0.9640032228523121","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"@budarin/pluggable-serviceworker","version":"1.17.0","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.17.0","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"62e23c850518bc39483bce4d7db3cb8838707ad6","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.17.0.tgz","fileCount":122,"integrity":"sha512-J4coicnUmRK315EcyklWe8VZ+gHLVTH+77mRAraUaoMRJLuqKgoyXUNzsoiX8JYUHLB+8BfgeV07WBgJNQ4m8Q==","signatures":[{"sig":"MEUCIQD6FiSJJztHWD0JUJc1kgOVC/JSFD7MyJSM4eHOFjkrpwIgV86tqB5HUkGIeCankwWrtVvuZRiHqiYq7qUq55DjkgQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":210600},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.17.0.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"/private/var/folders/3d/my733tj9449d7jbbq3h3395w0000gn/T/5da23da572af3095e89371f829838459/budarin-pluggable-serviceworker-1.17.0.tgz","_integrity":"sha512-J4coicnUmRK315EcyklWe8VZ+gHLVTH+77mRAraUaoMRJLuqKgoyXUNzsoiX8JYUHLB+8BfgeV07WBgJNQ4m8Q==","_npmVersion":"11.8.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.338","typescript":"^5.9.3","@types/node":"^25.3.2","@types/serviceworker":"^0.0.192"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.17.0_1772196470023_0.4302515517182124","host":"s3://npm-registry-packages-npm-production"}},"1.17.1":{"name":"@budarin/pluggable-serviceworker","version":"1.17.1","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.17.1","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"82c94b01e75e97e1d164f5ee676ce984bad8c5d0","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.17.1.tgz","fileCount":126,"integrity":"sha512-otIS/pmetQNFjuGiu/5S07cirUSbR2Jwc53grQTr1hoQRpVnHiVN6zTODZPfDOHfE9qPHGqbgsQT1fDc2A3ESQ==","signatures":[{"sig":"MEQCIFLVBlH9sKnn07t4RJyzakdFpO6pWhTVYJVcnykf2GKwAiAbvp6Gg9o0j1HMlPb8Ba4R5HII8vEEv+Ncd9qv+q19pQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206339},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.17.1.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\0ba82e2f9897005644328bcb438650bb\\budarin-pluggable-serviceworker-1.17.1.tgz","_integrity":"sha512-otIS/pmetQNFjuGiu/5S07cirUSbR2Jwc53grQTr1hoQRpVnHiVN6zTODZPfDOHfE9qPHGqbgsQT1fDc2A3ESQ==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.338","typescript":"^5.9.3","@types/node":"^25.3.2","@types/serviceworker":"^0.0.192"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.17.1_1772218634099_0.7255516836717673","host":"s3://npm-registry-packages-npm-production"}},"1.17.2":{"name":"@budarin/pluggable-serviceworker","version":"1.17.2","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.17.2","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"43909c2a9de8ae4a31bb8066925528a20376bb6c","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.17.2.tgz","fileCount":122,"integrity":"sha512-C/BHedbsXXBnpk9dp/qVKtXQv2Ewfuwputogeyn2QLYcejUQSMRnhXtglpFy3/t3TAp+s3w0LSQsWXgcsPhDyg==","signatures":[{"sig":"MEUCIQCCnCQ8WRmSwmzf8hQ74/0Ne9K7GXHShowM3vuWurFKLAIgZb2PXGDd4FgK8RArgk7+RAv/B41PORCgh7l4qdLMw4Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":211119},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.17.2.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"/private/var/folders/3d/my733tj9449d7jbbq3h3395w0000gn/T/7d2f83e6e4c75c9aa5fe4bc15452bfca/budarin-pluggable-serviceworker-1.17.2.tgz","_integrity":"sha512-C/BHedbsXXBnpk9dp/qVKtXQv2Ewfuwputogeyn2QLYcejUQSMRnhXtglpFy3/t3TAp+s3w0LSQsWXgcsPhDyg==","_npmVersion":"11.8.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.339","typescript":"^5.9.3","@types/node":"^25.3.3","@types/serviceworker":"^0.0.193"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.17.2_1772481731393_0.08861742742031309","host":"s3://npm-registry-packages-npm-production"}},"1.17.3":{"name":"@budarin/pluggable-serviceworker","version":"1.17.3","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.17.3","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"8bb71766526a360045c2de4c0a719b2ec215a546","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.17.3.tgz","fileCount":126,"integrity":"sha512-qJhHajl/JOchhW+pEcv+kaveR736XV4dMYFyB95G8BPlldudWDudSmbQCugLkY0/hkN7DsTdMvN4JyNnPF1dIA==","signatures":[{"sig":"MEYCIQCCQM0iNp2gF24ESeVjcfPsBmHrIN6Mv5SWfqV1UJVCvAIhALSTZzeGZx0KKlK3cBJ1wvLBw93xJB54HCA+Ywg4DpI9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":207255},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.17.3.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\d4797098ea66f212dc979d4d099418e7\\budarin-pluggable-serviceworker-1.17.3.tgz","_integrity":"sha512-qJhHajl/JOchhW+pEcv+kaveR736XV4dMYFyB95G8BPlldudWDudSmbQCugLkY0/hkN7DsTdMvN4JyNnPF1dIA==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.340","typescript":"^5.9.3","@types/node":"^25.3.5","@types/serviceworker":"^0.0.193"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.17.3_1772994857831_0.25171864278334755","host":"s3://npm-registry-packages-npm-production"}},"1.17.4":{"name":"@budarin/pluggable-serviceworker","version":"1.17.4","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.17.4","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"34fcb69e590f3d004f6ca4459cc8e53d4f3854a1","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.17.4.tgz","fileCount":126,"integrity":"sha512-UTFoE+3wImyF256c6XqNiky3LsOdWwFFn7fT87gYpZWqvMzJTjoiUXB85bAsm3Z0ygd+r7Wg/dun48KlCEneYA==","signatures":[{"sig":"MEQCIGJ7P0BzLIPF/2QIWNi8Unc/CFUiq9Df89crmHecIYH/AiBKHpUNa2zGFLZ0ucFJ1iczL1nPci4T+BQCQWqiYAUceQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":211367},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.17.4.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\510f6f86a78821202286a7e0484e34c5\\budarin-pluggable-serviceworker-1.17.4.tgz","_integrity":"sha512-UTFoE+3wImyF256c6XqNiky3LsOdWwFFn7fT87gYpZWqvMzJTjoiUXB85bAsm3Z0ygd+r7Wg/dun48KlCEneYA==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.340","typescript":"^5.9.3","@types/node":"^25.3.5","@types/serviceworker":"^0.0.193"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.17.4_1773244896852_0.32776748226943053","host":"s3://npm-registry-packages-npm-production"}},"1.17.5":{"name":"@budarin/pluggable-serviceworker","version":"1.17.5","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.17.5","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"3cb6ae7dfe2430905b1da545dbffc2429ca1b137","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.17.5.tgz","fileCount":126,"integrity":"sha512-dO6QNV0limEhVXc0Pprbtu+BXMI/LSGk/UiKmOfJIH/YoSlwqlvFHr7vYeEpyCWMFlm7/kqlccgdyVGT0cI16g==","signatures":[{"sig":"MEQCIGiAW7UqKZOfd+g31fxdfQRnGyelZePEBIVVHLCmZBonAiByeL/pwu6l9KIIA5QGj8gY2roCoObDMDAKRLcC8ye68A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212207},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.17.5.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\f6a5efebe7459e54b6bf3ddc33bd17b4\\budarin-pluggable-serviceworker-1.17.5.tgz","_integrity":"sha512-dO6QNV0limEhVXc0Pprbtu+BXMI/LSGk/UiKmOfJIH/YoSlwqlvFHr7vYeEpyCWMFlm7/kqlccgdyVGT0cI16g==","_npmVersion":"11.7.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","prettier":"^3.8.1","@types/web":"^0.0.340","typescript":"^5.9.3","@types/node":"^25.3.5","@types/serviceworker":"^0.0.193"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.17.5_1773249056684_0.9363428222518291","host":"s3://npm-registry-packages-npm-production"}},"1.17.6":{"name":"@budarin/pluggable-serviceworker","version":"1.17.6","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.17.6","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"6f327f01e1db6497c8d8a1cfdb4d0b3bca78a7ec","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.17.6.tgz","fileCount":122,"integrity":"sha512-u5Pq2+vZnXdGmhP5D1KmFnwzsbwFxdd/4ayw1XTjbri3sUbiGCLIgyzJTc2hblpu2B1/VXYfAdHgbqZKTj4vEQ==","signatures":[{"sig":"MEQCIEmlanqzixL2AM5gowupNxKc9b24lbnsYGI0yfp+xc7eAiAqvM7xyTFRef5cq8XDdYttjEsK6Y+Z9A56bZD5I8TSFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216896},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.17.6.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"/private/var/folders/3d/my733tj9449d7jbbq3h3395w0000gn/T/b7b82bb9df768c942bf976c2d694d7ae/budarin-pluggable-serviceworker-1.17.6.tgz","_integrity":"sha512-u5Pq2+vZnXdGmhP5D1KmFnwzsbwFxdd/4ayw1XTjbri3sUbiGCLIgyzJTc2hblpu2B1/VXYfAdHgbqZKTj4vEQ==","_npmVersion":"11.8.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@budarin/http-constants":"^1.0.22"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.0","prettier":"^3.8.1","@types/web":"^0.0.342","typescript":"^5.9.3","@types/node":"^25.5.0","@types/serviceworker":"^0.0.193"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.17.6_1773381345593_0.5953949472018478","host":"s3://npm-registry-packages-npm-production"}},"1.17.7":{"name":"@budarin/pluggable-serviceworker","version":"1.17.7","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.17.7","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"7fcf7945f1a2de3210885deb87fad80ad5ac10f7","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.17.7.tgz","fileCount":122,"integrity":"sha512-PQjzpANtL9RJpZpSUybl3ikjvGEQYsQFAqVVvU5eKCLbKw8O0WQ6oED+j063f0Oh8rG4w+DWvZOl3D5TwBgc+A==","signatures":[{"sig":"MEUCIG0fQlBtYPuDtbxDxLfl5fYkUdetDgsHXEEOlPcKC/8aAiEAzSkAVUosbxEnYOEPBPMzjodKbCXnmX56cBzPTY72ELc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216898},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.17.7.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"/private/var/folders/3d/my733tj9449d7jbbq3h3395w0000gn/T/1d9c626f775e143c0ba824698450aa39/budarin-pluggable-serviceworker-1.17.7.tgz","_integrity":"sha512-PQjzpANtL9RJpZpSUybl3ikjvGEQYsQFAqVVvU5eKCLbKw8O0WQ6oED+j063f0Oh8rG4w+DWvZOl3D5TwBgc+A==","_npmVersion":"11.8.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@budarin/http-constants":"^1.0.24"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.4","prettier":"^3.8.2","@types/web":"^0.0.345","typescript":"^6.0.2","@types/node":"^25.6.0","@types/serviceworker":"^0.0.194"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.17.7_1776061988840_0.2490758935384343","host":"s3://npm-registry-packages-npm-production"}},"1.17.8":{"name":"@budarin/pluggable-serviceworker","version":"1.17.8","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.17.8","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"faecc34d312e985f81bbd4705929f6733c38b4dd","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.17.8.tgz","fileCount":124,"integrity":"sha512-1ev6SHgwIzbU19DXxtQ7iNH5c1XSXU+c5fasBLdpzhE643R3uBVYM635UKq/COsbDJUanB01F7RR7P6dB3RI4g==","signatures":[{"sig":"MEYCIQDvtfhRG7XPNx33gbXnfitfqFYv5W5ggFVL4+YMqS2ubgIhAJ4VxuFs4H2xTD+AmejtWfkW5nFEOdHUdabRfcT16INn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220307},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.17.8.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"/private/var/folders/3d/my733tj9449d7jbbq3h3395w0000gn/T/a991535cbc90bc57a5e49d2df63bc0ff/budarin-pluggable-serviceworker-1.17.8.tgz","_integrity":"sha512-1ev6SHgwIzbU19DXxtQ7iNH5c1XSXU+c5fasBLdpzhE643R3uBVYM635UKq/COsbDJUanB01F7RR7P6dB3RI4g==","_npmVersion":"11.8.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@budarin/http-constants":"^1.0.24"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.4","prettier":"^3.8.2","@types/web":"^0.0.345","typescript":"^6.0.2","@types/node":"^25.6.0","@types/serviceworker":"^0.0.194"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.17.8_1776187807914_0.36851055568199276","host":"s3://npm-registry-packages-npm-production"}},"1.17.9":{"name":"@budarin/pluggable-serviceworker","version":"1.17.9","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.17.9","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"a98ffe65eb506671ff5bf455f664a8a13e349f19","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.17.9.tgz","fileCount":124,"integrity":"sha512-rw9QmuzL2rxGZe9VbzVVxsfTLFEkP0vfSuZPkVyfmAaLC2/PReVxqS29GNvF19dhhiXqFtI9nJQemSiK+JXo5g==","signatures":[{"sig":"MEUCIAhzKs98i1DANMDRYk63Td7Y0tJkKTKiCFpXb9/yDAZkAiEA/rjeozm6APZSvZ5nsimD4wNOhAJiX2/aj/GsyMiqLT4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220340},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.17.9.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"/private/var/folders/3d/my733tj9449d7jbbq3h3395w0000gn/T/094d4f56e6ee16bd154354d44715bfb4/budarin-pluggable-serviceworker-1.17.9.tgz","_integrity":"sha512-rw9QmuzL2rxGZe9VbzVVxsfTLFEkP0vfSuZPkVyfmAaLC2/PReVxqS29GNvF19dhhiXqFtI9nJQemSiK+JXo5g==","_npmVersion":"11.8.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@budarin/http-constants":"^1.0.24"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.4","prettier":"^3.8.2","@types/web":"^0.0.345","typescript":"^6.0.2","@types/node":"^25.6.0","@types/serviceworker":"^0.0.194"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.17.9_1776188631126_0.13548178872520178","host":"s3://npm-registry-packages-npm-production"}},"1.17.10":{"name":"@budarin/pluggable-serviceworker","version":"1.17.10","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.17.10","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"a85e3a92cc3db15aa602fcaa30c309e6cf6a8a77","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.17.10.tgz","fileCount":124,"integrity":"sha512-gzyJ8A4mTHo9IDX2Enps53prwd/zDt9MSrZVowcwMzMcvu9qnrA3CtVD6zyPu33RFXjB7/VfUnDd5PDEoWEkhg==","signatures":[{"sig":"MEUCIAIuILOVTON5WZ8E0gDQd3jgOHNOr6LatfwwuSDtHi++AiEAlRogH9bRevXdqvuBeaalttuzMxj4jMXANViooTjkUa0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220295},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.17.10.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"/private/var/folders/3d/my733tj9449d7jbbq3h3395w0000gn/T/4c0190ad37827743968a3623e8d5bdb2/budarin-pluggable-serviceworker-1.17.10.tgz","_integrity":"sha512-gzyJ8A4mTHo9IDX2Enps53prwd/zDt9MSrZVowcwMzMcvu9qnrA3CtVD6zyPu33RFXjB7/VfUnDd5PDEoWEkhg==","_npmVersion":"11.8.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@budarin/http-constants":"^1.0.24"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.4","prettier":"^3.8.2","@types/web":"^0.0.345","typescript":"^6.0.2","@types/node":"^25.6.0","@types/serviceworker":"^0.0.194"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.17.10_1776192418263_0.4617477546474533","host":"s3://npm-registry-packages-npm-production"}},"1.17.11":{"name":"@budarin/pluggable-serviceworker","version":"1.17.11","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/pluggable-serviceworker@1.17.11","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"89bba34b9d60c709163c0e963a3d25a026bd1ae3","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.17.11.tgz","fileCount":124,"integrity":"sha512-+PFL7IOJPgqGEh3p8pAthwPlfUZDtu28lFJUeM0TylgG7rlM/1HY0TvLf3a5/0Mz4L5zOjPbTt7D/4k8KXpFgA==","signatures":[{"sig":"MEYCIQCTgJNKw7FlHCI3Iz4WYtFAdWbgpfkbjaJ4/MTk+seGgAIhAMLdURLgiwf1hoQs08IeD0JyseXIK5eQ10vTG+2OpmA/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222134},"main":"dist/index.js","type":"module","_from":"file:budarin-pluggable-serviceworker-1.17.11.tgz","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"/private/var/folders/3d/my733tj9449d7jbbq3h3395w0000gn/T/d48d430b3b2e27b206297f53e903dcf0/budarin-pluggable-serviceworker-1.17.11.tgz","_integrity":"sha512-+PFL7IOJPgqGEh3p8pAthwPlfUZDtu28lFJUeM0TylgG7rlM/1HY0TvLf3a5/0Mz4L5zOjPbTt7D/4k8KXpFgA==","_npmVersion":"11.8.0","description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@budarin/http-constants":"^1.0.24"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.4","prettier":"^3.8.2","@types/web":"^0.0.345","typescript":"^6.0.2","@types/node":"^25.6.0","@types/serviceworker":"^0.0.194"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.17.11_1776285973510_0.416364924029047","host":"s3://npm-registry-packages-npm-production"}},"1.17.12":{"name":"@budarin/pluggable-serviceworker","version":"1.17.12","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":"Vadim Budarin","license":"MIT","_id":"@budarin/pluggable-serviceworker@1.17.12","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"82b22e676cf17bc60175a729e7abfe9f878c64f0","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.17.12.tgz","fileCount":128,"integrity":"sha512-4nQoA3G0yuotrIDyZUD7eAQxWCoIO2UaDbBqsJYaJHbT4AgjzqyZHL2dEzKJzOKJ8waE9EbZs9wPh/l8RNVxhA==","signatures":[{"sig":"MEUCIQCGs56s5/GmukGeLddercEGiIuNN7OULt+02ema+jRX3QIgVV21GvzzcnREdBlUcGibzmlE1cDDRmWrHrMi5v+5cco=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":217894},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"description":"Extensible via plugins service worker","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@budarin/http-constants":"^1.0.24"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","prettier":"^3.8.3","@types/web":"^0.0.350","typescript":"^6.0.3","@types/node":"^25.9.2","@types/serviceworker":"^0.0.197"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.17.12_1780928174804_0.46689727008167803","host":"s3://npm-registry-packages-npm-production"}},"1.18.12":{"name":"@budarin/pluggable-serviceworker","version":"1.18.12","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"author":"Vadim Budarin","license":"MIT","_id":"@budarin/pluggable-serviceworker@1.18.12","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"fa42f5ecc6b5cea709478002ac49d88ef90eb033","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.18.12.tgz","fileCount":138,"integrity":"sha512-xJvtv3MpHxCmDRVp/YNUGgYYOLZJuvCNxymc+sRYT7JdXXMHoEBeEZFFie1Mzbz/P3udHOvfbOCvGRCA/nPlpw==","signatures":[{"sig":"MEUCIF/NjVvmbZ1a99hEEDJJEHILI1LZeQl+a8nNabJsfyJfAiEA3bDUvjS7AQGBxDkdI7MhaZFoEZ+RXBTnhq7BKLElfzo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGXEjly23EXap9bnHHRz/BVhaSA8ul0In27g7jH9xI+FAiEA7hbBQHMCXJ7ZHIHWj+M1kDkhFeC0V6qE1HjmoMrKDig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":227864},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"description":"Extensible via plugins service worker","directories":{},"dependencies":{"@budarin/http-constants":"^1.0.26"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^5.0.1","prettier":"^3.9.8","@types/web":"^0.0.357","typescript":"^7.0.2","@types/node":"^26.6.2","@types/serviceworker":"^0.0.202"},"_npmOperationalInternal":{"tmp":"tmp/pluggable-serviceworker_1.18.12_1790193006178_0.3076019010222566","host":"s3://npm-registry-packages-npm-production"}},"1.18.13":{"_id":"@budarin/pluggable-serviceworker@1.18.13","dist":{"shasum":"d59e66a921e9af042ecad6e4e8f5d9791ad35236","tarball":"https://registry.npmjs.org/@budarin/pluggable-serviceworker/-/pluggable-serviceworker-1.18.13.tgz","fileCount":138,"integrity":"sha512-dQMVAt3RGKcOUm1zVaR2LhuUTg+qfTRpJYW0R6h6K7Ujf0mdO99/MXQBEYWPrgQwU0tL1HpdIJqGnEMv5bQCRQ==","signatures":[{"sig":"MEUCIF22tc8SlWp5ubnpR3OmZEy2qDSghKwvnIopHfnRCkjdAiEA3oiV5/q3h8haEL5uUkm0mMNr672IEzCog6TiZwse3Mk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBszauu0Pp+YaPD8qAQ+yzZ7dEhKYWNZ5SWpdPK5/lhnAiA1dA/e57RMnJGFRtPNG6p1kZBgzWnNfX/85xxBhyw/pw=="}],"unpackedSize":227594},"main":"dist/index.js","name":"@budarin/pluggable-serviceworker","type":"module","types":"dist/index.d.ts","author":"Vadim Budarin","exports":{".":"./dist/index.js","./sw":"./dist/sw/index.js","./utils":"./dist/utils/index.js","./client":"./dist/client/index.js","./plugins":"./dist/plugins/index.js","./presets":"./dist/presets/index.js","./client/health":"./dist/client/health/index.js","./client/messaging":"./dist/client/messaging/index.js","./client/registration":"./dist/client/registration/index.js","./client/background-fetch":"./dist/client/backgroundFetch/index.js"},"license":"MIT","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","type-check":"tsc -b -noEmit","clear-caches":"sh scripts/clear-caches.sh","pnpm-install":"pnpm install","upgrade-deps":"sh scripts/upgrade-deps.sh","sync-workspace":"sh scripts/sync-workspace.sh","publish-package":"pnpm build && pnpm publish --access=public"},"version":"1.18.13","_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"description":"Extensible via plugins service worker","directories":{},"maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dependencies":{"@budarin/http-constants":"^1.0.26"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^5.0.1","prettier":"^3.9.8","@types/web":"^0.0.357","typescript":"^7.0.2","@types/node":"^26.6.2","@types/serviceworker":"^0.0.202"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pluggable-serviceworker_1.18.13_1790193584119_0.6607497730835574"}}},"time":{"created":"2025-09-20T17:23:36.892Z","modified":"2026-09-23T19:59:44.379Z","1.0.1":"2025-09-20T17:23:37.154Z","1.0.2":"2025-09-20T18:38:14.327Z","1.0.3":"2025-09-20T18:42:55.729Z","1.0.4":"2025-09-20T19:20:24.232Z","1.0.5":"2025-09-20T19:39:50.596Z","1.0.6":"2025-09-20T19:42:45.812Z","1.0.7":"2025-09-20T19:48:52.714Z","1.0.8":"2025-09-20T20:24:24.289Z","1.0.9":"2025-09-23T15:03:59.497Z","1.0.10":"2025-09-23T15:09:55.266Z","1.0.11":"2025-09-24T09:42:12.755Z","1.0.12":"2025-09-24T09:52:23.402Z","1.0.13":"2025-09-24T15:44:13.418Z","1.0.14":"2025-09-24T15:59:51.706Z","1.0.15":"2025-09-25T11:47:52.421Z","1.0.16":"2025-09-25T16:09:24.643Z","1.0.17":"2025-09-26T22:27:25.832Z","1.0.18":"2025-09-26T22:51:41.540Z","1.0.19":"2025-09-27T00:30:41.468Z","1.0.20":"2025-09-28T15:55:00.853Z","1.0.21":"2025-09-28T19:27:16.930Z","1.0.22":"2025-09-28T21:44:13.673Z","1.0.23":"2025-09-28T22:23:00.520Z","1.0.24":"2025-09-28T22:45:55.711Z","1.0.25":"2025-09-29T02:21:50.354Z","1.0.26":"2025-09-29T02:23:40.185Z","1.0.27":"2025-09-29T02:25:48.006Z","1.0.28":"2025-09-29T03:11:04.217Z","1.0.29":"2025-09-29T03:20:38.363Z","1.0.30":"2025-11-05T00:42:20.054Z","1.0.31":"2025-11-05T00:45:58.741Z","1.0.32":"2025-11-17T04:06:14.592Z","1.1.0":"2026-02-01T04:06:08.637Z","1.1.1":"2026-02-05T23:49:15.033Z","1.2.0":"2026-02-07T00:45:42.648Z","1.2.1":"2026-02-07T01:10:20.224Z","1.5.0":"2026-02-09T01:56:39.141Z","1.5.1":"2026-02-09T02:38:55.659Z","1.5.2":"2026-02-09T03:03:43.383Z","1.5.3":"2026-02-09T03:07:48.950Z","1.5.4":"2026-02-09T03:22:46.010Z","1.5.5":"2026-02-09T03:47:22.965Z","1.5.6":"2026-02-09T06:05:19.829Z","1.5.7":"2026-02-09T06:19:18.428Z","1.5.8":"2026-02-09T07:19:26.333Z","1.5.9":"2026-02-10T12:04:40.485Z","1.6.0":"2026-02-10T18:28:19.011Z","1.6.1":"2026-02-11T00:42:26.193Z","1.6.2":"2026-02-11T00:47:39.241Z","1.6.3":"2026-02-11T01:00:27.165Z","1.6.4":"2026-02-11T01:49:40.481Z","1.6.5":"2026-02-11T01:56:30.536Z","1.6.6":"2026-02-11T11:58:13.097Z","1.7.0":"2026-02-11T18:43:31.201Z","1.7.1":"2026-02-11T18:48:42.601Z","1.7.2":"2026-02-12T13:57:16.734Z","1.8.0":"2026-02-12T18:04:54.316Z","1.8.1":"2026-02-12T18:24:24.416Z","1.9.0":"2026-02-15T21:16:15.368Z","1.10.0":"2026-02-15T21:48:07.335Z","1.10.1":"2026-02-16T02:54:22.382Z","1.10.2":"2026-02-16T03:22:12.069Z","1.10.3":"2026-02-16T03:44:47.302Z","1.10.4":"2026-02-16T16:49:41.887Z","1.10.5":"2026-02-16T20:21:38.494Z","1.10.6":"2026-02-17T13:49:29.556Z","1.10.7":"2026-02-17T16:05:22.922Z","1.10.8":"2026-02-17T16:12:22.417Z","1.10.9":"2026-02-18T19:31:00.356Z","1.11.0":"2026-02-25T14:24:09.669Z","1.12.0":"2026-02-25T20:36:31.045Z","1.12.1":"2026-02-25T22:22:28.833Z","1.12.2":"2026-02-26T17:35:53.451Z","1.13.0":"2026-02-26T18:05:41.208Z","1.13.1":"2026-02-26T19:04:41.550Z","1.14.0":"2026-02-26T20:16:50.880Z","1.15.0":"2026-02-26T20:55:19.279Z","1.16.0":"2026-02-27T00:14:45.067Z","1.17.0":"2026-02-27T12:47:50.178Z","1.17.1":"2026-02-27T18:57:14.253Z","1.17.2":"2026-03-02T20:02:11.569Z","1.17.3":"2026-03-08T18:34:17.985Z","1.17.4":"2026-03-11T16:01:37.014Z","1.17.5":"2026-03-11T17:10:56.915Z","1.17.6":"2026-03-13T05:55:45.731Z","1.17.7":"2026-04-13T06:33:08.962Z","1.17.8":"2026-04-14T17:30:08.042Z","1.17.9":"2026-04-14T17:43:51.256Z","1.17.10":"2026-04-14T18:46:58.419Z","1.17.11":"2026-04-15T20:46:13.648Z","1.17.12":"2026-06-08T14:16:14.944Z","1.18.12":"2026-09-23T19:50:06.272Z","1.18.13":"2026-09-23T19:59:44.217Z"},"author":"Vadim Budarin","license":"MIT","keywords":["serviceworker","plugins","extensible","serviceworker-plugins","serviceworker-plugins-extensible"],"description":"Extensible via plugins service worker","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"readme":"# @budarin/pluggable-serviceworker\r\n\r\n[Русская версия (Russian)](https://github.com/budarin/pluggable-serviceworker/blob/master/README.ru.md)\r\n\r\nA library for building modular, pluggable Service Workers.\r\n\r\n> Production-oriented: typed API, predictable plugin execution order, centralized error handling, built-in version/ping mechanisms, and ready-made activation scenarios let you use it safely in real-world frontend projects.\r\n\r\n[![CI](https://github.com/budarin/pluggable-serviceworker/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/budarin/pluggable-serviceworker/actions/workflows/ci.yml)\r\n[![npm](https://img.shields.io/npm/v/@budarin/pluggable-serviceworker?color=cb0000)](https://www.npmjs.com/package/@budarin/pluggable-serviceworker)\r\n[![npm](https://img.shields.io/npm/dt/@budarin/pluggable-serviceworker)](https://www.npmjs.com/package/@budarin/pluggable-serviceworker)\r\n[![bundle](https://img.shields.io/bundlephobia/minzip/@budarin/pluggable-serviceworker)](https://bundlephobia.com/result?p=@budarin/pluggable-serviceworker)\r\n[![GitHub](https://img.shields.io/github/license/budarin/pluggable-serviceworker)](https://github.com/budarin/pluggable-serviceworker)\r\n\r\n## Table of contents\r\n\r\n- [Why this package?](#-why-this-package)\r\n    - [Modular architecture](#-modular-architecture)\r\n    - [Predictable execution order](#-predictable-execution-order)\r\n    - [Easy to learn](#-easy-to-learn)\r\n    - [Small footprint](#-small-footprint)\r\n    - [Full control](#-full-control)\r\n    - [Centralized error handling](#-centralized-error-handling)\r\n    - [Logging](#-logging)\r\n    - [Ready-made building blocks](#-ready-made-building-blocks)\r\n- [Installation](#-installation)\r\n- [Quick start](#-quick-start)\r\n    - [Basic usage](#basic-usage)\r\n- [Demo](#demo)\r\n- [initServiceWorker(plugins, options)](#initserviceworkerplugins-options)\r\n- [initServiceWorker options](#️-initserviceworker-options-version-pingpath-base-logger-debug-logfetchindebug-onerror-passthroughrequestheader)\r\n    - [Option fields](#option-fields)\r\n    - [Error handling](#error-handling)\r\n- [Plugins](#plugins)\r\n    - [Plugin interface](#-plugin-interface)\r\n    - [Method summary](#-method-summary)\r\n    - [Handler behaviour](#-handler-behaviour)\r\n- [Plugin execution order](#-plugin-execution-order)\r\n    - [Example](#example)\r\n- [Handler execution behaviour](#-handler-execution-behaviour)\r\n    - [Parallel execution](#-parallel-execution)\r\n    - [Sequential execution](#️-sequential-execution)\r\n    - [Summary table](#-summary-table)\r\n- [Primitives, presets, and ready-made service workers](#primitives-presets-and-ready-made-service-workers)\r\n    - [Primitives (plugins)](#primitives-plugins)\r\n    - [Presets](#presets)\r\n    - [Ready-made service workers](#ready-made-service-workers)\r\n    - [Published utilities](#published-utilities)\r\n    - [Recipe: waking up the SW](#-recipe-waking-up-the-sw)\r\n    - [Note on Chrome claim() workaround](#-note-on-chrome-claim-workaround)\r\n- [Developing a separate plugin package](#developing-a-separate-plugin-package)\r\n- [Plugins (ready-made)](#plugins-ready-made)\r\n- [License](#-license)\r\n\r\n## 🚀 Why this package?\r\n\r\nService workers are powerful but easy to get wrong: many event handlers, error paths, race conditions, and browser quirks. Large frameworks help, but often bring their own routing model, strategy DSL, and a lot of concepts to keep in your head. This package focuses on a smaller surface: a typed plugin contract, predictable execution, and tools that stay close to the native Service Worker API.\r\n\r\n### 🔌 **Modular architecture**\r\n\r\n- **Plugins as building blocks** — each plugin owns one concern (caching, auth, notifications, version checks).\r\n- You compose a service worker from small pieces instead of one large script.\r\n- Infrastructure code for events (`install`, `activate`, `fetch`, …) lives in the library; your code focuses on behaviour.\r\n\r\n### 🎯 **Predictable execution order**\r\n\r\n- Plugins are sorted by `order` (ascending, default `0`) before handlers are registered.\r\n- For `fetch` the chain is **sequential**: the first plugin that returns a non‑`undefined` `Response` wins.\r\n- For `push` all handlers run; for most other events (`install`, `activate`, `message`, `sync`, `periodicsync`, background fetch events and others) handlers run **in parallel**.\r\n- Event listeners are only registered when at least one plugin provides a handler for that event.\r\n\r\n### 📖 **Easy to learn**\r\n\r\n- One main concept: `Plugin` with optional hooks; no separate routing language or strategy objects.\r\n- Few moving parts: plugin, plugin factory, `initServiceWorker`, options.\r\n- The `ServiceWorkerPlugin` type acts as an executable contract and documentation at the same time.\r\n\r\n### 📦 **Small footprint**\r\n\r\n- Minimal runtime with no bundled build system or large dependencies.\r\n- Only the code you import is included in your bundle.\r\n- Suitable for projects where bundle size and dependency graph are tightly controlled.\r\n\r\n### 🎛 **Full control**\r\n\r\n- You decide what to cache and how to update it.\r\n- Plugin order, logging, and error handling are configured explicitly.\r\n- If you need a non‑standard behaviour, you implement it directly in a plugin instead of working around a framework.\r\n\r\n### 🛡️ **Centralized error handling**\r\n\r\n- A single `onError` hook receives structured information about where and what failed.\r\n- Errors in one plugin do not break others; errors from global Service Worker events are handled in one place.\r\n- Error types are typed so you can react differently to installation, activation, fetch, or background fetch failures.\r\n\r\n### 📝 **Logging**\r\n\r\n- Pluggable logger with levels (`trace`, `debug`, `info`, `warn`, `error`).\r\n- The same context (logger, base) is passed into every plugin hook, which makes it easier to correlate logs and resolve asset paths across events.\r\n- You can use your own logging infrastructure as long as it matches the expected interface.\r\n\r\n### ✅ **Ready‑made building blocks**\r\n\r\n- A set of ready‑to‑use plugins: `precache`, `cacheFirst`, `networkFirst`, `staleWhileRevalidate`, `skipWaiting`, `claim`, and others.\r\n- `offlineFirst` preset that combines precache on install with cache‑first fetch behaviour.\r\n- Ready‑made service worker entry points: `activateOnSignal`, `activateImmediately`, `activateOnNextVisit`.\r\n- Client utilities for registration, update detection, messaging, health checks, and Background Fetch — with a focus on predictable behaviour and minimal boilerplate.\r\n\r\n## 📦 Installation\r\n\r\n```bash\r\nnpm install @budarin/pluggable-serviceworker\r\n```\r\n\r\nor\r\n\r\n```bash\r\npnpm add @budarin/pluggable-serviceworker\r\n```\r\n\r\n## 🚀 Quick start\r\n\r\n### Basic usage\r\n\r\n```ts\r\n// precacheAndServePlugin.js\r\nimport type { Plugin } from '@budarin/pluggable-serviceworker';\r\nimport { matchByUrl } from '@budarin/pluggable-serviceworker/utils';\r\n\r\nexport function precacheAndServePlugin(config: {\r\n    cacheName: string;\r\n    assets: string[];\r\n}): Plugin {\r\n    const { cacheName, assets } = config;\r\n\r\n    return {\r\n        name: 'precache-and-serve',\r\n\r\n        install: async (_event, context) => {\r\n            const cache = await caches.open(cacheName);\r\n            await cache.addAll(assets);\r\n        },\r\n\r\n        fetch: async (event, context) => {\r\n            const cache = await caches.open(cacheName);\r\n            const asset = await matchByUrl(cache, event.request);\r\n\r\n            if (!asset) {\r\n                context.logger?.debug(\r\n                    `precache-and-serve: asset ${event.request.url} not found in cache!`\r\n                );\r\n            }\r\n\r\n            return asset ?? undefined;\r\n        },\r\n    };\r\n}\r\n```\r\n\r\n```ts\r\n// sw.ts\r\nimport { precacheAndServePlugin } from './precacheAndServePlugin';\r\nimport { initServiceWorker } from '@budarin/pluggable-serviceworker';\r\n\r\ninitServiceWorker(\r\n    [\r\n        precacheAndServePlugin({\r\n            cacheName: 'my-cache-v1',\r\n            assets: ['/', '/styles.css', '/script.js'],\r\n        }),\r\n    ],\r\n    { version: '1.8.0' }\r\n);\r\n```\r\n\r\n**Why `matchByUrl` instead of `cache.match(event.request)`?** The browser sends requests with different `mode` (scripts, styles, images, etc. each have their own); precache stores with a different mode. `cache.match()` requires a full match (URL, mode, credentials) — no match, hence \"Failed to fetch\". `matchByUrl()` matches by URL path only (and by default ignores query string, so `/a.js?v=1` finds the entry for `/a.js`). Use it in the fetch handler when looking up any resource in the cache by request.\r\n\r\n## Demo\r\n\r\nThe [demo/](demo/) folder contains a **React + Vite** app with the **offlineFirst** preset and **activateOnSignal** SW. From repo root: `pnpm start`. See [demo/README.md](demo/README.md).\r\n\r\n## initServiceWorker(plugins, options)\r\n\r\n`initServiceWorker` is the entry point: it registers Service Worker event handlers (`install`, `activate`, `fetch`, …) and runs them through the plugin list. **Only events that have at least one plugin handler are registered** — if no plugin implements e.g. `sync`, the service worker will not listen for `sync` events.\r\n\r\n- **`plugins`** — array of plugin objects. Plugins with config come from **factory** calls at the call site (see \"Plugin factory\"). If a factory returns an array of plugins, you can pass it as-is — the list is flattened (one level), so no need to spread. Entries that are `null` or `undefined` (e.g. when a factory returns `undefined` because an API is unavailable) are ignored; no need to filter the array yourself.\r\n- **`options`** — at least `version` (required), and optional `pingPath?`, `base?`, `logger?`, `debug?`, `logFetchInDebug?`, `onError?`. The **context** (logger, base) is passed as the second argument to plugin handlers.\r\n\r\n**Example:**\r\n\r\n```ts\r\ninitServiceWorker(\r\n    [\r\n        precache({ cacheName: 'v1', assets: ['/'] }),\r\n        serveFromCache({ cacheName: 'v1' }),\r\n    ],\r\n    {\r\n        version: '1.8.0',\r\n        base: '/',\r\n        logger: customLogger,\r\n        onError: handleError,\r\n    }\r\n);\r\n```\r\n\r\n## ⚙️ initServiceWorker options (version, pingPath, base, logger, debug, logFetchInDebug, onError, passthroughRequestHeader)\r\n\r\nThe second parameter `options` is of type `ServiceWorkerInitOptions`: required `version` and optional `pingPath?`, `base?`, `logger?`, `debug?`, `logFetchInDebug?`, `onError?`, `passthroughRequestHeader?`. The **context** (logger, base) is passed into plugin handlers (second argument); if logger is omitted, `console` is used. `onError` is used only by the library, not passed to plugins.\r\n\r\n`PluginContext` in the API is for typing; plugins receive it as the second argument.\r\n\r\n```ts\r\ninterface PluginContext {\r\n    logger?: Logger; // default: console\r\n    base?: string; // app base path\r\n    passthroughHeader: string; // header name for passthrough requests (set by library from passthroughRequestHeader option or PSW_PASSTHROUGH_HEADER)\r\n    fetchPassthrough: (request: Request) => Promise<Response>; // fetch that bypasses all plugins, available only in plugin context\r\n}\r\n\r\ninterface ServiceWorkerInitOptions {\r\n    /** Service worker / app version string (e.g. '1.8.0'). */\r\n    version: string;\r\n\r\n    /** App base path, e.g. '/' or '/my-app/'. */\r\n    base?: string;\r\n\r\n    logger?: Logger;\r\n\r\n    /** Enable verbose debug logging (SW events, message flow, fetch outcomes). Default: false. */\r\n    debug?: boolean;\r\n\r\n    /**\r\n     * Controls fetch debug logs when debug=true.\r\n     * - true/undefined: log fetch branches\r\n     * - false: suppress fetch debug logs only (other debug logs stay enabled)\r\n     */\r\n    logFetchInDebug?: boolean;\r\n\r\n    /** Optional path for ping requests (default '/sw-ping'). */\r\n    pingPath?: string;\r\n\r\n    /**\r\n     * Header name that marks a request as passthrough:\r\n     * such requests bypass all plugins and are handled by the browser directly.\r\n     * Default: PSW_PASSTHROUGH_HEADER ('X-PSW-Passthrough').\r\n     */\r\n    passthroughRequestHeader?: string;\r\n\r\n    onError?: (error, event, errorType?) => void; // library only, not passed to plugins\r\n}\r\n```\r\n\r\n### Option fields\r\n\r\n#### `version: string` (required)\r\n\r\nVersion string for the service worker / app. Used by:\r\n\r\n- the library's internal plugin that answers version requests (`getServiceWorkerVersion()` on the client);\r\n- logging and debugging (you can log it in your `onError` or logger).\r\n\r\nRecommend using the same string as your frontend app version (e.g. from `package.json`).\r\n\r\n**Example:**\r\n\r\n```ts\r\ninitServiceWorker(plugins, {\r\n    version: '1.8.0',\r\n});\r\n```\r\n\r\n#### `base?: string` (optional)\r\n\r\nApp base path, e.g. `'/'` or `'/my-app/'`. Used by asset plugins (`precache`, `restoreAssetToCache`, etc.) to resolve asset URLs. When the app is deployed under a subpath, pass the same base as in your build config so cached URLs match incoming requests.\r\n\r\n**Asset parameters are pathnames.** All options that refer to assets (e.g. `assets` in plugin configs, the first argument of `resolveAssetUrls` and `isRequestUrlInAssets`) must be the path part of the URL — e.g. `'/'`, `'/main.js'`. Do not pass absolute filesystem paths or full URLs: the real origin and deployment path are not known at build time; the service worker builds full URLs from these pathnames and `base` when it runs.\r\n\r\n**Example:**\r\n\r\n```ts\r\ninitServiceWorker(plugins, {\r\n    version: '1.8.0',\r\n    base: '/',\r\n});\r\n```\r\n\r\nFor an app under a subpath, use the same base as in your build config.\r\n\r\n**Example for Vite:** use `base: import.meta.env.BASE_URL` so it matches `vite.config` → `base`.\r\n\r\n#### `debug?: boolean` (optional)\r\n\r\nWhen `true`, the library logs debug messages so you can see what the service worker is doing: install/activate, incoming messages (type, source), outgoing `notifyClients` (message type, client count), and fetch outcomes (passthrough skip, handled by plugin, network fallback, or 503). Uses `logger` (or `console`) at `debug` level. Off by default; turn on during development.\r\n\r\n**Example:**\r\n\r\n```ts\r\ninitServiceWorker(plugins, {\r\n    version: '1.8.0',\r\n    debug: true,\r\n});\r\n```\r\n\r\n#### `logFetchInDebug?: boolean` (optional)\r\n\r\nControls only fetch-related debug logs when `debug` is enabled.\r\n\r\n- `true` or `undefined` (default): fetch debug logs are enabled.\r\n- `false`: fetch debug logs are suppressed, while other debug logs (`install`, `activate`, `message`, etc.) remain enabled.\r\n\r\n**Example:**\r\n\r\n```ts\r\ninitServiceWorker(plugins, {\r\n    version: '1.8.0',\r\n    debug: true,\r\n    logFetchInDebug: false,\r\n});\r\n```\r\n\r\n#### `pingPath?: string` (optional)\r\n\r\nOverrides the ping path handled by the library's internal ping plugin. Default is `'/sw-ping'` (constant `SW_PING_PATH`). This must match what you use on the client in `pingServiceWorker({ path: ... })` if you change it.\r\n\r\n**Examples:**\r\n\r\n```ts\r\n// Default — internal plugin handles GET /sw-ping\r\ninitServiceWorker(plugins, {\r\n    version: '1.8.0',\r\n});\r\n\r\n// Custom ping path (e.g. to avoid clashing with backend)\r\ninitServiceWorker(plugins, {\r\n    version: '1.8.0',\r\n    pingPath: '/internal/sw-ping',\r\n});\r\n```\r\n\r\n#### `passthroughRequestHeader?: string` (optional)\r\n\r\n**The problem.** When a plugin performs an internal `fetch()` — for example, `staleWhileRevalidate` fetching a fresh copy to update the cache, or an analytics plugin sending an event — that request may be processed by the plugin pipeline again. Without a way to identify internal requests, plugins can unintentionally re-apply caching, analytics, or other behaviors to requests they initiated themselves. In some cases this can lead to recursive plugin execution or incorrect cache usage.\r\n\r\n**The solution.** Use `context.fetchPassthrough(request)` instead of a bare `fetch()`. The library routes the request directly to the network, bypassing all plugins, using an origin-aware strategy:\r\n\r\n- **cross-origin request** — `fetch(request)` is called without any modification. A SW never intercepts its own cross-origin fetches (they are outside its scope), so there is no re-entry and no CORS preflight.\r\n- **same-origin request** — the passthrough header is added to a `Request` clone. This prevents re-entry into the SW's `fetch` handler. No CORS issue — same-origin requests never trigger a preflight.\r\n\r\nThe header `passthroughRequestHeader` is an alternative mechanism for cases where requests arrive **from outside** the SW (e.g. another script) already carrying the marker. Default is `PSW_PASSTHROUGH_HEADER` (`'X-PSW-Passthrough'`).\r\n\r\n**How to make a network request inside your plugin** — always call `context.fetchPassthrough`:\r\n\r\n```ts\r\nfetch: async (event, context) => {\r\n    // ✅ correct — bypasses the plugin chain, no CORS issues\r\n    const response = await context.fetchPassthrough(event.request);\r\n    // ...\r\n};\r\n```\r\n\r\n**Never** call bare `fetch()` for internal requests — the response will re-enter the handler and loop through all plugins again:\r\n\r\n```ts\r\nfetch: async (event, context) => {\r\n    // ❌ wrong — re-enters the plugin chain\r\n    const response = await fetch(event.request);\r\n};\r\n```\r\n\r\nThe built-in plugins (`cacheFirst`, `networkFirst`, `staleWhileRevalidate`, `restoreAssetToCache`) all use `context.fetchPassthrough` internally.\r\n\r\n**Custom header name** (useful to avoid clashes with other headers):\r\n\r\n```ts\r\ninitServiceWorker(plugins, {\r\n    version: '1.8.0',\r\n    passthroughRequestHeader: 'X-My-Internal',\r\n});\r\n```\r\n\r\n#### `logger?: Logger` (optional)\r\n\r\nLogger object with `info`, `warn`, `error`, `debug`. Default is `console`. Any object implementing the `Logger` interface is accepted.\r\n\r\n```ts\r\ninterface Logger {\r\n    trace: (...data: unknown[]) => void;\r\n    debug: (...data: unknown[]) => void;\r\n    info: (...data: unknown[]) => void;\r\n    warn: (...data: unknown[]) => void;\r\n    error: (...data: unknown[]) => void;\r\n}\r\n```\r\n\r\n**Example:**\r\n\r\n```ts\r\nconst options = {\r\n    logger: customLogger,\r\n    // or\r\n    logger: {\r\n        trace: (...data) => customLogger('TRACE', ...data),\r\n        debug: (...data) => customLogger('DEBUG', ...data),\r\n        info: (...data) => customLogger('INFO', ...data),\r\n        warn: (...data) => customLogger('WARN', ...data),\r\n        error: (...data) => customLogger('ERROR', ...data),\r\n    },\r\n};\r\n```\r\n\r\n#### `onError?: (error, event, errorType) => void` (optional)\r\n\r\nSingle handler for all error types in the Service Worker. **There is no default handler** — if `onError` is not provided, errors are not handled.\r\n\r\n**Parameters:**\r\n\r\n- `error: Error | any` — error object\r\n- `event: Event` — event where the error occurred\r\n- `errorType?: ServiceWorkerErrorType` — error type (see \"Error handling\")\r\n\r\n**Important:** If `onError` is not set, plugin and global errors are not handled. For production, always set `onError` for logging and monitoring.\r\n\r\n**Examples:**\r\n\r\n```ts\r\n// Minimal: version only\r\ninitServiceWorker([cachePlugin], {\r\n    version: '1.8.0',\r\n});\r\n\r\n// With onError\r\ninitServiceWorker([cachePlugin], {\r\n    version: '1.8.0',\r\n    onError: (error, event, errorType) => {\r\n        console.error('Service Worker error:', error, errorType);\r\n    },\r\n});\r\n```\r\n\r\n### Error handling\r\n\r\nThe library lets you define one handler for all error types and handle each type as needed. It subscribes to global `error`, `messageerror`, `unhandledrejection`, `rejectionhandled`; an error in one plugin does not stop others. If `onError` throws, the exception is logged via `options.logger`.\r\n\r\n```ts\r\nimport {\r\n    initServiceWorker,\r\n    serviceWorkerErrorTypes,\r\n} from '@budarin/pluggable-serviceworker';\r\n\r\nconst logger = console; // or your own logger\r\n\r\nconst options = {\r\n    version: '1.8.0',\r\n    logger,\r\n    onError: (error, event, errorType) => {\r\n        logger.info(`Error type \"${errorType}\":`, error);\r\n\r\n        switch (errorType) {\r\n            case serviceWorkerErrorTypes.INSTALL_ERROR:\r\n            case serviceWorkerErrorTypes.ACTIVATE_ERROR:\r\n            case serviceWorkerErrorTypes.FETCH_ERROR:\r\n            case serviceWorkerErrorTypes.MESSAGE_ERROR:\r\n            case serviceWorkerErrorTypes.SYNC_ERROR:\r\n            case serviceWorkerErrorTypes.PERIODICSYNC_ERROR:\r\n            case serviceWorkerErrorTypes.PUSH_ERROR:\r\n            case serviceWorkerErrorTypes.BACKGROUNDFETCHSUCCESS_ERROR:\r\n            case serviceWorkerErrorTypes.BACKGROUNDFETCHFAIL_ERROR:\r\n            case serviceWorkerErrorTypes.BACKGROUNDFETCHABORT_ERROR:\r\n            case serviceWorkerErrorTypes.BACKGROUNDFETCHCLICK_ERROR:\r\n                logger.error(`Plugin error (${errorType}):`, error);\r\n                if (error instanceof Error && error.stack) {\r\n                    logger.error('Plugin error Stack:', error.stack);\r\n                }\r\n                break;\r\n\r\n            case serviceWorkerErrorTypes.ERROR:\r\n                logger.error('JavaScript error:', error);\r\n                break;\r\n\r\n            case serviceWorkerErrorTypes.MESSAGE_ERROR_HANDLER:\r\n                logger.error('Message error:', error);\r\n                break;\r\n\r\n            case serviceWorkerErrorTypes.UNHANDLED_REJECTION:\r\n                logger.error('Unhandled promise rejection:', error);\r\n                break;\r\n\r\n            case serviceWorkerErrorTypes.REJECTION_HANDLED:\r\n                logger.info('Promise rejection handled:', error);\r\n                break;\r\n\r\n            default:\r\n                logger.error('Unknown error type:', error);\r\n                fetch('/api/errors', {\r\n                    method: 'POST',\r\n                    body: JSON.stringify({\r\n                        error: error.message,\r\n                        eventType: event.type,\r\n                        url: event.request?.url,\r\n                        timestamp: Date.now(),\r\n                    }),\r\n                }).catch(() => {});\r\n        }\r\n    },\r\n};\r\n\r\ninitServiceWorker([/* your plugins */], options);\r\n```\r\n\r\n## Plugins\r\n\r\nA **plugin** is an object with a `name` and optional handlers (`install`, `fetch`, `activate`, etc.). You pass such objects into `initServiceWorker(plugins, options)`.\r\n\r\nA **plugin factory** is a function that takes config and returns a plugin (e.g. `precache(config)`, `serveFromCache(config)`, or your own `precacheAndServePlugin(config)`). Config is set at the call site.\r\n\r\n### 🔌 Plugin interface\r\n\r\nA plugin implements `ServiceWorkerPlugin`. Plugin-specific config is set when calling the **factory**. The `_C` type parameter is for typing the context.\r\n\r\n**Context** (`PluginContext`) — the second argument of every handler. Passed from `initServiceWorker(plugins, options)`; option fields become context:\r\n\r\n```ts\r\ninterface PluginContext {\r\n    logger?: Logger; // Logger (default: console).\r\n    base?: string; // App base path.\r\n    passthroughHeader: string; // Header name for passthrough requests (set by library).\r\n    fetchPassthrough: (request: Request) => Promise<Response>; // fetch that bypasses all plugins, no CORS issues.\r\n}\r\n```\r\n\r\n```ts\r\ninterface ServiceWorkerPlugin<_C extends PluginContext = PluginContext> {\r\n    name: string;\r\n\r\n    order?: number;\r\n\r\n    install?: (\r\n        event: ExtendableEvent,\r\n        context: PluginContext\r\n    ) => Promise<void> | void;\r\n\r\n    activate?: (\r\n        event: ExtendableEvent,\r\n        context: PluginContext\r\n    ) => Promise<void> | void;\r\n\r\n    fetch?: (\r\n        event: FetchEvent,\r\n        context: PluginContext\r\n    ) => Promise<Response | undefined> | Response | undefined;\r\n\r\n    message?: (\r\n        event: SwMessageEvent,\r\n        context: PluginContext\r\n    ) => Promise<void> | void;\r\n\r\n    sync?: (event: SyncEvent, context: PluginContext) => Promise<void> | void;\r\n\r\n    push?: (\r\n        event: PushEvent,\r\n        context: PluginContext\r\n    ) =>\r\n        | Promise<PushNotificationPayload | void>\r\n        | PushNotificationPayload\r\n        | void;\r\n\r\n    periodicsync?: (\r\n        event: PeriodicSyncEvent,\r\n        context: PluginContext\r\n    ) => Promise<void> | void;\r\n\r\n    backgroundfetchsuccess?: (\r\n        event: BackgroundFetchUpdateUIEvent,\r\n        context: PluginContext\r\n    ) => Promise<void> | void;\r\n    backgroundfetchfail?: (\r\n        event: BackgroundFetchUpdateUIEvent,\r\n        context: PluginContext\r\n    ) => Promise<void> | void;\r\n    backgroundfetchabort?: (\r\n        event: BackgroundFetchEvent,\r\n        context: PluginContext\r\n    ) => Promise<void> | void;\r\n    backgroundfetchclick?: (\r\n        event: BackgroundFetchEvent,\r\n        context: PluginContext\r\n    ) => Promise<void> | void;\r\n}\r\n```\r\n\r\n### 📝 Method summary\r\n\r\n| Method                   | Event                    | Returns                                         | Description                                                                                                      |\r\n| ------------------------ | ------------------------ | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |\r\n| `install`                | `install`                | `void`                                          | Plugin init on SW install                                                                                        |\r\n| `activate`               | `activate`               | `void`                                          | Plugin activation on SW update                                                                                   |\r\n| `fetch`                  | `fetch`                  | `Response \\| undefined`                         | Handle network requests                                                                                          |\r\n| `message`                | `message`                | `Promise<void> \\| void`                         | Handle messages from main thread                                                                                 |\r\n| `sync`                   | `sync`                   | `void`                                          | Background sync                                                                                                  |\r\n| `push`                   | `push`                   | `PushNotificationPayload \\| false \\| undefined` | Handle and show push notification                                                                                |\r\n| `periodicsync`           | `periodicsync`           | `void`                                          | Periodic background tasks                                                                                        |\r\n| `backgroundfetchsuccess` | `backgroundfetchsuccess` | `void`                                          | [Background Fetch](https://developer.mozilla.org/en-US/docs/Web/API/Background_Fetch_API): all fetches succeeded |\r\n| `backgroundfetchfail`    | `backgroundfetchfail`    | `void`                                          | Background Fetch: at least one fetch failed                                                                      |\r\n| `backgroundfetchabort`   | `backgroundfetchabort`   | `void`                                          | Background Fetch: fetch aborted by user or app                                                                   |\r\n| `backgroundfetchclick`   | `backgroundfetchclick`   | `void`                                          | Background Fetch: user clicked download UI                                                                       |\r\n\r\nHow the package works:\r\n\r\n- The plugins array is flattened (one level), so you can pass factory results that return arrays without spreading (e.g. `[offlineFirst(options), claim()]`).\r\n- `null` and `undefined` entries in the plugins array are ignored (e.g. when a factory returns `undefined` when an API is unavailable). No need to filter manually\r\n- Arrays are created for each event type: install, activate, fetch, message, sync, periodicsync, push, backgroundfetchsuccess, backgroundfetchfail, backgroundfetchabort, backgroundfetchclick\r\n- Plugins are sorted by `order` (ascending, default 0)\r\n- In that order, each plugin's handlers are pushed into the corresponding arrays\r\n- **Only event types that have at least one handler get a listener** — `addEventListener` is called only for those\r\n- **Background Fetch**: listeners for `backgroundfetchsuccess`, `backgroundfetchfail`, `backgroundfetchabort`, `backgroundfetchclick` are registered only when the browser supports the API (`'backgroundFetch' in self.registration`). If plugins registered BF handlers but the API is not supported, a warning is logged.\r\n- When an event fires in the service worker, handlers from the matching array are run\r\n\r\n### 🎯 Handler behaviour\r\n\r\n- Every method receives `event` as the first argument and **context** (logger, base) as the second.\r\n- **`fetch`**: return `Response` to end the chain or `undefined` to pass to the next plugin. If all return `undefined`, the framework calls `fetch(event.request)`.\r\n- **`push`**: may return `PushNotificationPayload` (for [Notification API](https://developer.mozilla.org/en-US/docs/Web/API/Notification)), `false` (do not show), or `undefined` (library decides). All `push` handlers run. For each `PushNotificationPayload` result, `showNotification` is called (multiple notifications are shown in parallel). No notification if all return `false` or only `undefined`/`false` without payload. The library shows one notification **only when all** plugins return `undefined` (and there is payload to show).\r\n- **`message`**: plugins may return `void` or `Promise<void>`. The framework controls event lifetime (`waitUntil`) centrally. Do not call `event.waitUntil(...)` inside plugin code.\r\n- **Other handlers** (`install`, `activate`, `sync`, `periodicsync`, `backgroundfetchsuccess`, `backgroundfetchfail`, `backgroundfetchabort`, `backgroundfetchclick`): return value is ignored; the framework calls each plugin's method in order; the chain does not short-circuit.\r\n- **All handlers are optional** — implement only the events you need. If no plugin implements a given event, that event is not listened for in the service worker.\r\n\r\n## 🎯 Plugin execution order\r\n\r\nPlugins are sorted by `order` (ascending). If `order` is not specified, it defaults to `0`.\r\n\r\n**Important:** Order matters for:\r\n\r\n- **`fetch`** — handlers run sequentially; first plugin that returns a `Response` stops the chain\r\n- **`push`** — handlers run sequentially\r\n\r\nFor other events (`install`, `activate`, `message`, `sync`, `periodicsync`, `backgroundfetchsuccess`, `backgroundfetchfail`, `backgroundfetchabort`, `backgroundfetchclick`), handlers run **in parallel**, so order is mainly for organizing your configuration.\r\n\r\n### Example:\r\n\r\n```ts\r\nimport {\r\n    precache,\r\n    serveFromCache,\r\n    cacheFirst,\r\n} from '@budarin/pluggable-serviceworker/plugins';\r\n\r\ninitServiceWorker(\r\n    [\r\n        precache({\r\n            cacheName: 'v1',\r\n            assets: ['/'],\r\n            order: -10, // Early\r\n        }),\r\n        serveFromCache({\r\n            cacheName: 'v1', // order defaults to 0\r\n        }),\r\n        cacheFirst({\r\n            cacheName: 'api',\r\n            order: 100, // Late\r\n        }),\r\n    ],\r\n    {\r\n        version: '1.8.0',\r\n        base: '/',\r\n    }\r\n);\r\n\r\n// Execution order: precache (order -10) → serveFromCache (order 0) → cacheFirst (order 100)\r\n```\r\n\r\n**Recommendations for using `order`:**\r\n\r\nIn most cases, you can do without explicitly specifying `order` — just place plugins in the array in the order you want them to execute. All plugins default to `order = 0`, so they will execute in registration order.\r\n\r\nExplicit `order` is useful in edge cases when you need to:\r\n\r\n- If you use presets with unknown pluggins order in it\r\n- Use plugins from different sources and control their relative order\r\n- Organize plugins into groups (early, regular, late)\r\n\r\n**Recommended order ranges:**\r\n\r\n- **`-100…-1`** — Early plugins (logging, metrics, tracing)\r\n- **`0`** — Regular plugins (default)\r\n- **`1…100`** — Late plugins (fallbacks, final handlers)\r\n\r\n## ⚡ Handler execution behaviour\r\n\r\nDifferent Service Worker events are handled differently:\r\n\r\n### 🔄 Parallel execution\r\n\r\n**Events:** `install`, `activate`, `message`, `sync`, `periodicsync`\r\n\r\nAll handlers run **in parallel** via `Promise.all()`:\r\n\r\n```ts\r\nimport {\r\n    precache,\r\n    skipWaiting,\r\n    precacheMissing,\r\n} from '@budarin/pluggable-serviceworker/plugins';\r\n\r\nimport { customLogger } from '../customLogger';\r\nimport { initServiceWorker } from '@budarin/pluggable-serviceworker';\r\n\r\n// All install handlers run in parallel\r\ninitServiceWorker(\r\n    [\r\n        precache({\r\n            cacheName: 'app-v1',\r\n            assets: ['/', '/main.js'],\r\n        }),\r\n        precacheMissing({\r\n            cacheName: 'ext-v1',\r\n            assets: ['/worker.js'],\r\n        }),\r\n        skipWaiting(),\r\n    ],\r\n    {\r\n        version: '1.8.0',\r\n        base: '/',\r\n        logger: customLogger,\r\n    }\r\n);\r\n```\r\n\r\n**Why parallel:**\r\n\r\n- **install/activate**: All plugins initialize independently\r\n- **message**: All plugins receive the message\r\n- **message lifecycle**: the framework manages `waitUntil` centrally for message handlers. Plugin code should not call `event.waitUntil(...)`\r\n- **sync**: Independent sync tasks\r\n- **periodicsync**: Independent periodic tasks\r\n\r\n### ➡️ Sequential execution\r\n\r\n**Events:** `fetch`, `push`\r\n\r\nHandlers run **one after another**:\r\n\r\n#### Fetch — chain can short-circuit\r\n\r\n`fetch` handlers are called in order. A plugin can return `Response` — then the chain stops and that response is used. Or return `undefined` — then the next plugin is tried. If **all** return `undefined`, the framework calls `fetch(event.request)`.\r\n\r\nExample factory that short-circuits for unauthorized access to protected paths:\r\n\r\n```ts\r\nimport type { Plugin } from '@budarin/pluggable-serviceworker';\r\n\r\nfunction authPlugin(config: {\r\n    protectedPaths: string[];\r\n    order?: number;\r\n}): Plugin {\r\n    const { protectedPaths, order = 0 } = config;\r\n\r\n    return {\r\n        order,\r\n        name: 'auth',\r\n\r\n        fetch: async (event, context) => {\r\n            const path = new URL(event.request.url).pathname;\r\n\r\n            if (protectedPaths.some((p) => path.startsWith(p))) {\r\n                if (needsAuth(event.request)) {\r\n                    context.logger?.warn(\r\n                        'auth: unauthorized',\r\n                        event.request.url\r\n                    );\r\n\r\n                    return new Response('Unauthorized', { status: 401 }); // Stops chain\r\n                }\r\n            }\r\n\r\n            return undefined; // Pass to next plugin\r\n        },\r\n    };\r\n}\r\n\r\n// using: authPlugin({ protectedPaths: ['/api/'] })\r\n```\r\n\r\n**Why sequential:**\r\n\r\n- **fetch**: Only one response per request; first non-undefined stops the chain. If none returns a response, `fetch(event.request)` is used\r\n- **push**: Plugin can return `PushNotificationPayload`, `false`, or `undefined`. The library calls `showNotification` for each payload (in parallel). It shows one notification when **all** plugins return `undefined`\r\n\r\n### 📋 Summary table\r\n\r\n| Event                                                                                              | Execution  | Short-circuit | Reason                                                                                               |\r\n| -------------------------------------------------------------------------------------------------- | ---------- | ------------- | ---------------------------------------------------------------------------------------------------- |\r\n| `install`                                                                                          | Parallel   | No            | Independent init                                                                                     |\r\n| `activate`                                                                                         | Parallel   | No            | Independent activation                                                                               |\r\n| `fetch`                                                                                            | Sequential | Yes           | Single response                                                                                      |\r\n| `message`                                                                                          | Parallel   | No            | Independent handlers                                                                                 |\r\n| `sync`                                                                                             | Parallel   | No            | Independent tasks                                                                                    |\r\n| `periodicsync`                                                                                     | Parallel   | No            | Independent periodic                                                                                 |\r\n| `push`                                                                                             | Sequential | No            | Show all needed notifications                                                                        |\r\n| `backgroundfetchsuccess` / `backgroundfetchfail` / `backgroundfetchabort` / `backgroundfetchclick` | Parallel   | No            | [Background Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Background_Fetch_API) events |\r\n\r\n## Primitives, presets, and ready-made service workers\r\n\r\n### Primitives (plugins)\r\n\r\nOne primitive = one operation. Import from `@budarin/pluggable-serviceworker/plugins`.\r\nAll primitives are **plugin factories**: config (if any) is passed at the call site; `initServiceWorker` options are `version` (required), `pingPath?`, `base?`, `logger?`, `debug?`, `logFetchInDebug?`, `onError?`. Use `order` in plugin config to control execution order. Configs that include `assets` expect the path part of the URL (see **Asset parameters are pathnames** under `base` above).\r\n\r\n| Name                                      | Event      | Description                                                                                                                                                                  |\r\n| ----------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `claim()`                                 | `activate` | Calls `clients.claim()`.                                                                                                                                                     |\r\n| `claimAndReloadClients()`                 | `activate` | **claim** + **reloadClients** in one plugin (order guaranteed).                                                                                                              |\r\n| `reloadClients()`                         | `activate` | Reloads all client windows.                                                                                                                                                  |\r\n| `pruneStaleCache(config)`                 | `activate` | Removes cache entries whose URL is not in `config.assets`.                                                                                                                   |\r\n| `cacheFirst(config)`                      | `fetch`    | Serve from cache `config.cacheName`; on miss, fetch and cache.                                                                                                               |\r\n| `networkFirst(config)`                    | `fetch`    | Fetch from network, on success cache. On error serve from cache. Otherwise undefined.                                                                                        |\r\n| `restoreAssetToCache(config)`             | `fetch`    | For URLs in `config.assets`: serve from cache or fetch and put in cache. Otherwise undefined.                                                                                |\r\n| `serveFromCache(config)`                  | `fetch`    | Serves from cache `config.cacheName`; if missing, returns undefined.                                                                                                         |\r\n| `staleWhileRevalidate(config)`            | `fetch`    | Serve from cache, revalidate in background.                                                                                                                                  |\r\n| `precache(config)`                        | `install`  | Caches `config.assets` in cache `config.cacheName`.                                                                                                                          |\r\n| `precacheWithNotification(config)`        | `install`  | Same as **precache**, plus sends `startInstallingMessage` (default `SW_MSG_START_INSTALLING`) to clients, then caches, then `installedMessage` (default `SW_MSG_INSTALLED`). |\r\n| `precacheMissing(config)`                 | `install`  | Adds to cache only assets from `config.assets` that are not yet cached.                                                                                                      |\r\n| `skipWaiting()`                           | `install`  | Calls `skipWaiting()`.                                                                                                                                                       |\r\n| `skipWaitingOnMessage(config?)`           | `message`  | Triggers on message with `messageType` (default `SW_MSG_SKIP_WAITING`).                                                                                                      |\r\n| `skipWaitingAndNotifyPageReload(config?)` | `message`  | On `messageType` (default `SW_MSG_SKIP_WAITING`) calls `skipWaiting()` and sends `{ type: pageReloadMessageType }` to clients (default `SW_MSG_PAGE_RELOAD`).                |\r\n\r\n#### Composing primitives\r\n\r\nHandlers of the same type from different plugins run **in parallel**. For strict order (e.g. claim then reload clients), use one plugin that calls the primitives in sequence:\r\n\r\n```ts\r\nimport { claim } from '@budarin/pluggable-serviceworker/plugins';\r\nimport { reloadClients } from '@budarin/pluggable-serviceworker/plugins';\r\n\r\nconst claimPlugin = claim();\r\nconst reloadPlugin = reloadClients();\r\n\r\nactivate: async (event, context) => {\r\n    await claimPlugin.activate?.(event, context);\r\n    await reloadPlugin.activate?.(event, context);\r\n},\r\n```\r\n\r\n**Example: custom cache and URL logic**\r\n\r\nFactory `postsSwrPlugin(config)` returns a plugin that applies `stale-while-revalidate` only to requests matching `pathPattern`:\r\n\r\n```ts\r\n// postsSwrPlugin.ts\r\nimport type { Plugin } from '@budarin/pluggable-serviceworker';\r\nimport { staleWhileRevalidate } from '@budarin/pluggable-serviceworker/plugins';\r\n\r\nfunction postsSwrPlugin(config: {\r\n    cacheName: string;\r\n    pathPattern?: RegExp;\r\n    order?: number;\r\n}): Plugin {\r\n    const { cacheName, pathPattern = /\\/api\\/posts(\\/|$)/, order = 0 } = config;\r\n    const swrPlugin = staleWhileRevalidate({ cacheName });\r\n\r\n    return {\r\n        order,\r\n        name: 'postsSwr',\r\n\r\n        fetch: async (event, context) => {\r\n            if (!pathPattern.test(new URL(event.request.url).pathname)) {\r\n                return undefined;\r\n            }\r\n\r\n            return swrPlugin.fetch!(event, context);\r\n        },\r\n    };\r\n}\r\n```\r\n\r\n```ts\r\n// sw.ts\r\nconst staticCache = 'static-v1';\r\nconst assets = ['/', '/main.js'];\r\n\r\ninitServiceWorker(\r\n    [\r\n        precache({\r\n            cacheName: staticCache,\r\n            assets,\r\n        }),\r\n        serveFromCache({\r\n            cacheName: staticCache,\r\n        }),\r\n        postsSwrPlugin({\r\n            cacheName: 'posts',\r\n        }),\r\n    ],\r\n    {\r\n        version: '1.8.0',\r\n        base: '/my-app/',\r\n        logger: console,\r\n    }\r\n);\r\n```\r\n\r\n### Presets\r\n\r\nCombinations of primitives. Import from `@budarin/pluggable-serviceworker/presets`.\r\n\r\n| Name                   | Contents                                    | Purpose                                        |\r\n| ---------------------- | ------------------------------------------- | ---------------------------------------------- |\r\n| `offlineFirst(config)` | `precache(config) + serveFromCache(config)` | Serve from cache; on miss, fetch from network. |\r\n\r\n<br />\r\n\r\nPreset config: `OfflineFirstConfig` (cacheName, assets). Import from `@budarin/pluggable-serviceworker/presets`.\r\nStrategies like **networkFirst**, **staleWhileRevalidate** are available as primitives — build your own SW from primitives and presets.\r\n\r\n### Ready-made service workers\r\n\r\nPre-built entry points by **activation moment** (all with offline-first caching). Import from `@budarin/pluggable-serviceworker/sw`.\r\n\r\n| Name                                  | Description                                                                                                                           |\r\n| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `activateAndUpdateOnNextVisitSW`      | Caching SW; activates and updates on next page visit (reload) after new SW is loaded.                                                 |\r\n| `immediatelyActivateAndUpdateSW`      | Caching SW; activates immediately on load and on update.                                                                              |\r\n| `immediatelyActivateUpdateOnSignalSW` | Caching SW: first install is immediate; on update, new version activates on signal from page (default message `SW_MSG_SKIP_WAITING`). |\r\n\r\n<br />\r\n\r\nExample:\r\n\r\n```ts\r\n// sw.js — your service worker entry\r\nimport { activateAndUpdateOnNextVisitSW } from '@budarin/pluggable-serviceworker/sw';\r\n\r\nactivateAndUpdateOnNextVisitSW({\r\n    version: '1.8.0',\r\n    cacheName: 'my-cache-v1',\r\n    assets: ['/', '/styles.css', '/script.js'],\r\n    onError: (err, event, type) => console.error(type, err),\r\n});\r\n```\r\n\r\n### Published utilities\r\n\r\n| Name                                                             | Use in | Description                                                                                                                                                                                 |\r\n| ---------------------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `registerServiceWorkerWithClaimWorkaround(scriptURL, options?)`  | client | Register SW when activate calls claim(); optional one-time reload on first load (workaround for [browser bug](https://issues.chromium.org/issues/482903583)).                               |\r\n| `onNewServiceWorkerVersion(regOrHandler, onUpdate?)`             | client | Subscribe to new SW version. Returns an unsubscribe function. Callback when new version is installed and there is an active controller (update, not first install).                         |\r\n| `onServiceWorkerMessage(messageType, handler)`                   | client | Subscribe to messages from SW with given `data.type`. Returns an unsubscribe function. E.g. \"new version available\" banners.                                                                |\r\n| `isServiceWorkerSupported()`                                     | client | Check if Service Worker is supported. Useful for SSR/tests/old browsers.                                                                                                                    |\r\n| `postMessageToServiceWorker(message, options?)`                  | client | Send message to active Service Worker. Returns `Promise<boolean>`.                                                                                                                          |\r\n| `sendSkipWaitingSignal()`                                        | client | Send skip-waiting message to the **waiting** SW (for activation on signal). Use with `skipWaitingOnMessage` plugin. Returns `Promise<boolean>`.                                             |\r\n| `getServiceWorkerVersion(options?)`                              | client | Get active SW version (`version` from `ServiceWorkerInitOptions`). Returns `Promise<string \\| null>`.                                                                                       |\r\n| `pingServiceWorker(options?)`                                    | client | GET /sw-ping (handled by ping plugin). Wakes SW if sleeping, checks fetch availability. Returns `'ok' \\| 'no-sw' \\| 'error'`.                                                               |\r\n| `isBackgroundFetchSupported()`                                   | client | Check if [Background Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Background_Fetch_API) is available. Returns `Promise<boolean>`.                                            |\r\n| `startBackgroundFetch(registration, id, requests, options?)`     | client | Start a background fetch. Returns `Promise<BackgroundFetchRegistration>`.                                                                                                                   |\r\n| `getBackgroundFetchRegistration(registration, id)`               | client | Get background fetch registration by id. Returns `Promise<BackgroundFetchRegistration \\| undefined>`.                                                                                       |\r\n| `abortBackgroundFetch(registration, id)`                         | client | Abort a background fetch. Returns `Promise<boolean>`.                                                                                                                                       |\r\n| `getBackgroundFetchIds(registration)`                            | client | List ids of active background fetches. Returns `Promise<string[]>`.                                                                                                                         |\r\n| `normalizeUrl(url)`                                              | SW     | Normalize URL (relative → absolute by SW origin) for comparison.                                                                                                                            |\r\n| `resolveAssetUrls(assets, base?)`                                | SW     | Build full URLs from asset pathnames and base. `assets` are the path part of the URL only (see above).                                                                                      |\r\n| `isRequestUrlInAssets(requestUrl, assets)`                       | SW     | Check if request URL is in the asset list (path part of URL; normalized comparison).                                                                                                        |\r\n| `matchByUrl(cache, request, options?)`                           | SW     | Match cached response by URL path. Ignores request mode; by default ignores query (`ignoreSearch: true`) and Vary (`ignoreVary: true`), so e.g. `/a.js?v=1` finds `/a.js`. See below.       |\r\n| `cachePut(cache, request, response)`                             | SW     | `cache.put` that notifies the page on `QuotaExceededError` and returns `false` instead of throwing, so the network response can still be returned.                                          |\r\n| `cacheAddAll(cache, requests)`                                   | SW     | `cache.addAll` that notifies the page on `QuotaExceededError` and rethrows, so install does not finish with an incomplete cache.                                                            |\r\n| `notifyClients(messageType, data?, includeUncontrolled = false)` | SW     | Send `{ type: messageType }` or `{ type: messageType, ...data }` to all client windows controlled by this SW. If `includeUncontrolled = true`, also sends to uncontrolled windows in scope. |\r\n\r\n**`matchByUrl` for third-party plugins:** `cache.match(event.request)` matches by full request (URL + mode + credentials). Page requests have their own mode (scripts, styles, images, etc.); precache stores with a different mode. No match → cache miss. Use `matchByUrl(cache, event.request)` when looking up any resource in the cache by request. Optional third argument: `{ ignoreSearch?: boolean; ignoreVary?: boolean }` (both default `true`) — `ignoreSearch` ignores the query string; `ignoreVary` returns cached responses even when the response's `Vary` header would otherwise require matching request headers (e.g. `Vary: Origin`). Set to `false` for strict matching.\r\n\r\n**`cachePut` / `cacheAddAll` for third-party plugins:** do not call `cache.put` or `cache.addAll` directly. Use `cachePut` / `cacheAddAll` from `@budarin/pluggable-serviceworker/utils` so a `QuotaExceededError` reaches the page the same way as in the built-in plugins. `cachePut` notifies and returns `false` (the network response can still be returned). `cacheAddAll` notifies and rethrows (install does not finish with an incomplete cache).\r\n\r\n### Storage quota\r\n\r\nWhen the browser cannot write to Cache Storage (`QuotaExceededError` — typically not enough disk space), the page needs to hear about it even during the first install, when this worker does not control any tab yet.\r\n\r\nBuilt-in plugins that write to the cache (`precache`, `precacheMissing`, `cacheFirst`, `networkFirst`, `staleWhileRevalidate`, `restoreAssetToCache`) go through `cacheAddAll` / `cachePut`. On `QuotaExceededError` the service worker sends `{ type: SW_QUOTA_EXCEEDED, phase }` via `notifyClients` with `includeUncontrolled: true`.\r\n\r\n- `phase: 'install'` (`QuotaExceededPhase.INSTALL`) — precache `addAll` failed. The error is rethrown, so install does not complete and `precacheWithNotification` does not send the installed message.\r\n- `phase: 'runtime'` (`QuotaExceededPhase.RUNTIME`) — a `put` during fetch failed. The network response is still returned; only the cache write is skipped.\r\n\r\nSubscribe on the page with `onServiceWorkerMessage`. Import `SW_QUOTA_EXCEEDED` from `@budarin/pluggable-serviceworker` or `@budarin/pluggable-serviceworker/client`.\r\n\r\n```ts\r\nimport {\r\n    onServiceWorkerMessage,\r\n    SW_QUOTA_EXCEEDED,\r\n    QuotaExceededPhase,\r\n    type QuotaExceededMessage,\r\n} from '@budarin/pluggable-serviceworker/client';\r\n\r\nconst unsubscribeQuota = onServiceWorkerMessage(SW_QUOTA_EXCEEDED, (event) => {\r\n    const { phase } = event.data as QuotaExceededMessage;\r\n\r\n    if (phase === QuotaExceededPhase.INSTALL) {\r\n        // first install or update could not cache assets\r\n    } else {\r\n        // a later cache write failed; the page still got the network response\r\n    }\r\n});\r\n```\r\n\r\n**Client subpaths (for smaller bundles):** you can import from `@budarin/pluggable-serviceworker/client/registration`, `.../client/messaging`, `.../client/health`, or `.../client/background-fetch` instead of `.../client` to pull in only the utilities you need.\r\n\r\n**Client utilities — detailed docs (interface, purpose, examples):** [Registration (EN)](https://github.com/budarin/pluggable-serviceworker/blob/master/src/client/registration/README.md) | [RU](https://github.com/budarin/pluggable-serviceworker/blob/master/src/client/registration/README.ru.md) · [Messaging (EN)](https://github.com/budarin/pluggable-serviceworker/blob/master/src/client/messaging/README.md) | [RU](https://github.com/budarin/pluggable-serviceworker/blob/master/src/client/messaging/README.ru.md) · [Health (EN)](https://github.com/budarin/pluggable-serviceworker/blob/master/src/client/health/README.md) | [RU](https://github.com/budarin/pluggable-serviceworker/blob/master/src/client/health/README.ru.md) · [Background Fetch (EN)](https://github.com/budarin/pluggable-serviceworker/blob/master/src/client/backgroundFetch/README.md) | [RU](https://github.com/budarin/pluggable-serviceworker/blob/master/src/client/backgroundFetch/README.ru.md)\r\n\r\n<br />\r\n\r\nUse `registerServiceWorkerWithClaimWorkaround` on the page so the SW takes control on first load when using `claim()` (workaround for [browser bug](https://issues.chromium.org/issues/482903583)). Without it, the page may have no controller until reload.\r\n\r\n<br />\r\n\r\n```ts\r\nimport {\r\n    isServiceWorkerSupported,\r\n    registerServiceWorkerWithClaimWorkaround,\r\n    onNewServiceWorkerVersion,\r\n    onServiceWorkerMessage,\r\n    postMessageToServiceWorker,\r\n    getServiceWorkerVersion,\r\n    pingServiceWorker,\r\n} from '@budarin/pluggable-serviceworker/client';\r\n\r\nif (isServiceWorkerSupported()) {\r\n    const reg = await registerServiceWorkerWithClaimWorkaround('/sw.js');\r\n\r\n    const unsubscribeUpdate = onNewServiceWorkerVersion(reg, () => {\r\n        // show \"New version available\" banner\r\n    });\r\n\r\n    const unsubscribeMsg = onServiceWorkerMessage(\r\n        'SW_MSG_NEW_VERSION_READY',\r\n        () => {\r\n            // show \"New version installed, reload\" banner\r\n        }\r\n    );\r\n\r\n    await postMessageToServiceWorker({ type: 'MY_MSG_PING' });\r\n\r\n    const swVersion = await getServiceWorkerVersion();\r\n    console.log('Service Worker version:', swVersion);\r\n\r\n    const pingResult = await pingServiceWorker();\r\n    console.log('Service Worker ping:', pingResult);\r\n\r\n    // later, when you no longer need the subscriptions:\r\n    unsubscribeUpdate();\r\n    unsubscribeMsg();\r\n}\r\n```\r\n\r\n### 📱 Recipe: waking up the SW\r\n\r\nOn devices, the SW process can be suspended. After a long idle, the first interaction (e.g. messages) may fail until the worker wakes. To reduce issues:\r\n\r\n- Call `pingServiceWorker()` on `focus` / `visibilitychange`:\r\n\r\n```ts\r\nimport { pingServiceWorker } from '@budarin/pluggable-serviceworker/client';\r\n\r\nwindow.addEventListener('focus', async () => {\r\n    await pingServiceWorker();\r\n});\r\n```\r\n\r\n- Optionally set the ping path via `pingPath` in `initServiceWorker` and `path` in `pingServiceWorker` to avoid clashing with existing routes.\r\n\r\n### 📝 Note on Chrome claim() workaround\r\n\r\n`registerServiceWorkerWithClaimWorkaround` and related examples work around a Chrome bug reported in [issue 482903583](https://issues.chromium.org/issues/482903583). Once the bug is fixed and widely shipped, consider simplifying or removing the workaround and updating the README and examples.\r\n\r\n## Developing a separate plugin package\r\n\r\nPlugin types are exported from this package. A separate plugin package does not publish its own types — it declares a dependency on `@budarin/pluggable-serviceworker` and imports types from it.\r\n\r\n**1. Plugin package dependencies**\r\n\r\nIn your package's `package.json`:\r\n\r\n```json\r\n{\r\n    \"peerDependencies\": {\r\n        \"@budarin/pluggable-serviceworker\": \"^1.0.0\"\r\n    },\r\n    \"devDependencies\": {\r\n        \"@budarin/pluggable-serviceworker\": \"^1.5.5\"\r\n    }\r\n}\r\n```\r\n\r\n`peerDependencies` so the plugin works with the user's library version; `devDependencies` for build and types.\r\n\r\n**2. Importing types in the plugin**\r\n\r\nImport type **`Plugin`** (alias for `ServiceWorkerPlugin<PluginContext>`); and if needed `Logger`, `SwMessageEvent`, `PushNotificationPayload`, etc.\r\n\r\n```typescript\r\nimport type { Plugin } from '@budarin/pluggable-serviceworker';\r\nimport { matchByUrl } from '@budarin/pluggable-serviceworker/utils';\r\n\r\nexport interface MyPluginConfig {\r\n    cacheName: string;\r\n    order?: number;\r\n}\r\n\r\nexport function myPlugin(config: MyPluginConfig): Plugin {\r\n    const { cacheName, order = 0 } = config;\r\n\r\n    return {\r\n        order,\r\n        name: 'my-plugin',\r\n\r\n        install: async (_event, context) => {\r\n            context.logger?.info('my-plugin: install');\r\n            const cache = await caches.open(cacheName);\r\n            await cache.add('/offline.html');\r\n        },\r\n\r\n        fetch: async (event) => {\r\n            const cache = await caches.open(cacheName);\r\n            const cached = await matchByUrl(cache, event.request);\r\n            return cached ?? undefined;\r\n        },\r\n    };\r\n}\r\n```\r\n\r\n## Plugins (ready-made)\r\n\r\nReady-made plugins are installed as separate dependencies and passed into `initServiceWorker` along with the rest:\r\n\r\n| Plugin                                                                                                                   | Purpose                                                                                                                           |\r\n| ------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------- |\r\n| [**@budarin/psw-plugin-serve-root-from-asset**](https://www.npmjs.com/package/@budarin/psw-plugin-serve-root-from-asset) | Serves a chosen cached HTML asset for root (`/`) navigation — typical SPA setup.                                                  |\r\n| [**@budarin/psw-plugin-serve-range-requests**](https://www.npmjs.com/package/@budarin/psw-plugin-serve-range-requests)   | Handles Range requests for cached files (video, audio, PDF): 206 responses, seeking and streaming from cache.                     |\r\n| [**@budarin/psw-plugin-opfs-serve-range**](https://www.npmjs.com/package/@budarin/psw-plugin-opfs-serve-range)           | Serves HTTP Range requests for files stored in the Origin Private File System (OPFS) — handy for offline storage and large media. |\r\n\r\nInstall and API details are in each plugin’s README on npm.\r\n\r\n## 📄 License\r\n\r\nMIT © Vadim Budarin\r\n","readmeFilename":""}