{"_id":"@absolutejs/pwa","_rev":"24-3c290c61cf6790531235e04c74cd6c09","name":"@absolutejs/pwa","dist-tags":{"latest":"0.14.0"},"versions":{"0.1.0":{"name":"@absolutejs/pwa","version":"0.1.0","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","manifest","vapid"],"author":{"name":"Alex Kahn"},"license":"MIT","_id":"@absolutejs/pwa@0.1.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"962bd35c50a376e49bc90e7d6f11241d8f35673a","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.1.0.tgz","fileCount":9,"integrity":"sha512-gX5LbhB+D7BjTwUnAgWPaLUzZrVBBX0WY0mGd9ZHWyMZs/KBsoQta1jUvFvaCS1mj2/wBH7xD+OK132+QDWXGg==","signatures":[{"sig":"MEYCIQDViJGr5udYieOGAWdihSnRYPC21QIKZBwsZLzDzuAYawIhAOdeOqZueRtAsYJ1b1IW2mqOUjYHW9lpYyTSZ1r12YGn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29675},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"}},"scripts":{"build":"rm -rf dist && bun build src/index.ts src/client.ts --outdir dist --sourcemap --target=bun --external web-push && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.9.2","description":"Framework-agnostic PWA + Web Push primitives — web app manifest, push service worker, VAPID sender, and browser subscription glue","directories":{},"_nodeVersion":"22.14.0","dependencies":{"web-push":"^3.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.1.0_1781847406676_0.23793160003769365","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@absolutejs/pwa","version":"0.2.0","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","manifest","vapid"],"author":{"name":"Alex Kahn"},"license":"MIT","_id":"@absolutejs/pwa@0.2.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"75a3818a2e323f9e00b9c72541716f8dee1e5b6c","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.2.0.tgz","fileCount":9,"integrity":"sha512-8MrSrrpkdZGYKTHihRBI9jf+6+kulqJqCVhzH0oNQiR+xGHtFbrNiSNMBo4Fv6VXbd8orCW5kW2gEgduN3zZUQ==","signatures":[{"sig":"MEQCIB4mdo6iHx6r1SZCXO7Vc7hGfBMsKKnqLs9XO2YVoTX5AiBBKhXaugm2ylGCo4MAsSXNNmBJznS/6omOBR9sw1JtkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40685},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"}},"gitHead":"18c330d2bb2a1031b632ddfea2e3f98066f6f2af","scripts":{"build":"rm -rf dist && bun build src/index.ts src/client.ts --outdir dist --sourcemap --target=bun --external web-push && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.9.2","description":"Framework-agnostic PWA + Web Push primitives — web app manifest, push service worker, VAPID sender, and browser subscription glue","directories":{},"_nodeVersion":"22.14.0","dependencies":{"web-push":"^3.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.2.0_1781848275496_0.9492202371259759","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@absolutejs/pwa","version":"0.2.1","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","manifest","vapid"],"author":{"name":"Alex Kahn"},"license":"MIT","_id":"@absolutejs/pwa@0.2.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"a030fb609ffd83e47d4c9ac906c770126920190a","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.2.1.tgz","fileCount":9,"integrity":"sha512-Pg2S3+GOThovMNLjetxAeqzKxumUAtLs8M5yy5YbS87E4GXpxZwGOZ2CtlQ8iWELJ/e7X6ptb6AOl5FbBk6qEA==","signatures":[{"sig":"MEUCIQCQiji5xlM4pccUv3Oj+kxM7CM/Eq0NJikrQwZ9T8vhKQIgPZXkp38aWGYwxt1dKqRxLShbofbHutfKc6wzzse8BB4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41868},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"}},"gitHead":"aa2c7e0fdf0782f4fa33200f0c9a891bb5a8957f","scripts":{"build":"rm -rf dist && bun build src/index.ts src/client.ts --outdir dist --sourcemap --target=bun --external web-push && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.9.2","description":"Framework-agnostic PWA + Web Push primitives — web app manifest, push service worker, VAPID sender, and browser subscription glue","directories":{},"_nodeVersion":"22.14.0","dependencies":{"web-push":"^3.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.2.1_1781849536495_0.4584338842680242","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@absolutejs/pwa","version":"0.3.0","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","manifest","vapid"],"author":{"name":"Alex Kahn"},"license":"MIT","_id":"@absolutejs/pwa@0.3.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"fc495dfc66de258ad9e3cd8249a9b64b41e43e03","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.3.0.tgz","fileCount":9,"integrity":"sha512-PmN3tfbcixzknehSC1qSAx381HwlbpDr3FeJGRb2dtc+WKV2r6pzhQ+Y5z6b7L42ZLlPUIzDYddR3KVmJBC3xw==","signatures":[{"sig":"MEYCIQCFMvwIjiieVLT+FgD4FxhLla3XWns6jpTlAl5dMh0GYgIhAJKfCdNWe3Q5PjTbaDo65qA28i0ZaGX04SssiQyPSjN3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45841},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"}},"gitHead":"f998ef240355264f5d174ce40b9495a0854dd6b7","scripts":{"build":"rm -rf dist && bun build src/index.ts src/client.ts --outdir dist --sourcemap --target=bun --external web-push && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.9.2","description":"Framework-agnostic PWA + Web Push primitives — web app manifest, push service worker, VAPID sender, and browser subscription glue","directories":{},"_nodeVersion":"22.14.0","dependencies":{"web-push":"^3.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.3.0_1781867806419_0.35132433167597865","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@absolutejs/pwa","version":"0.4.0","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","manifest","vapid"],"author":{"name":"Alex Kahn"},"license":"MIT","_id":"@absolutejs/pwa@0.4.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"063bb0c3053ef0982effacde1a82f215becb8d12","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.4.0.tgz","fileCount":9,"integrity":"sha512-4PwLFdIbuxzuLo7atO76buUZTZvHTUpBRqj85CHI4F+BFlBSqh7d8amQjHH4+HLExuIsJ/GPAWOQz41t/gmObw==","signatures":[{"sig":"MEQCIFyVvrQ9vN4EDoxbHl3nJT2zzKrQGYFa8AqLvqujtjz5AiBUgB3BQFONkWlazuu5V5RP2vtc7peVR7KAVqt4HW/y+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56018},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"}},"gitHead":"dc684640e6f9d68f78689e9a232ec4147ea693b0","scripts":{"build":"rm -rf dist && bun build src/index.ts src/client.ts --outdir dist --sourcemap --target=bun --external web-push && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.9.2","description":"Framework-agnostic PWA + Web Push primitives — web app manifest, push service worker, VAPID sender, and browser subscription glue","directories":{},"_nodeVersion":"22.14.0","dependencies":{"web-push":"^3.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.4.0_1781875166093_0.12106507342043593","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@absolutejs/pwa","version":"0.5.0","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","manifest","vapid"],"author":"Alex Kahn","license":"MIT","_id":"@absolutejs/pwa@0.5.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"abca1129e7c12c784cfdbebac1a5a1272626ef01","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.5.0.tgz","fileCount":9,"integrity":"sha512-fen9IMGc3XtnQReTkaWfGcErasww/loGPsLcMNCGTJ9aZok6yOvgw6jUMpNIrlrkAMijr95XPZYsksuqVonvlw==","signatures":[{"sig":"MEQCIB72tkxGmZ4L0ytqjI8HFrhJMTrZ/voFlo9sKvp3j6LMAiB/Jc1lWIsSSMlwzELQULVJ2I0B+aRQOoBVnlOSYcjTrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60992},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"abca1129e7c12c784cfdbebac1a5a1272626ef01","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"}},"scripts":{"build":"rm -rf dist && bun build src/index.ts src/client.ts --outdir dist --sourcemap --target=bun --external web-push && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-fen9IMGc3XtnQReTkaWfGcErasww/loGPsLcMNCGTJ9aZok6yOvgw6jUMpNIrlrkAMijr95XPZYsksuqVonvlw==","repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.8.3","description":"Framework-agnostic PWA + Web Push primitives — web app manifest, push service worker, VAPID sender, and browser subscription glue","directories":{},"_nodeVersion":"24.3.0","dependencies":{"web-push":"^3.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.5.0_1781876766356_0.21769359402388155","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@absolutejs/pwa","version":"0.6.0","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","manifest","vapid"],"author":{"name":"Alex Kahn"},"license":"MIT","_id":"@absolutejs/pwa@0.6.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"cda743d7b5e6676de1ab05412f37204e5f61a27c","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.6.0.tgz","fileCount":9,"integrity":"sha512-wsBRI4m+nEWSI1oO2S86nlSPnlnoSDcfzQcnY4hBUex0GP18U6sw2iO5n5pIAuW9RMOEu8Cvtp1NHqnQGdDK4A==","signatures":[{"sig":"MEQCICNUohcI1z6ZYnGlng0p4WHExv4APkOO6TPuQEpZSXS4AiBHETTogjJhcbVBhu7Q7cVtsxLnxWIu6ZaT4KolnJat0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62536},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"}},"gitHead":"5d80df85b51328bc9999eb2b8a1ebdf464eb3fca","scripts":{"build":"rm -rf dist && bun build src/index.ts src/client.ts --outdir dist --sourcemap --target=bun --external web-push && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.9.2","description":"Framework-agnostic PWA + Web Push primitives — web app manifest, push service worker, VAPID sender, and browser subscription glue","directories":{},"_nodeVersion":"22.14.0","dependencies":{"web-push":"^3.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.6.0_1782982706725_0.9377535787271443","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@absolutejs/pwa","version":"0.6.1","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","manifest","vapid"],"author":"Alex Kahn","license":"MIT","_id":"@absolutejs/pwa@0.6.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"19451f8956caaccbdb9dbf96c86b3e796e56af26","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.6.1.tgz","fileCount":9,"integrity":"sha512-QFSTa/4rbE6CZB+lorJRRScfA+LxnK30E4kuAFvv4IhRxCmQiARhrv/mDWJRYoLnwrDb8sTZ97DyDuv6jTKDFg==","signatures":[{"sig":"MEQCIBkfhugBueDlrG+Rrg6Z7+eQIw8wm65cuHjdIIi0yxGxAiAQlZSXWbE2OvmucEj/ziZEtAzSm6K3Jy1PTQDyWdhsYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63465},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"19451f8956caaccbdb9dbf96c86b3e796e56af26","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"}},"scripts":{"build":"rm -rf dist && bun build src/index.ts src/client.ts --outdir dist --sourcemap --target=bun --external web-push && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-QFSTa/4rbE6CZB+lorJRRScfA+LxnK30E4kuAFvv4IhRxCmQiARhrv/mDWJRYoLnwrDb8sTZ97DyDuv6jTKDFg==","repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.8.3","description":"Framework-agnostic PWA + Web Push primitives — web app manifest, push service worker, VAPID sender, and browser subscription glue","directories":{},"_nodeVersion":"24.3.0","dependencies":{"web-push":"^3.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.6.1_1783105154347_0.761839474959646","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@absolutejs/pwa","version":"0.6.2","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","manifest","vapid"],"author":"Alex Kahn","license":"MIT","_id":"@absolutejs/pwa@0.6.2","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"6303e31ca88d0914b0d0af6b71927d476bfb576b","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.6.2.tgz","fileCount":13,"integrity":"sha512-77IYV/XWoj+0Tkl0kA4piKjz0mBD1dxngXfDr3pdq5PDIIzTY9sZEhW15fBHSHGPN0vcvPLQLDFomahFSxiIgg==","signatures":[{"sig":"MEUCIGce39BocVuaZyoA7VZKmSSYw3uQ3fmi9lDPl/VIdl4EAiEAk2fnOJiEurMIr/LE8jrW49aEfNacKNvJ3GjcwuQ94S8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1174787},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"6303e31ca88d0914b0d0af6b71927d476bfb576b","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"build":"rm -rf dist && bun build src/index.ts src/client.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun --external web-push && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-77IYV/XWoj+0Tkl0kA4piKjz0mBD1dxngXfDr3pdq5PDIIzTY9sZEhW15fBHSHGPN0vcvPLQLDFomahFSxiIgg==","absolutejs":{"manifestContract":1},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.8.3","description":"Framework-agnostic PWA + Web Push primitives — web app manifest, push service worker, VAPID sender, and browser subscription glue","directories":{},"_nodeVersion":"24.3.0","dependencies":{"web-push":"^3.6.7","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.6.2_1783964393832_0.7466687738093969","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@absolutejs/pwa","version":"0.7.0","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","manifest","vapid"],"author":{"name":"Alex Kahn"},"license":"MIT","_id":"@absolutejs/pwa@0.7.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"c2ab91dc69aef9a98f1ddb485481d9c401229962","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.7.0.tgz","fileCount":13,"integrity":"sha512-fy6ZJM/BvIf+3Mk8DRcTwGUc5ozC/l2wJuVbKBexlaECcKCN1FJBXQhs53l312iC13jjEtRSpMv/ufMnqnR4DA==","signatures":[{"sig":"MEUCIQD+CD+9kEKYqKPRz9lv2q+zNBieruxpSLA3PzQ7gDdYdgIgKcKpUg0O16r7pMSWjAVOMTgStBSd1LZogJW4l6qvpC8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1200434},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"d961a69dad0f0483d0de7d3b003dfb1fe0671f44","scripts":{"build":"rm -rf dist && bun build src/index.ts src/client.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun --external web-push && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.9.2","description":"Framework-agnostic PWA + Web Push primitives — web app manifest, push service worker, VAPID sender, and browser subscription glue","directories":{},"_nodeVersion":"22.14.0","dependencies":{"web-push":"^3.6.7","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.7.0_1784807185067_0.3909249350163826","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@absolutejs/pwa","version":"0.7.1","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","manifest","vapid"],"author":"Alex Kahn","license":"MIT","_id":"@absolutejs/pwa@0.7.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"ad4ba524ed5a0d20ffc3d09a8e8224013a430cf1","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.7.1.tgz","fileCount":14,"integrity":"sha512-ziSCZzh4++ht2m5T6tv0VWcJ+JgEVupDFH8AL00oD6ZEtzIRkNMXQzfF4aZlnYwfcZej21+9P6BCk+DgdNUR3Q==","signatures":[{"sig":"MEYCIQC/wYYynMxkQrWSqtlsIy20m6tR3ly/v5HTsGMf2LHTpQIhAOmb6VB51/UkoO4O13q8dYCl2Rrr2r28O/HLD+D1O84i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1196311},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"ad4ba524ed5a0d20ffc3d09a8e8224013a430cf1","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/client.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun --external web-push && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-ziSCZzh4++ht2m5T6tv0VWcJ+JgEVupDFH8AL00oD6ZEtzIRkNMXQzfF4aZlnYwfcZej21+9P6BCk+DgdNUR3Q==","absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.8.3","description":"Framework-agnostic PWA + Web Push primitives — web app manifest, push service worker, VAPID sender, and browser subscription glue","directories":{},"_nodeVersion":"24.3.0","dependencies":{"web-push":"^3.6.7","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.7.1_1784837105295_0.11936994299049442","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@absolutejs/pwa","version":"0.7.2","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","manifest","vapid"],"author":"Alex Kahn","license":"MIT","_id":"@absolutejs/pwa@0.7.2","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"0a83ca9f387988e1cff0d935e57d5d341a82d381","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.7.2.tgz","fileCount":13,"integrity":"sha512-U50vPBmIbSTPbIufyDKl1J5EsSDxK5XFyPobRzrGeQyUXeghg9TMLsKGy8BtCCY1h/v0jAEjvrgB0VDAwhKE/Q==","signatures":[{"sig":"MEUCIQCg4NTCsWJUskBgvA+o+WYDrtK5Ez78w9AMgdJ8DONd8wIgAUGFdUTExYMYq30Ck5rUkIqO9xypJ/CPno/jKxtXXJg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1196300},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"0a83ca9f387988e1cff0d935e57d5d341a82d381","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/client.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun --external web-push && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-U50vPBmIbSTPbIufyDKl1J5EsSDxK5XFyPobRzrGeQyUXeghg9TMLsKGy8BtCCY1h/v0jAEjvrgB0VDAwhKE/Q==","absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.8.3","description":"Framework-agnostic PWA + Web Push primitives — web app manifest, push service worker, VAPID sender, and browser subscription glue","directories":{},"_nodeVersion":"24.3.0","dependencies":{"web-push":"^3.6.7","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.7.2_1784837138700_0.453285964613521","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"@absolutejs/pwa","version":"0.7.3","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","manifest","vapid"],"author":{"name":"Alex Kahn"},"license":"MIT","_id":"@absolutejs/pwa@0.7.3","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"79343eed9dcc888416204bb89701d7d6e23e6d44","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.7.3.tgz","fileCount":13,"integrity":"sha512-MtvGNafTJLlvH8k7V/8A5/QyyfrOjrvC57G3MsRplCVsXqBlyrvO8YETMT0aIuVzhlm3tYf1f7AIi8QhUA9IbQ==","signatures":[{"sig":"MEUCIGOSzY2WCUx23us3mEvnZAz0V7ZUmHMSRKbbbh4da7BeAiEAprjnkjfg+jWWVuJr2UmU2PolU7Z8R+SjWDV8atBw4gQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1203286},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"a2369dc9eb612bd1ee52437f1ebd783ba6d76d63","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/client.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun --external web-push && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.9.2","description":"Framework-agnostic PWA + Web Push primitives — web app manifest, push service worker, VAPID sender, and browser subscription glue","directories":{},"_nodeVersion":"22.14.0","dependencies":{"web-push":"^3.6.7","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.7.3_1785717299954_0.9083633059227454","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"@absolutejs/pwa","version":"0.7.4","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","manifest","vapid"],"author":{"name":"Alex Kahn"},"license":"MIT","_id":"@absolutejs/pwa@0.7.4","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"9ea7222fa88d9bdea0d571008821adc47141acdd","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.7.4.tgz","fileCount":13,"integrity":"sha512-O0NOm0bk0oEGu1CauFKkU/PHsnFQwiz7sXQFpnCyYiD7dygVAu096hDrNKRvpNSYPER9GwGbqT2Omuxd+j298Q==","signatures":[{"sig":"MEYCIQDfWzOOdiEQBs86odRGLf7/vz0m2SQJ+12eAr9f2a3RvQIhALkA2kUhMcxJ7l1otO6UDreHRlFXaSRvt3VmCL6ju5DE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1207383},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"6fdb2d8b6f862e8ab4909a712c571475b5db2ffc","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/client.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun --external web-push && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.9.2","description":"Framework-agnostic PWA + Web Push primitives — web app manifest, push service worker, VAPID sender, and browser subscription glue","directories":{},"_nodeVersion":"22.14.0","dependencies":{"web-push":"^3.6.7","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.7.4_1786865315717_0.12122502093783205","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@absolutejs/pwa","version":"0.8.0","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","manifest","vapid"],"author":{"name":"Alex Kahn"},"license":"MIT","_id":"@absolutejs/pwa@0.8.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"d5105ac17d46e91534d5f59484f5b401b3700129","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.8.0.tgz","fileCount":13,"integrity":"sha512-F7xAKwn36ZMCnXUteK9GNIF1uVMsVlgcNg0JZei3Fx7V7hA51Xy+DG1oeGwF7x62qAZfWUKJFuEHAS2vSNNROw==","signatures":[{"sig":"MEUCIQDgSSDtC8Ct8ROiWhSPLBabGv6mYHOJqx3GaSV705HiuQIgUjs9BOLUDlCtj3TU+68k4kmAm3oaSeOa3JL3JJmEHeE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHDk8l4ncslkwxHRnTYXXl3qbRYODe/ceUqFFQEeULTxAiEAvZZZ+joQ/oNgKTm3AsDqUlyzQs/jyEaYD9YxfkjRE6w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":566859},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"521b348365336961f8e143c44657548b52664f98","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/client.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun --external web-push && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.9.2","description":"Framework-agnostic PWA + Web Push primitives — web app manifest, push service worker, VAPID sender, and browser subscription glue","directories":{},"_nodeVersion":"22.14.0","dependencies":{"web-push":"^3.6.7","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.8.0_1787515370314_0.07570716503299835","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@absolutejs/pwa","version":"0.9.0","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","offline-sync","background-sync","manifest","vapid"],"author":"Alex Kahn","license":"MIT","_id":"@absolutejs/pwa@0.9.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"cd135e2b5734ba80ca8e4a9825d2a02af60d4c4c","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.9.0.tgz","fileCount":15,"integrity":"sha512-T8d9iX2ALIJeDcGzIL3cme8RWvpCfKZPlivmUibUXqimRFe7+yCfBcToqIsRJxCxPCCu0+0dPoFrpWnUQGt4ZA==","signatures":[{"sig":"MEUCIQCIUhFZosJVgJCpfmBlB3nHNTED8ZeHUzHzewHMhycTpwIgSC2M+G1vbW+HVSPblIpL/QMqzFGqyTZZzg+mRXL6Eas=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIG0ByxYmu3c73N8wFj688Fn3dMHivgYBRMEXfM5h80+9AiEAzaOQggVJjBq5xXj03zxoRFYpcfE+mG4pz1DyiVhC9Gw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":606537},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"cd135e2b5734ba80ca8e4a9825d2a02af60d4c4c","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"bun run generate:sync-worker && rm -rf dist && bun build src/index.ts src/client.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun --external web-push --external @absolutejs/sync --external @absolutejs/sync/client && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit","generate:sync-worker":"bun run scripts/generateSyncWorker.ts"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-T8d9iX2ALIJeDcGzIL3cme8RWvpCfKZPlivmUibUXqimRFe7+yCfBcToqIsRJxCxPCCu0+0dPoFrpWnUQGt4ZA==","absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.8.3","description":"Framework-agnostic installability, offline Sync, service workers, and Web Push for AbsoluteJS apps","directories":{},"_nodeVersion":"24.3.0","dependencies":{"web-push":"^3.6.7","@absolutejs/sync":"2.24.0","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","fake-indexeddb":"6.2.5","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.9.0_1787685921586_0.552153470917073","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@absolutejs/pwa","version":"0.9.1","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","offline-sync","background-sync","manifest","vapid"],"author":"Alex Kahn","license":"MIT","_id":"@absolutejs/pwa@0.9.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"51da0a74b89493880ab69f15c8a90cf0a91f7947","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.9.1.tgz","fileCount":15,"integrity":"sha512-YQgu7O92/OdSkuayEJwXEj5WtkVDZWoHI1+CzctaeuW8VDYe9mOwm+3vcOQe26Yd50gQRp0ksiu9FPP60MoYuA==","signatures":[{"sig":"MEUCIBfbllQrikSO9tLooN2TWzBE6mgGgtFaGAaIiECMjnrWAiEA7d5pt5yXh8/ncla/d6whWGILtPzg0ZyuL8LAOFc3qyw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAGz5rJuv9Uxk5MzVCnuhceYKaGmfn1jPsquUkRpQ0BgAiArvNoN1BKe0zauTN5ndYuUhTp6ouR/yl5yNvgwrM0y3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":606880},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"51da0a74b89493880ab69f15c8a90cf0a91f7947","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"bun run generate:sync-worker && rm -rf dist && bun build src/index.ts src/client.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun --external web-push --external @absolutejs/sync --external @absolutejs/sync/client && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit","generate:sync-worker":"bun run scripts/generateSyncWorker.ts"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-YQgu7O92/OdSkuayEJwXEj5WtkVDZWoHI1+CzctaeuW8VDYe9mOwm+3vcOQe26Yd50gQRp0ksiu9FPP60MoYuA==","absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.8.3","description":"Framework-agnostic installability, offline Sync, service workers, and Web Push for AbsoluteJS apps","directories":{},"_nodeVersion":"24.3.0","dependencies":{"web-push":"^3.6.7","@absolutejs/sync":"2.24.0","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","fake-indexeddb":"6.2.5","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.9.1_1787686280334_0.705282200654662","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@absolutejs/pwa","version":"0.9.2","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","offline-sync","background-sync","manifest","vapid"],"author":{"name":"Alex Kahn"},"license":"MIT","_id":"@absolutejs/pwa@0.9.2","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"3420c5914cb8790351eb6edab70ebd2edb4cc142","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.9.2.tgz","fileCount":15,"integrity":"sha512-hOWT+smBA1M5JHTih/W8S6T+2op+QDgCo29MhA4e0cibZ708AXjnvlObk1Fx6pRVcX1k8D+pgtzpNAbEub8G8A==","signatures":[{"sig":"MEYCIQCCuvt3nHlm8Hu0c53cBT80Bu2SH3FNDCz1cWjwU3R3KgIhALVrqe4xAirz59VKuMqqvhTmlEZshqdWuMVA4SAgnaAp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGLhn1D7O7hPgzKQkE7TAFDCDBPzKXGdDmqgx0n7m2dhAiBVJOCHnYrhAfdLjr99EGyA1kLeFnnp1Eo8nAVhmH1f+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":619776},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"b183b7fdad9e546b261144b025c3ce7ebe648903","scripts":{"test":"bun test","build":"bun run generate:sync-worker && rm -rf dist && bun build src/index.ts src/client.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun --external web-push --external @absolutejs/sync --external @absolutejs/sync/client && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit","generate:sync-worker":"bun run scripts/generateSyncWorker.ts"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.9.2","description":"Framework-agnostic installability, offline Sync, service workers, and Web Push for AbsoluteJS apps","directories":{},"_nodeVersion":"22.14.0","dependencies":{"web-push":"^3.6.7","@absolutejs/sync":"2.24.0","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","fake-indexeddb":"6.2.5","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.9.2_1787693709473_0.33558796614482644","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@absolutejs/pwa","version":"0.10.0","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","offline-sync","background-sync","manifest","vapid"],"author":{"name":"Alex Kahn"},"license":"MIT","_id":"@absolutejs/pwa@0.10.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"54ab000d63ca478f97edffcd1e8b433af0919d04","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.10.0.tgz","fileCount":15,"integrity":"sha512-CGDCm0bL9Yw1WSIrlLbyZlspDxT7HV7NYrMKfGKrEY8N8dwVm4Y4obvAoAEYJYMlUB7ZfTtR59pxmivS/FEWBQ==","signatures":[{"sig":"MEQCIDJbFVXmhWhnGgEV6EnimS4wuSp5MZ3IZ7d7kmvIrks+AiAEg6gabu0mF5cEkyClm+CK5wJCE9+CxGs9Q9ZeVOgMAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDyEMGLXRCrVKLZXsDqPvm9aaxqCQbfHcMXWa6PARn5lAiAR0u3FNeaOSCUSogSpBVQMPeulXIa/mfr2IoAyn+PB0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633001},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"a345874329cf137f92660de74d875d091bb16f4a","scripts":{"test":"bun test","build":"bun run generate:sync-worker && rm -rf dist && bun build src/index.ts src/client.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun --external web-push --external @absolutejs/sync --external @absolutejs/sync/client && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit","generate:sync-worker":"bun run scripts/generateSyncWorker.ts"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.9.2","description":"Framework-agnostic installability, offline Sync, service workers, and Web Push for AbsoluteJS apps","directories":{},"_nodeVersion":"22.14.0","dependencies":{"web-push":"^3.6.7","@absolutejs/sync":"2.26.0","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","fake-indexeddb":"6.2.5","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.10.0_1787711063057_0.8833725043559675","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@absolutejs/pwa","version":"0.10.1","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","offline-sync","background-sync","manifest","vapid"],"author":{"name":"Alex Kahn"},"license":"MIT","_id":"@absolutejs/pwa@0.10.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"595724ab0322d6acc84721afba3445e07df73bae","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.10.1.tgz","fileCount":15,"integrity":"sha512-yQ9ZW1ZNOFGIf2n9VVBDKiwZ5pk+4QqJpdkXGtTVykvqJsxDjt+znakvg2wVqScXloDV78ZDDeopc+JKMlKqOA==","signatures":[{"sig":"MEUCIQD6gUoADkQg37lK25E6VDK5BmNl4ir5gK+b/W7/iewAmAIgAPppQA6lTFiEl4WybjLl3/vLpIUzbnVNc5KYMLX4wjo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD/Fpz6fWmJd4n+qdNi4cNix8yfX4xvbyGSWDxpxdC2hgIgQzbHHFVK8TEe+DRBml/CBZSLx8ah1grYB/fYf0q9b7Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633091},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"030d1c30eddcdbed7b26a1be07da8a587104ba84","scripts":{"test":"bun test","build":"bun run generate:sync-worker && rm -rf dist && bun build src/index.ts src/client.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun --external web-push --external @absolutejs/sync --external @absolutejs/sync/client && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit","generate:sync-worker":"bun run scripts/generateSyncWorker.ts"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.9.2","description":"Framework-agnostic installability, offline Sync, service workers, and Web Push for AbsoluteJS apps","directories":{},"_nodeVersion":"22.14.0","dependencies":{"web-push":"^3.6.7","@absolutejs/sync":"2.26.1","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","fake-indexeddb":"6.2.5","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.10.1_1787711722115_0.3870480739099116","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@absolutejs/pwa","version":"0.11.0","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","offline-sync","background-sync","manifest","vapid"],"author":{"name":"Alex Kahn"},"license":"MIT","_id":"@absolutejs/pwa@0.11.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"bc22e90fc62cafe53e5ac36a79025e910178f8d1","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.11.0.tgz","fileCount":15,"integrity":"sha512-Bnf7hrIYX4RT57m+yTsYqE5/5F7/dIH9gFoeqoGcov/q0Op/ohQA5d0Zvg9TQaVHYflOPB+MyhRgty4Lv04r4A==","signatures":[{"sig":"MEUCIQDFrF6M00gIcFhhz/qI/BCFaxRlCAPxBE+iKrV3iMN3kAIgT79s06kHX+ZfiDOvEgLVrF9fHsha2ESw7N4eyqpkRQU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGxM+pKqlyjuo9cffE2NVzd4lVJfVsq7h7SZW6lwQ2iOAiEA8ZEJu2LaQo4OTnKTrJMAshlLuKCgLJpgM9QuteFsfuc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":647866},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"8d118483b1ab8b13ecfd0c6359708273014e26ce","scripts":{"test":"bun test","build":"bun run generate:sync-worker && rm -rf dist && bun build src/index.ts src/client.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun --external web-push --external @absolutejs/sync --external @absolutejs/sync/client && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit","generate:sync-worker":"bun run scripts/generateSyncWorker.ts"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.9.2","description":"Framework-agnostic installability, offline Sync, service workers, and Web Push for AbsoluteJS apps","directories":{},"_nodeVersion":"22.14.0","dependencies":{"web-push":"^3.6.7","@absolutejs/sync":"2.27.0","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","fake-indexeddb":"6.2.5","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.11.0_1787718539915_0.4065231536034908","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@absolutejs/pwa","version":"0.12.0","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","offline-sync","background-sync","manifest","vapid"],"author":{"name":"Alex Kahn"},"license":"MIT","_id":"@absolutejs/pwa@0.12.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"d10a9aa9fba134b0421b3b63868d579a1be7849b","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.12.0.tgz","fileCount":15,"integrity":"sha512-QzQQk/4XMCFM4oQoUQ7uywaA3KXVSzUEURZVFve4f0J1bV4ygow1JsKesv8KuRIyhhTZHSyB8wsrlnQeMzfchA==","signatures":[{"sig":"MEUCIDwxdQXpQ/+/QlD93Fsf86xSkmjCvFdGTQcyXhPRCHF2AiEAjt+Ao7CSOG0gf3iGt+AeLpf5ErVNJqlcW1hUQgf533s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCyDWRW12Xl25dVGk2mOWkuOFIW4R9ke+WQY9wTxBKYDgIhALFXY//wbf1P/nb0Tb195sSQj64LyXh9+WtzN9CatVMP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":648313},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"05c93508e554ddf7a7f8bb5993eaa67aab3b2a15","scripts":{"test":"bun test","build":"bun run generate:sync-worker && rm -rf dist && bun build src/index.ts src/client.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun --external web-push --external @absolutejs/sync --external @absolutejs/sync/client && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit","generate:sync-worker":"bun run scripts/generateSyncWorker.ts"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.9.2","description":"Framework-agnostic installability, offline Sync, service workers, and Web Push for AbsoluteJS apps","directories":{},"_nodeVersion":"22.14.0","dependencies":{"web-push":"^3.6.7","@absolutejs/sync":"2.28.0","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","fake-indexeddb":"6.2.5","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.12.0_1787721499607_0.6138245768681752","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@absolutejs/pwa","version":"0.13.0","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","offline-sync","background-sync","manifest","vapid"],"author":{"name":"Alex Kahn"},"license":"MIT","_id":"@absolutejs/pwa@0.13.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/pwa","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"6684a71431c947352a51f07303a827c87e0612f4","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.13.0.tgz","fileCount":15,"integrity":"sha512-j0voFLKSROl2G2rFF0jRgFYi7Y6Ws83kWmv9Xju1z24U0ccbhlhtQxXTYULmos30U935tVdU+cHLN2XDbHIoeQ==","signatures":[{"sig":"MEQCIHgjbryQ+VGIQJVJYCOWm2W+e6l64FF4RmnYet8VSXxHAiBXLv5fHERs/KyIDTBFTMl681aQGMnopv2xDymRZdH+/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDNUj+v5xnypwsJlZpxr09hSsnXZPa67aF9UTQ3Q6AoaAIhALjkYAIVChwxgD9sZEiQTL/ssAex9r65H+bezZlfTt1p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":652821},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"614be98f638e4f19e9e8a2fa866ee40cc34f7483","scripts":{"test":"bun test","build":"bun run generate:sync-worker && rm -rf dist && bun build src/index.ts src/client.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun --external web-push --external @absolutejs/sync --external @absolutejs/sync/client && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit","generate:sync-worker":"bun run scripts/generateSyncWorker.ts"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.9.2","description":"Framework-agnostic installability, offline Sync, service workers, and Web Push for AbsoluteJS apps","directories":{},"_nodeVersion":"22.14.0","dependencies":{"web-push":"^3.6.7","@absolutejs/sync":"2.29.0","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","fake-indexeddb":"6.2.5","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"tmp":"tmp/pwa_0.13.0_1787725256104_0.7356595609273442","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"_id":"@absolutejs/pwa@0.14.0","bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"dist":{"shasum":"25ffbf598500b2de36e5cee216a3ba9ec488eaa0","tarball":"https://registry.npmjs.org/@absolutejs/pwa/-/pwa-0.14.0.tgz","fileCount":18,"integrity":"sha512-N90wc/cMqR+80uUpsZfJy3wbTfns3qmpq/p42/Bbp5RgFnauGJ1dddSb3nl798LRrxPy400sCjhtVyu9lv9wYw==","signatures":[{"sig":"MEQCIAJ6x2WTt5aJfkItJUaYwNR+JCkQMHDUj+1AWH12X6svAiBaHv1pE8jQ0INOzNbLexuYgXuUwy8+prt2PnAtvhlaCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC4Wbv1GUI5loiyDj/BQCMagw1Hmc0dIE5MqDZo9nLpxgIhAIZ6am3T1vJWFtOYyTS7DVzjT6OZhua/Zya5D6pauPZ0"}],"unpackedSize":700621},"main":"./dist/index.js","name":"@absolutejs/pwa","type":"module","types":"./dist/index.d.ts","author":{"name":"Alex Kahn"},"module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./dispatch":{"types":"./dist/dispatch.d.ts","import":"./dist/dispatch.js","default":"./dist/dispatch.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"c5705b387555b20db90c88f2bd0e48b06704a4df","license":"MIT","scripts":{"test":"bun test","build":"bun run generate:sync-worker && rm -rf dist && bun build src/index.ts src/client.ts src/dispatch.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun --external web-push --external @absolutejs/devices --external '@absolutejs/devices/*' --external @absolutejs/sync --external @absolutejs/sync/client && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run build && bun publish","typecheck":"tsc --noEmit","generate:sync-worker":"bun run scripts/generateSyncWorker.ts"},"version":"0.14.0","_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"homepage":"https://github.com/absolutejs/pwa","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","offline-sync","background-sync","manifest","vapid"],"absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"_npmVersion":"10.9.2","description":"Framework-agnostic installability, offline Sync, service workers, and Web Push for AbsoluteJS apps","directories":{},"maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"_nodeVersion":"22.14.0","dependencies":{"web-push":"^3.6.7","@absolutejs/sync":"2.29.0","@sinclair/typebox":"^0.34.0","@absolutejs/devices":"^0.6.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","fake-indexeddb":"6.2.5","@types/web-push":"^3.6.4"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pwa_0.14.0_1787793114616_0.22222055425289922"}}},"time":{"created":"2026-06-19T05:36:46.460Z","modified":"2026-08-27T01:11:54.876Z","0.1.0":"2026-06-19T05:36:46.815Z","0.2.0":"2026-06-19T05:51:15.658Z","0.2.1":"2026-06-19T06:12:16.637Z","0.3.0":"2026-06-19T11:16:46.551Z","0.4.0":"2026-06-19T13:19:26.259Z","0.5.0":"2026-06-19T13:46:06.497Z","0.6.0":"2026-07-02T08:58:26.902Z","0.6.1":"2026-07-03T18:59:14.517Z","0.6.2":"2026-07-13T17:39:54.014Z","0.7.0":"2026-07-23T11:46:25.203Z","0.7.1":"2026-07-23T20:05:05.490Z","0.7.2":"2026-07-23T20:05:38.945Z","0.7.3":"2026-08-03T00:35:00.109Z","0.7.4":"2026-08-16T07:28:35.857Z","0.8.0":"2026-08-23T20:02:50.473Z","0.9.0":"2026-08-25T19:25:21.748Z","0.9.1":"2026-08-25T19:31:20.487Z","0.9.2":"2026-08-25T21:35:09.572Z","0.10.0":"2026-08-26T02:24:23.150Z","0.10.1":"2026-08-26T02:35:22.250Z","0.11.0":"2026-08-26T04:28:59.996Z","0.12.0":"2026-08-26T05:18:19.716Z","0.13.0":"2026-08-26T06:20:56.199Z","0.14.0":"2026-08-27T01:11:54.718Z"},"bugs":{"url":"https://github.com/absolutejs/pwa/issues"},"author":{"name":"Alex Kahn"},"license":"MIT","homepage":"https://github.com/absolutejs/pwa","keywords":["absolutejs","pwa","web-push","push-notifications","service-worker","offline-sync","background-sync","manifest","vapid"],"repository":{"url":"git+https://github.com/absolutejs/pwa.git","type":"git"},"description":"Framework-agnostic installability, offline Sync, service workers, and Web Push for AbsoluteJS apps","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"readme":"# @absolutejs/pwa\n\nFramework-agnostic primitives for turning any app into an installable,\noffline-capable, push-capable PWA: a **web app manifest**, **finite background\nSync**, the **push service worker**, a **VAPID Web Push sender** that flags dead\nendpoints, and **browser glue** for service-worker registration + subscription.\n\nIts direct primitives remain storage- and framework-agnostic. AbsoluteJS builds\nadd the recommended path: Auth owns registration, Dispatch owns lifecycle and\nfanout, and page code uses only `@absolutejs/devices`.\n\n```bash\nbun add @absolutejs/pwa\n```\n\n## Server\n\n```ts\nimport {\n  createWebAppManifest,\n  pushServiceWorker,\n  createWebPush,\n} from \"@absolutejs/pwa\";\n\nconst ICON = \"/icons/app-512.png\";\n\n// Serve as application/manifest+json at /manifest.webmanifest\nexport const manifest = createWebAppManifest({\n  name: \"My App\",\n  shortName: \"MyApp\",\n  themeColor: \"#6366f1\",\n  icons: [\n    { src: ICON, sizes: \"192x192\", type: \"image/png\", purpose: \"any\" },\n    { src: ICON, sizes: \"512x512\", type: \"image/png\", purpose: \"any\" },\n  ],\n});\n\n// Serve as text/javascript at /sw.js with header `Service-Worker-Allowed: /`.\n// Pass `offline` to also precache an app shell + serve a fallback page when a\n// navigation fails offline, and cache same-origin assets cache-first.\nexport const sw = pushServiceWorker({\n  icon: ICON,\n  offline: { fallback: \"/offline.html\", assetPrefix: \"/assets/\" },\n  sync: true,\n});\n\n// VAPID sender — pass empty/unset keys and it no-ops (isConfigured() === false),\n// so push degrades gracefully to your email/in-app fallback.\nconst push = createWebPush({\n  publicKey: process.env.VAPID_PUBLIC_KEY,\n  privateKey: process.env.VAPID_PRIVATE_KEY,\n  subject: \"mailto:you@example.com\",\n});\n\n// Fan out to a user's devices; prune whatever it reports gone.\nconst { gone } = await push.sendMany(subscriptions, {\n  title: \"New match\",\n  body: \"Acme Co. just replied.\",\n  url: \"/inbox\",\n});\nawait pruneEndpoints(gone); // your storage\n```\n\nMounting is yours. With Elysia:\n\n```ts\nnew Elysia()\n  .get(\"/manifest.webmanifest\", ({ set }) => {\n    set.headers[\"content-type\"] = \"application/manifest+json\";\n    return manifest;\n  })\n  .get(\"/sw.js\", ({ set }) => {\n    set.headers[\"content-type\"] = \"text/javascript\";\n    set.headers[\"service-worker-allowed\"] = \"/\";\n    return sw;\n  });\n```\n\n## Portable push in AbsoluteJS\n\nIn an AbsoluteJS application, importing `pushNotifications` and enabling `pwa`\nautomatically generates the browser adapter and subscription-rotation worker.\nSet the public `VAPID_PUBLIC_KEY` in the build environment; keep\n`VAPID_PRIVATE_KEY` only in the trusted delivery process. Configure Auth once\nwith a Dispatch lifecycle at `auth({ push: ... })`. The browser can submit only\nits provider credential and opaque installation ID—Auth derives user, tenant,\nand topics on the server.\n\n```ts\nimport { pushNotifications } from \"@absolutejs/devices\";\n\nawait pushNotifications.requestPermission();\nawait pushNotifications.enable();\n```\n\nThe same page code uses APNs/FCM in a Capacitor shell and Web Push in a browser.\nFor direct PWA integrations, pass `push` to `registerServiceWorker()` or call\n`configurePwaPush()` explicitly. Installation identity is shared with the\nservice worker in IndexedDB so browser subscription rotation updates the same\ntrusted server record even when no page is open.\n\nDispatch users can import `createWebPushDispatchAdapter` from\n`@absolutejs/pwa/dispatch`; it maps provider-neutral messages to the Web Push\nsender and classifies gone/retryable results for lifecycle retirement.\n\n## Client\n\n```ts\nimport {\n  registerServiceWorker,\n  getPushStatus,\n  subscribeToPush,\n  unsubscribeFromPush,\n} from \"@absolutejs/pwa/client\";\n\n// At boot. By default this waits for page load, then retries transient\n// browser/network failures up to three total attempts.\nawait registerServiceWorker(); // defaults to \"/sw.js\"\n\n// Toggle on: returns the subscription JSON — send it through your typed API.\nconst subscription = await subscribeToPush(vapidPublicKey);\nawait api.push.subscriptions.post(subscription);\n\n// Toggle off: returns the endpoint to drop server-side.\nconst endpoint = await unsubscribeFromPush();\nawait api.push.subscriptions.delete({ endpoint });\n\nconst status = await getPushStatus(); // { supported, permission, subscribed }\n```\n\n### Offline Sync\n\n`@absolutejs/pwa` can provision `@absolutejs/sync` automatically for an\nauthenticated browser app. Generate the worker with `sync: true`, then enable\nthe client bridge during registration:\n\n```ts\nawait registerServiceWorker(\"/sw.js\", { sync: {} });\n```\n\nThe Sync browser runtime is loaded lazily only when this bridge is enabled, so\nmanifest-, install-, and push-only applications do not pay its client cost.\n\nAbsoluteJS supplies `storageSchema` automatically by composing the app schema\nwith declarative metadata from installed Sync packs. The same JSON-safe plan is\nused by the foreground client and service worker, so IndexedDB upgrades before\neither runtime reads cached rows or flushes the durable outbox. Direct PWA\nintegrations may pass that component bundle through `sync.storageSchema`.\n\nThe bundle also carries local-data sensitivity, retention, and quota rules.\nBrowsers do not receive pretend encryption backed by a key stored beside the\nciphertext: an encryption-required record fails closed unless the direct PWA\nintegration supplies an audited Sync protection provider. Portable packs can\ninstead declare `onProtectionUnavailable: \"memory-only\"`; the feature keeps its\nlive browser state and online-only mutations without writing sensitive rows or\narguments to IndexedDB, while the same bundle is durably encrypted by the\nnative Keychain/Keystore-backed adapter.\nQuota pressure evicts complete cached projections and never the durable outbox.\n\nWith `@absolutejs/auth` and `syncSocket()` mounted, no page-level token or\ncollection list is needed. The client performs a strict same-origin JSON `POST`\nto `/__absolute/sync/principal` using the existing HTTP-only session cookie. The\nresponse contains only an opaque account namespace. Foreground Sync clients and\nthe worker share a namespaced IndexedDB store; the worker discovers persisted\n`id`-keyed collection descriptors, flushes the durable outbox, and pulls finite\nupdates through `/__absolute/sync/background`.\n\nBackground Sync is best-effort because browser support and scheduling vary.\nOnline, focus, and visible-page events also reconnect and flush active clients,\nso foreground/resume remains the correctness path. Native apps continue using\ntheir Bearer-based Auth transport rather than this cookie-session bridge.\n\nAdvanced endpoints, limits, and the shared database name are configurable:\n\n```ts\nawait registerServiceWorker(\"/sw.js\", {\n  sync: {\n    endpoint: \"/__absolute/sync/background\",\n    principalEndpoint: \"/__absolute/sync/principal\",\n    databaseName: \"absolutejs-sync-v1\",\n    maxMutations: 50,\n    maxPulls: 50,\n  },\n});\n```\n\nBoth endpoints must resolve to the page's exact origin and redirects are\nrefused. Cookies, bearer tokens, mutation arguments, and application rows are\nnever embedded in the worker script or service-worker messages. If the session\nis absent, the worker configuration is cleared. On focus, online, and visible\npage transitions, the bridge resolves the principal again before syncing. An\naccount change aborts the old run, clears its runtime, and installs the new\nopaque namespace before any new work starts. `configurePwaSync()` is also\nexported for hosts that register their worker separately.\n\nObserve sanitized run outcomes without sending application data to AbsoluteJS:\n\n```ts\nimport { getLastPwaSyncResult, onPwaSyncResult } from \"@absolutejs/pwa/client\";\n\nconst unsubscribe = onPwaSyncResult((result) => {\n  // { ok, durationMs, trigger, acknowledged?, pulled?, ... }\n  console.log(result);\n});\n\nconst latest = getLastPwaSyncResult();\n```\n\nThe same aggregate result is dispatched on `window` as the\n`absolute:pwa-sync-result` custom event. Its contract permits only status,\nduration, trigger, and aggregate counts; namespaces, endpoints, credentials,\nmutation arguments, and rows are discarded at the page boundary. This is an\napplication-observable signal, not built-in analytics or a phone-home channel.\n\n### Install prompt\n\nCapture the browser's install signal and drive it from your own button:\n\n```ts\nimport {\n  initInstallPrompt,\n  onInstallable,\n  promptInstall,\n  canInstall,\n} from \"@absolutejs/pwa/client\";\n\ninitInstallPrompt(); // once at boot\n\n// React to availability (show/hide your install button):\nconst off = onInstallable((installable) => setShowInstall(installable));\n\n// From a click handler (must be a user gesture):\nconst accepted = await promptInstall();\n```\n\n### Embedded browsers and capability UX\n\nFeature-detect before offering browser-dependent actions, then use embedded-\nbrowser identity only to explain an unavailable capability:\n\n```ts\nimport {\n  detectEmbeddedBrowser,\n  getBrowserCapabilities,\n} from \"@absolutejs/pwa/client\";\n\nconst capabilities = getBrowserCapabilities();\nif (!capabilities.pushNotifications && capabilities.embeddedBrowser) {\n  showOpenInBrowserHelp(capabilities.embeddedBrowser.app);\n}\n\n// Pure user-agent classification is also available for SSR/tests.\ndetectEmbeddedBrowser(request.headers.get(\"user-agent\") ?? \"\");\n```\n\nDetection is deliberately conservative: Facebook, Instagram, and Messenger are\nidentified only from their explicit host-app markers. Unknown WebViews return\n`null`; capability checks remain authoritative.\n\n### App update prompt\n\nOne latched update flow handles both waiting service workers and release probes.\nDetection never reloads the page; only the user's update action does:\n\n```ts\nimport {\n  announceUpdateAvailable,\n  applyUpdate,\n  checkForUpdate,\n  onUpdateAvailable,\n} from \"@absolutejs/pwa/client\";\n\n// Render your framework's branded prompt. A signal received before this\n// subscription is retained and delivered immediately.\nconst off = onUpdateAvailable(() => showUpdatePrompt());\n\n// Bridge any release detector, including @absolutejs/beacon's releaseProbe:\nconst onStale = (release: { currentRelease: string; newestRelease: string }) =>\n  announceUpdateAvailable({ ...release, source: \"release-probe\" });\n\n// Safe to call on focus, visibility change, or an interval.\nawait checkForUpdate();\n\n// Call only from the prompt's button. This activates a waiting worker when one\n// exists, then performs exactly one bounded reload.\nawait applyUpdate();\n```\n\nThe service worker must be built without `skipWaiting` (the default) so it waits\nfor explicit user consent. Repeated release-probe and service-worker signals\nmerge into one prompt instead of creating competing reload paths.\n\nEvery client function is feature-safe (no-ops when the APIs are missing or during\nSSR). `subscribeToPush` throws `Error(\"notification-permission-denied\")` on a hard\npermission denial so you can message it.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}