{ "name": "receipt-studio", "version": "1.0.2", "private": true, "description": "离线收据生成与批量打印工具", "author": "Receipt Studio", "license": "UNLICENSED", "main": "dist/main/index.cjs", "scripts": { "dev": "node scripts/dev.mjs", "typecheck": "vue-tsc --noEmit && tsc -p tsconfig.main.json --noEmit", "build": "npm run typecheck && vite build && node scripts/build-main.mjs", "test": "vitest run", "test:desktop": "node scripts/desktop-test.mjs", "test:loading": "node scripts/loading-test.mjs", "test:history": "node scripts/history-pagination-test.mjs", "test:print": "node scripts/print-batch-test.mjs", "start": "electron .", "package": "npm run build && electron-builder --win nsis --x64", "package:dir": "npm run build && electron-builder --win dir --x64", "test:package": "node scripts/package-test.mjs" }, "dependencies": { "@lucide/vue": "^1.58.0", "exceljs": "^4.4.0", "pdf-lib": "^1.17.1", "pdfjs-dist": "^5.4.149", "reka-ui": "^2.11.0", "sql.js": "^1.13.0", "vue": "^3.5.22", "zod": "^4.1.12" }, "devDependencies": { "@playwright/test": "^1.56.0", "@types/node": "^22.18.10", "@types/sql.js": "^1.4.9", "@vitejs/plugin-vue": "^6.0.1", "electron": "^42.0.0", "electron-builder": "^26.0.12", "esbuild": "^0.25.11", "pngjs": "^7.0.0", "typescript": "^5.9.3", "vite": "^7.1.10", "vitest": "^3.2.4", "vue-tsc": "^3.1.1" }, "build": { "appId": "cn.receiptstudio.desktop", "productName": "收据工坊", "directories": { "output": "release" }, "files": [ "dist/**/*", "!dist/**/*.map", "package.json", "!node_modules/**/*" ], "asar": true, "win": { "target": [ { "target": "nsis", "arch": [ "x64" ] } ], "icon": "build/icon.ico", "signExecutable": false }, "nsis": { "oneClick": false, "perMachine": false, "allowToChangeInstallationDirectory": true, "createDesktopShortcut": true, "deleteAppDataOnUninstall": false, "artifactName": "ReceiptStudio-${version}-win-x64-setup.${ext}" }, "electronDist": "node_modules/electron/dist" }, "engines": { "node": ">=22.13.0" } }