npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@codetofuture/alita-deploy

v0.1.3

Published

Build and upload Alita frontend assets to Aliyun OSS in one command.

Readme

alita-deploy

一个面向 Alita 前端项目的部署 CLI。它会读取目标项目的 package.json,执行构建,再把构建产物上传到阿里云 OSS。

上传支持两种方式:

  • sdk:使用 ali-oss SDK 和显式 AK/SK 上传
  • ossutil:用本机 aliyun sts AssumeRole 动态生成 STS Token,再通过内置的 ossutil npm 包上传

也支持本地快速部署到 Docker MinIO:

  • --local-minio:自动使用本机 Docker 启动/复用 MinIO,并上传构建产物
  • --provider minio:上传到显式指定的 MinIO/S3 兼容服务

安装

npm install -g alita-deploy

本地调试也可以直接:

npm link

最小用法

alita-deploy /path/to/alita-ui-interactive \
  --env pre \
  --oss-region oss-cn-hangzhou \
  --oss-bucket your-bucket \
  --oss-key-id your-key-id \
  --oss-key-secret your-key-secret

使用 aliyun + ossutil 动态上传

前置条件:

  • 本机已安装并登录/配置 aliyun CLI
  • 当前 aliyun 身份有权限 sts:AssumeRole
  • RAM Role 本身有目标 bucket/prefix 的 OSS 写入权限
export OSS_STS_ROLE_ARN='acs:ram::<account_id>:role/<role_name>'

alita-deploy /path/to/alita-ui-course \
  --env pre

检测到 OSS_STS_ROLE_ARN 后,CLI 会自动切到 ossutil 上传模式;不需要额外传 --upload-tool ossutil,也不需要额外安装系统级 ossutil。如果只是上传已有构建产物,可以继续加 --skip-build --asset-dir /path/to/build

如果目标项目的 package.json 里有类似:

{
  "environments": {
    "pre": {
      "publicUrl": "https://alita-edu-bucket.oss-cn-hangzhou.aliyuncs.com"
    }
  }
}

CLI 会自动推导:

  • bucket:alita-edu-bucket
  • endpoint:oss-cn-hangzhou.aliyuncs.com
  • prefix:<package-name>/<env>-<yyyyMMddHHmmss>/

也可以显式覆盖:

alita-deploy /path/to/app \
  --env pre \
  --upload-tool ossutil \
  --oss-bucket your-bucket \
  --oss-endpoint oss-cn-hangzhou.aliyuncs.com \
  --oss-role-arn acs:ram::<account_id>:role/<role_name> \
  --oss-role-session-name alita-deploy-local \
  --oss-sts-duration 3600

CLI 默认行为:

  • 优先执行目标项目的 build:<env>,例如 build:pre
  • 如果没有 build:<env>,回退到 build
  • 默认上传目录是 build/
  • 默认上传路径是 <package-name>/<env>-<yyyyMMddHHmmss>/
  • 如果目标项目 package.json 里存在 environments.<env>.publicUrl,会自动生成: PUBLIC_URL=<publicUrl>/<package-name>/<env>-<yyyyMMddHHmmss>
  • 上传完成后会打印可直接用于发布的 index.html 完整地址

本地 Docker MinIO 快速部署

如果本机有 Docker,可以直接把微前端构建产物发布到本地 MinIO:

alita-deploy /path/to/app --local-minio

默认行为:

  • 自动启动或复用容器:alita-minio
  • MinIO API:http://127.0.0.1:9000
  • MinIO 控制台:http://127.0.0.1:9001
  • bucket:alita-micro-apps
  • access key / secret key:minioadmin / minioadmin
  • 上传路径:<package-name>/<env>-<yyyyMMddHHmmss>/
  • 构建时注入: PUBLIC_URL=http://127.0.0.1:9000/alita-micro-apps/<package-name>/<env>-<yyyyMMddHHmmss>

只上传已有构建产物:

alita-deploy /path/to/app \
  --local-minio \
  --skip-build \
  --asset-dir /path/to/app/build

连接已有 MinIO,不让 CLI 管 Docker:

alita-deploy /path/to/app \
  --provider minio \
  --no-minio-docker \
  --minio-endpoint http://127.0.0.1:9000 \
  --minio-bucket alita-micro-apps \
  --minio-access-key minioadmin \
  --minio-secret-key minioadmin

上传前 CLI 会确保 bucket 存在,并设置公共只读策略,方便浏览器直接加载微前端静态资源。

通过环境变量传参

export OSS_REGION=oss-cn-hangzhou
export OSS_BUCKET=your-bucket
export OSS_ACCESS_KEY_ID=your-key-id
export OSS_ACCESS_KEY_SECRET=your-key-secret

alita-deploy /path/to/app --env pre

使用 aliyun + ossutil 时也可以通过环境变量传参:

export OSS_STS_ROLE_ARN='acs:ram::<account_id>:role/<role_name>'

alita-deploy /path/to/app --env pre

通过 env 文件传参

.env.deploy

OSS_REGION=oss-cn-hangzhou
OSS_BUCKET=your-bucket
OSS_ACCESS_KEY_ID=your-key-id
OSS_ACCESS_KEY_SECRET=your-key-secret
OSS_CDN_BASE_URL=https://static.example.com

执行:

alita-deploy /path/to/app --env pre --env-file .env.deploy

常用参数

alita-deploy <projectDir> \
  --env pre \
  --prefix alita-ui-interactive/0.1.0-pre.01/ \
  --base-public-url https://static.example.com \
  --output-dir build \
  --concurrency 16

仅构建或仅上传

alita-deploy /path/to/app --env pre --skip-upload
alita-deploy /path/to/app --skip-build --env-file .env.deploy

Dry Run

alita-deploy /path/to/app --env pre --dry-run