{ "name": "gerbil", "productName": "Gerbil", "version": "1.7.5", "description": "Run Large Language Models locally", "main": "out/main/index.js", "homepage": "./", "engines": { "node": ">=22.0.0", "yarn": "^4.0.0" }, "packageManager": "yarn@4.10.3", "scripts": { "dev": "electron-vite dev", "build": "electron-vite build", "package": "electron-vite build && electron-builder --publish=never", "analyze": "cross-env ANALYZE=true electron-vite build && yarn dlx open-cli dist/stats.html", "format": "prettier --write . --ignore-path .gitignore | grep -v '(unchanged)' || true", "lint": "eslint .", "lint:fix": "eslint . --fix", "compile": "tsc --noEmit", "test": "yarn lint && yarn compile", "release": "yarn dlx tsx scripts/release.ts" }, "keywords": [ "llm", "ai", "local-ai", "language-model", "koboldcpp", "electron", "privacy", "offline" ], "author": { "name": "lone-cloud", "email": "hoboman313@proton.me" }, "license": "AGPL-3.0-or-later", "devDependencies": { "@eslint/js": "^9.38.0", "@types/node": "^24.9.1", "@types/react": "^19.2.2", "@types/react-dom": "^19.2.2", "@types/yauzl": "^2.10.3", "@typescript-eslint/eslint-plugin": "^8.46.2", "@typescript-eslint/parser": "^8.46.2", "@vitejs/plugin-react": "^5.1.0", "cross-env": "^10.1.0", "electron": "^38.4.0", "electron-builder": "^26.0.12", "electron-vite": "^4.0.1", "eslint": "^9.38.0", "eslint-plugin-import": "^2.32.0", "eslint-plugin-no-comments": "^1.1.10", "eslint-plugin-promise": "^7.2.1", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.0.1", "eslint-plugin-sonarjs": "^3.0.5", "globals": "^16.4.0", "jiti": "^2.6.1", "prettier": "^3.6.2", "rollup-plugin-visualizer": "^6.0.5", "typescript": "^5.9.3", "vite": "^7.1.12" }, "dependencies": { "@codemirror/search": "^6.5.11", "@codemirror/theme-one-dark": "^6.1.3", "@codemirror/view": "^6.38.6", "@fontsource/inter": "^5.2.8", "@huggingface/gguf": "^0.3.2", "@mantine/core": "^8.3.5", "@mantine/hooks": "^8.3.5", "@uiw/react-codemirror": "^4.25.2", "electron-updater": "^6.6.2", "execa": "^9.6.0", "lucide-react": "^0.548.0", "react": "^19.2.0", "react-dom": "^19.2.0", "react-error-boundary": "^6.0.0", "systeminformation": "^5.27.11", "winston": "^3.18.3", "winston-daily-rotate-file": "^5.0.0", "yauzl": "^3.2.0", "zustand": "^5.0.8" }, "build": { "appId": "com.gerbil.app", "productName": "Gerbil", "compression": "normal", "publish": { "provider": "github", "owner": "lone-cloud", "repo": "gerbil" }, "electronLanguages": [ "en-US" ], "directories": { "output": "release" }, "files": [ "out/**/*", "dist/**/*" ], "extraFiles": [ { "from": "assets/kcpp_sdui.embd", "to": "assets/kcpp_sdui.embd" } ], "extraResources": [ { "from": "src/assets/icon.png", "to": "icon.png" } ], "mac": { "compression": "maximum", "category": "public.app-category.productivity", "icon": "assets/icon.icns", "hardenedRuntime": true, "gatekeeperAssess": false, "entitlements": "assets/entitlements.mac.plist", "entitlementsInherit": "assets/entitlements.mac.plist", "extraFiles": [ { "from": "assets/entitlements.mac.plist", "to": "assets/entitlements.mac.plist" } ], "target": [ { "target": "dmg", "arch": [ "arm64" ] } ] }, "win": { "compression": "normal", "icon": "assets/icon.ico", "target": [ { "target": "nsis", "arch": [ "x64" ] }, { "target": "portable", "arch": [ "x64" ] } ] }, "nsis": { "artifactName": "${productName}-Setup-${version}.${ext}", "oneClick": false, "allowToChangeInstallationDirectory": true, "createDesktopShortcut": true, "createStartMenuShortcut": true, "shortcutName": "Gerbil" }, "portable": { "artifactName": "${productName}-Portable-${version}.${ext}" }, "linux": { "compression": "store", "category": "Utility", "icon": "src/assets/icon.png", "extraFiles": [ { "from": "assets/gerbil.desktop", "to": "assets/gerbil.desktop" } ], "target": [ { "target": "AppImage", "arch": [ "x64" ] } ] } } }