实现示例type Meta = { name: string; version: string; license: string; exports?: Record<string, string> } function semverValid(v: string): boolean { return /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/.test(v) } const allowLicenses = new Set<string>(['MIT','Apache-2.0','BSD-3-Clause','ISC']) function validExports(exp?: Record<string, string>): boolean { if (!exp) return true for (const [k, v] of Object.entries(exp)) { if (!/^\./.test(k) || !/^\.\//.test(v)) return false } return true } function evaluate(m: Meta): { ok: boolean; errors: string[] } { const errors: string[] = [] if (!m.name || /\s/.test(m.name)) errors.push('name') if (!semverValid(m.version)) errors.push('version') if (!allowLicenses.has(m.license)) errors.push('license') if (!validExports(m.exports)) errors.push('exports') return { ok: errors.length === 0, errors } } 审计与发布治理审计元数据一致性与合规;异常阻断并输出修复建议。变更需审批与回归校验,确保跨语言包的一致性。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
2.165932s