Files
edgeever/package.json
T

171 lines
9.7 KiB
JSON

{
"name": "edgeever",
"version": "1.14.1",
"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:brand:icons": "bun scripts/trace-brand-icon.mjs && bun scripts/prepare-brand-icons.mjs",
"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",
"test:e2e": "playwright test",
"test:e2e:install": "playwright install chromium",
"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",
"typecheck:ios-editor": "bun run --cwd apps/ios/EditorSource 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",
"katex": "0.16.22",
"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",
"@playwright/test": "^1.62.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"
}
}