Чтение и обработка файла TS с использованием node js - PullRequest
0 голосов
/ 10 апреля 2020

Я создаю библиотеку npm, в которой мне нужно прочитать файлы папки, из которой моя библиотечная функция была вызвана из командной строки, а затем работать с этими файлами.

По операции я имею в виду проверку если переменная существует, если существует функция, изменяющая переменную, функцию и т. д. c.

Файлы будут файлами Typescript.

Любая помощь в том, как поступить, будет отличной.

Ответы [ 2 ]

0 голосов
/ 10 апреля 2020

Похоже, вам нужен какой-то AST синтаксический анализатор, например Esprima или babel-parser . Эти инструменты могут анализировать содержимое файлов JS / TS, создавать абстрактное синтаксическое дерево, которое можно просматривать, изменять и преобразовывать обратно в исходный код.

В Babel * имеется множество полезных инструментов. Набор инструментов 1010 *, который упрощает эти операции. Например, babel-traverse упрощает поиск целевого оператора или выражения, babel-types , который помогает сопоставить тип узлов AST, и babel-generator , который генерирует исходный код из AST.

0 голосов
/ 10 апреля 2020

Будет очень трудно получить эти ответы без запуска файлов.

Таким образом, наилучшим подходом, вероятно, будет просто импортировать файлы как обычно и посмотреть, какие запущенные побочные эффекты файлы были. Например, вы можете проверить, экспортировал ли файл что-либо.

Если это не решит вашу проблему, вам придется проанализировать файлы. Лучшим способом сделать это может быть использование самого компилятора машинописи:

https://github.com/microsoft/TypeScript/wiki/Using-the-Compiler-API

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...