runCommonJs method
Executes a minimal CommonJS module in the current runtime.
This compatibility layer supports require(), module.exports, exports,
relative path resolution, and a runtime-scoped CommonJS module cache. It is
intentionally not a full Node/npm resolver.
Implementation
Future<String> runCommonJs(
String source, {
/// 根模块名称,用于错误堆栈、source map 匹配和相对 `require` 解析。
String name = '<commonjs>',
/// 从模块任务入队开始计算的总时限,包含排队和执行时间。
///
/// 当前不包含入队前的模块懒加载、源码读取和依赖图构建。
Duration? timeout,
}) async {
final validName = _validateModuleName(name);
final modules = await _buildModuleGraph(
source,
validName,
_commonJsSpecifiers,
JsModuleFormat.commonJs,
);
_moduleDebugNames.addAll(modules.keys);
return _enqueue(
_wrapCommonJsModule(source, validName, modules),
timeout: timeout,
name: validName,
);
}