nitrojs, ну не факт, возможно чувак просто не почитал доку по используемому апи и решил пострелять таким образом в небо. Скорее всего там в теле конечно json должен быть. Короче это зависит от соглашений конкретного API
Возможно это копипаста. Когда у тебя 90% функций в проекте асинхронные ты уже без разбору делаешь асинхронной почти каждую. Например это может быть задел на будущее: конкретно сейчас операции в функции синхронные, но вот уже завтра-послезавтра программист планировал напихать в неё асинхронных процедур
"функция должна" - ну строго говоря функция ничего никому не должна, функция это просто инструмент который пишет программист. Если вам нравится ФП, то вы можете приводить функции к идеальному для ФП виду (google -> "pure functions"). Если вам не нравится ФП, то можно писать их как-то по-другому. Если в вашей среде удобней использовать глобальные переменные, то почему бы и нет,
"вообще это где-то написано, что такой стиль плохой?" - напишите в гугле "global variables are bad", найдёте миллионы ответов на свой вопрос,
Вы в вопросе пользуетесь очень расплывчатыми категориями, которые к разработке не применимы: "нормально", "кто прав", "стиль плохой". Разработка это не о том что кто-то прав или что-то хорошо или плохо, разработка это о выполнении конкретных алгоритмических задач в каких-то определенных условиях. И чаще всего разработка происходит в полном соответствии с принципом "получить максимум имея минимум", который на практике означает желание заказчика тратить как можно меньше средств на разработку и желание разработчика тратить как можно меньше нервов и времени на реализацию. Бывает конечно и по другому,
Определите критерии оценки, что для вас нормально и плохо, тогда будет проще ответить на ваш вопрос
Роман, дело в том, что вебсторм вообще сам обычно все настраивает, то есть он видит что у вас файл .js, видит вызовы require, таким образом понимает что используется нода и сам предлагает вам автоматически всё настроить, вам остается только нажать кнопку "ок". Поищите какие-нибудь оповещения или ошибки которые требуют действия пользователя (вашего то есть действия)
Анастасия, мне кажется прекрасный вопрос и стоит провести некоторый research в этом направлении (как минимум потому что это интересно), но вот например абсолютно не представляю как такое может быть возможно. Если какие-нибудь простейшие методы jQuery еще можно логически упростить до последовательного вызова пары нативных функций, то с любой другой библиотекой не получится так просто перевести всё в нативный JS. Ваш же собственный пример прекрасно демонстрирует то о чем я говорю: вы например считаете, что "$("object").addClass("new-class")" можно упростить до "document.querySelector("object").classList.add("new-class")", а на самом деле полностью нативно это выражение будет выглядеть как-то так:
Это я к тому, что даже у двух человек видение логики конкретной функции может отличаться, что уж говорить о более сложных функциях. (пока я всё это катал вон вам ниже уже написали то же самое). Говоря "полностью нативно" я имею в виду код в котором вся логика была бы на виду, а не скрыта в функциях
В общем лично я не вижу как такое может быть возможно. Представьте какая прорва логики будет в коде если попытаться например таким образом вывести весь функционал какого-нибудь метода из rxjs. Наверное проще всего будет брать каждый метод из конкретной библиотеки и упрощать вручную. Автоматически не вижу способов
"есть jQuery и команда $("object").addClass("new-class");
Она равноценна команде: document.querySelector("object").classList.add("new-class")" - я надеюсь вы понимаете, что строго говоря первое приведенное вами выражение на самом деле состоит из большего количества операций, и если уж называть их равноценными, то с оговорками,
В любом случае, задача вроде понятна, но во первых пока не очень ясно для чего это нужно (а понимание целей сильно упростит поиск решения) и во вторых расскажите какая именно информация вам нужна - список выполненных нативных функций, список всех произведенных мутаций или что-то еще? Или вы хотите как-то перевести тот же jQuery код в нативный JS?