开源发布清单
1. 法律与知识产权
- 确认公司、客户和所有贡献者已授权开源。
- 仓库已使用 MIT License;确认该许可证符合你的商业目标。
- 审计全部直接与传递依赖许可证,特别关注 CDN tarball、字体、图标、图片和演示数据。
- 删除未获授权的品牌、Logo、截图、客户字段和受版权保护的素材。
- 在 README 明确项目名称、定位、License、文档地址和免责声明。
MIT 允许商业使用、修改、分发与私有使用,但分发时需保留版权与许可证声明;它不提供担保。
2. 秘密与隐私
- 检查完整 Git 历史,而不只是当前文件;泄露过的密钥必须立即轮换。
- 删除真实 API 地址、账号、Token、Cookie、私钥、数据库信息、内部域名和监控地址。
- 清理演示 JSON 中的姓名、手机号、邮箱、地址、订单等个人或业务数据。
- 使用
.env.example提供占位配置,不提交本地生产配置。 - 检查构建产物、source map、IDE 配置、日志、截图和压缩包。
推荐使用 Gitleaks 或 TruffleHog 扫描完整历史,并对结果人工复核。
3. 仓库卫生
- 不提交
node_modules/、dist/、IDE 用户配置和本地缓存。 - 确认
.gitignore覆盖本地环境文件、日志和测试产物。 - 使用
npm ci在干净目录验证可复现安装。 - 审核
package-lock.json中的下载域名与完整性信息。 - 删除无用
/test路由、调试代码、console 中的敏感信息和临时接口。 - 修正
queryRoleIdsApi指向菜单接口的问题。
4. 安全基线
- 后端强制鉴权和按钮/资源权限,前端权限不作为安全边界。
- 生产接口使用正确 HTTP 方法、CSRF/CORS 策略和参数校验。
- 富文本净化,上传文件限制,外链和 iframe 使用允许列表。
- 第三方服务设置
withToken: false。 - 评估 localStorage Token 风险;高安全场景采用 HttpOnly Cookie。
- 运行
npm audit,但也要人工评估可利用性和升级影响。
5. 开源协作文件
建议仓库根目录包含:
README.md与可选README.en.mdLICENSECONTRIBUTING.mdSECURITY.mdCODE_OF_CONDUCT.md- Issue 与 Pull Request 模板
CHANGELOG.md- CI 工作流与 Dependabot/Renovate 配置
6. 发布流程
- 在私有镜像或临时分支完成清理和历史扫描。
- 从全新 clone 安装、检查、构建与运行。
- 创建
v1.0.0等语义化版本标签和 Release Notes。 - 发布源码仓库与文档站点。
- 创建最小可复现示例和路线图,标明尚未完成的能力。
- 配置漏洞私密报告渠道、维护者通知和依赖更新。
7. 发布后的维护
公开项目需要持续投入。建议明确支持的 Node/浏览器版本、Issue 响应范围、版本节奏、弃用策略和安全修复 SLA。无人维护时应在 README 明确状态,而不是让用户误判项目活跃度。