TS TypeScript  ·  25 вопросов  ·  ~70 мин  ·  ⏱ Таймер 10:00  ·  Средний  · 

Настройка tsconfig

Разбирает тему «Настройка tsconfig» на практических сценариях: поиск дефектов, сравнение решений и оценка последствий. Вопросы требуют читать код, сопоставлять статические гарантии с поведением JavaScript и выбирать решение, которое не рассыплется при развитии проекта.

Отвечено: 0 из 25
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 25 вопросов отведено 70 минут. Код читайте построчно: часть заданий проверяет не результат JavaScript, а то, что TypeScript способен доказать до запуска.
Вопрос 1 из 25
Чем target отличается от lib?
TypeScript
{
  "compilerOptions": {
    "target": "ES2020",
    "lib": ["ES2023", "DOM"]
  }
}
Вопрос 2 из 25
Почему наличие Array.prototype.toSorted в типах не гарантирует работу в старом браузере?
TypeScript
{
  "compilerOptions": { "lib": ["ES2023", "DOM"], "target": "ES2018" }
}
Вопрос 3 из 25
Зачем серверному проекту может понадобиться убрать DOM из lib?
TypeScript
{
  "compilerOptions": { "lib": ["ES2023"] }
}
Вопрос 4 из 25
В показанном фрагменте как выбирать target?
Вопрос 5 из 25
Что проверить при изменении lib?
Вопрос 6 из 25
В показанном фрагменте что делает include?
TypeScript
{
  "include": ["src/**/*.ts", "tests/**/*.ts"]
}
Вопрос 7 из 25
Почему exclude не удаляет импортированный файл из программы?
TypeScript
{
  "include": ["src"],
  "exclude": ["src/generated"]
}
// src/index.ts импортирует ./generated/api
Вопрос 8 из 25
Что делает files в отличие от include?
TypeScript
{
  "files": ["src/index.ts", "src/globals.d.ts"]
}
Вопрос 9 из 25
Почему тесты иногда стоит вынести в отдельный tsconfig?
Вопрос 10 из 25
Как проверить фактический список файлов проекта?
Вопрос 11 из 25
В показанном фрагменте что делает noEmit?
TypeScript
{
  "compilerOptions": { "noEmit": true }
}
Вопрос 12 из 25
Как declaration влияет на сборку библиотеки?
TypeScript
{
  "compilerOptions": { "declaration": true, "emitDeclarationOnly": true }
}
Вопрос 13 из 25
Зачем нужен declarationMap?
TypeScript
{
  "compilerOptions": { "declaration": true, "declarationMap": true }
}
Вопрос 14 из 25
Почему noEmitOnError важен при использовании tsc как эмиттера?
Вопрос 15 из 25
Как избежать публикации внутренних типов в .d.ts?
Вопрос 16 из 25
Почему module и moduleResolution нужно выбирать согласованно?
TypeScript
{
  "compilerOptions": {
    "module": "NodeNext",
    "moduleResolution": "NodeNext"
  }
}
Вопрос 17 из 25
Что меняет esModuleInterop?
TypeScript
{
  "compilerOptions": { "esModuleInterop": true }
}
Вопрос 18 из 25
В показанном фрагменте зачем isolatedModules?
TypeScript
{
  "compilerOptions": { "isolatedModules": true }
}
Вопрос 19 из 25
Почему skipLibCheck не исправляет плохие типы библиотеки?
Вопрос 20 из 25
Как проверить итог после цепочки extends в tsconfig?
Вопрос 21 из 25
Какой тест обнаружит, что изменение lib случайно добавило DOM-типы в серверный проект?
TypeScript
// В server tsconfig случайно добавили lib: ["ES2022", "DOM"]
document.querySelector("main");
Вопрос 22 из 25
Почему тест конфигурации должен использовать tsc -p с отдельным tsconfig?
TypeScript
// Выполняется из каталога монорепозитория:
// tsc -p packages/api/tsconfig.test.json --noEmit
const value: string = "checked with project config";
Вопрос 23 из 25
Что проверить после включения noEmitOnError?
TypeScript
// tsconfig: { "noEmitOnError": true }
const port: number = "3000";
// В dist мог остаться файл от предыдущей успешной сборки.
Вопрос 24 из 25
После перехода на NodeNext локальная сборка проходит, а опубликованный пакет не импортируется. Какой тест нужен?
Вопрос 25 из 25
Как проверить, что наследуемый tsconfig не ослабил strict-флаги незаметно?

Ответьте на все 25 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу