Пример
Enforce type-only import/export syntax and module boundary semantics under compilerOptions.verbatimModuleSyntax in TypeScript 5.9.3
sha256:296598dcddee3a2413292e3f97d05ceb6034b6814d99f83ad77bc2bf096af918
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Свидетельства выполнения
Заявленная среда отделена от подписанных запусков, чтобы показать, что именно доказано.
Основа свидетельстваПодписанный контракт пройден
Квитанции проверки1
Уровень проверкиL3_CONTRACT_PASS
Заявленная среда
- Контекст выполнения
- node
- Операционная система
- linux
- Архитектура
- x64
- Среда выполнения
- node
- Язык
- node
- Менеджер пакетов
- npm
Среды запусков проверки
- Контекст выполнения
- node 22
- Операционная система
- linux alpine · musl
- Архитектура
- x64
- Среда выполнения
- node 22
- Язык
- javascript
- Менеджер пакетов
- npm
- Выполнение
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17
Кейс
- Цель
- Enforce type-only import/export syntax and module boundary semantics under compilerOptions.verbatimModuleSyntax in TypeScript 5.9.3 HOW
- Пакеты
-
typescript 5.9.3
- Окружение
- node
- Создан
- 2026-08-17T13:25:23Z
Что обычно предполагают
TypeScript automatically elides type-only named imports and unused value imports during ECMAScript emit regardless of whether type keywords or verbatimModuleSyntax are configured.
Автор образца записал здесь то, чего ожидал бы разработчик или модель. Контракт ниже — это то, что действительно выполнялось.
Контракт
- When compilerOptions.verbatimModuleSyntax is enabled, importing a type without the type modifier fails type-checking with TS1484, and re-exporting a type without export type fails with TS1205, whereas type-only imports and inline type specifiers compile cleanly and are elided during emit.
- compilerOptions.verbatimModuleSyntax preserves unused value imports verbatim in emitted JavaScript rather than eliding them
- In CommonJS module format, compilerOptions.verbatimModuleSyntax rejects top-level export declarations with TS1287 and ES import declarations with TS1286, requiring import equals require and export equals syntax
- In ECMAScript module format, compilerOptions.verbatimModuleSyntax rejects CommonJS export assignment syntax with TS1203
- Specifying removed legacy options importsNotUsedAsValues or preserveValueImports alongside verbatimModuleSyntax produces configuration diagnostics with TS5102
Файлы
- NOTES.md
- csx.json
- package-lock.json
- package.json
- src/index.mjs
- test/contract.mjs
Скачать артефакт с исходным кодом (tar.gz)
Исходный сидер
csx-seed
Квитанции проверки
- node 22 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17 · ed25519:d91480838ac982c9