| { | |
| "name": "9router", | |
| "version": "0.4.80", | |
| "description": "9Router CLI - Start and manage 9Router server", | |
| "bin": { | |
| "9router": "./cli.js" | |
| }, | |
| "files": [ | |
| "cli.js", | |
| "src", | |
| "hooks", | |
| "app", | |
| "README.md", | |
| "LICENSE" | |
| ], | |
| "scripts": { | |
| "dev": "nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js", | |
| "build": "node scripts/build-cli.js", | |
| "pack:cli": "npm run build && npm pack --pack-destination ../..", | |
| "publish:cli": "npm run build && npm publish", | |
| "postinstall": "node hooks/postinstall.js", | |
| "prepublishOnly": "npm run build" | |
| }, | |
| "dependencies": { | |
| "enquirer": "^2.4.1", | |
| "node-forge": "^1.3.3", | |
| "node-machine-id": "^1.1.12", | |
| "react": "19.2.1", | |
| "react-dom": "19.2.1" | |
| }, | |
| "comment_sqlite": "sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.", | |
| "comment_systray": "systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.", | |
| "engines": { | |
| "node": ">=18.0.0" | |
| }, | |
| "keywords": [ | |
| "9router", | |
| "cli", | |
| "proxy", | |
| "ai", | |
| "api" | |
| ], | |
| "license": "MIT", | |
| "devDependencies": { | |
| "esbuild": "^0.25.12", | |
| "nodemon": "^3.1.14" | |
| } | |
| } | |