fregante/chrome-webstore-upload
说明与用途
**项目简介** fregante/chrome-webstore-upload 是一个基于 JavaScript 的 CLI/库,帮助开发者一键将 Chrome 扩展上传至 Chrome Web Store,省去手动登录、打包、提交的繁琐步骤。
**价值**
- **自动化**:通过脚本即可完成打包、认证、上传和发布,适合 CI/CD 流程。
- **降低错误率**:统一使用 OAuth 2.0 token,避免手动复制
.zip文件和表单导致的失误。 - **社区认可**:已有 410+ Stars、56 Fork,活跃维护至 2026‑05‑12,说明在开源社区中得到了一定的信任。
**典型接入方式**
- **安装**:
npm i -D chrome-webstore-upload(或yarn add -D)。 - **获取凭证**:在 Google Cloud Console 为 Chrome Web Store 创建 OAuth Client,下载
client_secret.json,并在项目根目录生成refresh_token(可使用官方示例脚本)。 - **配置**:在
package.json或独立的upload-config.json中声明extensionId、zipPath、clientId、clientSecret、refreshToken。 - **调用**:
const upload = require('chrome-webstore-upload')({
extensionId: 'your-extension-id',
clientId: process.env.CWS_CLIENT_ID,
clientSecret: process.env.CWS_CLIENT_SECRET,
refreshToken: process.env.CWS_REFRESH_TOKEN,
});
// 上传并发布
upload.uploadExisting(zipPath)
.then(res => upload.publish())
.then(() => console.log('发布成功')); 或者在 CI 中直接运行 npx chrome-webstore-upload --source ./dist.zip --extension-id <id>。
**生产可用性**
- **成熟度**:中等(Medium)。代码已在多个开源项目中使用,适合作为原型或内部工具;在生产环境部署前建议:
- 检查依赖(Node ≥ 14、npm ≥ 6)。
- 编写错误处理与回滚逻辑,防止因上传失败导致版本卡死。
- 在 CI 中加入凭证加密(如 GitHub Secrets)并进行一次干跑验证。
- **维护成本**:项目更新活跃,社区反馈及时,但官方文档较简略,首次集成时需要自行阅读源码或社区 Issue 来确认最新的 OAuth 流程。
综上,chrome-webstore-upload 能显著提升 Chrome 扩展的发布效率,适合在 CI/CD 流程中自动化部署;在正式生产环境使用前做好凭证管理和错误处理,即可达到可靠的运行水平。
实际用途
fregante/chrome-webstore-upload may be useful when its README and activity match a concrete workflow.
限制与审查说明
Medium: useful for prototypes or internal workflows, with dependency and maintenance checks before production.
- 来源: github
- 语言: JavaScript
- 记录日期: 2026-09-05T17:31:10.100Z