{ "name": "corner", "description": "Secure boilerplate for Electron app based on Vite", "private": true, "engines": { "node": ">=v16.13", "npm": ">=8.1" }, "author": { "email": "kozackunisoft@gmail.com", "name": "Alex Kozack", "url": "https://kozack.me" }, "main": "packages/main/dist/index.cjs", "scripts": { "build": "npm run build:main && npm run build:preload && npm run build:renderer && npm run build:server", "build:main": "cd ./packages/main && vite build", "build:preload": "cd ./packages/preload && vite build", "build:renderer": "cd ./packages/renderer && vite build", "build:server": "cd ./packages/server && vite build", "compile": "cross-env MODE=production npm run build && electron-builder build --config .electron-builder.config.js --dir --config.asar=false", "test": "npm run test:main && npm run test:preload && npm run test:renderer && npm run test:e2e && npm run test:server", "test:e2e": "vitest run", "test:main": "vitest run -r packages/main --passWithNoTests", "test:preload": "vitest run -r packages/preload --passWithNoTests", "test:renderer": "vitest run -r packages/renderer --passWithNoTests", "test:server": "vitest run -r packages/server --passWithNoTests", "watch": "node scripts/watch.js", "lint": "eslint . --ext js,ts,tsx", "typecheck:main": "tsc --noEmit -p packages/main/tsconfig.json", "typecheck:preload": "tsc --noEmit -p packages/preload/tsconfig.json", "typecheck:renderer": "vue-tsc --noEmit -p packages/renderer/tsconfig.json", "typecheck:server": "tsc --noEmit -p packages/server/tsconfig.json", "typecheck": "npm run typecheck:main && npm run typecheck:preload && npm run typecheck:renderer && npm run typecheck:server", "postinstall": "cross-env ELECTRON_RUN_AS_NODE=1 npx --no-install electron ./scripts/update-electron-vendors.js ", "cordova": "cordova" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "5.30.6", "@vitejs/plugin-vue": "3.0.0", "@vue/test-utils": "2.0.2", "cross-env": "7.0.3", "electron": "19.0.8", "electron-builder": "23.1.0", "electron-devtools-installer": "3.2.0", "eslint": "8.20.0", "eslint-plugin-vue": "9.2.0", "happy-dom": "6.0.4", "nano-staged": "0.8.0", "playwright": "1.23.4", "typescript": "4.7.4", "unplugin-auto-expose": "0.0.1", "vite": "3.0.0", "vitest": "0.18.1", "vue-tsc": "0.38.8" }, "dependencies": { "@types/express": "^4.17.13", "@types/express-ws": "^3.0.1", "@types/mysql": "^2.15.21", "@types/qrcode": "^1.4.2", "@types/react": "^18.0.15", "@types/react-dom": "^18.0.6", "@types/react-timeago": "^4.1.3", "@types/tmp": "^0.2.3", "@types/totp-generator": "^0.0.4", "@types/uuid": "^8.3.4", "@types/ws": "^8.5.3", "@vitejs/plugin-react": "^2.0.0", "chalk": "^4.1.2", "cordova": "^11.0.0", "electron-updater": "5.0.5", "eslint-plugin-react": "^7.30.1", "express": "^4.18.1", "express-ws": "^5.0.2", "fs-extra": "^10.1.0", "get-port": "^6.1.2", "local-storage": "^2.0.0", "mysql": "^2.18.1", "peerjs": "^1.4.6", "qrcode": "^1.5.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-icons": "^4.4.0", "react-spinners": "^0.13.4", "react-time-ago": "^7.2.1", "react-timeago": "^7.1.0", "react-toastify": "^9.0.8", "reactjs-popup": "^2.0.5", "tmp": "^0.2.1", "totp-generator": "^0.0.13", "uuid": "^8.3.2", "vue": "3.2.37", "ws": "^8.8.1" } }