{ "name": "xcdesktop", "version": "0.0.0", "description": "一站式 AI 工作台 - 集成笔记管理、时间追踪、任务管理、AI 辅助等多种功能", "keywords": [ "markdown", "note", "笔记", "electron", "react", "typescript", "时间追踪", "任务管理" ], "author": "Your Name", "repository": { "type": "git", "url": "https://github.com/your-username/xcdesktop.git" }, "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", "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", "@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", "clsx": "^2.1.1", "cors": "^2.8.5", "dotenv": "^17.2.1", "electron-log": "^5.4.3", "express": "^4.21.2", "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", "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", "directories": { "output": "release" }, "files": [ "dist/**/*", "dist-electron/**/*", "dist-api/**/*", "shared/**/*", "tools/**/*", "services/**/*", "package.json" ], "asarUnpack": [ "tools/**/*", "services/**/*" ], "win": { "target": "nsis" }, "nsis": { "oneClick": false, "allowToChangeInstallationDirectory": true } } }