Любой из вариантов будет работать, но, поскольку вы используете AutoScaling, я бы порекомендовал создать пользовательский AMI.
Плюсы:
Минусы:
Почему бы не попробовать средство красоты javascript?
Например http://jsbeautifier.org/
Или посмотрите Средство украшения кода JavaScript командной строки, работающее в Windows и Linux
Почему бы не использовать парсер JavaScript? Их много, в том числе Python API для ANTLR и оболочка Python для SpiderMonkey.
Почему бы не использовать существующий интерпретатор JavaScript, например Rhino (Java) или python-spidermonkey (не уверен, что он еще жив)? Он проанализирует JS, а затем вы сможете изучить получившееся дерево синтаксического анализа. Я не уверен, насколько легко будет воссоздать исходный код, но это в основном зависит от того, насколько читабельным должен быть инструментальный код. Если никто никогда не смотрит на это, просто создайте действительно компактную форму.
пижамы также могут быть интересны; это транспилятор Python в JavaScript.
[EDIT] Хотя на первый взгляд это не решает вашу проблему, вы можете использовать его для другого подхода: вместо инструментария JavaScript напишите вместо этого свой код на Python (который можно легко инструментировать; все инструменты уже там), а затем преобразовать результат в JavaScript.
Наконец, если вы хотите решить свою проблему в Python, но не можете найти синтаксический анализатор: используйте движок Java, чтобы добавить комментарии к коду, который затем можно будет найти в Python для инструментирования кода.
JavaScript сложно разобрать; вам нужен полноценный парсер JavaScript. DMS Software Reengineering Toolkit может анализировать полный JavaScript и создавать соответствующий AST . Затем можно использовать операторы AST для обхода дерева, чтобы «разбить его». Однако еще проще применить преобразования источника в источник, которые ищут один шаблон синтаксиса поверхности (JavaScript) и заменяют его другим. Вы можете использовать такие преобразования для вставки инструментовки в код, а не для разделения кода, чтобы сделать удержания, в которых нужно выполнять вставки. После завершения преобразований DMS может регенерировать действительный код JavaScript (с исходными комментариями, если они не были затронуты).