TeamQuest Blog

Co nowego w Angular 10.1

Co nowego w Angular 10.1

Marcin Sarna , 23.07.2020 r.

Już za moment będziemy mogli korzystać z nowego Angular 10.1. To co zaoferuje nam Angular 10.1 to raczej przede wszystkim poprawki i usprawnienia niż nowe funkcjonalności.

O Angularze

Angular to oparty na TypeScript framework, rozwijany przez Google. W wersji 10 stał się dostępny 24 czerwca tego roku i jest mniejszy niż jego poprzednie wersje. „Dziesiątka” przyniosła m.in. nowe ostrzeżenia przy imporcie CommonJS co pozwala na uniknięcie zależności wpływających na znaczne spuchnięcie i spowolnienie aplikacji.

Sprint po nowościach

Angular w wersji 10.1 przynosi m.in. rozwiązanie dla okresowych spadków wydajności jakie można było do tej pory zaobserwować. Wprowadzono zmienną prioritizedGuardValue pozwalającą zoptymalizować wydajność CanLoad. Z kolei ProgramBasedEntryPointFinder wraz z EntryPointManifest pozwoli na automatyczne uwzględnienie zależności, które w przeciwnym razie musiałyby być przetwarzane za każdym wywołaniem ngcc. Teraz ProgramBasedEntryPointFinder użyje więc EntryPointManifest aby wczytać zależności gdy tylko będzie to możliwe i tym samym uniknięta zostanie potrzeba ponownej analizy.

TSlib (biblioteka TypeScript) została zaupdate’owana do wersji TSlib 2.0. Z kolei TSLint służący do statycznej analizy kodu występuje już w wesrji TSLint 6. Konfiguracja dla nowych projektów zostanie zmieniona w taki sposób aby wykluczyć starsze, mało używane przeglądarki. Wsparcie utraci Internet Explorer 9, Internet Explorer 10 i Internet Explorer Mobile.

Dodano EntryPointFinder, który może być zasilany danymi z programu wskazanego w pliku tsjconfig.json. Ma to być rozwiązanie szybsze niż korzystanie z DirectoryWalkerEntryPointFinder. Wyłączono autouzupełnienie wyrażeń HTML (np. &) uznając, że jest ono wątpliwej jakości i wpływa negatywnie na wydajność.

Pojawi się TypeScript 3.9 a TypeScipt 3.8 zostanie usunięty. Nie ma co także liczyć na wsparcie dla wersji 3.6 i 3.7. W kompilatorze CLI wprowadzono szereg usprawnień mających zwiększyć wydajność narzędzia. Między innymi w mniejszej ilości przypadków dojdzie do przeliczania basePaths (tylko gdy jest to wymagane przez TargetedEntryPointFinder). Do tej pory komputer biedził się z basePaths za każdym razem – często niepotrzebnie. Zresztą z interfejsem CLI będzie także zintegrowane nowe narzędzie do wyodrębniania wiadomości.

Możliwe będzie stosowanie więcej niż jednego pliku z tłumaczeniem. Dotychczasowe ostrzeżenia dotyczące nieznanych elementów obecnie będą logowane już jako błędy. Będą też nowe informacje w metadanych o zależnościach i selektorach ng-content co powinno „ucieszyć” takie narzędzia jak Angular Language Service (a w zasadzie ich użytkowników, którzy będą teraz otrzymywali określone sugestie).

Zwiększona zostanie też wydajność związana z plikiem manifest. Zostanie zmniejszona jego wielkość i cache’owanie. Z kolei dla zwiększenia wydajności ngcc plik stale lock może być natychmiastowo zgłaszany. Będzie także zachowywana kopia pliku tsconfig aby było możliwe jego ponowne użycie jeżeli ścieżka do pliku jest taka sama.

Uwaga na te zmiany!

Osoby używające formatDate() oraz DatePipe() powinny zwrócić uwagę na zmiany w ich działaniu, które mają usprawnić funkcjonowanie przy okresach czasów obejmujących północ. Osłona CanLoad może teraz zwracać Urltree.

Poprawiono wreszcie (a w zasadzie doszło do obejścia problemu) bug Terser inlining. Ze względu na ograniczenie wsparcia dla Closure Compiler w NPM lepiej będzie korzystać z paczek utworzonych bezpośrednio ze źródeł niż z NPM. Jak tymczasowe rozwiązanie można stosować flagę Closure: --compilation_level=SIMPLE.

Najnowsze oferty pracy:

Polecane wpisy na blogu IT:

Szukasz pracownika IT?

Dostarczymy Ci najlepszych specjalistów z branży IT. Wyślij zapytanie

Wyrażam zgodę TeamQuest Sp. z o.o. na przetwarzanie moich danych osobowych w celu marketingu produktów i usług własnych TeamQuest, w tym na kontaktowanie się ze mną w formie połączenia telefonicznego lub środkami elektronicznymi.
Administratorem podanych przez Ciebie danych osobowych jest TeamQuest Sp. z o.o., z siedzibą w Warszawie (00-814), ul. Miedziana 3a/21, zwana dalej „Administratorem".
Jeśli masz jakiekolwiek pytania odnośnie przetwarzania przez nas Twoich danych, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD). Do Twojej dyspozycji jest pod adresem e-mail: office@teamquest.pl.
W jakim celu i na jakiej podstawie będziemy wykorzystywać Twoje dane? Dowiedz się więcej