Что нас ждет в Angular 12. Заметки из последних changelog и плана релиза.
✨ Forms:
- Улучшение min, max валидаторов, ломает html min, max аттрибуты в input, теперь Form начнет триггерить только если в input накинули formControl
- Опция emitEvent добавлена в AbstractControl, поэтому поломаются
но миграция ng update их устранит. Если только вы не делали своих наследников от AbstractControl и далее.
✨Http:
- Наконец то затипизировали http статусы и сделали их читаемыми
- Зафиксили и добавили request timeout, до 12 версии видимо никого это не беспокоило, хотя это еще добавили в path версию 11.
✨language-service:
- 5 улучшений, интеграция в vscode будет работать немного лучше в части templates.
✨common:
- ICU для DatePipe
Пока все, будем ждать обновленный roadmap и более детальное описание релиза.
#angular12
✨ Forms:
- Улучшение min, max валидаторов, ломает html min, max аттрибуты в input, теперь Form начнет триггерить только если в input накинули formControl
- Опция emitEvent добавлена в AbstractControl, поэтому поломаются
FormGroup.addControl, FormGroup.removeControl, FormGroup.setControl, FormArray.push, FormArray.insert, FormArray.removeAt, FormArray.setControl, FormArray.clear
но миграция ng update их устранит. Если только вы не делали своих наследников от AbstractControl и далее.
✨Http:
- Наконец то затипизировали http статусы и сделали их читаемыми
- Зафиксили и добавили request timeout, до 12 версии видимо никого это не беспокоило, хотя это еще добавили в path версию 11.
✨language-service:
- 5 улучшений, интеграция в vscode будет работать немного лучше в части templates.
✨common:
- ICU для DatePipe
Пока все, будем ждать обновленный roadmap и более детальное описание релиза.
#angular12
Angular CLI тем временем тоже идет к 12 версии. Уже сейчас доступна предрелизная версия
Из интересного:
- Поддержки npm 7 пока НЕ будет. Команда пытается интегрироваться, но фичу блокируют баги самого npm (один, два)
- Добавлена поддержка Webpack 5 (привет, Module Federation!)
- Strict mode при создании приложения или воркспейса по умолчанию включен
Breaking Changes
- Минимально-поддерживаемая версия Node.js —
- Удалена поддержка Zone.js 0.10
- Минимально-поддерживаемая версия Karma —
Будем наблюдать что будет дальше!
#angular12
12.0.0-next.1
Из интересного:
- Поддержки npm 7 пока НЕ будет. Команда пытается интегрироваться, но фичу блокируют баги самого npm (один, два)
- Добавлена поддержка Webpack 5 (привет, Module Federation!)
- Strict mode при создании приложения или воркспейса по умолчанию включен
Breaking Changes
- Минимально-поддерживаемая версия Node.js —
12.13
- Удалена поддержка Zone.js 0.10
- Минимально-поддерживаемая версия Karma —
6.0.0
Будем наблюдать что будет дальше!
#angular12
Продолжаем обозревать грядущий Angular 12 и уже вышедшие next-версии фреймворка.
Из интересного
-
- Контракт
- Добавлена поддержка отключения анимации через
- number и boolean теперь разрешены в качестве http-параметров
- Методы
Angular CLI не отстает:
- Объявлена поддержка npm 7, а если быть точнее то npm@7.5.6 и выше
- Флаг
- Имплементирован новое свойство
- В свою очередь флаг
- IE 11 признан устаревшим и его поддержка будет удалена в следующих релизах
На этом пока все. Наблюдаем дальше.
#angular12
Из интересного
-
APP_INITIALIZER
научили работать с Observable- Контракт
router-outlet
стал публичным, что упростит создание его кастомных имплементаций- Добавлена поддержка отключения анимации через
BrowserAnimationsModule.withConfig
- number и boolean теперь разрешены в качестве http-параметров
- Методы
onPopState
и onHashChange
класса PlatformLocation
теперь возвращают функцию, которую можно вызвать для удаления подписки. Благодаря этому исправлено создание лишних подписок при повторном бутстрапинге приложения.Angular CLI не отстает:
- Объявлена поддержка npm 7, а если быть точнее то npm@7.5.6 и выше
- Флаг
inlineCritical
установлен в true по умолчанию- Имплементирован новое свойство
defaultConfiguration
в angular.json
. Это может избавить от передачи лишних флагов при сборке проекта. Например, если указать "defaultConfiguration": "production"
, то продуктовую сборку можно запустить уже без флага --prod
- В свою очередь флаг
--prod
признан устаревшим. Вместо него следует использовать флаг --configuration
- IE 11 признан устаревшим и его поддержка будет удалена в следующих релизах
На этом пока все. Наблюдаем дальше.
#angular12
🅰️ Продолжение обзора Angular v 12 next✨
- common/http: Появился класс HttpContext и HttpContextToken для запросов HttpClient, 4 года ждали эту фичу. Например теперь можно будет дополнительно обработать запрос в interceptor, согласно заданному контексту. Пример
- common: Удалены не используемые методы в DomAdapter, и если у вас были какие либо специфичные вещи связанные с DominoAdapter то кажется у вас будут проблемы с SSR, например у меня это в angular_deno
- compiler: :host-context c нормальным multiple наконец то таки, влита уже в 11, как бага
- platform-browser: XhrFactory @angular/common/http мигрировал в @angular/common. Необходимо чтобы можно было настроить токен XhrFactory на уровне платформы, и не тянуть зависимости, а в browser только BrowserXhr Автоматическая миграция должна пофиксить.
- compiler: пересборка JIT должна стать чуть быстрее за счет переиспользуемых компонентов
- common: historyGo в Location service, забавно что принимает number, то есть можно уйти как на 2 шага назад historyGo(-2) так и вперед historyGo(10), но если не сможет, то просто не сработает без всякой ошибки
- доступна опция forwardRef в @Injectable({ providedIn: forwardRef(() => MyModule) })
- compiler: появился хук transformResource, а это означает что можно писать свои препроцессоры для стилей, с удобным интерфейсом ResourceHostContext, для меня это означает что можно подрубить легко sass для angular_deno
- compiler: nullish coalescing доступна в Angular templates: {{ a ?? b ?? c}}
- typescript 4.2
-----------
BREAKING
- core: Флаг emitDistinctChangesOnly по умолчанию будет выставлен false в ContentChildren, ViewChildren, а так же будет помечен как deprecated. Неободим так как QueryList.changes вызывался лишний раз.
- animation fix: очистка dom элементов после разрушения AnimationEngine, а это в основном когда root удален, по факту может повлиять на ваши тесты, если вы после destroy проверяете dom элемент
- core: больше нет поддержки node v10, перешли на использование node v14, минималка v12.14.1
- ng_packagr: больше не генерит минифицированный umd
#angular12
- common/http: Появился класс HttpContext и HttpContextToken для запросов HttpClient, 4 года ждали эту фичу. Например теперь можно будет дополнительно обработать запрос в interceptor, согласно заданному контексту. Пример
- common: Удалены не используемые методы в DomAdapter, и если у вас были какие либо специфичные вещи связанные с DominoAdapter то кажется у вас будут проблемы с SSR, например у меня это в angular_deno
- compiler: :host-context c нормальным multiple наконец то таки, влита уже в 11, как бага
- platform-browser: XhrFactory @angular/common/http мигрировал в @angular/common. Необходимо чтобы можно было настроить токен XhrFactory на уровне платформы, и не тянуть зависимости, а в browser только BrowserXhr Автоматическая миграция должна пофиксить.
- compiler: пересборка JIT должна стать чуть быстрее за счет переиспользуемых компонентов
- common: historyGo в Location service, забавно что принимает number, то есть можно уйти как на 2 шага назад historyGo(-2) так и вперед historyGo(10), но если не сможет, то просто не сработает без всякой ошибки
- доступна опция forwardRef в @Injectable({ providedIn: forwardRef(() => MyModule) })
- compiler: появился хук transformResource, а это означает что можно писать свои препроцессоры для стилей, с удобным интерфейсом ResourceHostContext, для меня это означает что можно подрубить легко sass для angular_deno
- compiler: nullish coalescing доступна в Angular templates: {{ a ?? b ?? c}}
- typescript 4.2
-----------
BREAKING
- core: Флаг emitDistinctChangesOnly по умолчанию будет выставлен false в ContentChildren, ViewChildren, а так же будет помечен как deprecated. Неободим так как QueryList.changes вызывался лишний раз.
- animation fix: очистка dom элементов после разрушения AnimationEngine, а это в основном когда root удален, по факту может повлиять на ваши тесты, если вы после destroy проверяете dom элемент
- core: больше нет поддержки node v10, перешли на использование node v14, минималка v12.14.1
- ng_packagr: больше не генерит минифицированный umd
#angular12
Angular Fanatic
🅰️🆖 В ожидании следующей версии Angular 12, мы решили сегодня провести очередной NgRuAir #17 Фич так много, так что не пропустите. Сегодня, 21 апреля, 20.00 мск https://www.youtube.com/watch?v=6hndkY0WdIE
YouTube
NgRuAir #17 - Angular 12
В этом выпуске мы обсудим предстоящий релиз Angular 12
Все что в видео собрано тут: https://angular.fun/post/2021-02-18-angular-12-next/
Идеи, пожелания и прочее:
https://github.com/ngRuAir/
Канал KirJs
https://t.me/kirjs_ru
Доклад про NGXF
https://…
Все что в видео собрано тут: https://angular.fun/post/2021-02-18-angular-12-next/
Идеи, пожелания и прочее:
https://github.com/ngRuAir/
Канал KirJs
https://t.me/kirjs_ru
Доклад про NGXF
https://…
Angular Fanatic
Наверно все бы хотели знать когда в Angular появятся современные быстрые кастомные сборщики. Ответа пока точного нет, но есть кое что забавное. esbuild и swc добавили в devDependencies пока только для того чтобы исправить некоторые баги в IE11. Когда дропнут…
Говоря про deprecate IE 11 в Angular 12, и удаление его в 13
Создали RFC, если есть что сказать то сюда:
https://github.com/angular/angular/issues/41840
Это конечно позволит убрать очень много специфичного кода, в самом фреймворке, что даст заметный буст
#angular12
Создали RFC, если есть что сказать то сюда:
https://github.com/angular/angular/issues/41840
Это конечно позволит убрать очень много специфичного кода, в самом фреймворке, что даст заметный буст
#angular12
GitHub
RFC: Internet Explorer 11 support deprecation and removal · Issue #41840 · angular/angular
TL;DR The Angular team is deprecating support for Internet Explorer 11 in Angular v12 (to be released in May 2021 and supported through November 2022), and plans to remove support for this browser ...
C 12 версии Stylus будет deprecated.
А еще в Angular Material будет переход на sass модули
Зачем нужен use а не import можно почитать в статье
#angular12
А еще в Angular Material будет переход на sass модули
@use
вместо @import
Если вы используете Angular Material то можете попробовать:ng g @angular/material:themingApi
Зачем нужен use а не import можно почитать в статье
#angular12
⚡️Встречайте релиз Angular 12 ✨
Выдержки из релиза уже были в канале, можно найти по тегу #angular12
Традиционный пост на medium:
https://blog.angular.io/angular-v12-is-now-available-32ed51fbfd49
Выдержки из релиза уже были в канале, можно найти по тегу #angular12
Традиционный пост на medium:
https://blog.angular.io/angular-v12-is-now-available-32ed51fbfd49