AdonisJS v6: Полный переход на современные стандарты JavaScript

Переход на современные стандарты Ключевое изменение в AdonisJS v6 – полная поддержка современных стандартов JavaScript: ECMAScript Modules (ESM) и TypeScript. Это обеспечивает совместимость с последними версиями пакетов и повышает безопасность благодаря доступу к актуальным исправлениям уязвимостей. Приложения AdonisJS v6 теперь по умолчанию используют TypeScript и ESM, однако разработчики по-прежнему могут устанавливать и применять пакеты, написанные […]

Переход на современные стандарты

Ключевое изменение в AdonisJS v6 – полная поддержка современных стандартов JavaScript: ECMAScript Modules (ESM) и TypeScript. Это обеспечивает совместимость с последними версиями пакетов и повышает безопасность благодаря доступу к актуальным исправлениям уязвимостей. Приложения AdonisJS v6 теперь по умолчанию используют TypeScript и ESM, однако разработчики по-прежнему могут устанавливать и применять пакеты, написанные в CommonJS.

Упрощение работы с TypeScript

В AdonisJS v6 больше не требуются хуки компилятора TypeScript, знакомые пользователям v5. Теперь фреймворк позволяет использовать обычные JavaScript-импорты без необходимости задействовать официальный API компилятора. Это упрощает код и даёт разработчикам свободу выбора других инструментов JIT-компиляции, таких как ESBuild или SWC.

Повышенная безопасность типов

AdonisJS v6 улучшает проверку типов за счёт изменений в маршрутах, контроллерах, ссылках на middleware, файлах AdonisRC и обработчиках событий. Вместо магических строк используются прямые импорты в маршрутах и контроллерах, что повышает безопасность типов и читаемость кода. Ссылки на middleware и файлы AdonisRC теперь управляются через TypeScript, улучшая понимание кода и удобство разработки.

Класс-базированные события

Ещё одно нововведение – поддержка класс-базированных событий. Разработчики могут определять события как классы, инкапсулируя идентификатор события и данные в единой структуре. Такой подход улучшает проверку типов и обеспечивает более чистое управление событиями в приложении.

Vite – новый официальный бандлер

AdonisJS v6 отказывается от Webpack Encore в пользу Vite как основного инструмента для сборки фронтенд-ресурсов. Новая система генерации проектов и API codemods позволяют более эффективно настраивать пакеты и генерировать код.  Также представлена VineJS – новая официальная библиотека валидации. VineJS обещает более высокую скорость, расширенный набор функций и удобный API по сравнению с предыдущим модулем валидации.

Улучшенная документация

В релизе улучшена документация AdonisJS, которая теперь охватывает ранее не описанные темы, такие как контейнер зависимостей (IoC) и поставщики сервисов. Фреймворк стремится предоставить разработчикам исчерпывающие руководства и справочники для облегчения обучения.

Планы на будущее

Команда AdonisJS планирует сосредоточиться на стабилизации фреймворка, исправлении ошибок и улучшении руководства по миграции. Ожидается, что в ближайшие недели несколько пакетов, включая Drive, Limiter, Lucid Slugify, Attachment Lite, привязку модели к маршруту и проверки работоспособности (Health checks), будут перенесены в AdonisJS v6.

Читайте также
В США создают консорциум для регуляции AI
В США создают консорциум для регуляции AI
В США создают консорциум для регуляции AI

США хотят ограничить разработку AI попыткой регулировать

Redwood.js и React Server Components
Redwood.js и React Server Components
Redwood.js и React Server Components

Redwood.js экспериментирует с RSC и уже в конце марта 2024, они добавили поддержку компонентов, добавляя документацию.

Что нового для разработчиков в Chrome 119
Что нового для разработчиков в Chrome 119
Что нового для разработчиков в Chrome 119

Обновлен верхний предел срока действия файлов cookie, уже находящихся в хранилище, в CSS появились новые псевдоклассы , синтаксис относительного цвета и многое другое. Подробнее в обзоре.

Что ждать от jQuery v4
Что ждать от jQuery v4
Что ждать от jQuery v4

В феврале команда jQuery предоставила бета-версию новой библиотеки jQuery 4.0.0.Это является тестовым релизом, но в ближайшее время ожидается стабильная версия. Это версия добавляет значительные изменения с целью оптимизации и для соответствия современным стандартам веб-разработки. И посмотрим ключевые моменты которые пришли с этим релизом: