169 похожих чатов

А в AST есть инфа про наличие/отсутствие ";"?

15 ответов

20 просмотров

Там не указывается конкретно, но да, есть

Andriy-F Автор вопроса
Alexander G.
Там не указывается конкретно, но да, есть

попытался в онлайн-парсере получить AST для "console.log("asdf")" и "console.log("asdf");". В JSON вроде есть разница, но не понятно, хватит ли этого чтобы собрать БЕЗ ИЗМЕНЕНИЙ оба варианта...

Надо сидеть и разбираться. Может быть трансформ через бабель не поможет.

Andriy-F Автор вопроса
Andriy-F Автор вопроса
Alexander G.
Надо сидеть и разбираться. Может быть трансформ че...

почитал доки по бабель-генератору. Встретил строку - Note: The symbols like white spaces or new line characters are not preserved in the AST. When Babel generator prints code from the AST, the output format is not guaranteed. при этом комменты и точки запятой научился "не исправлять", даже если код вида ;;;;;console.log("123");;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; // +++ Но лишние пробелы удаляются...

Andriy F
почитал доки по бабель-генератору. Встретил строку...

Да, в AST explorer видно, что форматирование умеет сохранять ESLint. Можно в его сторону копнуть

Andriy-F Автор вопроса
Alexander G.
Да, в AST explorer видно, что форматирование умеет...

У меня-то задача именно "поменять AST и вернуть как было но с изменениями в коде". Например меня бесит оформление в виде "function name() ПРОБЕЛ{" (при этом не удобно "перенос длинной строки" работает). А мне его везде бабель вставляет... Буду думать!

Andriy F
У меня-то задача именно "поменять AST и вернуть ка...

ESLint тоже строит AST и потом преобразовывает в код

Andriy-F Автор вопроса
Alexander G.
ESLint тоже строит AST и потом преобразовывает в к...

Вот этого не знал! Спасибо! Думал там просто "облагораживание кода по маскам"

Andriy F
У меня-то задача именно "поменять AST и вернуть ка...

Здесь не ясно, конечно. Бабель преобразовывает код для того, чтобы он был готов к деплою. Какая разница в каком он виде? Исходник то остается чистым, с твоим форматированием

Andriy-F Автор вопроса
Alexander G.
Здесь не ясно, конечно. Бабель преобразовывает код...

У меня задача как раз "исходник" подправлять. Прямо в IDE. Например все переменные aaa_* заменить на bbb_* одним "проходом". Или "закоментировать 5й параметр в функции в /*, parm5*/" одной горячей кнопкой.

Andriy F
У меня задача как раз "исходник" подправлять. Прям...

Переименование переменных делается средствами IDE, комментировать 5 параметр в функцией одной горячей кнопкой...хз. В функции вообще не должно быть пять параметров))

Andriy-F Автор вопроса
Alexander G.
Переименование переменных делается средствами IDE,...

...от функции зависит. Может быть и больше! Особенно на стадии отладки когда можно добавить __INFO с текстовым описанием "как мы сюда попадаем" и десятком отладочных параметров которые только для консоли нужны. Переименовывание переменных ПОШТУЧНО в IDE есть, но чтобы ВСЕ "по маске" переименовать, при этом не трогая названия функций или переменных вне "окружения функции/класса"... Я и хочу "плагин к IDE" написать.

Andriy F
...от функции зависит. Может быть и больше! Особен...

Это будет не просто. Задача не тривиальная. Выдели не нее побольше времени :)

Andriy-F Автор вопроса
Alexander G.
Это будет не просто. Задача не тривиальная. Выдели...

Знаю! Сейчас буду Eslint изучать в этом направлении...

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
что насчет пагинга? на осдеве непонятно(
Vi Chapmann 🪙
26
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
26
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
если загрузчик efi? если сама PML4 PDPT PDT PT лежит в неудобном для меня месте?
Vi Chapmann 🪙
8
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Карта сайта