TypeScript Compiler API
Руководство по работе с компилятором TypeScript
Краткое содержимое:
Введение
Книга «TypeScript Compiler API» авторства Дэвида Шеррета (David Sherret) — это уникальное практическое руководство, посвящённое работе с внутренним компилятором TypeScript. Выпущенная в 2020 году, она насчитывает 200 страниц и ориентирована на разработчиков, желающих создавать собственные инструменты статического анализа, рефакторинга и автоматизации кода. Несмотря на то, что книга написана на TypeScript, её концепции применимы и для Python-разработчиков, интересующихся метапрограммированием и построением анализаторов кода.
О чём книга
Дэвид Шеррет, известный создатель популярной библиотеки ts-morph, детально разбирает архитектуру TypeScript Compiler API. Читатель узнает, как компилятор TypeScript разбирает исходный код в абстрактное синтаксическое дерево (AST), как навигировать по узлам дерева, модифицировать их и генерировать новый код. Книга охватывает такие темы, как работа с типами, создание пользовательских трансформаторов, написание линтеров и интеграция с существующими инструментами сборки.
Для кого эта книга
Книга предназначена для разработчиков, уже знакомых с TypeScript (или JavaScript) и желающих углубиться в метапрограммирование. Она будет полезна:
- создателям инструментов разработки (линтеров, форматтеров, генераторов кода);
- разработчикам, поддерживающим крупные кодовые базы и нуждающимся в автоматическом рефакторинге;
- энтузиастам, изучающим внутреннее устройство компиляторов;
- Python-программистам, интересующимся аналогиями с AST Python (например, модуль
ast).
Что узнает читатель
После прочтения книги читатель сможет:
- понимать структуру AST TypeScript и способы его обхода;
- использовать Node и Symbol API для анализа кода;
- создавать собственные трансформации (например, замену вызовов функций);
- писать линтеры с пользовательскими правилами;
- работать с системой типов компилятора (TypeChecker);
- интегрировать API в инструменты командной строки и плагины для сборщиков.
Сильные стороны
Главное достоинство книги — практическая направленность. Каждая глава содержит примеры кода, которые можно сразу запустить и адаптировать под свои задачи. Автор использует понятный язык, избегая излишней академичности. Отдельно стоит отметить главу, посвящённую ts-morph — библиотеке, упрощающей работу с компилятором. Книга хорошо структурирована: от основ до продвинутых техник, что позволяет использовать её как справочник.
Кому рекомендуется
Рекомендуется всем, кто хочет выйти за рамки простого использования TypeScript и начать создавать инструменты, автоматизирующие рутинные задачи. Для Python-разработчиков книга станет отличным введением в метапрограммирование на TypeScript, а также поможет лучше понять, как устроены аналогичные механизмы в Python (например, модуль ast и библиотеки вроде libcst).
Рекомендаций
Kotlin и базы данных: практическое руководство
Конкурентность в Kotlin: Асинхронное программирование и корутины
Архитектура C# (.NET) приложений: от новичка до профессионала
Асинхронный TypeScript: полное руководство
Чистый код на Go: пишем эффективные и поддерживаемые программы
Тестирование Kotlin приложений: от юнитов до E2E