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

@gzxijiu/acceptance

v0.7.3

Published

Guizhou Xijiu Software Acceptance Engine.

Downloads

891

Readme

特性

  • 双模式一键验收
  • Agent Skills 验收
  • 标准化、自动化、可量化的验收流程
  • 融入开发环节,降低验收成本,杜绝额外回归
  • 多框架支持,自动推断框架
  • 多包管理器支持,自动推断包管理器
  • 基于 AST 的调试工具自动注入
  • 基于 AST 的源码映射自动配置
  • 基于 AST 的设备兼容性自动配置
  • 高风险许可证扫描,支持递归溯源
  • 废弃依赖、停止维护依赖检测
  • ESLint 忽略扫描
  • 约定式提交自动配置
  • 代码规范自动配置 + 可视化审查
  • 符合公司相关要求和标准

[!TIP]

验收引擎并不局限于新项目的验收场景,同样适用于老项目的接手与治理

何不直接让 AI “帮我验收这个项目”?

因为 AI 不知道你的验收标准是什么。

直接对 AI 说“帮我验收”,它只能基于通用的软件工程常识给出泛泛而谈的意见——缺少明确的检查项、不了解公司规范、无法执行自动化整改,输出质量完全取决于 prompt 的质量和模型的发挥。

本引擎解决的正是这个问题:

  • 标准明确:验收条目源自公司标准与多年项目经验沉淀,而非 AI 自由发挥
  • 流程可控:一键验收负责能自动化的部分(AST 整改、依赖扫描、规范配置等),Agent Skills 负责需要理解力的部分(代码审查、文档审查、安全审查等),各司其职
  • 结果可量化:每条验收条目有明确的通过/待改进/需人工确认状态,而非模糊的建议
  • 可复核、可追溯:输出结构化的验收报告,支持多轮整改与复核

简而言之,本引擎提供的是有标准的验收,而不是有想法的建议

是否支持后端验收?

本引擎定位并不局限于前端和通用领域,后续会逐步扩展全栈能力,覆盖更多项目类型。

一键验收

根据项目使用的包管理器执行:

# npm
npx -y @gzxijiu/acceptance@latest

# pnpm
pnpm dlx @gzxijiu/acceptance@latest

# bun
bunx @gzxijiu/acceptance@latest

# deno
deno run -A npm:@gzxijiu/acceptance@latest

# yarn
yarn dlx @gzxijiu/acceptance@latest

Agent Skills 验收

在被验收项目中打开 Agent 入口,引用 SKILL.md,让 AI 按步骤逐条审查当前项目并输出验收意见

  • https://cdn.jsdelivr.net/npm/@gzxijiu/acceptance@latest/SKILL.md
  • https://esm.sh/@gzxijiu/acceptance@latest/SKILL.md

双模式

执行一键验收时可选择运行模式:

  • Standard Mode: 标准模式,首次验收时使用,会自动整改代码,提交代码前需人工审查变更
  • Dry Run Mode: 演练模式,整改后复核或微调时使用,仅作检查不产生文件变更,适合反复执行直至全部通过

验收流程

  1. 执行一键验收
  2. 执行 Agent Skills 验收
  3. 执行人工审查

[!NOTE]

  • “一键验收”与“Agent Skills 验收”是互补关系,不是替代关系
  • 验收条目覆盖比例:一键验收 ≈ 45%|Agent Skills ≈ 45%|人工 ≈ 10%

验收条目

[!WARNING]

  • 建议在新建的验收分支执行命令
  • 提交代码前仔细审查,整改后执行回归测试
  • 标注为“一键验收”、“Agent Skills”和“混合验收”的条目均不等于最终成品或结论,需人工复核

[!CAUTION]

为避免因不当的 ESLint 整改引发事故,请务必分批处理 ESLint

  1. 第一批(优先级相对高):先提交一版能自动修复(npm run lint:fix)的部分(多跑几次)
  2. 第二批(优先级相对低):不能自动修复的部分审慎修改,严禁草率修改(如双等号直接改成三等号)

多框架支持

  • Vue 3
  • Nuxt
  • Vanilla JavaScript
  • Vue 2/3 isomorphic
  • React
  • Next
  • Vue 2
  • ...

多包管理器支持

XSS

| 描述 | 语法 | 解决方案参考 | | :--------------------------: | :-----------------------: | :------------------------------------------------------------------: | | Vue 操作 HTML | v-html | vue-dompurify-html | | React 操作 HTML | dangerouslySetInnerHTML | DOMPurify | | Vanilla JavaScript 操作 HTML | innerHTML | textContent | | 动态执行代码 | eval | 非必要不使用 | | 动态创建函数 | Function | 非必要不使用 | | ... | | |

设备兼容性验证方法

复制(包括但不限于)下方代码到项目中,打包后在产物中搜索 ?./??/??= 等新语法是否被正确转译,replaceAll 等新 API 是否被正确 polyfill:

// TODO: 示例代码,用于验证兼容性配置是否生效,验证后务必删除
let result = null
const user = {}
result ??= user?.name?.replaceAll(' ', '_') ?? '@gzxijiu/acceptance'