Пример
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