SuperAPI AI 工具集

module-registry

测试与质量

查看项目

更新于 10-15 19:50

技能介绍

用途:该技能在涉及 workerd 模块注册表的读取、修改、调试或评审时加载,尤其是模块解析、编译、求值和注册相关代码。资料要求在任何相关改动或分析前,先用 Read 工具阅读参考文档,而不是仅凭源码理解。

主要参考文档:docs/reference/detail/new-module-registry.md 介绍新版 jsg::modules::ModuleRegistry,涵盖共享 ModuleRegistry 与 per-isolate IsolateModuleRegistry 的两层架构、bundle 类型、解析优先级、编译缓存、求值流程与线程安全模型;docs/reference/detail/legacy-module-registry.md 介绍旧版 ModuleRegistryImpl<TypeWrapper>,涵盖 per-isolate 设计、ModuleInfo、DynamicImportHandler 及其与 V8 的接口;docs/reference/detail/v8-module-internals.md 说明 V8 内部模块处理,包括 v8::Module 状态转换、InstantiateModule、Evaluate、SyntheticModule、resolve 回调与 import.meta。

查阅指引:修改新版解析或缓存、内置模块、编译缓存或跨 isolate 共享等任务按资料列出的对应文档组合阅读;模块未找到错误、旧到新分发、动态导入、求值失败及触及模块代码的 PR 评审需读全部三份文档。

关键源码:src/workerd/jsg/modules-new.h/.c++、modules.h/.c++、resource.h:1913–1922(上下文创建时新旧分发)、jsg.c++:357–395(Lock::resolveModule 分发)、setup.h:291–297(isUsingNewModuleRegistry() 标志)、src/workerd/io/worker-modules.h、src/workerd/api/modules.h、src/workerd/jsg/observer.h。

限制:资料强调不要跳过阅读参考文档,因为线程安全、V8 模块状态转换与求值上下文(IoContext suppression)存在细微不变量;未提供具体命令、安装方式、收费或平台信息。