SuperAPI AI 工具集

blocklet-converter

前端与建站

查看项目

更新于 10-16 05:00

技能介绍

用途:将静态网站项目或 Next.js 应用转换为 ArcBlock blocklet,并生成相应配置与验证。

必要参数:did(必填),为预先生成的 blocklet DID,格式如 z8ia...。缺失或无效时立即报错退出,提示 "Blocklet DID parameter is required."。

主要流程:

  1. 项目分析:跳过 node_modules/、.pnpm/、.yarn/、.cache/、.turbo/、bower_components/ 等目录;确认存在 Web 应用(package.json 含 Web 相关依赖、根目录或 public/、src/ 等处的 index.html、或 vite/webpack/next 等框架配置),否则报错 "No web application detected."。检测项目类型:依赖含 next 视为 Next.js;含 express、koa、fastify、nest 等后端框架则报错 "Only static webapp and next.js projects are supported.";其余视为静态网站。确认类型后立即从 package.json 提取 title 与 description,并以 <<<BLOCKLET_PROJECT>>> 协议输出。
  2. 构建:若存在 build 脚本,执行 bun install && bun run build,失败则退出。Next.js 输出目录固定为 .next;静态网站按 dist/、build/、out/、public/、./ 等顺序查找 index.html,找不到则报错 "No index.html entry point found."。
  3. 资源准备:缺失时生成 README.md、复制默认 logo.png;Next.js 项目复制 nextjs-entry.txt 为根目录 index.js。
  4. 生成 blocklet.yml:Next.js 与静态网站分别使用对应模板,填入 DID、name、title、description。
  5. 验证:执行 blocklet meta;Next.js 执行 blocklet bundle --simple --create-release --external="*",静态网站执行 blocklet bundle --create-release,出错则修复重试。
  6. 完成后不输出总结,静默结束。

限制:仅支持静态网站与 Next.js;必须提供有效 DID;依赖 bun 与 blocklet CLI;错误参考见 errors.md,{baseDir} 为技能安装目录。