Slack для JS 10.x! 🔥

Slack for JS - это крошечный клиент Slack Web API для NodeJS и браузера.

С его помощью вы можете использовать все более 130 методов Slack из единой легкой библиотеки. (Это тоже то, что мы используем в Begin!)

Еще в сентябре мы выпустили Slack 9.x, в котором было много улучшений, связанных с производительностью. Нам удалось снизить полезную нагрузку браузера до невероятно быстрых 7 КБ, сохранив при этом обратную совместимость для основной поверхности API.

Постепенно JavaScript развился как язык, и поэтому мы также смогли предложить блестящую новую поверхность API для конструкцийclass и _2 _ / _ 3_. 🎉

Что нового в версии 10.x! ✨

Начиная с выпуска 9.x мы наблюдаем рост взаимодействия с сообществом, и я очень рад поделиться кучей хороших улучшений:

  • TypeScript typedefs на основе сгенерированного источника
  • Steno теперь поддерживается с использованием переменной окружения STENO_URL
  • Встроенная поддержка сетевого уровня Electron electron.net, что обеспечивает лучшую поддержку прокси-сервера сетевой аутентификации.
  • Отчет о покрытии кода для набора тестов

Особая благодарность Дэну Принсу и Чарли Хессу за помощь в этом выпуске; мы попали сюда с вашей помощью!

Важные исправления 🐞

У нас была давно не обнаруженная ошибка в slack.files.upload, когда отправлялись полезные данные, закодированные как application/x-www-form-urlencoded вместо multipart/form-data. Нас удивило, что мы этого не видели! Нам удалось исправить это при переобучении небольшой полезной нагрузки и обратной совместимости. 😅

Давным-давно, обозначая ограничение скорости, Slack отправлял тело HTTP: You are sending too many requests. Please relax. (что, по мнению автора, было круто). В какой-то момент это изменилось на код статуса HTTP 429, который мы теперь обрабатываем как собственный Error. Поскольку технически это было критическое изменение, мы решили поднять семер мажор до 10.x.

Также примечательно, что в версии 10.x нам удалось упорядочить наш путь к нулю проблем с Github! 🙀

Что дальше? 🚀

Вы нам скажите! Мы ценим качество, скорость и стабильную, всегда обратно совместимую поверхность API. Если вы думаете, что что-то сломано, отсутствует или даже если у вас просто замечательная идея, не стесняйтесь сообщить нам об этом, заполнив вопрос на Github!