108 lines
3.0 KiB
JSON
108 lines
3.0 KiB
JSON
{
|
|
"name": "laundry-desk",
|
|
"version": "0.1.0",
|
|
"description": "单店单机 Windows 桌面洗衣店柜台管理系统",
|
|
"main": "./out/main/index.js",
|
|
"author": "manpengan",
|
|
"scripts": {
|
|
"format": "prettier --write .",
|
|
"lint": "eslint . --ext .js,.jsx,.ts,.tsx",
|
|
"typecheck:node": "tsc --noEmit -p tsconfig.node.json",
|
|
"typecheck:web": "tsc --noEmit -p tsconfig.web.json",
|
|
"typecheck": "npm run typecheck:node && npm run typecheck:web",
|
|
"start": "electron-vite preview",
|
|
"dev": "electron-vite dev",
|
|
"build": "npm run typecheck && electron-vite build",
|
|
"postinstall": "electron-builder install-app-deps",
|
|
"build:unpack": "npm run build && electron-builder --dir",
|
|
"build:win": "npm run build && electron-builder --win --x64",
|
|
"test": "vitest",
|
|
"test:e2e": "playwright test"
|
|
},
|
|
"build": {
|
|
"appId": "com.laundry-desk",
|
|
"productName": "Hongfa Laundry",
|
|
"directories": {
|
|
"output": "dist"
|
|
},
|
|
"files": [
|
|
"out/**/*",
|
|
"package.json"
|
|
],
|
|
"asarUnpack": [
|
|
"**/*.node"
|
|
],
|
|
"win": {
|
|
"icon": "build/icon.ico",
|
|
"target": [
|
|
"nsis"
|
|
]
|
|
},
|
|
"nsis": {
|
|
"include": "build/installer.nsh",
|
|
"oneClick": false,
|
|
"allowToChangeInstallationDirectory": true,
|
|
"createDesktopShortcut": true,
|
|
"createStartMenuShortcut": true,
|
|
"shortcutName": "Hongfa Laundry"
|
|
},
|
|
"publish": [
|
|
{
|
|
"provider": "github",
|
|
"owner": "manpengan",
|
|
"repo": "laundry-desk"
|
|
}
|
|
]
|
|
},
|
|
"dependencies": {
|
|
"@electron-toolkit/preload": "^3.0.2",
|
|
"@electron-toolkit/utils": "^4.0.0",
|
|
"@radix-ui/react-slot": "^1.2.4",
|
|
"archiver": "^7.0.1",
|
|
"better-sqlite3": "^12.9.0",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"drizzle-orm": "^0.45.2",
|
|
"electron-pos-printer": "^1.1.0",
|
|
"exceljs": "^4.4.0",
|
|
"framer-motion": "^11.0.0",
|
|
"lucide-react": "^0.400.0",
|
|
"node-cron": "^4.2.1",
|
|
"react": "^19.0.0",
|
|
"react-dom": "^19.0.0",
|
|
"react-router-dom": "^7.0.0",
|
|
"recharts": "^3.8.1",
|
|
"tailwind-merge": "^2.3.0",
|
|
"tencentcloud-sdk-nodejs-sms": "^4.0.0",
|
|
"zod": "^4.3.6",
|
|
"zustand": "^4.5.0"
|
|
},
|
|
"devDependencies": {
|
|
"@electron-toolkit/eslint-config-prettier": "^2.0.0",
|
|
"@electron-toolkit/eslint-config-ts": "^2.0.0",
|
|
"@electron-toolkit/tsconfig": "^1.0.1",
|
|
"@playwright/test": "^1.59.1",
|
|
"@tailwindcss/vite": "^4.2.4",
|
|
"@types/archiver": "^7.0.0",
|
|
"@types/better-sqlite3": "^7.6.0",
|
|
"@types/node": "^20.0.0",
|
|
"@types/node-cron": "^3.0.11",
|
|
"@types/react": "^19.0.0",
|
|
"@types/react-dom": "^19.0.0",
|
|
"@vitejs/plugin-react": "^4.3.0",
|
|
"autoprefixer": "^10.4.0",
|
|
"drizzle-kit": "^0.31.10",
|
|
"electron": "^41.3.0",
|
|
"electron-builder": "^24.13.0",
|
|
"electron-vite": "^2.3.0",
|
|
"eslint": "^8.57.0",
|
|
"eslint-plugin-react": "^7.34.0",
|
|
"postcss": "^8.4.0",
|
|
"prettier": "^3.3.0",
|
|
"tailwindcss": "^4.0.0",
|
|
"typescript": "^5.5.0",
|
|
"vite": "^5.3.0",
|
|
"vitest": "^1.6.0"
|
|
}
|
|
}
|