134 lines
6.0 KiB
JSON
134 lines
6.0 KiB
JSON
{
|
|
"name": "edgeever",
|
|
"version": "1.5.14",
|
|
"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: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:mobile": "bun --cwd apps/mobile expo start",
|
|
"prepare:mobile:icons": "bun scripts/prepare-mobile-icons.mjs",
|
|
"build:android:fast": "bash scripts/build-android-local.sh 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",
|
|
"dev:extension": "vite --config apps/extension/vite.config.ts",
|
|
"build:web": "vite build --config apps/web/vite.config.ts",
|
|
"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",
|
|
"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",
|
|
"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": "首次登录密码,必填。请设置一个仅用于此实例的强密码;部署后可在个人设置中修改。"
|
|
}
|
|
}
|
|
},
|
|
"dependencies": {
|
|
"@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",
|
|
"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",
|
|
"workbox-window": "^7.4.1",
|
|
"yet-another-react-lightbox": "^3.32.0",
|
|
"zod": "latest"
|
|
},
|
|
"devDependencies": {
|
|
"@cloudflare/workers-types": "latest",
|
|
"@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"
|
|
}
|
|
}
|