SuperAPI AI 工具集

extension-to-functions-codebase

通用与其它

查看项目

更新于 10-16 05:47

技能介绍

用途:把 Firebase Extension(或扩展源码)迁移为两种目标之一——本地 Cloud Functions 代码库(输出到 functions/src/,配置写入 .env,用 firebase deploy --only functions 部署),或可发布的 npm 包(导出 V2 函数,供他人安装后通过 export * from "<package-name>" 再导出)。

主要能力:使用原生 SDK 声明替代手动 gcloud 脚本,如 requiresRole("roles/...") 声明 IAM 权限、requiresAPI("service.googleapis.com", "Description") 声明 Google API;将 extension.yaml 中的 params 映射为 defineString、defineInt、defineBoolean、defineSecret,apis 映射为 requiresAPI,roles 映射为 requiresRole,lifecycleEvents 映射为 afterFirstDeploy 与 afterRedeploy;把第一代触发器升级为第二代(onDocumentWritten、onTaskDispatched、onRequest),并在旧处理器处套用解构兼容垫片。

使用方式:先盘点扩展资源与文件脚本,保留 devDependencies、jest 测试框架与测试脚本;配置 package.json,设置 engines 为 node >=22、peerDependencies 中 firebase-functions >=6.0.0,并配置 exports 映射指向 ESM/CommonJS 与类型声明;将生命周期事件映射为 SDK 钩子(onInstall 对应 afterFirstDeploy,onUpdate/onConfigure 对应 afterRedeploy);生成 README,包含安装说明、再导出片段、参数化配置 .env 参考表与扩展/包对比表。

限制与注意:禁止在模块顶层调用 .value(),全局 SDK 实例须在 onInit() 或惰性 getter 中初始化;V2 默认并发最高 80,如需保持 V1 单并发计费需设置 cpu: "gcf_gen1";入队任务时移除 EXT_INSTANCE_ID;切勿执行 npm publish。其余细节资料未提供。