За последние несколько месяцев многое произошло под капотом 🚗, и я рад поделиться предварительным выпуском 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 и хотите создать свое первое приложение, зайдите в документацию и получите своего компьютерного фаната!