Python скрипт для получения переменных верхнего уровня в файле javascript - PullRequest
0 голосов
/ 11 июля 2020

Я пишу сценарий для преобразования коллекции js файлов в один файл, который будет содержать все определения внутри файла js как

const filename = { filename definitions }

Пока я могу согласовать файл в этот формат, но у меня возникают проблемы с определением переменных и функций верхнего уровня в файле, например, function main ().

Мне нужно сделать это, чтобы я мог заменить их в скрипте на fileName. main ().

Я пытался использовать slimit, но slimit вызывает ошибку для ключевых слов let или шаблонных литералов (${var}), вот рабочий код для других случаев

from slimit.visitors.scopevisitor import ScopeTreeVisitor
from slimit.scope import SymbolTable
from slimit.parser import Parser
from slimit.visitors import nodevisitor

def createMap(data):
    sym_table = SymbolTable()
    visitor = ScopeTreeVisitor(sym_table)
    parser = Parser()
    tree = parser.parse(data)
    visitor.visit(tree)
    print(list(sym_table.globals.symbols.keys()))

где данные - это файл js в виде строки.

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