Files
edgeever/package.json
T
tianma-if e46e66b46e fix(mobile): stop App Review crashes on iPadOS 26.5
Apple rejected 1.10.1 for SIGSEGV in RCTTextLayoutManager and malloc
corruption during WKWebView media TCC probes on iPad. Drop Reanimated
list layout transitions, deny DOM/WebView media capture by default, and
declare required iOS privacy strings with full-screen phone-on-iPad
presentation for the next review build.
2026-08-06 11:47:50 +08:00

165 lines
9.4 KiB
JSON

{
"name": "edgeever",
"version": "1.12.6",
"private": true,
"type": "module",
"workspaces": [
"apps/*",
"packages/*"
],
"scripts": {
"dev": "bun run dev:local",
"dev:api": "bun run dev:api:local",
"dev:local": "bun run db:migrate:local && concurrently -k -n api,web -c cyan,magenta \"bun run dev:api:local\" \"bun run dev:web\"",
"dev:api:local": "EDGE_EVER_INSTANCE= EDGE_EVER_LOCAL_DEMO_SEED=true bun scripts/run-wrangler.mjs dev --local --port 8787",
"dev:self-hosted": "bun --watch scripts/self-hosted-server.mjs",
"start:self-hosted": "bun scripts/self-hosted-server.mjs",
"dev:remote": "concurrently -k -n api,web -c cyan,magenta \"bun run dev:api:remote\" \"bun run dev:web\"",
"dev:api:remote": "bun scripts/run-wrangler.mjs dev --remote --port 8787",
"dev:web": "vite --config apps/web/vite.config.ts --host 127.0.0.1 --port 5173",
"dev:desktop": "concurrently -k -n web,desktop -c magenta,cyan \"bun run dev:web\" \"bun run --cwd apps/desktop dev\"",
"dev:mobile": "bun --cwd apps/mobile expo start",
"prepare:mobile:icons": "bun scripts/prepare-mobile-icons.mjs",
"prepare:desktop:icons": "bun scripts/prepare-desktop-icons.mjs",
"build:android:fast": "bash scripts/build-android-local.sh fast",
"build:android:fast:local": "bun --env-file=${EDGE_EVER_ANDROID_ENV_FILE:-$HOME/.config/edgeever/android/signing.env} run build:android:fast",
"build:android:apk": "bash scripts/build-android-local.sh apk",
"build:android:apk:local": "bun --env-file=${EDGE_EVER_ANDROID_ENV_FILE:-$HOME/.config/edgeever/android/signing.env} run build:android:apk",
"build:android:play": "bash scripts/build-android-local.sh play",
"build:android:play:local": "bun --env-file=${EDGE_EVER_ANDROID_ENV_FILE:-$HOME/.config/edgeever/android/signing.env} run build:android:play",
"dev:site": "bun --cwd apps/site dev",
"build": "bun run build:web",
"build:extension": "vite build --config apps/extension/vite.config.ts",
"build:extension:firefox": "bun run --cwd apps/extension build:firefox",
"lint:extension:firefox": "bun run --cwd apps/extension lint:firefox",
"package:extension:firefox": "bun run --cwd apps/extension package:firefox",
"test:extension": "bun run --cwd apps/extension test",
"dev:extension": "vite --config apps/extension/vite.config.ts",
"build:web": "vite build --config apps/web/vite.config.ts",
"build:desktop:sidecar": "cargo build --manifest-path crates/desktop-sidecar/Cargo.toml --release",
"build:desktop": "EDGE_EVER_DESKTOP_BUILD=1 bun run prepare:desktop:icons && bun run build:web && bun run build:desktop:sidecar && bun run --cwd apps/desktop dist",
"benchmark:desktop:sidecar": "bun scripts/benchmark-desktop-sidecar.mjs",
"verify:web-performance": "bun scripts/verify-web-performance.mjs",
"test:release-planning": "bun test scripts/plan-native-release.test.mjs scripts/check-native-release-assets.test.mjs scripts/create-mac-update-metadata.test.mjs scripts/release.test.mjs scripts/validate-store-delivery.test.mjs scripts/store-delivery.test.mjs scripts/verify-android-apk-signature.test.mjs scripts/desktop-icns.test.mjs apps/web/src/lib/version-check.test.mjs apps/mobile/src/lib/mobile-release.test.ts",
"release": "bun scripts/release.mjs",
"publish:stores": "bun scripts/store-delivery.mjs",
"test:desktop:sidecar": "bun scripts/test-desktop-sidecar.mjs",
"test:desktop": "bun test apps/desktop/src/main/account-scope.test.mjs apps/desktop/src/main/diagnostic-log.test.mjs apps/desktop/src/main/file-association.test.mjs apps/desktop/src/main/file-permissions.test.mjs apps/desktop/src/main/installation-location.test.mjs apps/desktop/src/main/resource-request.test.mjs apps/desktop/src/main/resource-url.test.mjs apps/desktop/src/main/staged-resource.test.mjs apps/desktop/src/main/tray-icon.test.mjs apps/desktop/src/main/user-data-directory.test.mjs apps/desktop/src/main/window-open-policy.test.mjs apps/desktop/src/main/window-visibility.test.mjs apps/web/src/lib/api.test.mjs apps/web/src/lib/app-page-path.test.mjs apps/web/src/lib/clipboard.test.mjs apps/web/src/lib/desktop-repository.test.mjs apps/web/src/lib/desktop-resources.test.mjs apps/web/src/lib/desktop-sync.test.mjs apps/web/src/lib/local-mirror.test.mjs apps/web/src/lib/repository.test.mjs apps/web/src/lib/runtime.test.mjs apps/web/src/lib/sync-queue.test.mjs && bun run test:desktop:sidecar",
"verify:desktop-package": "bun scripts/verify-desktop-package.mjs",
"build:cloudflare": "bun run typecheck && bun run build",
"build:site": "bun --cwd apps/site build",
"preview:web": "vite preview --config apps/web/vite.config.ts --host 127.0.0.1 --port 4173",
"preview:site": "bun --cwd apps/site preview",
"typecheck": "tsc -p tsconfig.json --noEmit",
"typecheck:mobile": "bun run --cwd apps/mobile typecheck",
"test:restore-deleted-notebook": "bun scripts/test-restore-deleted-notebook.mjs",
"test:mcp": "bun scripts/test-mcp.mjs",
"db:migrate:local": "EDGE_EVER_INSTANCE= bun scripts/run-wrangler.mjs d1 migrations apply DB --local",
"db:migrate:remote": "bun scripts/run-wrangler.mjs d1 migrations apply DB --remote",
"auth:hash": "bun scripts/hash-password.mjs",
"auth:reset-password": "bun scripts/reset-password.mjs",
"cli": "bun scripts/edgeever.mjs",
"import:evernote": "bun scripts/import-evernote-enex-via-mcp.mjs",
"mcp:stdio": "bun scripts/edgeever-mcp-stdio.mjs",
"deploy:doctor": "bun scripts/cloudflare-deploy.mjs doctor",
"deploy:setup": "bun scripts/cloudflare-deploy.mjs setup",
"deploy": "bun run build:cloudflare && EDGE_EVER_USE_EXISTING_AUTH_SECRET=true bun run deploy:ci",
"deploy:manual": "export EDGE_EVER_DEPLOYMENT_TRIGGER=manual EDGE_EVER_DEPLOYMENT_METHOD=local_cli && bun run deploy:doctor && bun run build:cloudflare && bun run deploy:ci",
"deploy:ci": "bun run db:migrate:remote && bun run deploy:worker && bun run deploy:verify",
"deploy:worker": "bun scripts/run-wrangler.mjs deploy",
"deploy:cloudflare-builds": "bun run deploy:ci",
"deploy:verify": "bun scripts/verify-deployment.mjs",
"demo:sync": "bun scripts/sync-demo.mjs",
"deploy:builds:setup": "bun scripts/cloudflare-workers-builds.mjs setup",
"deploy:site": "bun run build:site && wrangler pages deploy apps/site/dist --project-name=edgeever-official"
},
"cloudflare": {
"bindings": {
"DB": {
"description": "EdgeEver 的 D1 数据库。用于存储 notebooks、memos、memo_contents、resources 元数据、全文搜索索引、修订记录和审计事件。"
},
"RESOURCES": {
"description": "EdgeEver 的 R2 对象存储桶。用于存储笔记内图片、附件和未来导入导出文件;D1 只保存资源元数据和 memo 关联。"
},
"EDGE_EVER_AUTH_PASSWORD": {
"description": "首次登录密码,必填。请设置一个仅用于此实例的强密码;部署后可在个人设置中修改。"
},
"EDGE_EVER_AUTH_USERNAME": {
"description": "管理员登录用户名,默认值为 admin;高级用户可以改成自定义用户名。"
},
"EDGE_EVER_STORAGE_ENCRYPTION_KEY": {
"description": "可选。启用高级设置中的第三方 OSS 时必填,用于加密保存在 D1 中的对象存储访问密钥。"
}
}
},
"dependencies": {
"@aws-sdk/client-s3": "^3.1095.0",
"@edgeever/shared": "workspace:*",
"@hono/zod-validator": "latest",
"@radix-ui/react-checkbox": "^1.3.5",
"@radix-ui/react-collapsible": "^1.1.15",
"@radix-ui/react-context-menu": "^2.3.1",
"@radix-ui/react-dialog": "^1.1.17",
"@radix-ui/react-dropdown-menu": "^2.1.18",
"@radix-ui/react-select": "^2.3.1",
"@radix-ui/react-slot": "^1.3.0",
"@radix-ui/react-switch": "^1.3.1",
"@radix-ui/react-toggle-group": "^1.1.13",
"@radix-ui/react-tooltip": "^1.2.10",
"@tanstack/react-query": "latest",
"@tiptap/core": "3.27.1",
"@tiptap/extension-image": "^3.27.1",
"@tiptap/extension-placeholder": "latest",
"@tiptap/extension-table": "3.27.1",
"@tiptap/react": "latest",
"@tiptap/starter-kit": "latest",
"aws4fetch": "^1.0.20",
"class-variance-authority": "latest",
"clsx": "latest",
"cmdk": "^1.1.1",
"dexie": "latest",
"fast-xml-parser": "^5.9.3",
"fflate": "^0.8.3",
"hono": "latest",
"i18next": "^26.3.4",
"lucide-react": "latest",
"marked": "^18.0.5",
"react": "latest",
"react-dom": "latest",
"react-dropzone": "^15.0.0",
"react-i18next": "^17.0.8",
"react-router": "^8.1.0",
"sharp": "^0.35.2",
"tailwind-merge": "latest",
"tailwindcss-animate": "^1.0.7",
"turndown": "^7.2.4",
"vaul": "^1.1.2",
"webdav": "^5.10.0",
"workbox-window": "^7.4.1",
"yet-another-react-lightbox": "^3.32.0",
"zod": "latest"
},
"devDependencies": {
"@cloudflare/workers-types": "latest",
"@electron/asar": "3.4.1",
"@types/marked": "^6.0.0",
"@types/node": "latest",
"@types/react": "latest",
"@types/react-dom": "latest",
"@types/turndown": "^5.0.6",
"@vitejs/plugin-react": "latest",
"autoprefixer": "latest",
"concurrently": "latest",
"fake-indexeddb": "^6.2.5",
"postcss": "latest",
"tailwindcss": "^3.4.17",
"typescript": "latest",
"vite": "latest",
"vite-plugin-pwa": "^1.3.0",
"wrangler": "^4.112.0"
},
"patchedDependencies": {
"mermaid@11.16.0": "patches/mermaid@11.16.0.patch"
}
}