@ldsg/cli
v0.3.18
Published
CLI tool for generating and starting ldsg applications
Readme
@ldsg/cli
命令行工具,用于生成和部署 ldsg 应用。
安装
npm install -g @ldsg/cli或者在 monorepo 中本地使用:
cd libs/cli
npm link使用
Generate 命令
根据 LDSG_APP_DATA_URI 环境变量获取应用数据,在指定目录生成 ldsg 应用。如果未指定目录,则在当前目录生成:
ldsg generate /path/to/target或者使用缩写:
ldsg g /path/to/target在当前目录生成:
ldsg g参数
<targetDir>- 目标目录路径(可选,默认为当前目录)
选项
--confirm- 跳过确认提示,直接生成--build- 生成后构建应用--verbose- 启用详细输出
示例
基本生成
export LDSG_APP_DATA_URI="http://example.com/app-data"
ldsg generate ./my-app生成并构建
ldsg generate ./my-app --build启用详细输出
ldsg generate ./my-app --verboseDeploy 命令
将 ldsg 应用部署到目标目录:
ldsg deploy /path/to/target命令行参数
ldsg deploy <targetDir> [options]
参数
<targetDir>- 目标目录路径(必需)
选项
--confirm- 跳过确认提示,直接部署--dry-run- 预览模式,显示将要执行的操作但不实际更改文件--verbose- 启用详细输出
示例
基本部署
ldsg deploy ./dist/my-app部署到已存在的目录(需要确认)
ldsg deploy ./existing-dir
# 输出:Target directory ./existing-dir already exists.
# Use --confirm flag to proceed without prompting.强制覆盖已存在的目录
ldsg deploy ./existing-dir --confirm预览将要执行的操作
ldsg deploy ./preview-dir --dry-run
# 输出:Dry run mode - no changes will be made
# Would deploy to: /absolute/path/to/preview-dir启用详细输出
ldsg deploy ./verbose-dir --verbose
# 输出:Starting deployment...
# Target directory: /absolute/path/to/verbose-dir
# Starting build process...
# Build completed successfully
# Copying files from /path/to/dist to /absolute/path/to/verbose-dir...
# Files copied successfully
# Deployment completed successfully!工作流程
部署命令执行以下步骤:
- 验证目标目录(如果存在且未提供 --confirm,则提示确认)
- 执行构建过程(
rush build) - 复制构建产物到目标目录
- 生成部署元数据文件(
deployment.json)
部署元数据
成功部署后,目标目录将包含 deployment.json 文件:
{
"timestamp": "2024-03-09T12:00:00.000Z",
"version": "0.1.0",
"targetDir": "/absolute/path/to/target"
}错误处理
CLI 会提供清晰的错误消息:
- 缺少目标目录:提示必须提供目标目录参数
- 缺少 LDSG_APP_DATA_URI:提示必须设置环境变量
- 构建失败:显示构建错误详情并退出
- 文件操作错误:显示权限或其他文件系统错误
- 目标目录已存在:提示使用 --confirm 或 --dry-run
退出码
0- 部署成功1- 部署失败(构建错误、文件错误、验证失败等)
开发
构建项目
cd libs/cli
npm run build运行测试
cd libs/cli
npm test清理构建产物
cd libs/cli
npm run clean贡献
欢迎贡献!请确保:
- 代码遵循项目风格指南
- 添加适当的测试
- 更新文档
