Генератор tsconfig.json

Создайте tsconfig.json для любого TypeScript проекта. Пресеты для Node 18/20/22, Next.js, React, библиотек — с объяснением каждой опции компилятора.

Comma-separated glob patterns

Comma-separated glob patterns

Об этом инструменте

Файл tsconfig.json управляет работой компилятора TypeScript — в какую версию JavaScript компилировать, какую систему модулей использовать, насколько строгой должна быть проверка типов и где искать исходные файлы. Правильный tsconfig имеет значение. Неверный target — и вы отправляете ненужные полифиллы или используете синтаксис, который ваш рантайм не поддерживает. Неправильные настройки модулей ломают импорты. Пропущенные флаги strict пропускают баги. Этот генератор даёт проверенные пресеты для популярных конфигураций — Node.js (18, 20, 22), Next.js, React с Vite, npm-библиотеки — и позволяет тонко настроить каждую опцию. Готовый конфиг можно сразу вставить в проект.

Как использовать

1. Выберите пресет под ваш проект (Node 20, Next.js, React и т.д.) 2. При необходимости настройте отдельные опции компилятора — target, module, strictness, paths 3. tsconfig.json обновляется в реальном времени при изменении настроек 4. Нажмите «Копировать» или «Скачать» чтобы получить файл 5. Вставьте в корень проекта как tsconfig.json

Часто задаваемые вопросы

Какой tsconfig использовать для Node 18?
Для Node 18 используйте target: ES2023, module: NodeNext и moduleResolution: NodeNext. Это соответствует нативной поддержке JavaScript в Node 18 и системе модулей ESM. Пресет Node 18 в этом генераторе устанавливает все эти опции автоматически.
В чём разница между module NodeNext и ESNext?
NodeNext следует правилам разрешения модулей Node.js — учитывает 'exports' в package.json и требует расширения файлов в импортах. ESNext предполагает, что бандлер (Vite, webpack) будет обрабатывать модули. Используйте NodeNext для Node.js приложений, ESNext для сборки фронтенда.
Что делает moduleResolution Bundler?
moduleResolution: Bundler говорит TypeScript разрешать импорты как современные бандлеры (Vite, webpack, esbuild) — без расширений файлов, с поддержкой 'exports' из package.json. Используйте для фронтенд-проектов со сборкой. Не используйте для Node.js приложений без бандлера.
Нужно ли включать strict mode?
Да, для любого нового проекта. Strict mode включает strictNullChecks, noImplicitAny, strictFunctionTypes и другие проверки, которые ловят реальные баги. Отключать strict в legacy-проектах понятно, но новые проекты всегда должны начинаться с strict: true.
В чём разница между target и lib?
target контролирует, какой синтаксис JavaScript выводит компилятор (стрелочные функции, async/await и т.д.). lib определяет, какие типы доступны (Promise, Map, DOM API и т.д.). Для Node.js обычно нужен lib: ['ES2023'] без DOM. Для браузера добавьте 'DOM' и 'DOM.Iterable'.
Нужен ли skipLibCheck: true?
skipLibCheck: true пропускает проверку типов в .d.ts файлах деклараций, что значительно ускоряет компиляцию. Рекомендуется для большинства проектов, потому что файлы деклараций из node_modules могут иметь конфликтующие типы, которые не ваша проблема.
Что делает verbatimModuleSyntax?
verbatimModuleSyntax требует использовать 'import type' для type-only импортов и сохраняет синтаксис import/export как есть. Заменяет старые опции importsNotUsedAsValues и preserveValueImports. Это современный способ работы с импортами типов в TypeScript 5+.

Похожие инструменты