AST — the only true tool for building JavaScript

От Makefile-ов до JavaScript-ового Grunt, от Grunt до Gulp, от Gulp до Broccoli… Для каждой билд-системы существует множество плагинов, которые позволяют валидировать, модифицировать, оборачивать, конкатенировать, минифицировать и делать кучу других вещей над кодом, но все же — как Вы отлаживаете результирующий код на продакшне?

В былые времена Вам, скорее всего, приходилось билдить две различные версии кода Вашего сайта или библиотеки — минифицированную и «для разработки», переключаться между ними каждый раз, когда обнаруживается ошибка и вручную искать, где именно в оригинальных файлах находится соответствующий код.

В наши дни, возможно, Вы пробовали использовать плагины с поддержкой source maps, которые позволяют линковать результирующий код к оригинальным исходникам, но по мере роста сложности билд-процесса, внезапно обнаруживается, что `gulp-concat` не поддерживает выдачу source maps или `grunt-umd` не может подхватывать их с предыдущего шага, и таким образом вся прекрасная идея простоты отладки кода в его первоначальном виде на продакшне идет к чертям.

Знаете ли Вы, что эта проблема на самом деле всего лишь ограничение существующих билд-систем, которые создавались для простоты сборки проектов в целом, но без учета особенностей отладки JavaScript-кода? Хотите узнать, как внедрить возможность отладки оригинальных исходников на Вашем проекте, вне зависимости от сложности вашего билд-пайплайна? Хотите заодно, в качестве приятного бонуса, ускорить билд-процесс кода в целом? Тогда этот доклад для вас

Инфопартнеры

  • Сообщество разработчиков мобильных приложений Apps4All