Files
hapi/cli/package.json
T
weishu d057daabfe chore: migrate cli distribution from npm to bun executable
Migrate HAPI CLI from npm-based distribution to Bun single-executable format:
- Remove npm bin wrappers (bin/happy.mjs, bin/happy-mcp.mjs)
- Simplify package.json: remove npm publish config (exports, main, module, types, files, publishConfig)
- Update bin entry to point to TypeScript source (src/index.ts)
- Migrate shebang from Node to Bun (#!/usr/bin/env bun)
- Simplify build scripts: remove npm-specific steps (pkgroll, prepublishOnly, release-it)
- Update spawnHappyCLI to support compiled binaries and development TypeScript mode
- Update daemon/doctor diagnostics for new process detection logic
- Production: use `bun build --compile` for single-executable releases
- Development: run TypeScript directly via `bun src/index.ts` or `tsx src/index.ts`
2025-12-22 16:44:20 +08:00

76 lines
2.2 KiB
JSON

{
"name": "hapi",
"version": "0.12.0-1",
"description": "Mobile and Web client for Claude Code and Codex",
"author": "Kirill Dubovitskiy",
"license": "MIT",
"type": "module",
"homepage": "https://github.com/user/hapi",
"bugs": "https://github.com/user/hapi/issues",
"repository": {
"type": "git",
"url": "https://github.com/user/hapi",
"directory": "cli"
},
"bin": {
"hapi": "./src/index.ts"
},
"imports": {
"#embedded-assets": {
"bun": "./src/runtime/embeddedAssets.bun.ts",
"default": "./src/runtime/embeddedAssets.stub.ts"
}
},
"scripts": {
"typecheck": "tsc --noEmit",
"build:exe": "bun run scripts/build-executable.ts",
"build:exe:all": "bun run scripts/build-executable.ts --all",
"build:exe:allinone": "bun run scripts/build-executable.ts --with-web-assets",
"build:exe:allinone:all": "bun run scripts/build-executable.ts --with-web-assets --all",
"test": "tsx --env-file .env.integration-test node_modules/.bin/vitest run",
"test:win": "vitest run",
"dev": "tsx src/index.ts",
"dev:local-server": "tsx --env-file .env.dev-local-server src/index.ts",
"dev:integration-test-env": "tsx --env-file .env.integration-test src/index.ts"
},
"dependencies": {
"@modelcontextprotocol/sdk": "^1.22.0",
"@types/cross-spawn": "^6.0.6",
"@types/ps-list": "^6.2.1",
"@types/react": "^19.2.7",
"@types/tmp": "^0.2.6",
"axios": "^1.13.2",
"chalk": "^5.6.2",
"cross-spawn": "^7.0.6",
"fastify": "^5.6.2",
"fastify-type-provider-zod": "4.0.2",
"ink": "^6.5.1",
"ps-list": "^8.1.1",
"react": "^19.2.0",
"react-devtools-core": "^7.0.1",
"socket.io-client": "^4.8.1",
"tar": "^7.5.2",
"zod": "^3.23.8"
},
"devDependencies": {
"@eslint/compat": "^1",
"@types/node": ">=20",
"bun-types": "^1.3.5",
"cross-env": "^10.1.0",
"dotenv": "^16.6.1",
"eslint": "^9",
"eslint-config-prettier": "^10",
"shx": "^0.3.3",
"ts-node": "^10",
"tsx": "^4.20.6",
"typescript": "^5",
"vitest": "^3.2.4"
},
"resolutions": {
"whatwg-url": "14.2.0",
"parse-path": "7.0.3",
"@types/parse-path": "7.0.3"
},
"packageManager": "bun@1.3.4"
}