anydrop/web/package.json
ordinarthur 9674b19590
All checks were successful
Build & Deploy / build-and-deploy (push) Successful in 1m14s
feat(ios): Capacitor shell + Share Extension scaffold
Phase 4 (mobile) kickoff. Ships the native iOS wrapper that lets users
share photos/videos from the iOS Share Sheet into AnyDrop — the one
thing the PWA alone cannot do on iOS because Apple still ignores the
Web Share Target API.

Architecture:
- web/ios/ — Capacitor-generated Xcode project pointing the WKWebView
  at https://anydrop.arthurbarre.fr (real web app; only native code
  is the share-in path, so no "thin wrapper" App Store concern).
- AnyDropShare (Share Extension target) — stashes selected items into
  an App Group shared container then opens anydrop://share.
- SharedInboxPlugin (custom Capacitor plugin) — drains that container
  from JS after the URL fires, returning base64 blobs.
- web/src/lib/nativeShare.ts — bridge that rehydrates File objects and
  routes them into the existing /share page flow (same one Android uses).

Xcode-side target registration + signing isn't scriptable; runbook is
in docs/ios-setup.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 15:59:51 +02:00

46 lines
1.2 KiB
JSON

{
"name": "@anydrop/web",
"version": "1.0.0",
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc -b && vite build",
"preview": "vite preview",
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@anydrop/shared": "workspace:*",
"@capacitor/app": "^8.1.0",
"@capacitor/core": "^8.3.1",
"@capacitor/ios": "^8.3.1",
"@noble/ciphers": "^2.2.0",
"@noble/hashes": "^2.2.0",
"events": "^3.3.0",
"process": "^0.11.10",
"qrcode.react": "^4.2.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-router-dom": "^7.5.1",
"simple-peer": "^9.11.1",
"zustand": "^5.0.5"
},
"devDependencies": {
"@capacitor/cli": "^8.3.1",
"@types/react": "^18.3.20",
"@types/react-dom": "^18.3.6",
"@types/simple-peer": "^9.11.8",
"@vitejs/plugin-react": "^4.4.1",
"autoprefixer": "^10.4.21",
"postcss": "^8.5.3",
"tailwindcss": "^3.4.17",
"vite": "^6.3.3",
"vite-plugin-node-polyfills": "^0.26.0",
"vite-plugin-pwa": "^1.0.0",
"workbox-precaching": "^7.3.0",
"workbox-routing": "^7.3.0",
"workbox-strategies": "^7.3.0",
"workbox-window": "^7.3.0"
}
}