Skip to main content

tsconfig.node.json

{
    "compilerOptions": {
        //? Базовые настройки компиляции
        // Компилирует код в современный JavaScript (ESNext), поддерживая новые возможности.
        "target": "ESNext",
        // Использует модули последней версии (требуется для Node.js).
        "module": "ESNext",
        // Позволяет TypeScript правильно находить модули Node.js.
        "moduleResolution": "bundler",
        // Указывает папку, куда будут сохраняться скомпилированные файлы (.js и .d.ts).
        "outDir": "./dist",
        // Определяет корневую папку исходников.
        //"rootDir": "./",

        //? Строгий режим и безопасность
        // Включает все строгие проверки TypeScript (лучше для безопасности кода).
        "strict": true,
        // Запрещает различия в регистре имён файлов (file.ts ≠ File.ts).
        "forceConsistentCasingInFileNames": true,
        // Отключает проверку типов в сторонних .d.ts библиотеках (ускоряет компиляцию).
        "skipLibCheck": true,
        // Требует, чтобы каждый .ts-файл компилировался отдельно (важно для ESM и Babel).
        "isolatedModules": true,

        //? Улучшенная работа с модулями
        // Позволяет импортировать JSON-файлы как модули.
        "resolveJsonModule": true,
        // Улучшает совместимость между CommonJS и ES-модулями (нужно для import fs from "fs").
        "esModuleInterop": true,
        // Разрешает использование import someLib from "library", даже если в CommonJS он экспортируется как module.exports.
        "allowSyntheticDefaultImports": true,

        //? Настройки вывода и сборки
        // Включает инкрементальную компиляцию (ускоряет работу с tsc -b).
        "composite": true,
        // Разрешает компиляцию .ts в .js (иначе файлы не создадутся).
        "noEmit": false,

        // разрешает создать файлы декларации
        "declaration": true
        // каталог для генерации файлов декларации
        //"declarationDir": "./dist/types"
    },
    //? Этот параметр указывает файлы, которые TypeScript должен компилировать
    //! серверная часть!.
    // vite.config.ts. - файл конфигурации vite
    // src/**/*.ts - Все .ts файлы в папке src/ тоже.
    "include": ["vite.config.ts"]
}