{"_id":"@codetofuture/alita-deploy","_rev":"2-c5960c1544fd4a8755bc2eb66db20587","name":"@codetofuture/alita-deploy","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.2":{"name":"@codetofuture/alita-deploy","version":"0.1.2","keywords":["alita","deploy","oss","frontend"],"license":"MIT","_id":"@codetofuture/alita-deploy@0.1.2","maintainers":[{"name":"codetofuture","email":"toxinlumail@163.com"}],"bin":{"alita-deploy":"bin/alita-deploy.js"},"dist":{"shasum":"19ee392086f15c7f417cddd416584d1f913e1533","tarball":"https://registry.npmjs.org/@codetofuture/alita-deploy/-/alita-deploy-0.1.2.tgz","fileCount":12,"integrity":"sha512-3RLHGZpzOwmm8mgOH07zEf6xePYjkyvMyeoRrHIMiQltq8pUlbjWHmGdRJb8Lr/Mv3joACdHQ1xAS62km/OOWw==","signatures":[{"sig":"MEQCIBap09b8AVffKI5b9J8novAifz7a5lFptGC+uBIOWuUlAiArquSxpYkhuCU+BrGqHMWrzLgWwjHbJZIFGJ/FEhJmqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60040},"main":"./lib/index.js","exports":{".":"./lib/index.js","./public-url":"./lib/public-url.js","./package.json":"./package.json"},"gitHead":"039ac59a14a2f6c3eb7f0723747d5a377fa16399","scripts":{"check":"node -c ./bin/alita-deploy.js","prepublishOnly":"npm run check"},"_npmUser":{"name":"codetofuture","email":"toxinlumail@163.com"},"_npmVersion":"11.11.0","description":"Build and upload Alita frontend assets to Aliyun OSS in one command.","directories":{},"_nodeVersion":"25.8.1","dependencies":{"ali-oss":"^6.23.0","mime-types":"^3.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/alita-deploy_0.1.2_1783266374804_0.5222962582483601","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@codetofuture/alita-deploy","version":"0.1.3","description":"Build and upload Alita frontend assets to Aliyun OSS in one command.","bin":{"alita-deploy":"bin/alita-deploy.js"},"scripts":{"check":"node -c ./bin/alita-deploy.js","prepublishOnly":"npm run check"},"keywords":["alita","deploy","oss","frontend"],"license":"MIT","dependencies":{"ali-oss":"^6.23.0","mime-types":"^3.0.1","ossutil":"^2.3.0"},"main":"./lib/index.js","exports":{".":"./lib/index.js","./public-url":"./lib/public-url.js","./package.json":"./package.json"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"gitHead":"8a6406dbe3ff04c78104203fa8d74b5248835af0","_id":"@codetofuture/alita-deploy@0.1.3","_nodeVersion":"25.8.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-5J7ODJKZBkkVPZ9bNU8EAQWtE7UOJaK+Dx5iUy0kxCHheiZuubNTP6674ZfuuSAwUCgwz4afLUaqf/Q4l95akA==","shasum":"88f36d3c242c1dda4b421b3c85c5776037f8ba32","tarball":"https://registry.npmjs.org/@codetofuture/alita-deploy/-/alita-deploy-0.1.3.tgz","fileCount":12,"unpackedSize":60620,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCRSoyWSGZUTPsnI/X/it/q/yqVSIoZG/HK5xy/L0YTSgIhAL7g5JxYcQJswtSlgeurmlImqQl6vNga8OWZffuFyLP4"}]},"_npmUser":{"name":"codetofuture","email":"toxinlumail@163.com"},"directories":{},"maintainers":[{"name":"codetofuture","email":"toxinlumail@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/alita-deploy_0.1.3_1784643753735_0.21007517713521695"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-05T15:46:14.560Z","modified":"2026-07-21T14:22:34.013Z","0.1.2":"2026-07-05T15:46:14.947Z","0.1.3":"2026-07-21T14:22:33.870Z"},"license":"MIT","keywords":["alita","deploy","oss","frontend"],"description":"Build and upload Alita frontend assets to Aliyun OSS in one command.","maintainers":[{"name":"codetofuture","email":"toxinlumail@163.com"}],"readme":"# alita-deploy\n\n一个面向 Alita 前端项目的部署 CLI。它会读取目标项目的 `package.json`，执行构建，再把构建产物上传到阿里云 OSS。\n\n上传支持两种方式：\n\n- `sdk`：使用 `ali-oss` SDK 和显式 AK/SK 上传\n- `ossutil`：用本机 `aliyun sts AssumeRole` 动态生成 STS Token，再通过内置的 `ossutil` npm 包上传\n\n也支持本地快速部署到 Docker MinIO：\n\n- `--local-minio`：自动使用本机 Docker 启动/复用 MinIO，并上传构建产物\n- `--provider minio`：上传到显式指定的 MinIO/S3 兼容服务\n\n## 安装\n\n```bash\nnpm install -g alita-deploy\n```\n\n本地调试也可以直接：\n\n```bash\nnpm link\n```\n\n## 最小用法\n\n```bash\nalita-deploy /path/to/alita-ui-interactive \\\n  --env pre \\\n  --oss-region oss-cn-hangzhou \\\n  --oss-bucket your-bucket \\\n  --oss-key-id your-key-id \\\n  --oss-key-secret your-key-secret\n```\n\n## 使用 aliyun + ossutil 动态上传\n\n前置条件：\n\n- 本机已安装并登录/配置 `aliyun` CLI\n- 当前 aliyun 身份有权限 `sts:AssumeRole`\n- RAM Role 本身有目标 bucket/prefix 的 OSS 写入权限\n\n```bash\nexport OSS_STS_ROLE_ARN='acs:ram::<account_id>:role/<role_name>'\n\nalita-deploy /path/to/alita-ui-course \\\n  --env pre\n```\n\n检测到 `OSS_STS_ROLE_ARN` 后，CLI 会自动切到 `ossutil` 上传模式；不需要额外传 `--upload-tool ossutil`，也不需要额外安装系统级 `ossutil`。如果只是上传已有构建产物，可以继续加 `--skip-build --asset-dir /path/to/build`。\n\n如果目标项目的 `package.json` 里有类似：\n\n```json\n{\n  \"environments\": {\n    \"pre\": {\n      \"publicUrl\": \"https://alita-edu-bucket.oss-cn-hangzhou.aliyuncs.com\"\n    }\n  }\n}\n```\n\nCLI 会自动推导：\n\n- bucket：`alita-edu-bucket`\n- endpoint：`oss-cn-hangzhou.aliyuncs.com`\n- prefix：`<package-name>/<env>-<yyyyMMddHHmmss>/`\n\n也可以显式覆盖：\n\n```bash\nalita-deploy /path/to/app \\\n  --env pre \\\n  --upload-tool ossutil \\\n  --oss-bucket your-bucket \\\n  --oss-endpoint oss-cn-hangzhou.aliyuncs.com \\\n  --oss-role-arn acs:ram::<account_id>:role/<role_name> \\\n  --oss-role-session-name alita-deploy-local \\\n  --oss-sts-duration 3600\n```\n\nCLI 默认行为：\n\n- 优先执行目标项目的 `build:<env>`，例如 `build:pre`\n- 如果没有 `build:<env>`，回退到 `build`\n- 默认上传目录是 `build/`\n- 默认上传路径是 `<package-name>/<env>-<yyyyMMddHHmmss>/`\n- 如果目标项目 `package.json` 里存在 `environments.<env>.publicUrl`，会自动生成：\n  `PUBLIC_URL=<publicUrl>/<package-name>/<env>-<yyyyMMddHHmmss>`\n- 上传完成后会打印可直接用于发布的 `index.html` 完整地址\n\n## 本地 Docker MinIO 快速部署\n\n如果本机有 Docker，可以直接把微前端构建产物发布到本地 MinIO：\n\n```bash\nalita-deploy /path/to/app --local-minio\n```\n\n默认行为：\n\n- 自动启动或复用容器：`alita-minio`\n- MinIO API：`http://127.0.0.1:9000`\n- MinIO 控制台：`http://127.0.0.1:9001`\n- bucket：`alita-micro-apps`\n- access key / secret key：`minioadmin` / `minioadmin`\n- 上传路径：`<package-name>/<env>-<yyyyMMddHHmmss>/`\n- 构建时注入：\n  `PUBLIC_URL=http://127.0.0.1:9000/alita-micro-apps/<package-name>/<env>-<yyyyMMddHHmmss>`\n\n只上传已有构建产物：\n\n```bash\nalita-deploy /path/to/app \\\n  --local-minio \\\n  --skip-build \\\n  --asset-dir /path/to/app/build\n```\n\n连接已有 MinIO，不让 CLI 管 Docker：\n\n```bash\nalita-deploy /path/to/app \\\n  --provider minio \\\n  --no-minio-docker \\\n  --minio-endpoint http://127.0.0.1:9000 \\\n  --minio-bucket alita-micro-apps \\\n  --minio-access-key minioadmin \\\n  --minio-secret-key minioadmin\n```\n\n上传前 CLI 会确保 bucket 存在，并设置公共只读策略，方便浏览器直接加载微前端静态资源。\n\n## 通过环境变量传参\n\n```bash\nexport OSS_REGION=oss-cn-hangzhou\nexport OSS_BUCKET=your-bucket\nexport OSS_ACCESS_KEY_ID=your-key-id\nexport OSS_ACCESS_KEY_SECRET=your-key-secret\n\nalita-deploy /path/to/app --env pre\n```\n\n使用 `aliyun + ossutil` 时也可以通过环境变量传参：\n\n```bash\nexport OSS_STS_ROLE_ARN='acs:ram::<account_id>:role/<role_name>'\n\nalita-deploy /path/to/app --env pre\n```\n\n## 通过 env 文件传参\n\n`.env.deploy`\n\n```bash\nOSS_REGION=oss-cn-hangzhou\nOSS_BUCKET=your-bucket\nOSS_ACCESS_KEY_ID=your-key-id\nOSS_ACCESS_KEY_SECRET=your-key-secret\nOSS_CDN_BASE_URL=https://static.example.com\n```\n\n执行：\n\n```bash\nalita-deploy /path/to/app --env pre --env-file .env.deploy\n```\n\n## 常用参数\n\n```bash\nalita-deploy <projectDir> \\\n  --env pre \\\n  --prefix alita-ui-interactive/0.1.0-pre.01/ \\\n  --base-public-url https://static.example.com \\\n  --output-dir build \\\n  --concurrency 16\n```\n\n## 仅构建或仅上传\n\n```bash\nalita-deploy /path/to/app --env pre --skip-upload\nalita-deploy /path/to/app --skip-build --env-file .env.deploy\n```\n\n## Dry Run\n\n```bash\nalita-deploy /path/to/app --env pre --dry-run\n```\n","readmeFilename":"README.md"}