{"_id":"@absolutejs/sync-expo","_rev":"4-7b9ddb10faf3414d887126440f98909a","name":"@absolutejs/sync-expo","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"@absolutejs/sync-expo","version":"0.0.1","keywords":["absolutejs","sync","expo","sqlite","offline","mobile"],"author":{"name":"Alex Kahn"},"license":"BSL-1.1","_id":"@absolutejs/sync-expo@0.0.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-expo","bugs":{"url":"https://github.com/absolutejs/sync-expo/issues"},"dist":{"shasum":"4dffa2706946f0c1db225c817d7a65765cb6fa07","tarball":"https://registry.npmjs.org/@absolutejs/sync-expo/-/sync-expo-0.0.1.tgz","fileCount":11,"integrity":"sha512-AGW0Mm5oYDLWeLuYpBps2z8j8PwXRaiyTQQibtoc4Ye4bO3XPuXQ8uihceTCJsRU0hRDbsySS0SoCDOROBcXWg==","signatures":[{"sig":"MEUCIGVf/p5rv29ipVJV98Vhw8rrq3BD1Kkp5fEJlI3VmfBBAiEAvdm21l98OHm2rxKTuLo4PYtFbWg7E7t3hnbgG6VjzJ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317293},"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":"b878bfde8577efea8158d9227ba40c0fda649690","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/client.ts --outdir dist --sourcemap --target=browser --external @absolutejs/sync --external expo-background-task --external expo-network --external expo-secure-store --external expo-sqlite --external expo-task-manager --external react-native && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun test && bun run build && npm publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"repository":{"url":"git+https://github.com/absolutejs/sync-expo.git","type":"git"},"_npmVersion":"10.9.2","description":"Expo SQLite, lifecycle, protection, and background-task adapter for @absolutejs/sync","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@noble/ciphers":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"expo":"57.0.9","react":"19.2.3","prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.9.3","expo-sqlite":"57.0.2","@types/react":"19.2.2","expo-network":"57.0.1","react-native":"0.86.3","@absolutejs/sync":"2.31.0","expo-secure-store":"57.0.2","expo-task-manager":"57.0.14","expo-background-task":"57.0.14"},"peerDependencies":{"expo-sqlite":">=57 <58","expo-network":">=57 <58","react-native":">=0.86 <0.87","@absolutejs/sync":">=2.31.0 <3","expo-secure-store":">=57 <58","expo-task-manager":">=57 <58","expo-background-task":">=57 <58"},"_npmOperationalInternal":{"tmp":"tmp/sync-expo_0.0.1_1788218360468_0.9701988152366074","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@absolutejs/sync-expo","version":"0.0.2","keywords":["absolutejs","sync","expo","sqlite","offline","mobile"],"author":{"name":"Alex Kahn"},"license":"BSL-1.1","_id":"@absolutejs/sync-expo@0.0.2","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-expo","bugs":{"url":"https://github.com/absolutejs/sync-expo/issues"},"dist":{"shasum":"4eb95f2b6e8081451e04a4c94683600ada32fe49","tarball":"https://registry.npmjs.org/@absolutejs/sync-expo/-/sync-expo-0.0.2.tgz","fileCount":13,"integrity":"sha512-XEx6TITh2S2JCOkD1A/RN9Zfr5H2ulTUOcKMiWOJMqMY1jqFkQNoGm30lrUECAHcw/9+ZaPQjAKN/GOpFVQstQ==","signatures":[{"sig":"MEUCIQCrvYE67OLIgQNz+R1vy4qPqn78EQdZGCx/Kvr60zz1ngIgYU2jIQ+w8ewtNLLp9Ebowhd2pmW4gr7lU/eliqe4gxA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":360980},"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"},"./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"}},"gitHead":"4c06b45615f93405f4b0d21e46596a964b83e991","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/client.ts src/bridge.ts --outdir dist --sourcemap --target=browser --external @absolutejs/sync --external expo-background-task --external expo-network --external expo-secure-store --external expo-sqlite --external expo-task-manager --external react-native && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun test && bun run build && npm publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"repository":{"url":"git+https://github.com/absolutejs/sync-expo.git","type":"git"},"_npmVersion":"10.9.2","description":"Expo SQLite, lifecycle, protection, and background-task adapter for @absolutejs/sync","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@noble/ciphers":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"expo":"57.0.9","react":"19.2.3","prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.9.3","expo-sqlite":"57.0.2","@types/react":"19.2.2","expo-network":"57.0.1","react-native":"0.86.3","@absolutejs/sync":"2.31.0","expo-secure-store":"57.0.2","expo-task-manager":"57.0.14","expo-background-task":"57.0.14"},"peerDependencies":{"expo-sqlite":">=57 <58","expo-network":">=57 <58","react-native":">=0.86 <0.87","@absolutejs/sync":">=2.31.0 <3","expo-secure-store":">=57 <58","expo-task-manager":">=57 <58","expo-background-task":">=57 <58"},"_npmOperationalInternal":{"tmp":"tmp/sync-expo_0.0.2_1788219026274_0.32904050723608114","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@absolutejs/sync-expo","version":"0.0.3","keywords":["absolutejs","sync","expo","sqlite","offline","mobile"],"author":{"name":"Alex Kahn"},"license":"BSL-1.1","_id":"@absolutejs/sync-expo@0.0.3","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-expo","bugs":{"url":"https://github.com/absolutejs/sync-expo/issues"},"dist":{"shasum":"35646a43241e94d3538b697ab2c10973cb2dfcc4","tarball":"https://registry.npmjs.org/@absolutejs/sync-expo/-/sync-expo-0.0.3.tgz","fileCount":14,"integrity":"sha512-y2k/DdWEOYV1s6GeZFgUd3PaJgIFC/i8MJJp2CGk5TvA5p+b5z9k+8utwYGIz1CIKjfBeN8qdiHLC0eZtr5aww==","signatures":[{"sig":"MEUCIClbftF+Id73H8gVNbM5i4xvZJppObJWVWjijyLGG+PkAiEAvEdI0jWf7tNTjgh4Cq9o7eVolLHictSCDon/c11k3Uo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198309},"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"},"./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"}},"gitHead":"c22363188d8907e7cbb94251d48cfb60aea0301d","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/client.ts src/bridge.ts --outdir dist --sourcemap --target=browser --external @absolutejs/sync --external @noble/ciphers --external expo-background-task --external expo-crypto --external expo-network --external expo-secure-store --external expo-sqlite --external expo-task-manager --external react-native && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun test && bun run build && npm publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"repository":{"url":"git+https://github.com/absolutejs/sync-expo.git","type":"git"},"_npmVersion":"10.9.2","description":"Expo SQLite, lifecycle, protection, and background-task adapter for @absolutejs/sync","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@noble/ciphers":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"expo":"57.0.9","react":"19.2.3","prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.9.3","expo-crypto":"57.0.2","expo-sqlite":"57.0.2","@types/react":"19.2.2","expo-network":"57.0.1","react-native":"0.86.3","@absolutejs/sync":"2.31.0","expo-secure-store":"57.0.2","expo-task-manager":"57.0.14","expo-background-task":"57.0.14"},"peerDependencies":{"expo-crypto":">=57 <58","expo-sqlite":">=57 <58","expo-network":">=57 <58","react-native":">=0.86 <0.87","@absolutejs/sync":">=2.31.0 <3","expo-secure-store":">=57 <58","expo-task-manager":">=57 <58","expo-background-task":">=57 <58"},"_npmOperationalInternal":{"tmp":"tmp/sync-expo_0.0.3_1788664431598_0.7170825819554711","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@absolutejs/sync-expo","version":"0.0.4","description":"Expo SQLite, lifecycle, protection, and background-task adapter for @absolutejs/sync","repository":{"type":"git","url":"git+https://github.com/absolutejs/sync-expo.git"},"homepage":"https://github.com/absolutejs/sync-expo","bugs":{"url":"https://github.com/absolutejs/sync-expo/issues"},"type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","license":"BSL-1.1","author":{"name":"Alex Kahn"},"publishConfig":{"access":"public"},"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"},"./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"}},"scripts":{"build":"rm -rf dist && bun build src/index.ts src/client.ts src/bridge.ts --outdir dist --sourcemap --target=browser --external @absolutejs/sync --external @noble/ciphers --external expo-background-task --external expo-crypto --external expo-network --external expo-secure-store --external expo-sqlite --external expo-task-manager --external react-native && tsc --project tsconfig.build.json","test":"bun test","typecheck":"tsc --noEmit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun test && bun run build && npm publish"},"peerDependencies":{"@absolutejs/sync":">=2.31.0 <3","expo-background-task":">=57 <58","expo-crypto":">=57 <58","expo-network":">=57 <58","expo-secure-store":">=57 <58","expo-sqlite":">=57 <58","expo-task-manager":">=57 <58","react-native":">=0.86 <0.87"},"devDependencies":{"@absolutejs/sync":"2.31.0","@types/bun":"1.3.14","@types/react":"19.2.2","expo":"57.0.9","expo-background-task":"57.0.14","expo-crypto":"57.0.2","expo-network":"57.0.1","expo-secure-store":"57.0.2","expo-sqlite":"57.0.2","expo-task-manager":"57.0.14","prettier":"3.5.3","react":"19.2.3","react-native":"0.86.3","typescript":"5.9.3"},"dependencies":{"@noble/ciphers":"^2.3.0"},"keywords":["absolutejs","sync","expo","sqlite","offline","mobile"],"_id":"@absolutejs/sync-expo@0.0.4","gitHead":"50b91ecb23929d5fdd2e2cca2795ea66e8318b2f","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-rewN1NO0F9+jpF96N+zQS7WzozIqS+XOh3p+Z8QilOaqxBHQVDLePZCmHZHk18rgEpS5Fk58UI3z6IyWfC1NNw==","shasum":"f996a812902cd9d0aaeceb5d0a2b45ebe8399e64","tarball":"https://registry.npmjs.org/@absolutejs/sync-expo/-/sync-expo-0.0.4.tgz","fileCount":14,"unpackedSize":197977,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD6p8UwudO+sxT/bls/5SdcPiMOgjgVsCiUwQULU6WGTwIhAN2t+nnaAnBCQc45rrAVY3YbMrqbbYdThLs1yaGK93mt"}]},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"directories":{},"maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sync-expo_0.0.4_1788679207366_0.9945838425570124"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-31T23:19:20.301Z","modified":"2026-09-06T07:20:07.688Z","0.0.1":"2026-08-31T23:19:20.614Z","0.0.2":"2026-08-31T23:30:26.414Z","0.0.3":"2026-09-06T03:13:51.718Z","0.0.4":"2026-09-06T07:20:07.503Z"},"bugs":{"url":"https://github.com/absolutejs/sync-expo/issues"},"author":{"name":"Alex Kahn"},"license":"BSL-1.1","homepage":"https://github.com/absolutejs/sync-expo","keywords":["absolutejs","sync","expo","sqlite","offline","mobile"],"repository":{"type":"git","url":"git+https://github.com/absolutejs/sync-expo.git"},"description":"Expo SQLite, lifecycle, protection, and background-task adapter for @absolutejs/sync","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"readme":"# @absolutejs/sync-expo\n\nExpo-native persistence and lifecycle integration for\n[`@absolutejs/sync`](https://github.com/absolutejs/sync).\n\n- Expo SQLite durable cache, outbox, receipts, cursors, and dead letters.\n- Principal-partitioned storage with the same migrations and policy contract as\n  web and Capacitor.\n- AES-256-GCM record protection with a device-only key held by Expo SecureStore.\n- AppState and Expo Network wake-up handling.\n- Bounded Expo Background Task integration.\n\nAbsoluteJS provisions this package automatically for Expo applications that use\n`@absolutejs/sync`. Direct package consumers can use the exported adapter\nfunctions without AbsoluteJS.\n\nThe `@absolutejs/sync-expo/client` and `@absolutejs/sync-expo/bridge` subpaths\nremain free of Expo and React Native runtime imports for WebViews and bridge\ncontract tests. Native bridge hosts inject `expoSyncRandomId`; WebView socket\nidentities use the browser Crypto API.\n\nBackground execution is an acceleration only. Foreground startup, resume, and\nconnectivity recovery remain authoritative because Android and iOS decide when\ndeferrable work is allowed to run.\n","readmeFilename":"README.md"}