Стабилизация webpack 3 (неделя 18–19)

2017/07/31–2017/08/13

Вы могли заметить, что заголовок отличается от предыдущих записей в бортовом журнале. Это задумано. Джеймс Гиллмор предложил сделать заголовок более привлекательным.

webpack 3.5

За последние 2 недели было объединено 27 PR, и мы выпустили 3.5.0 плюс несколько версий с исправлениями (до 3.5.4).

Наряду с множеством новых функций (см. Список изменений) он также включал рефакторинг для (все еще экспериментального) плагина Scope Hoisting.

Обновленный подъем прицела

Ранее ModuleConcatenationPlugin только удалялimports в составные модули. Вместо этого удаляются imports. Теперь он удаляет все imports и объединяет ссылки на «внешние» модули. Это позволяет оценить все импортированные модули в правильном порядке (раньше это было нарушено). В дополнение к этому создается меньше require вызовов, что должно привести к меньшим пакетам и более быстрому выполнению.

Устранение проблемы

Я немного ленив, закрывая вопросы после того, как на них ответили (или не ответил) ... Это привело к появлению многих открытых вопросов, которые больше не актуальны. Было бы легко использовать Github API, чтобы закрыть все старые проблемы, но это также закроет проблемы, которые все еще актуальны.

Таким образом, план состоял в том, чтобы прокомментировать старые проблемы, чтобы предупредить пользователей об автоматическом закрытии. Это позволяет любому решить проблему, чтобы избежать автоматического закрытия. Без реакции вопрос закрывается через полмесяца.

Я хочу использовать webpack-bot, чтобы это поведение было непрерывным процессом, а не одноразовым скриптом.

Но бот реагирует только на события github. Неактивная проблема не генерирует события (иначе они перестают быть неактивными). Поэтому я добавил к боту функцию планирования, которая позволяет запланировать еще одно расследование бота через определенное время.

При расследовании ботов мы планируем еще одно расследование открытых проблем через 24 часа. Это приводит к регулярным расследованиям и позволяет обнаруживать неактивные проблемы через 178 дней. Неактивные проблемы помечаются меткой inactive, а пользователи предупреждаются с помощью комментария. Если inactive проблема неактивна в течение 15 дней, она закрывается. Любая деятельность по inactive проблеме удаляет метку inactive.

Статус финансирования

Текущий статус финансирования webpack - 🙂. Учитывая, что Trivago жертвует 10 тысяч долларов в месяц, Segment спонсирует меня за 8 тысяч долларов в месяц, а ag-Grid жертвует 2,5 тысячи долларов в месяц, мы находимся в хорошем положении. И у нас есть дополнительные 125 тысяч долларов на базе прогресса от Mozilla. Если предположить, что никто не откажется от спонсорства, мы хорошо финансируемся.

Деньги в основном используются для оплаты вкладчиков в любой репозиторий в веб-пакете или организации webpack-contrib. Автоматический инструмент угадывает работу, проделанную участниками, и назначает баллы в час. Затем участник может выставить счет, чтобы получить оплату за свою работу.

Примечания: Существует более низкий предел, поэтому вам нужно внести как минимум 12 часов, чтобы вас рассмотрели. Каждое публичное действие на github считается вкладом: ответы на вопросы, просмотр PR, отправка PR, проблемы с регистрацией и т. Д. (Попытка злоупотребления системой может привести к бану…) Я могу немного скорректировать числа в индивидуальном порядке, т.е. е. округление.

Сейчас час стоит около 25 долларов. Достигнув статуса «хорошо профинансировано», мы можем увеличить оплату до 40 долларов в час и снизить ограничение на вход до 8 часов в месяц. Я также хочу добавить бонус для долгосрочных вкладчиков в размере еще 10 долларов в месяц на общую сумму 50 долларов в месяц. Бонус представляет собой опыт, накопленный с течением времени.

Примечания: Некоторым вкладчикам уже заплатил их работодатель. Этих вкладчиков просят не брать дополнительных денег (никакой двойной оплаты).

Оплата должна быть компенсацией за проделанную работу. Это также должно сделать участие более привлекательным для участников.

Больше денег → больше участников → больше работы → лучший продукт.

Для меня это звучит как хорошее использование средств, но я хотел бы услышать больше мнений о том, как использовать деньги.

План на следующие недели

webpack 3 достиг хорошего уровня стабильности и возможностей. Я думаю, это хороший момент - перестать добавлять функции в webpack 3 и вместо этого сконцентрироваться на разработке важных критических изменений для webpack 4. Для него уже есть несколько открытых PR. webpack 3 будет получать только исправления ошибок или незначительные функции.

webpack 3 был выпущен 06-19 2017. Мажорный выпуск каждые 3 месяца выглядит неплохим планом.

Одной из важных функций webpack 4 будет поддержка WebAssembly. Я также хочу изменить способ загрузки фрагментов (JSONP → Array push), чтобы разрешить использование тегов сценария async. Несколько запланированных улучшений производительности также являются критическими изменениями.

В ходе этого процесса мы опубликуем бета-версию… Следите за обновлениями…

‹ 17 неделя 20–21 неделя ›

webpack не поддерживается крупной компанией, в отличие от многих других крупных продуктов с открытым исходным кодом. Разработка финансируется за счет пожертвований. Если вы зависите от webpack, подумайте о пожертвовании… (Спросите своего босса!)

Особая благодарность этим спонсорам: (Топ 5)

  • Компания ag-Grid (DataGrid) пожертвовала 15 000 долларов США.
  • Capital One (Банк) пожертвовал $ 12 000
  • Сегмент (Инфраструктура данных) пожертвовал на общую сумму 12 000 долларов США.
  • Trivago (метапоиск отелей) пожертвовал 10 000 долларов.
  • AngularClass (Обучение) пожертвовал в общей сложности 4 018 долларов.
  • "Полный список"