TypeScript Compiler API - Доступ к выводу этапов компилятора - PullRequest
1 голос
/ 03 октября 2019

Можно ли "привязать" пользовательские плагины к различным этапам TS или вызвать эти этапы с помощью API TS? Наилучшим способом было бы иметь полный контроль над процессом транспиляции.

Я имею в виду, в идеале, иметь машинописный код в качестве строкового ввода, передавать его парсеру, получать дерево AST, анализировать / изменять его,передать его TypeChecker, выполнить пользовательские действия над проверенным AST (генерация документации, статический анализ кода, оптимизация кода, встряхивание дерева, устранение мертвого кода, минимизация, пользовательские преобразования) и его испускание.

Насколько я знаю, это не проблема, чтобы построить AST из строки. Я также знаю, что следующие этапы легко настраиваются, т. Е. Реализация пользовательских преобразований, включая отправку окончательного вывода.

Но я не нашел способа проверить тип пользовательского файла (не обрабатывается внутренним образом и не добавляется впрограммный контекст), т. е. добавить проанализированный AST в программу (в форме sourceFile) и работать с ним, как если бы он был добавлен внутренне при обработке программы.

Есть ли способ, позволяющий типу компиляторапроверить пользовательское дерево AST, проанализированное "внешне"?

...