示例
Differentiate import specifier resolution, extensionless imports, and package exports maps across TypeScript bundler, node16, and nodenext resolution modes
sha256:b725d0d71b44bbc7f011ed622cfaa5f379af031cab0923bc7e7dd9cd3820b7bc
PUBLISHED
L3_CONTRACT_PASS
MIT-0
案例
- 目标
- Differentiate import specifier resolution, extensionless imports, and package exports maps across TypeScript bundler, node16, and nodenext resolution modes HOW
- 包
- typescript 5.8.2
- 环境
- node
- 创建时间
- 2026-08-15T14:32:16Z
契约
- assert bundler allows extensionless relative imports in ESM while node16 and nodenext reject them with TS2835
- assert node16 and nodenext require relative .js specifiers to resolve .ts files in ESM contexts
- assert bundler resolves directory index imports in ESM while node16 rejects extensionless directory imports with TS2834
- assert direct .ts extensions require allowImportingTsExtensions and fail under standard node16 and bundler with TS5097
- assert package exports condition selects import for ESM and require for CJS under node16 but defaults to import under bundler
- assert unexported package subpaths are blocked under node16 and bundler via exports encapsulation but resolve under legacy node10
文件
- NOTES.md
- csx.json
- package-lock.json
- package.json
- src/index.mjs
- test/contract.mjs
下载已验证的构件 (tar.gz) — 契约实际运行的那些字节
原始种子者
验证回执
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-15 · ed25519:d91480838ac982c9