{"_id":"@dongdong12138/dh-cli","name":"@dongdong12138/dh-cli","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@dongdong12138/dh-cli","version":"0.0.1","description":"BarryDong 的 cli 工具","type":"module","bin":{"dhcli":"bin/cli.js"},"main":"src/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"esbuild src/index.ts --outfile=bin/cli.js --format=esm --platform=node --minify --banner:js='#!/usr/bin/env node' && chmod +x bin/cli.js","build:dev":"esbuild src/index.ts --outfile=bin/cli.js --format=esm --platform=node --banner:js='#!/usr/bin/env node' && chmod +x bin/cli.js","type-check":"tsc --noEmit","dev":"node --loader ts-node/esm src/index.ts","start":"pnpm run build","prepublishOnly":"pnpm run type-check && pnpm run build"},"keywords":[],"author":{"name":"BarryDong"},"license":"ISC","packageManager":"pnpm@10.12.4","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"devDependencies":{"@types/node":"^24.0.10","esbuild":"^0.25.5","ts-node":"^10.9.2","typescript":"^5.8.3"},"dependencies":{"commander":"^14.0.0","inquirer":"^12.7.0","ora":"8.2.0"},"_id":"@dongdong12138/dh-cli@0.0.1","gitHead":"6ab40476950e69a1b31bb402dd984d0a42e62acf","_nodeVersion":"20.19.3","_npmVersion":"10.8.2","dist":{"integrity":"sha512-CLX+n3dJKigvY+IyHe6cYqdgInwRg2qJJt5bfnRJhhj9sWhWrdxdYzxbmZqn9Xy2AIrZ1Z+3XLg/IEdq0I8vdQ==","shasum":"5b97cd7ce5b0d6523a494e1bc8a29f4dde377500","tarball":"https://registry.npmjs.org/@dongdong12138/dh-cli/-/dh-cli-0.0.1.tgz","fileCount":3,"unpackedSize":6795,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDO8h5AigRd3x5CMq0L5bgbAZEfmuhLX+mu7xyC1ZnoKQIgfIaD6HLevRoKNsvgRTFQULp0YrROFKT5l9tHkZ+LWWw="}]},"_npmUser":{"name":"dongdong12138","email":"286084845@qq.com","actor":{"name":"dongdong12138","email":"286084845@qq.com","type":"user"}},"directories":{},"maintainers":[{"name":"dongdong12138","email":"286084845@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dh-cli_0.0.1_1751814868246_0.6932220762947325"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-06T15:14:28.153Z","0.0.1":"2025-07-06T15:14:28.417Z","modified":"2025-07-06T15:14:28.719Z"},"maintainers":[{"name":"dongdong12138","email":"286084845@qq.com"}],"description":"BarryDong 的 cli 工具","keywords":[],"author":{"name":"BarryDong"},"license":"ISC","readme":"# DH-CLI\n\nBarryDong 的 CLI 工具，用于快速创建各框架的前端项目。\n\n## 环境要求\n\n- **Node.js**: >= 18.0.0\n- **pnpm**: >= 8.0.0\n\n## 安装\n\n```bash\n# 如果没有 pnpm，先安装 pnpm\nnpm install -g pnpm\n\n# 克隆项目\ngit clone <repository-url>\ncd dh-cli\n\n# 安装依赖\npnpm install\n\n# 构建项目（必须先构建）\npnpm run build\n\n# 全局链接\npnpm link --global\n```\n\n## 使用方法\n\n### 创建项目\n\n```bash\ndh-cli create <project-name>\n```\n\n例如：\n```bash\ndh-cli create my-app\n```\n\n运行后会提示你选择框架：\n- Vue\n- React\n- uni-app\n\n选择完成后，工具会显示你的选择并创建项目。\n\n## 开发\n\n```bash\n# 开发模式（直接运行 TypeScript）\npnpm run dev\n\n# 类型检查\npnpm run type-check\n\n# 构建（压缩版本）\npnpm run build\n\n# 构建（开发版本，不压缩）\npnpm run build:dev\n\n# 测试\npnpm run start\n```\n\n## 技术栈\n\n- **Commander.js**: 命令行参数解析\n- **Inquirer.js**: 交互式命令行界面\n- **TypeScript**: 类型安全的 JavaScript\n- **esbuild**: 快速的 TypeScript 编译和代码压缩\n- **ts-node**: TypeScript 开发时运行时支持\n- **pnpm**: 快速、节省磁盘空间的包管理工具\n\n## 项目结构\n\n```\ndh-cli/\n├── bin/\n│   └── cli.js          # CLI 可执行文件（编译后的 JavaScript）\n├── src/\n│   └── index.ts        # TypeScript 源码\n├── package.json\n├── tsconfig.json\n└── README.md\n```\n\n## 重要说明\n\n- **`bin/cli.js`**：TypeScript 通过 esbuild 编译并压缩到这个文件，它是最终的可执行文件\n- **构建必须**：每次修改 `src/index.ts` 后都必须运行 `pnpm run build` 来重新编译\n- **简洁架构**：没有额外的 `dist` 目录，源码直接编译到可执行文件\n- **代码压缩**：使用 esbuild 进行代码压缩，文件大小仅 840 字节\n- **性能优化**：使用编译后的文件避免了运行时 TypeScript 编译，提高了性能\n- **类型安全**：使用 `pnpm run type-check` 进行类型检查，确保代码质量\n\n## 许可证\n\nISC ","readmeFilename":"README.md","_rev":"1-0f8023700892f7fdd8ed2533b2ee2f8a"}