Files
XCDesktop/package.json

147 lines
4.3 KiB
JSON
Raw Normal View History

2026-03-08 01:34:54 +08:00
{
"name": "xcdesktop",
2026-03-08 01:34:54 +08:00
"version": "0.0.0",
"description": "一站式 AI 工作台 - 集成笔记管理、时间追踪、任务管理、AI 辅助等多种功能",
2026-03-08 01:34:54 +08:00
"keywords": [
"markdown",
"note",
"笔记",
"electron",
"react",
"typescript",
"时间追踪",
"任务管理"
],
"author": "Your Name",
"repository": {
"type": "git",
"url": "https://github.com/your-username/xcdesktop.git"
2026-03-08 01:34:54 +08:00
},
"private": true,
"main": "dist-electron/main.js",
"type": "module",
"scripts": {
"client:dev": "vite",
"build": "tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.api.json && vite build",
"lint": "eslint .",
"preview": "vite preview",
"check": "tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.api.json",
"test": "vitest",
"test:ui": "vitest --ui",
"test:coverage": "vitest --coverage",
"test:run": "vitest run",
"server:dev": "nodemon",
"dev": "concurrently \"npm run client:dev\" \"npm run server:dev\"",
"watch:electron": "tsup --config tsup.electron.ts --watch",
"electron:dev": "concurrently -k \"npm run server:dev\" \"npm run client:dev\" \"wait-on tcp:3001 tcp:5173 && npm run watch:electron\"",
"build:electron": "tsup --config tsup.electron.ts",
"build:api": "tsup electron/server.ts --format esm --out-dir dist-api --clean --target esnext --external electron",
2026-03-08 01:34:54 +08:00
"electron:build": "npm run build && npm run build:electron && npm run build:api && electron-builder"
},
"dependencies": {
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@milkdown/core": "^7.18.0",
"@milkdown/plugin-block": "^7.18.0",
"@milkdown/plugin-history": "^7.18.0",
"@milkdown/plugin-listener": "^7.18.0",
"@milkdown/plugin-math": "^7.5.9",
"@milkdown/plugin-prism": "^7.18.0",
"@milkdown/preset-commonmark": "^7.18.0",
"@milkdown/preset-gfm": "^7.18.0",
"@milkdown/react": "^7.18.0",
"@opencode-ai/sdk": "^1.2.26",
"@radix-ui/react-alert-dialog": "^1.1.15",
"@radix-ui/react-slot": "^1.2.4",
2026-03-08 01:34:54 +08:00
"@types/jszip": "^3.4.0",
"@types/multer": "^2.0.0",
"@types/prismjs": "^1.26.5",
"axios": "^1.13.5",
"chokidar": "^5.0.0",
"class-variance-authority": "^0.7.1",
2026-03-08 01:34:54 +08:00
"clsx": "^2.1.1",
"cors": "^2.8.5",
"dotenv": "^17.2.1",
"electron-log": "^5.4.3",
"express": "^4.21.2",
"form-data": "^4.0.5",
2026-03-08 01:34:54 +08:00
"github-slugger": "^2.0.0",
"jszip": "^3.10.1",
"lucide-react": "^0.511.0",
"multer": "^2.0.2",
"prismjs": "^1.30.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-router-dom": "^7.3.0",
"recharts": "^3.7.0",
"remark-breaks": "^4.0.0",
"tailwind-merge": "^3.5.0",
2026-03-08 01:34:54 +08:00
"zod": "^4.3.6",
"zustand": "^5.0.11"
},
"devDependencies": {
"@eslint/js": "^9.25.0",
"@tailwindcss/typography": "^0.5.19",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
"@types/cors": "^2.8.19",
"@types/express": "^4.17.21",
"@types/node": "^22.19.13",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"@vercel/node": "^5.3.6",
"@vitejs/plugin-react": "^4.4.1",
"@vitest/ui": "^4.0.18",
"autoprefixer": "^10.4.21",
"babel-plugin-react-dev-locator": "^1.0.0",
"concurrently": "^9.2.0",
"electron": "^40.2.1",
"electron-builder": "^26.7.0",
"eslint": "^9.25.0",
"eslint-plugin-react-hooks": "^5.2.0",
"eslint-plugin-react-refresh": "^0.4.19",
"globals": "^16.0.0",
"happy-dom": "^20.7.0",
"jsdom": "^28.1.0",
"nodemon": "^3.1.10",
"postcss": "^8.5.3",
"tailwindcss": "^3.4.17",
"tsup": "^8.5.1",
"tsx": "^4.20.3",
"typescript": "~5.8.3",
"typescript-eslint": "^8.30.1",
"vite": "^6.3.5",
"vite-tsconfig-paths": "^5.1.4",
"vitest": "^4.0.18",
"wait-on": "^9.0.3"
},
"build": {
"appId": "com.xcdesktop.app",
"productName": "XCDesktop",
2026-03-08 01:34:54 +08:00
"directories": {
"output": "release"
},
"files": [
"dist/**/*",
"dist-electron/**/*",
"dist-api/**/*",
"shared/**/*",
"tools/**/*",
"services/**/*",
2026-03-08 01:34:54 +08:00
"package.json"
],
"asarUnpack": [
"tools/**/*",
"services/**/*"
2026-03-08 01:34:54 +08:00
],
"win": {
"target": "nsis"
},
"nsis": {
"oneClick": false,
"allowToChangeInstallationDirectory": true
}
}
}