Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
typescript:tsconfig.json [2022/11/14 14:15] werwolf [allowSyntheticDefaultImports] |
typescript:tsconfig.json [2023/01/12 12:18] (текущий) |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | =====tsconfig.json===== | ||
| - | ====config==== | ||
| - | <code javascript> | ||
| - | // Файл "tsconfig.json": | ||
| - | // - устанавливает корневой каталог проекта TypeScript; | ||
| - | // - выполняет настройку параметров компиляции; | ||
| - | // - устанавливает файлы проекта. | ||
| - | // Присутствие файла "tsconfig.json" в папке указывает TypeScript, что это корневая папка проекта. | ||
| - | // Внутри "tsconfig.json" указываются настройки компилятора TypeScript и корневые файлы проекта. | ||
| - | // Программа компилятора "tsc" ищет файл "tsconfig.json" сначала в папке, где она расположена, затем поднимается выше и ищет в родительских папках согласно их вложенности друг в друга. | ||
| - | // Команда "tsc --project C:\path\to\my\project\folder" берет файл "tsconfig.json" из папки, расположенной по данному пути. | ||
| - | // Файл "tsconfig.json" может быть полностью пустым, тогда компилятор скомпилирует все файлы с настройками заданными по умолчанию. | ||
| - | // Опции компилятора, перечисленные в командной строке перезаписывают собой опции, заданные в файле "tsconfig.json". | ||
| - | { | ||
| - | "extends": "./configs/base", // Загрузить другой конфигурационный файл "tsconfig.json", взятый за основу, и перезаписать его значениями из секций ниже. | ||
| - | "compileOnSave": true, // При значении true указывает используемой редактору кода производить компиляцию при каждом сохранении файлов TypeScript. Поддерживается не всеми редакторами кода. | ||
| - | "compilerOptions": { | ||
| - | // Настраивает параметры компиляции. Параметры называются также, как и в командной строке. | ||
| - | |||
| - | // Основные настройки. | ||
| - | // Настройки путей для создания выходных файлов. | ||
| - | "module": "amd", // Определяет тип импорта кода в итоговом файле, прописанном в "outFile". Необходимо задавать при использовании опции "outFile". | ||
| - | "outFile": "./build/bundle.js", // Имя единого итогового выходного файла, в который будут помещен код из всех найденных TypeScript-файлов. | ||
| - | "outDir": "./build", // Поместить все скомпилированные файлы в данную папку, согласно их вложенности в исходниках. Если задана опция "outFile", то опция "outDir" будет проигнорирована. | ||
| - | // Если "outFile" и "outDir" не заданы, то выходные файлы будут созданы рядом со своими исходниками. | ||
| - | // Настройки для поиска @types | ||
| - | "typeRoots": [ | ||
| - | // По умолчанию все видимые в проекте пакеты "@types", расположенные в папках "node_modules" на всех уровнях вложенности, используются при компиляции. | ||
| - | // Но, если указан массив "typeRoots", тогда при компиляции будут использованы только описания типов, найденные в папках, расположенных по перечисленным в нем путях. | ||
| - | // При этом описания типов, находящихся в других папках использованы не будут. | ||
| - | // Папки с пакетами описаний типов обычно содержат внутри себя файл "index.d.ts" или "package.json" со свойством "types". | ||
| - | "./typings" // При компиляции будут использованы только файлы описания типов ".d.ts" находящиеся в этой папке. | ||
| - | ], | ||
| - | "types": ["node", "lodash", "express"], // Если указан параметр "types", то из всех найденных будут использованы только те описания типов, что указаны в его массиве, а именно: "./typings/node", "./typings/lodash", "./typings/express". | ||
| - | // Другие найденные типы использоваться не будут. | ||
| - | // Задание "types": [] приведет к отключению автоматического использования описаний типов из папок "@types". | ||
| - | "rootDir": "../src", // Путь до папки с которой надо начинать поиск входных файлов. Обычно корневая директория вычисляется по списку входных файлов. Данная опция необходима для проверки, что все найденные TypeScript-файлы находятся внутри корневой папки. | ||
| - | "rootDirs": [ | ||
| - | // Список корневых папок, совокупный контент которых представляет структуру проекта для компиляции. | ||
| - | "src/views", | ||
| - | "generated/templates/views" | ||
| - | ], | ||
| - | "baseUrl": ".", // Путь до базовой папки для поиска не относительных путей до файлов. | ||
| - | "build": false, // TODO | ||
| - | "composite": true, // TODO | ||
| - | "paths": { | ||
| - | // Укажите сопоставление маршрутов для вычисления по сравнению с параметром baseUrl. | ||
| - | "jquery": ["node_modules/jquery/dist/jquery"] // Путь относительно "baseUrl". | ||
| - | }, | ||
| - | "lib": ["es5", "es6", "es2015.promise", "es2016.array.include"], // Набор библиотечных файлов полифилов, которые будут включены в итоговый выходной файл. | ||
| - | "jsx": "react", // Включать ли поддержку ".tsx" файлов? | ||
| - | "jsxFactory": "React.createElement", // Укажите фабричную функцию JSX, чтобы использовать, когда таргетинг реагирует на обработку JSX, например: 'React.createElement' или 'h'. Требуется TypeScript версии 2.1 или новее. | ||
| - | "allowJs": false, // Разрешать компилировать файлы с JavaScript-кодом? | ||
| - | "alwaysStrict": false, // Компилировать ли каждый файл в строгом режиме и создавать ли 'use strict' для каждого выходного файла? Требуется TypeScript версии 2.1 или новее. | ||
| - | "checkJs": false, // Сообщить об ошибках в .js-файлах? Используйте совместно с "allowJs". | ||
| - | "downlevelIteration": false, // Обеспечьте полную поддержку итераций для for - in, ..., деструктуризации при настройке на ES5 или ES3? | ||
| - | "importHelpers": false, // Имортировать созданные хелперы (__extends, __rest и так далее) из "tslib". | ||
| - | "noEmitOnError": true, // Не создавать итоговый файл, если во время компиляции произошла ошибка. | ||
| - | "noEmitHelpers": false, // Не помещать в код итогового файла функции хелперы. | ||
| - | "noUnusedLocals": true, // Показывать ошибку, если где-то найдены неиспользуемые локальные значения. | ||
| - | "noUnusedParameters": true, // Показывать ошибку, если где-то найдены неиспользуемые параметры. | ||
| - | "noImplicitUseStrict": false, // Не записывать 'use strict' в итоговый выходной файл? | ||
| - | "pretty": true, // Окрашивать в терминале сообщения об ошибках. | ||
| - | "removeComments": true, // Удалить все комментарии из итогового файла. | ||
| - | "sourceMap": true, // Создавать ли соответствующие source map файлы ".map"? | ||
| - | "strict": false, // Включить ли все строги проверки типов сразу: noImplicitAny, noImplicitThis, alwaysStrict, strictNullChecks, strictFunctionTypes, strictPropertyInitialization? | ||
| - | "strictNullChecks": false, // Значения "null" и "undefined" могут быть присвоены только значениям данного типа и значениям только с типом "any"? | ||
| - | "target": "es3", // Тип кода создаваемого итогового файла. | ||
| - | "watch": true, // Запустить компилятор в режиме отслеживания изменений во входных файлах и их повторной компиляции? | ||
| - | |||
| - | // Дополнительные настройки. | ||
| - | "allowSyntheticDefaultImports": false, // Разрешить импортировать модули не имеющие внутри себя "import default"? | ||
| - | "allowUnreachableCode": false, // Сообщить об ошибке в случае обнаружения кода, который никогда не будет выполнен? | ||
| - | "allowUnusedLabels": false, // Не создавать сообщений об ошибках, если в коде найдены неиспользуемые метки label? | ||
| - | "allowUmdGlobalAccess": false, // TODO | ||
| - | "assumeChangesOnlyAffectDirectDependencies": false, // TODO | ||
| - | "charset": "utf8", // Кодировка входных файлов. | ||
| - | "declaration": false, // Создавать ли соответствующие файлы ".d.ts"? | ||
| - | "declarationDir": ".", // Путь до папки, в которую будут записаны созданные соответствующие файлы ".d.ts". | ||
| - | "declarationMap": false, // TODO | ||
| - | "diagnostics": false, // Показывать ли диагностическую информацию? | ||
| - | "disableSizeLimit": false, // Отключить ограничение размера в проекте JavaScript. | ||
| - | "emitBOM": false, // Записывать ли UTF-8 Byte Order Mark (BOM) в начало итогового файла? | ||
| - | "emitDeclarationOnly": false, // TODO | ||
| - | "emitDecoratorMetadata": false, // Создавать метаданные для объявлений декораторов в исходном коде? | ||
| - | "esModuleInterop": false, // Создать хелперы __importStar и __importDefault для обеспечения совместимости с экосистемой Babel и включить allowSyntheticDefaultImports для совместимости с системой типов. | ||
| - | "experimentalDecorators": false, // Включить экспериментальную поддержку декораторов EcmaScript? | ||
| - | "extendedDiagnostics": false, // TODO | ||
| - | "forceConsistentCasingInFileNames": false, // Запретить несогласованные ссылки на один и тот же файл? | ||
| - | "inlineSources": false, // Помещать ли source в итоговый файл рядом с source map? | ||
| - | "inlineSourceMap": false, // Помещать ли source map в итоговый файл, вместо того чтобы иметь отдельный файл с source map? | ||
| - | "isolatedModules": false, // Обрабатывать каждый файл, как отдельный изолированный модуль. | ||
| - | "listFiles": false, // Печатать ли имена файлов при компиляции? | ||
| - | "listEmittedFiles": false, // Печатать список всех выходных файлов при компиляции. Требуется TypeScript версии 2.0 или новее. | ||
| - | "mapRoot": ".", // Путь до папки, в которой дебаггер браузера должен будет искать файлы с source map. | ||
| - | "maxNodeModuleJsDepth": 0, // Максимальная глубина поиска зависимостей внутри node_modules и загрузки файлов JavaScript. Применяется только вместе с заданной опцией "allowJs". | ||
| - | "moduleResolution": "classic", // Определить способ поиска модулей в папках: как в Node.js или классический, как в TypeScript 1.5 и ниже. | ||
| - | "newLine": "CRLF", // Определяет тип завершения строк в итоговом файле. | ||
| - | "noEmit": false, // Не создавать итоговый файл. | ||
| - | "noFallthroughCasesInSwitch": false, // Сообщить об ошибке в случае обнаружения проваливания в конструкции switch-case? | ||
| - | "noImplicitAny": false, // Показывать ошибку, если где-то задан тип "any". | ||
| - | "noImplicitThis": false, // Показывать ошибку на "this", если где-то задан тип "any". | ||
| - | "noImplicitReturns": false, // Сообщить об ошибке, когда не все пути кода в функции возвращают значение? | ||
| - | "noLib": false, // Не использовать стандартный библиотечный файл по умолчанию (lib.d.ts). | ||
| - | "noResolve": false, // Не добавлять "/// <reference path="..." />" в список скомпилированных файлов. | ||
| - | "noStrictGenericChecks": false, // Отключить строгую проверку типов джинериков в типах функций? | ||
| - | "plugins": [], // Список плагинов для сервера языка TypeScript для загрузки. Требуется TypeScript версии 2.3 или новее. | ||
| - | "preserveConstEnums": false, // Не удалять объявления const enum из итогового файла. | ||
| - | "preserveSymlinks": false, // Не заменять символические ссылки на их реальный путь, обрабатывать символический файл как реальный. | ||
| - | "sourceRoot": ".", // Путь до папки, в которой дебаггер должен искать исходные source файлы. | ||
| - | "skipLibCheck": false, // Не проверять типы, заданные во всех файлах описания типов (*.d.ts)? | ||
| - | "skipDefaultLibCheck": false, // Пропустить проверку типов из стандартной библиотеки по умолчанию? | ||
| - | "suppressExcessPropertyErrors": false, // Подавлять избыточные проверки свойств для объектных литералов? | ||
| - | "suppressImplicitAnyIndexErrors": false, // Подавлять "noImplicitAny" ошибки для индексирования объектов, не имеющих индексных подписей. | ||
| - | "stripInternal": false, // Не создавать объявления для кода, который имеет аннотацию JSDoc /** @internal */. | ||
| - | "strictFunctionTypes": false, // Отключить проверку бивариантных параметров для типов функций. | ||
| - | "strictPropertyInitialization": false, // Убедитесь, что свойства класса, имеющие значения undefined, получают новые значения внутри конструктора. | ||
| - | "traceResolution": false // Выводить в логи сообщения о нахождении путей до модулей. | ||
| - | }, | ||
| - | "files": [ | ||
| - | // Список относительных или абсолютных путей до конкретных исходных файлов, которые обязательно надо скомпилировать. | ||
| - | // Если секция "files" не указана, то компилятор по умолчанию включает все файлы с расширением *.ts и *.tsx, которые находятся в корневой папке и внутренних подпапках проекта. | ||
| - | // Если секция "files" указана, то скомпилируются файлы, которые в ней перечислены. | ||
| - | // Все файлы, на которые есть ссылки в файлах из секции "files", также скомпилируются. | ||
| - | "core.ts", | ||
| - | "app.ts" | ||
| - | ], | ||
| - | // Вместе с компиляцией только конкретных исходных файлов можно компилировать только файлы в заданных папках, которые будут найдены через регулярные выражения, которые принимают только следующие значения: | ||
| - | // - букву или цифру; | ||
| - | // - * - ноль или более любых символов, не включая разделители директорий "/" и "\"; | ||
| - | // - ? - один любой символ, не включая разделители директорий "/" и "\"; | ||
| - | // - **/ - рекурсивно включить любую подпапку. | ||
| - | // Если путь до папки заканчивается так "*" или так ".*", тогда в ней будут скомплированы все файлы с расширениями .ts, .tsx, .d.ts, а также .js и .jsx, если опция "allowJs" будет равна true. | ||
| - | "include": [ | ||
| - | // Секция "include" позволяет скомпилировать все файлы, находящиеся в заданных папках. | ||
| - | // Если секция "files" и секция "include" заданы вместе, то будут скомпилированы только файлы, перечисленные в обеих секциях. | ||
| - | // Все файлы, на которые есть ссылки во включенных файлах из секции "files" и секции "include", также скомпилируются. | ||
| - | "src/**/*" | ||
| - | ], | ||
| - | "exclude": [ | ||
| - | // Секция "exclude" позволяет исключить при компиляции определенные файлы, которые находятся в заданных папках секции "include" или в папках всего проекта, если секция "include" не задана. | ||
| - | // Компилятор не будет учитывать перечисленные в секции "exclude" файлы TypeScript, которые находятся в папках из секции "include". | ||
| - | // Однако файлы, заданные в секции "files" будут обязательно скомпилированы. | ||
| - | // Если секция "exclude" не указана, то по умолчанию будут исключаться из компиляции все файлы из папок: | ||
| - | // - node_modules, | ||
| - | // - bower_components, | ||
| - | // - jspm_packages, | ||
| - | // - файлы из папки, указанной в опции компилятора "outDir". | ||
| - | "src/**/*.spec.ts", | ||
| - | "node_modules" | ||
| - | ] | ||
| - | } | ||
| - | |||
| - | </code> | ||
| - | |||
| ===== Структура tsconfig ===== | ===== Структура tsconfig ===== | ||
| Строка 381: | Строка 226: | ||
| За счёт добавления болерплейта в выходной код, позволяет импортировать ''CommonJS'' пакеты как ''ES6''. | За счёт добавления болерплейта в выходной код, позволяет импортировать ''CommonJS'' пакеты как ''ES6''. | ||
| - | <code> | + | <code javascript> |
| // библиотека moment экспортируется только как CommonJS | // библиотека moment экспортируется только как CommonJS | ||
| // пытаемся импортировать её как ES6 | // пытаемся импортировать её как ES6 | ||
| Строка 409: | Строка 254: | ||
| Спецификация ''ES6'' добавила новый синтаксис для итерирования: цикл ''for / of'', ''array spread'', ''arguments spread''. Если код проекта преобразовывается в ''ES5'', то конструкция с циклом ''for / of'' будет преобразована в обычный ''for'': | Спецификация ''ES6'' добавила новый синтаксис для итерирования: цикл ''for / of'', ''array spread'', ''arguments spread''. Если код проекта преобразовывается в ''ES5'', то конструкция с циклом ''for / of'' будет преобразована в обычный ''for'': | ||
| - | <code> | + | <code javascript> |
| // код es6 | // код es6 | ||
| const str = 'Hello!'; | const str = 'Hello!'; | ||
| Строка 417: | Строка 262: | ||
| </code> | </code> | ||
| - | <code> | + | <code javascript> |
| // код es5 без downlevelIteration | // код es5 без downlevelIteration | ||
| var str = "Hello!"; | var str = "Hello!"; | ||
| Строка 486: | Строка 331: | ||
| Флаг позволяет включить возможность импортировать ''*.json'' файлы. Ничего дополнительно устанавливать не требуется. | Флаг позволяет включить возможность импортировать ''*.json'' файлы. Ничего дополнительно устанавливать не требуется. | ||
| - | <code> | + | <code javascript> |
| // необходимо указывать расширение .json | // необходимо указывать расширение .json | ||
| import config from './config.json' | import config from './config.json' | ||
| Строка 502: | Строка 347: | ||
| UPD: Здесь можно прочитать [[https://habr.com/ru/post/557738/|вторую часть статьи]]. | UPD: Здесь можно прочитать [[https://habr.com/ru/post/557738/|вторую часть статьи]]. | ||
| + | |||
| + | =====tsconfig.json===== | ||
| + | ====config==== | ||
| + | <code javascript> | ||
| + | // Файл "tsconfig.json": | ||
| + | // - устанавливает корневой каталог проекта TypeScript; | ||
| + | // - выполняет настройку параметров компиляции; | ||
| + | // - устанавливает файлы проекта. | ||
| + | // Присутствие файла "tsconfig.json" в папке указывает TypeScript, что это корневая папка проекта. | ||
| + | // Внутри "tsconfig.json" указываются настройки компилятора TypeScript и корневые файлы проекта. | ||
| + | // Программа компилятора "tsc" ищет файл "tsconfig.json" сначала в папке, где она расположена, затем поднимается выше и ищет в родительских папках согласно их вложенности друг в друга. | ||
| + | // Команда "tsc --project C:\path\to\my\project\folder" берет файл "tsconfig.json" из папки, расположенной по данному пути. | ||
| + | // Файл "tsconfig.json" может быть полностью пустым, тогда компилятор скомпилирует все файлы с настройками заданными по умолчанию. | ||
| + | // Опции компилятора, перечисленные в командной строке перезаписывают собой опции, заданные в файле "tsconfig.json". | ||
| + | { | ||
| + | "extends": "./configs/base", // Загрузить другой конфигурационный файл "tsconfig.json", взятый за основу, и перезаписать его значениями из секций ниже. | ||
| + | "compileOnSave": true, // При значении true указывает используемой редактору кода производить компиляцию при каждом сохранении файлов TypeScript. Поддерживается не всеми редакторами кода. | ||
| + | "compilerOptions": { | ||
| + | // Настраивает параметры компиляции. Параметры называются также, как и в командной строке. | ||
| + | |||
| + | // Основные настройки. | ||
| + | // Настройки путей для создания выходных файлов. | ||
| + | "module": "amd", // Определяет тип импорта кода в итоговом файле, прописанном в "outFile". Необходимо задавать при использовании опции "outFile". | ||
| + | "outFile": "./build/bundle.js", // Имя единого итогового выходного файла, в который будут помещен код из всех найденных TypeScript-файлов. | ||
| + | "outDir": "./build", // Поместить все скомпилированные файлы в данную папку, согласно их вложенности в исходниках. Если задана опция "outFile", то опция "outDir" будет проигнорирована. | ||
| + | // Если "outFile" и "outDir" не заданы, то выходные файлы будут созданы рядом со своими исходниками. | ||
| + | // Настройки для поиска @types | ||
| + | "typeRoots": [ | ||
| + | // По умолчанию все видимые в проекте пакеты "@types", расположенные в папках "node_modules" на всех уровнях вложенности, используются при компиляции. | ||
| + | // Но, если указан массив "typeRoots", тогда при компиляции будут использованы только описания типов, найденные в папках, расположенных по перечисленным в нем путях. | ||
| + | // При этом описания типов, находящихся в других папках использованы не будут. | ||
| + | // Папки с пакетами описаний типов обычно содержат внутри себя файл "index.d.ts" или "package.json" со свойством "types". | ||
| + | "./typings" // При компиляции будут использованы только файлы описания типов ".d.ts" находящиеся в этой папке. | ||
| + | ], | ||
| + | "types": ["node", "lodash", "express"], // Если указан параметр "types", то из всех найденных будут использованы только те описания типов, что указаны в его массиве, а именно: "./typings/node", "./typings/lodash", "./typings/express". | ||
| + | // Другие найденные типы использоваться не будут. | ||
| + | // Задание "types": [] приведет к отключению автоматического использования описаний типов из папок "@types". | ||
| + | "rootDir": "../src", // Путь до папки с которой надо начинать поиск входных файлов. Обычно корневая директория вычисляется по списку входных файлов. Данная опция необходима для проверки, что все найденные TypeScript-файлы находятся внутри корневой папки. | ||
| + | "rootDirs": [ | ||
| + | // Список корневых папок, совокупный контент которых представляет структуру проекта для компиляции. | ||
| + | "src/views", | ||
| + | "generated/templates/views" | ||
| + | ], | ||
| + | "baseUrl": ".", // Путь до базовой папки для поиска не относительных путей до файлов. | ||
| + | "build": false, // TODO | ||
| + | "composite": true, // TODO | ||
| + | "paths": { | ||
| + | // Укажите сопоставление маршрутов для вычисления по сравнению с параметром baseUrl. | ||
| + | "jquery": ["node_modules/jquery/dist/jquery"] // Путь относительно "baseUrl". | ||
| + | }, | ||
| + | "lib": ["es5", "es6", "es2015.promise", "es2016.array.include"], // Набор библиотечных файлов полифилов, которые будут включены в итоговый выходной файл. | ||
| + | "jsx": "react", // Включать ли поддержку ".tsx" файлов? | ||
| + | "jsxFactory": "React.createElement", // Укажите фабричную функцию JSX, чтобы использовать, когда таргетинг реагирует на обработку JSX, например: 'React.createElement' или 'h'. Требуется TypeScript версии 2.1 или новее. | ||
| + | "allowJs": false, // Разрешать компилировать файлы с JavaScript-кодом? | ||
| + | "alwaysStrict": false, // Компилировать ли каждый файл в строгом режиме и создавать ли 'use strict' для каждого выходного файла? Требуется TypeScript версии 2.1 или новее. | ||
| + | "checkJs": false, // Сообщить об ошибках в .js-файлах? Используйте совместно с "allowJs". | ||
| + | "downlevelIteration": false, // Обеспечьте полную поддержку итераций для for - in, ..., деструктуризации при настройке на ES5 или ES3? | ||
| + | "importHelpers": false, // Имортировать созданные хелперы (__extends, __rest и так далее) из "tslib". | ||
| + | "noEmitOnError": true, // Не создавать итоговый файл, если во время компиляции произошла ошибка. | ||
| + | "noEmitHelpers": false, // Не помещать в код итогового файла функции хелперы. | ||
| + | "noUnusedLocals": true, // Показывать ошибку, если где-то найдены неиспользуемые локальные значения. | ||
| + | "noUnusedParameters": true, // Показывать ошибку, если где-то найдены неиспользуемые параметры. | ||
| + | "noImplicitUseStrict": false, // Не записывать 'use strict' в итоговый выходной файл? | ||
| + | "pretty": true, // Окрашивать в терминале сообщения об ошибках. | ||
| + | "removeComments": true, // Удалить все комментарии из итогового файла. | ||
| + | "sourceMap": true, // Создавать ли соответствующие source map файлы ".map"? | ||
| + | "strict": false, // Включить ли все строги проверки типов сразу: noImplicitAny, noImplicitThis, alwaysStrict, strictNullChecks, strictFunctionTypes, strictPropertyInitialization? | ||
| + | "strictNullChecks": false, // Значения "null" и "undefined" могут быть присвоены только значениям данного типа и значениям только с типом "any"? | ||
| + | "target": "es3", // Тип кода создаваемого итогового файла. | ||
| + | "watch": true, // Запустить компилятор в режиме отслеживания изменений во входных файлах и их повторной компиляции? | ||
| + | |||
| + | // Дополнительные настройки. | ||
| + | "allowSyntheticDefaultImports": false, // Разрешить импортировать модули не имеющие внутри себя "import default"? | ||
| + | "allowUnreachableCode": false, // Сообщить об ошибке в случае обнаружения кода, который никогда не будет выполнен? | ||
| + | "allowUnusedLabels": false, // Не создавать сообщений об ошибках, если в коде найдены неиспользуемые метки label? | ||
| + | "allowUmdGlobalAccess": false, // TODO | ||
| + | "assumeChangesOnlyAffectDirectDependencies": false, // TODO | ||
| + | "charset": "utf8", // Кодировка входных файлов. | ||
| + | "declaration": false, // Создавать ли соответствующие файлы ".d.ts"? | ||
| + | "declarationDir": ".", // Путь до папки, в которую будут записаны созданные соответствующие файлы ".d.ts". | ||
| + | "declarationMap": false, // TODO | ||
| + | "diagnostics": false, // Показывать ли диагностическую информацию? | ||
| + | "disableSizeLimit": false, // Отключить ограничение размера в проекте JavaScript. | ||
| + | "emitBOM": false, // Записывать ли UTF-8 Byte Order Mark (BOM) в начало итогового файла? | ||
| + | "emitDeclarationOnly": false, // TODO | ||
| + | "emitDecoratorMetadata": false, // Создавать метаданные для объявлений декораторов в исходном коде? | ||
| + | "esModuleInterop": false, // Создать хелперы __importStar и __importDefault для обеспечения совместимости с экосистемой Babel и включить allowSyntheticDefaultImports для совместимости с системой типов. | ||
| + | "experimentalDecorators": false, // Включить экспериментальную поддержку декораторов EcmaScript? | ||
| + | "extendedDiagnostics": false, // TODO | ||
| + | "forceConsistentCasingInFileNames": false, // Запретить несогласованные ссылки на один и тот же файл? | ||
| + | "inlineSources": false, // Помещать ли source в итоговый файл рядом с source map? | ||
| + | "inlineSourceMap": false, // Помещать ли source map в итоговый файл, вместо того чтобы иметь отдельный файл с source map? | ||
| + | "isolatedModules": false, // Обрабатывать каждый файл, как отдельный изолированный модуль. | ||
| + | "listFiles": false, // Печатать ли имена файлов при компиляции? | ||
| + | "listEmittedFiles": false, // Печатать список всех выходных файлов при компиляции. Требуется TypeScript версии 2.0 или новее. | ||
| + | "mapRoot": ".", // Путь до папки, в которой дебаггер браузера должен будет искать файлы с source map. | ||
| + | "maxNodeModuleJsDepth": 0, // Максимальная глубина поиска зависимостей внутри node_modules и загрузки файлов JavaScript. Применяется только вместе с заданной опцией "allowJs". | ||
| + | "moduleResolution": "classic", // Определить способ поиска модулей в папках: как в Node.js или классический, как в TypeScript 1.5 и ниже. | ||
| + | "newLine": "CRLF", // Определяет тип завершения строк в итоговом файле. | ||
| + | "noEmit": false, // Не создавать итоговый файл. | ||
| + | "noFallthroughCasesInSwitch": false, // Сообщить об ошибке в случае обнаружения проваливания в конструкции switch-case? | ||
| + | "noImplicitAny": false, // Показывать ошибку, если где-то задан тип "any". | ||
| + | "noImplicitThis": false, // Показывать ошибку на "this", если где-то задан тип "any". | ||
| + | "noImplicitReturns": false, // Сообщить об ошибке, когда не все пути кода в функции возвращают значение? | ||
| + | "noLib": false, // Не использовать стандартный библиотечный файл по умолчанию (lib.d.ts). | ||
| + | "noResolve": false, // Не добавлять "/// <reference path="..." />" в список скомпилированных файлов. | ||
| + | "noStrictGenericChecks": false, // Отключить строгую проверку типов джинериков в типах функций? | ||
| + | "plugins": [], // Список плагинов для сервера языка TypeScript для загрузки. Требуется TypeScript версии 2.3 или новее. | ||
| + | "preserveConstEnums": false, // Не удалять объявления const enum из итогового файла. | ||
| + | "preserveSymlinks": false, // Не заменять символические ссылки на их реальный путь, обрабатывать символический файл как реальный. | ||
| + | "sourceRoot": ".", // Путь до папки, в которой дебаггер должен искать исходные source файлы. | ||
| + | "skipLibCheck": false, // Не проверять типы, заданные во всех файлах описания типов (*.d.ts)? | ||
| + | "skipDefaultLibCheck": false, // Пропустить проверку типов из стандартной библиотеки по умолчанию? | ||
| + | "suppressExcessPropertyErrors": false, // Подавлять избыточные проверки свойств для объектных литералов? | ||
| + | "suppressImplicitAnyIndexErrors": false, // Подавлять "noImplicitAny" ошибки для индексирования объектов, не имеющих индексных подписей. | ||
| + | "stripInternal": false, // Не создавать объявления для кода, который имеет аннотацию JSDoc /** @internal */. | ||
| + | "strictFunctionTypes": false, // Отключить проверку бивариантных параметров для типов функций. | ||
| + | "strictPropertyInitialization": false, // Убедитесь, что свойства класса, имеющие значения undefined, получают новые значения внутри конструктора. | ||
| + | "traceResolution": false // Выводить в логи сообщения о нахождении путей до модулей. | ||
| + | }, | ||
| + | "files": [ | ||
| + | // Список относительных или абсолютных путей до конкретных исходных файлов, которые обязательно надо скомпилировать. | ||
| + | // Если секция "files" не указана, то компилятор по умолчанию включает все файлы с расширением *.ts и *.tsx, которые находятся в корневой папке и внутренних подпапках проекта. | ||
| + | // Если секция "files" указана, то скомпилируются файлы, которые в ней перечислены. | ||
| + | // Все файлы, на которые есть ссылки в файлах из секции "files", также скомпилируются. | ||
| + | "core.ts", | ||
| + | "app.ts" | ||
| + | ], | ||
| + | // Вместе с компиляцией только конкретных исходных файлов можно компилировать только файлы в заданных папках, которые будут найдены через регулярные выражения, которые принимают только следующие значения: | ||
| + | // - букву или цифру; | ||
| + | // - * - ноль или более любых символов, не включая разделители директорий "/" и "\"; | ||
| + | // - ? - один любой символ, не включая разделители директорий "/" и "\"; | ||
| + | // - **/ - рекурсивно включить любую подпапку. | ||
| + | // Если путь до папки заканчивается так "*" или так ".*", тогда в ней будут скомплированы все файлы с расширениями .ts, .tsx, .d.ts, а также .js и .jsx, если опция "allowJs" будет равна true. | ||
| + | "include": [ | ||
| + | // Секция "include" позволяет скомпилировать все файлы, находящиеся в заданных папках. | ||
| + | // Если секция "files" и секция "include" заданы вместе, то будут скомпилированы только файлы, перечисленные в обеих секциях. | ||
| + | // Все файлы, на которые есть ссылки во включенных файлах из секции "files" и секции "include", также скомпилируются. | ||
| + | "src/**/*" | ||
| + | ], | ||
| + | "exclude": [ | ||
| + | // Секция "exclude" позволяет исключить при компиляции определенные файлы, которые находятся в заданных папках секции "include" или в папках всего проекта, если секция "include" не задана. | ||
| + | // Компилятор не будет учитывать перечисленные в секции "exclude" файлы TypeScript, которые находятся в папках из секции "include". | ||
| + | // Однако файлы, заданные в секции "files" будут обязательно скомпилированы. | ||
| + | // Если секция "exclude" не указана, то по умолчанию будут исключаться из компиляции все файлы из папок: | ||
| + | // - node_modules, | ||
| + | // - bower_components, | ||
| + | // - jspm_packages, | ||
| + | // - файлы из папки, указанной в опции компилятора "outDir". | ||
| + | "src/**/*.spec.ts", | ||
| + | "node_modules" | ||
| + | ] | ||
| + | } | ||
| + | |||
| + | </code> | ||
| + | |||