devnews.pl

Main Menu

  • Informacje
    • Systemy i przeglądarki
    • Gadżety
  • Narzędzia
  • Frontend
  • Backend
  • QA
  • Języki programowania

logo

devnews.pl

  • Informacje
    • Systemy i przeglądarki
    • Gadżety
  • Narzędzia
  • Frontend
  • Backend
  • QA
  • Języki programowania
Frontend
Home›Frontend›Prettier 2.2 z obsługą najnowszego TypeScript 4.1

Prettier 2.2 z obsługą najnowszego TypeScript 4.1

By Bernadeta Zapała
25 listopada 2020
153
0
Share:

Główne wydanie programu formatującego kod – Prettier, ukazało się w marcu. Teraz otrzymaliśmy drugą już jego aktualizację. Prettier 2.2 otrzymało nowe parsery JS oraz samodzielne pakiety ESM i obsługę TypeScript  4.1.

Parsery JavaScript

Jedną z najważniejszych nowości jest dodanie nowych wartości do opcji parser – espree i meriyah. Pierwszy z nich jest domyślnym parserem, z którego korzysta ESLint. Co ważne – działa tylko dla gotowych propozycji ECMAScript. Jest także zdecydowanie bardziej rygorystyczny od parsera Babel. Z kolei meriyah jest następcą cherow.

Inne nowości JS w Prettier 2.2

Naprawiono także błędy pojawiające się w komentarzach wewnątrz literałów szablonów z wbudowaną składnią. Poprawiono także formatowanie przypisań klas z długimi nazwami nadklas. Dzięki temu ulepszone jest formatowanie przestrzeni nazw Google Closure Library.

aaaaaaaa.bbbbbbbb.cccccccc.dddddddd.eeeeeeee.ffffffff.gggggggg2 = class extends (
  aaaaaaaa.bbbbbbbb.cccccccc.dddddddd.eeeeeeee.ffffffff.gggggggg1
) {
  method() {
    console.log("foo");
  }
};

Jednak wprowadzenie tej poprawki spowodowało, że nazwa jest zawijania niezależnie od długości. Dlatego też trwają prace nad udoskonaleniem tej zmiany.

Input:

module.exports = class A extends B {
  method () {
    console.log("foo");
  }
};

Output:

module.exports = class A extends (
  B
) {
  method() {
    console.log("foo");
  }
};

Aktualizacja @babel/parser do wersji 7.12

Zaktualizowanie Babel 7.12 dostarczyło m.in. obsługę propozycji bloku statycznego klasy wsparcia.

class C {
  static #x = 42;
  static y;
  static {
    try {
      this.y = doSomethingWith(this.#x);
    } catch {
      this.y = "unknown";
    }
  }
}

Ponadto poprawia kilka błędów i obsługuje nową składnię. W wersji 2.1 wprowadzono obsługę atrybutów modułów ES i modułów JSON. W nowym wydaniu Prettier 2.2 obsługa została znacznie uproszczona i zmieniła nazwę na “import assertions” (asercje importów).

Zmiany w API Prettier 2.2

Kolejne zmiany wprowadzono w API programu. Przede wszystkim dodano samodzielne pakiety ECMAScript Modules (ESM). Dzięki temu mogą być one używane bezpośrednio w przeglądarkach.

import prettier from "https://unpkg.com/prettier/esm/standalone.mjs";
import parserGraphql from "https://unpkg.com/prettier/esm/parser-graphql.mjs";

prettier.format("query {     }", {
  parser: "graphql",
  plugins: [parserGraphql],
});

Obsługa TS 4.1

Wiele narzędzi aktualizuje się do najnowszych wersji języków. Tak samo zadziałali twórcy Prettier. Wydanie 2.2 wspiera najnowszą wersję TypeScript 4.1. Oznacza to, że Prettier obsługuje teraz typy literałów szablonowych oraz remapowanie kluczy w typach mapowanych. Nowości z TypeScript znajdują się w tym artykule.

Pozostałe zmiany w Prettier 2.2

Pojawiły się także poprawki w niespójnym formatowaniu slotów. Ponadto Prettier obsługuje teraz script[setup] i style[vars] z Vue 3. W HTML naprawiono awarię, która pojawiała się podczas wczytywania Node.sourceSpan. Dodano także obsługę linków [[wiki-style]]. Zapewnia ona, że łącza nie będą zerwane przez formatowanie Prettier, ponieważ są zawijane w wiele linii. Ponadto treść odsyłacza znajdująca się w [[ ]] nawiasach, traktuje się jako nieprzetworzony tekst.

Źródło: Prettier Blog

TagsBabelHTMLJavaScriptPrettierTypescript

Share:

  • Narzędzia

    Corticon.js – bezserwerowy silnik reguł dla aplikacji JavaScript

  • Systemy i przeglądarki

    Firefox 78: ulepszenia DevTools oraz w menu kontekstowym

  • InformacjeNarzędzia

    Tooling.report – przegląd i testy narzędzi do budowania

  • 21 stycznia 2021

    Narzędzie Vno – połączenie Vue i Deno

  • 19 stycznia 2021

    GitHub Enterprise Server 3.0 RC – kandydat do wydania

  • 15 stycznia 2021

    TypeScript 4.2 Beta z ulepszeniami typów krotek

  • 13 stycznia 2021

    Styczniowy Patch Tuesday z luką 0-day

  • 11 stycznia 2021

    Safari Technology Preview 118 dostępne dla programistów

  • 8 stycznia 2021

    Microsoft Launcher na Androida z usprawnionym dotykiem

  • 7 stycznia 2021

    WebStorm 2020.3.1 dostępny dla urządzeń z Apple Silicon

  • 22 grudnia 2020

    ReScript 8.4 z przypiętymi zależnościami

  • 14 grudnia 2020

    Edge 88 beta i przeglądarka na kanale Canary dostępne!

  • 9 grudnia 2020

    Chrome 88 Beta z nowościami w WebXR

  • 9 grudnia 2020

    Snowpack 3.0 RC z eksperymentalnymi funkcjami

  • 4 grudnia 2020

    Android Studio Arctic Fox – nowe wydanie narzędzia Google

  • 4 grudnia 2020

    The Hack Summit 2020 – konferencja IT Security

  • 2 grudnia 2020

    PowerToys 0.27 z poprawkami błędów

  • 2 grudnia 2020

    Aleph.js alfa z funkcją importowania map

  • 27 listopada 2020

    Cypress 6.0 zwiększa zakres możliwości obsługi sieci

  • 26 listopada 2020

    Firefox 83 przyspiesza i wprowadza tryb HTTPS-Only

  • 25 listopada 2020

    Electron 11.0 z obsługą Apple Silicon

  • 25 listopada 2020

    Prettier 2.2 z obsługą najnowszego TypeScript 4.1

  • 24 listopada 2020

    Tailwind CSS 2.0 z narzędziami kontroli tekstu

  • 20 listopada 2020

    Angular 11 – stabilne wydanie platformy

  • 19 listopada 2020

    Chakra UI React v1 wydany z ulepszeniami

  • 19 listopada 2020

    Chrome 87 z szybszym startem i zmianami w kartach

  • 18 listopada 2020

    Silnik WebKit w przeglądarce Safari 14

  • 17 listopada 2020

    Poznańska konferencja POZITIVE TECHNOLOGIES 2020 platformą wymiany wiedzy i doświadczeń najlepszych specjalistów IT

  • 16 listopada 2020

    Babylon.js 4.2 z edytorem cząsteczek i Babylon React Native

  • 13 listopada 2020

    Apple Silicon M1 i MacBooki – spotkanie One More Thing

  • 12 listopada 2020

    .NET 5.0 Microsoftu z poprawioną wydajnością

  • 12 listopada 2020

    Windows Terminal 1.5 Preview z nowymi funkcjami

  • 10 listopada 2020

    GIMP 2.99.2 – pierwszy krok do głównej wersji

 

 

Jesteśmy pasjonatami najnowszych technologii w świecie programowania. Zbieramy dla Was informacje i porady z całego świata, które sprawią, że Twoja praca stanie się jeszcze bardziej efektywna.

Obserwuj nas codziennie, aby być na bieżąco oraz śmiało udostępniaj nasze posty.

Zespół DevNews

Kategorie

  • Backend
  • Bez kategorii
  • Frontend
  • Gadżety
  • Informacje
  • Języki programowania
  • Narzędzia
  • QA
  • Systemy i przeglądarki

OBSERWUJ NAS

KONTAKT

Chcesz się z nami skontaktować?

Napisz do nas wiadomość: kontakt@devnews.pl

www.devnews.pl | DEVNEWS 2020 | Newsy i ciekawostki ze świata IT