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.

Читайте также
Ретроспектива Vue 3
Ретроспектива Vue 3
Ретроспектива Vue 3

В этом тексте вспомним, что было выходило нового во Vue 3 при минорных обновлениях.

Chrome 120 beta
Chrome 120 beta
Chrome 120 beta

Новые 7 фич для CSS. Улучшения для nesting (вложенности стилей). Создание «аккордиона» для через элемент details и многое другое.

Запустили llm.js — библиотеку для запуска больших языковых моделей в браузере
Запустили llm.js — библиотеку для запуска больших языковых моделей в браузере
Запустили llm.js — библиотеку для запуска больших языковых моделей в браузере

Появилась библиотека llm.js для запуска больших языковых моделей в браузере. Она написана на JavaScript. Библиотеку опубликовали на GitHub.

15 сайтов, чтобы сэкономить время CSS-разработчику
15 сайтов, чтобы сэкономить время CSS-разработчику
15 сайтов, чтобы сэкономить время CSS-разработчику

Собрали 15 сайтов, которые помогут сэкономить много времени и расширить опыт разработки CSS.