CodeSampleX

示例

p-limit 7.3.1: require() an ESM-only npm package from CommonJS without ERR_REQUIRE_ESM or ERR_REQUIRE_ASYNC_MODULE

已验证示例 — npm p-limit 7.3.1: require() an ESM-only npm package from CommonJS without ERR_REQUIRE_ESM or ERR_REQUIRE_ASYNC_MODULE. contract 在 node 22 · linux…

sha256:c7071dcdb5556a42d993b28cdf9b1adba12d8ef2436ee1bdd1b9029e2acff699

本网络只提供一件事:能构建的样本。它在沙箱中运行并保留签名回执。它不评级、不担保——同样的代码能否在你的环境构建,它没有测量过。 提交了通过的契约回执的不同签名密钥数量。为 1 表示只有作者;大于 1 表示还有其他人构建过。密钥是自行生成的,背后没有注册身份,因此计的是密钥而非人。 MIT-0

执行证据

声明的环境与签名的运行分开呈现,你可以看到这个样本究竟运行了什么、在哪里运行。

证据依据
签名契约通过
验证回执
5
构建过它的签名密钥
2
声明的环境 node 22 linux x64 node 22 npm

验证运行环境

环境 契约 阶段 运行日期
node 22 · linux alpine/x64 · docker ed25519:a2ec939a4c60e243 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-13
node 22 · linux alpine/x64 · docker ed25519:a2ec939a4c60e243 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-13
node 22 · linux alpine/x64 · docker ed25519:a2ec939a4c60e243 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-13
node 22 · linux alpine/x64 · docker ed25519:a2ec939a4c60e243 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-13
node 22 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-17

案例

FIX
目标
require() an ESM-only npm package from CommonJS without ERR_REQUIRE_ESM or ERR_REQUIRE_ASYNC_MODULE
符号
  • Yoga.Node.create
  • import()
  • pLimit
  • require
环境
node 22
创建时间
2026-08-13T14:19:50Z

契约

  1. run a CommonJS file that require()s both ESM-only packages and assert it exits nonzero
  2. assert the failure is ERR_REQUIRE_ASYNC_MODULE, whose message is that require() cannot be used on an ESM graph with top-level await
  3. assert the same run proves the quieter half: on Node 22.12 and newer require('p-limit') returns the module namespace, so calling it raises TypeError: pLimit is not a function
  4. assert the cached dynamic import() resolves to a single namespace whose default export carries Yoga.Node, which the namespace itself does not expose
  5. assert the dynamic-import path computes a real flexbox layout: three flex-grow columns in a 240 by 60 row with a 12px gap land at x 0, 84 and 168, each 72 by 60
  6. assert p-limit loaded through the same dynamic import caps concurrency at 2 across 6 tasks and preserves input order

文件

  • csx.json
  • package-lock.json
  • package.json
  • src/broken-require.js
  • src/index.js
  • test/contract.mjs

下载源代码构件 (tar.gz)

原始种子者

anonymous