{ "name": "fromchat", "private": true, "version": "0.0.0", "type": "module", "main": "frontend/build/electron/core/main.js", "description": "A 100% Open Source Messenger", "license": "GPL-3.0", "authors": "denis0001-dev", "scripts": { "backend:run": "bash ./scripts/backend:run.sh", "backend:dependencies": "python3 -m venv .venv && ./.venv/bin/pip3 install -r backend/requirements.txt", "backend:reinstall": "rm -rf .venv && npm run backend:dependencies", "backend:clean": "rm -rf backend/data", "frontend:dev": "dotenv -e deployment/.env -- vite frontend", "frontend:typecheck": "tsc --project frontend", "frontend:build": "npm run frontend:typecheck && dotenv -e deployment/.env -- vite build frontend", "frontend:electron:dev": "VITE_ELECTRON=true npm run frontend:dev", "frontend:electron:build": "VITE_ELECTRON=true npm run frontend:build && rm -rf out && electron-forge make --force --arch arm64,x64", "frontend:preview": "vite preview frontend", "frontend:dependencies": "npm install --ignore-scripts", "frontend:clean": "rm -rf frontend/dist", "dev": "concurrently 'npm run frontend:dev' 'npm run backend:run'", "dev:electron": "concurrently 'npm run frontend:electron:dev' 'npm run backend:run'", "build:electron": "npm run frontend:electron:build", "build": "npm run frontend:build && npm run build:electron", "preview": "cd deployment && docker compose up --build --watch", "preview:clean": "cd deployment && docker compose down -v --remove-orphans", "clean": "npm run backend:clean && npm run frontend:clean && npm run preview:clean", "install": "npm run backend:dependencies && if [[ ! -f deployment/.env ]]; then npm run generate:env; fi && npm run install:pussh", "install:pussh": "bash ./scripts/install:pussh.sh", "prepare": "husky", "generate:env": "bash ./scripts/generate:env.sh", "deploy": "dotenv -e deployment/.env -- bash ./scripts/deploy.sh" }, "files": [ "frontend/build/electron" ], "devDependencies": { "@electron-forge/cli": "^7.9.0", "@electron-forge/maker-deb": "^7.9.0", "@electron-forge/maker-dmg": "^7.9.0", "@electron-forge/maker-rpm": "^7.9.0", "@electron-forge/maker-squirrel": "^7.9.0", "@electron-forge/maker-zip": "^7.9.0", "@electron-forge/plugin-auto-unpack-natives": "^7.9.0", "@electron-forge/plugin-fuses": "^7.9.0", "@electron/fuses": "^1.0.0", "@types/he": "^1.2.3", "@types/react": "^19.1.13", "@types/react-dom": "^19.1.9", "@vitejs/plugin-react": "^5.0.3", "autoprefixer": "^10.4.21", "concurrently": "^9.2.1", "dotenv-cli": "^11.0.0", "electron": "^39.2.7", "husky": "^9.1.7", "postcss": "^8.5.6", "rollup-plugin-visualizer": "^6.0.4", "sass-embedded": "^1.93.0", "svgo": "^4.0.0", "terser": "^5.44.0", "typescript": "~5.9.2", "vite": "^7.1.6", "vite-plugin-electron": "^0.29.0", "vite-plugin-electron-renderer": "^0.14.6", "vite-plugin-html": "^3.2.2", "vite-plugin-sass-dts": "^1.3.34" }, "workspaces": [ "frontend/packages/fromchat-protocol" ], "dependencies": { "@fromchat/protocol": "workspace:*", "electron-squirrel-startup": "^1.0.1", "escape-string-regexp": "^5.0.0", "he": "^1.2.0", "idb": "^8.0.3", "marked": "^17.0.1", "mdui": "^2.1.4", "motion": "^12.23.24", "react": "^19.1.1", "react-dom": "^19.1.1", "react-router-dom": "^7.9.3", "tweetnacl": "^1.0.3", "use-immer": "^0.11.0", "zustand": "^5.0.8" }, "config": { "forge": "frontend/forge.config.ts" } }