{
"name": "5ire",
"productName": "5ire",
"version": "0.15.4",
"description": "A Sleek Desktop AI Assistant & MCP Client",
"main": "src/main/main.ts",
"repository": "https://github.com/nanbingxyz/5ire.git",
"author": {
"name": "Ironben",
"email": "support@5ire.app",
"url": "https://5ire.app"
},
"license": "Modified Apache-2.0",
"scripts": {
"postinstall": "patch-package && node ./node_modules/electron/install.js && npm run install:deps",
"install:deps": "electron-builder install-app-deps",
"lint": "biome check --write .",
"test": "jest",
"prepare": "husky",
"format": "biome format --write .",
"check": "tsc --noEmit",
"build": "npm run install:deps && rsbuild build",
"build:watch": "npm run install:deps && rsbuild dev",
"dev:build": "rsbuild dev",
"dev:start": "npx wait-on http-get://127.0.0.1:33077 file:./output/nodemon.json && cd ./output && npx nodemon",
"dev": "rimraf ./output/ && concurrently -n R,E -c cyan,magenta \"npm run dev:build\" \"npm run dev:start\"",
"package": "rimraf ./release && tsx ./scripts/package/index.ts",
"package:publish": "rimraf ./release && tsx ./scripts/package/index.ts --publish",
"generate:drizzle": "drizzle-kit generate"
},
"jest": {
"preset": "ts-jest",
"moduleDirectories": [
"node_modules",
"release/app/node_modules",
"src",
"test"
],
"moduleFileExtensions": [
"js",
"jsx",
"ts",
"tsx",
"json"
],
"moduleNameMapper": {
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/.erb/mocks/fileMock.js",
"\\.(css|less|sass|scss)$": "identity-obj-proxy",
"electron": "<rootDir>/test/mocks/electron.js",
"electron-log": "<rootDir>/test/mocks/electron-log.js",
"env.js": "<rootDir>/node_modules/@xenova/transformers/src/env.test.js"
},
"setupFiles": [
"./.erb/scripts/check-build-exists.ts"
],
"testEnvironment": "node",
"testEnvironmentOptions": {
"url": "http://localhost/"
},
"testPathIgnorePatterns": [
"release/app/dist",
".erb/dll"
],
"transform": {
"^.+\\.(ts|tsx|js|jsx)$": "ts-jest"
}
},
"dependencies": {
"@axiomhq/js": "^1.0.0-rc.1",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/modifiers": "^9.0.0",
"@electric-sql/pglite": "^0.3.11",
"@fluentui-contrib/react-data-grid-react-window": "^1.0.2",
"@fluentui/react-components": "^9.58.3",
"@fluentui/react-datepicker-compat": "^0.4.6",
"@fluentui/react-icons": "^2.0.223",
"@lancedb/lancedb": "^0.14.1",
"@modelcontextprotocol/sdk": "^1.17.1",
"@postlight/parser": "^2.2.3",
"@sentry/electron": "^4.7.0",
"@sentry/react": "^7.74.0",
"@supabase/supabase-js": "^2.38.5",
"@xenova/transformers": "^2.17.2",
"apache-arrow": "18.0.0",
"better-sqlite3": "^12.4.1",
"catch-unknown": "^2.0.0",
"classnames": "^2.5.1",
"clipboard": "^2.0.11",
"clsx": "^2.1.1",
"data-uri-to-buffer": "^6.0.2",
"dompurify": "^3.2.5",
"drizzle-orm": "^0.44.7",
"echarts": "^5.4.2",
"electron-debug": "^3.2.0",
"electron-devtools-installer": "^3.2.0",
"electron-log": "^4.4.8",
"electron-store": "^8.1.0",
"electron-updater": "^5.3.0",
"file-loader": "^6.2.0",
"file-type": "16.5.3",
"fix-path": "^4.0.0",
"highlight.js": "^11.8.0",
"https-proxy-agent": "^7.0.6",
"i18next": "^23.2.3",
"i18next-browser-languagedetector": "^7.1.0",
"i18next-resources-to-backend": "^1.1.4",
"identity-obj-proxy": "^3.0.0",
"immer": "^10.0.2",
"js-big-decimal": "^2.0.4",
"json5": "^2.2.3",
"katex": "^0.16.22",
"llama-tokenizer-js": "^1.2.1",
"llama3-tokenizer-js": "^1.0.0",
"lodash": "^4.17.21",
"magic-bytes.js": "^1.12.1",
"markdown-it": "^13.0.1",
"markdown-it-emoji": "^3.0.0",
"markdown-it-mathjax3": "^4.3.2",
"markdown-it-mermaid": "^0.2.5",
"markdown-it-texmath": "^1.0.0",
"memoizee": "^0.4.17",
"mitt": "^3.0.1",
"mousetrap": "^1.6.5",
"msgpackr": "^1.11.5",
"node-abi": "^3.65.0",
"officeparser": "^5.1.1",
"pdf-parse": "^2.4.5",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-error-boundary": "^6.0.0",
"react-hotkeys-hook": "^4.4.1",
"react-i18next": "^13.0.1",
"react-router-dom": "^6.11.2",
"split-pane-react": "^0.1.3",
"suspend-react": "^0.1.3",
"swr": "^2.2.0",
"tiktoken": "^1.0.10",
"ts-key-enum": "^2.0.12",
"ts-pattern": "^5.9.0",
"typeid-js": "^0.3.0",
"valid-url": "^1.0.9",
"zustand": "^4.3.9"
},
"devDependencies": {
"@biomejs/biome": "^2.2.7",
"@electron/notarize": "^1.2.3",
"@electron/rebuild": "^3.2.13",
"@rsbuild/core": "^1.5.17",
"@rsbuild/plugin-react": "^1.4.1",
"@rsbuild/plugin-sass": "^1.4.0",
"@rsdoctor/rspack-plugin": "^1.3.11",
"@tailwindcss/postcss": "^4.1.16",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^14.0.0",
"@types/better-sqlite3": "^7.6.11",
"@types/i18next-node-fs-backend": "^2.1.2",
"@types/jest": "^29.5.2",
"@types/lodash": "^4.14.195",
"@types/memoizee": "^0.4.12",
"@types/mockery": "^1.4.33",
"@types/mousetrap": "^1.6.15",
"@types/node": "^20.2.5",
"@types/node-fetch": "^2.6.12",
"@types/react": "^18.2.8",
"@types/react-dom": "^18.2.4",
"@types/valid-url": "^1.0.4",
"autoprefixer": "^10.4.14",
"chalk": "^4.1.2",
"concurrently": "^8.1.0",
"cross-env": "^7.0.3",
"debug": "^4.3.4",
"detect-port": "^1.5.1",
"dotenv": "^16.4.5",
"drizzle-kit": "^0.31.6",
"electron": "31.7.1",
"electron-builder": "^24.6.3",
"husky": "^9.1.7",
"jest": "^29.5.0",
"jest-environment-jsdom": "^29.5.0",
"lint-staged": "^15.5.0",
"patch-package": "^8.0.1",
"postcss": "^8.4.24",
"rimraf": "^5.0.1",
"tailwindcss": "^4.1.16",
"ts-jest": "^29.1.0",
"tsx": "^4.19.2",
"typescript": "^5.1.3"
},
"engines": {
"node": ">=16.x",
"npm": ">=7.x"
},
"electronmon": {
"patterns": [
"!**/**",
"src/main/**"
],
"logLevel": "quiet"
},
"volta": {
"node": "22.19.0",
"yarn": "1.22.21"
},
"lint-staged": {
"*": [
"biome check --write --no-errors-on-unmatched --files-ignore-unknown=true",
"biome format --write --no-errors-on-unmatched --files-ignore-unknown=true"
]
}
}