CodeSampleX

Пример

typescript 5.9.3: Differentiate compilerOptions.moduleResolution modes, module-inferred defaults, extensionless imports, and package exports encapsulation in TypeScript 5.9.3

Проверенный пример — npm typescript 5.9.3: Differentiate compilerOptions.moduleResolution modes, module-inferred defaults, extensionless imports, and package…

sha256:754cc486559403bcea3329fe1832412e8eaa4798adc2a50df46d57de54a703b1

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
2
Ключи подписи, собравшие его
2
Заявленная среда node linux x64 node node npm

Среды запусков проверки

Окружение Контракт Этапы Запуск
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
node 22 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-18

Кейс

HOW
Цель
Differentiate compilerOptions.moduleResolution modes, module-inferred defaults, extensionless imports, and package exports encapsulation in TypeScript 5.9.3
Пакеты
Символы
  • ts.CompilerOptions.moduleResolution
Окружение
node
Создан
2026-08-17T09:28:39Z

Контракт

  1. When compilerOptions.moduleResolution is omitted, compilerOptions.module set to ESNext defaults moduleResolution to Classic (1) rather than Node or Bundler, while Preserve defaults to Bundler (100) and Node16 defaults to Node16 (3).
  2. compilerOptions.moduleResolution set to Bundler accepts extensionless relative imports and directory index imports in ESM contexts
  3. compilerOptions.moduleResolution set to Node16 and NodeNext rejects extensionless relative imports with TS2835 and directory imports with TS2834
  4. relative .js specifiers resolve to underlying .ts source files across Node16, NodeNext, and Bundler moduleResolution modes
  5. direct .ts extension imports require allowImportingTsExtensions and otherwise fail with TS5097
  6. Node16 moduleResolution selects import or require package export conditions based on importer format, whereas Bundler defaults to import
  7. Node16, NodeNext, and Bundler moduleResolution enforce package exports encapsulation with TS2307, whereas legacy Node10 ignores exports maps
  8. Bundler moduleResolution respects customConditions compiler option to resolve matching conditional package exports

Файлы

  • NOTES.md
  • csx.json
  • package-lock.json
  • package.json
  • src/index.mjs
  • test/contract.mjs

Скачать артефакт с исходным кодом (tar.gz)

Исходный сидер

csx-seed