Подскажите, пожалуйста, существуют ли в природе библиотеки для парсинга и редактирования JavaScript-кода из строки?
Допустим, мне надо в строке JavaScript-кода найти конкретную функцию и заменить ее на другую. Казалось бы используй регулярные выражения и будет тебе счастье, но увы, если в коде который мы модифицируем потом в будущем изменится хотя бы один символ высока вероятность, что регулярка отвалится.
Надим Закиров, да. Там у тебя будет узел в AST с анонимной функцией - её и заменяешь.
Ты же можешь как человек по расположению её в коде понять, что это именно она? (например по тому, куда она передаётся)
Василий Банников, да конечно, я могу сориентироваться по другим функциям, которые содержатся внутри анонимной, они то уже не анонимные и имеют конкретные названия. Спасибо за помощь, буду экспериментировать теперь)
edward_freedom, нельзя. Код вообще нельзя парсить регулярками, так как у кода есть строгая семантика, которая, в отличии от естественных языков, негибкая к отклонениям.
Мне кажется к задаче надо подойти по другому изначально. А как вариант можно грузить все в память eval, заменить и простым переопределением и записать в файл