За последние несколько месяцев многое произошло под капотом 🚗, и я рад поделиться предварительным выпуском Feathers v4 (Crow) и некоторыми отличными статьями, модулями и видео 🐦

бета-тест v4

Основные модули для Feathers v4 (Crow) представляют собой законченный код, публикуются в виде pre выпусков и готовы к тестированию. Мы будем благодарны за любые отзывы, вопросы и сообщения о проблемах (большое спасибо всем, у кого уже есть 😃). Документацию о незавершенной работе можно найти на сайте crow.docs.feathersjs.com.

перья апгрейд

Как и в предыдущей версии, @feathersjs/cli поставляется с командой обновления, которая применяет большинство изменений, необходимых для обновления с приложения v3, созданного с помощью @feathersjs/cli, до v4 (могут потребоваться некоторые ручные шаги, которые описаны в руководстве по миграции) .

Чтобы протестировать предварительную версию, вы можете запустить следующую команду обновления 🚀

npm i @feathersjs/cli@pre -g
cd myapp
feathers upgrade

Более подробная информация о том, что это будет делать, и возможные ручные шаги описаны в Руководстве по миграции на v4 (Crow). Ниже приводится краткое описание новых функций и изменений в версии 4.

Общее управление версиями

Все модули в пространстве имен @feathersjs теперь имеют одинаковый номер версии. Таким образом, любая @feathersjs/ зависимость для этой предстоящей версии будет v4 (4.0.0-pre.x для предварительной версии), следующей v5 (Dove) и т.д. ясно, какая версия используется в настоящее время.

Версии адаптеров баз данных по-прежнему будут контролироваться независимо, поскольку их обычно можно использовать с любой версией Feathers.

Аутентификация

Модули @feathersjs/authentication-* были полностью переписаны, чтобы включать более безопасные значения по умолчанию, их было проще настраивать, они не зависели от фреймворка и больше не полагались на PassportJS. В комплекте:

  • Расширяемая служба аутентификации, которая может регистрировать стратегии и создавать токены аутентификации (по умолчанию JWT, но подключаемый для чего-либо еще)
  • Независимые от протокола, полностью настраиваемые стратегии аутентификации со встроенной аутентификацией local, JWT и oAuth
  • Лучшая аутентификация oAuth, которая поддерживает 180+ провайдеров из коробки без какой-либо дополнительной настройки (просто добавьте ключ и секрет провайдера в конфигурацию)
  • Встроенная привязка учетных записей oAuth и междоменные перенаправления oAuth
  • Более удобный клиент аутентификации, который автоматически включает информацию, которую вы обычно хотите (например, текущий пользователь), и надежно обрабатывает повторную аутентификацию соединений в реальном времени.

Сердечник из перьев

Помимо обновлений системы аутентификации, основные модули Feathers v4 включают следующие функции и изменения:

  • Всегда актуальные определения TypeScript в каждом основном репозитории, которые больше не нужно устанавливать отдельно
  • Услуги могут быть зарегистрированы на корневом уровне, например app.use('/', myService)
  • Генерацию событий можно отключить в хуках, установив context.event = null
  • Глобальное disconnect событие, которое уведомляет о любом отключении клиента в режиме реального времени.
  • Возврат feathers.SKIP в хуке был удален, так как это затрудняло отладку потоков хуков и позволяло обходить важные внутренние компоненты Feathers. Обычные варианты использования feathers.SKIP теперь можно обрабатывать с помощью таких функций, как методы обслуживания без подключения к сети.

Адаптеры базы данных

Последние версии адаптеров баз данных Feathers включают некоторые важные обновления безопасности и удобства использования, требующие явного включения определенных функций, которые ранее были доступны по умолчанию. Их можно использовать с ядром Feathers v3 и v4.

  • get, remove, update и patch теперь всегда включают query. Если запись не соответствует этому запросу, даже если id действителен, будет выдана ошибка NotFound.
  • Адаптеры баз данных теперь поддерживают вызов своих методов обслуживания без каких-либо перехватчиков, добавляя _ перед именем метода как _find, _get, _create, _patch, _update и _remove.
  • Одновременное создание, обновление или удаление нескольких записей должно быть разрешено и защищено явным образом.
  • Нестандартные параметры запроса должны быть явно занесены в белый список.

Экосистема

Модули













Статьи







Видео

Если мы что-то упустили, сообщите нам об этом в Твиттере или в нашей группе Slack.

Если вы новичок в Feathers и хотите создать свое первое приложение, зайдите в документацию и получите своего компьютерного фаната!