Prettier’in ekibi, açık kaynak kodu biçimlendiricinin 3.0 sürümünü yayınladı. Prettier, diğerlerinin yanı sıra JavaScript, TypeScript, JSX, Angular, HTML, CSS ve Markdown’ı işleyebilir ve sürüm, bu teknolojilerin çoğu için yenilikler getirir. Bunlar, örneğin JavaScript için geriye dönük uyumludur. Geliştirme ekibi tüm kod tabanını Prettier’den ECMAScript modüllerine taşıdığından, bu onların işini kolaylaştırıyor. Ancak Prettier’i bir kitaplık olarak kullanırken, geliştiriciler yine de CommonJS’yi kullanabilir.
Duyuru
Bir başka önemli yenilik olarak ekip, Prettier’in artık ECMAScript modülleri ve eşzamansız ayrıştırıcılar kullanılarak oluşturulan eklentileri işleyebildiğine dikkat çekiyor. Eklenti geliştiricileri güncelleme yaparken dikkatli olmalıdır. Eklenti taşıma kılavuzuna başvurabilirsiniz.
JavaScript için geriye dönük uyumsuz değişiklikler
Prettier 3.0, JavaScript için varsayılan değeri ayarlar trailingComma AÇIK all, bu önceki 2.8 sürümüyle uyumsuz bir arıza anlamına gelir. Prettier 2.0 varsayılan olduğundan es5. Değişikliğin nedeni, Internet Explorer 11’in 15 Haziran 2022’de Microsoft desteğinin sona ermesi ve işlev çağrılarında sondaki virgüllere izin vermeyen son tarayıcı olmasıdır. Yukarıdaki davranışı kullanmak istiyorsanız Prettier’ı buna göre yapılandırabilirsiniz: { "trailingComma": "es5" }.
Geriye dönük uyumsuz başka bir değişiklik, akış sözdizimi desteğinin kaldırılmasıdır. babel– Ayrıştırıcı. Daha önce, Prettier JavaScript dosyalarında Flow sözdizimini tanıyordu. parser-aktif seçenek babel ayarlandı, dosya bir @flow– Pragma dahil. Sınırlı destek ve olumsuz performans etkisi nedeniyle, geliştirme ekibi bu davranışı kaldırmaya karar verdi. ile Prettier kullanırken babelayrıştırıcı, eğer yaparsa, otomatik olarak akış sözdizimine geçecektir. @flow-Pragma buluntuları veya dosyası .js.flow uzantılıdır.
Flow, CSS, GraphQL, API ve CLI için geriye dönük uyumsuz diğer yenilikler görülebilir.
Prettier, Markdown boşlukları için yeni kurallar öğrenir
Duyuru
Yeni sürümdeki Markdown değişiklikleri, diğer şeylerin yanı sıra, Çince veya Japonca ve Batı karakterlerini birleştirirken boşlukların işlenmesini etkiler. Daha önce Prettier, geliştirici ekibin bazıları tarafından tercih edildiğini, ancak resmi yönergelere uygun olmadığını söylediği aralarına bir boşluk yerleştirdi. Ancak Prettier mevcut boşlukları kaldırmaz. Geliştirme ekibi, boşluk işlemeye alternatif olarak, kurallarla birlikte textlint-ja veya lint-md kullanılmasını önerir. space-round-alphabet VE space-round-number yeniden katlayın.
Yeni davranış nedeniyle Prettier’in artık farklı karakter kümeleri arasındaki belirsiz satır sonlarını kaldırmaya veya bunları bir boşlukla değiştirmeye karar vermesi gerekiyor. Bunu yapmak için, araç çevreleyen metni dikkate alır.
Prettier 2.8 ve 3.0 arasındaki farkları gösteren bir örnek:
<!-- Input -->
漢字
Alphabetsひらがな12345カタカナ67890
漢字 Alphabets ひらがな 12345 カタカナ 67890
<!-- Prettier 2.8 -->
漢字 Alphabets ひらがな 12345 カタカナ 67890
漢字 Alphabets ひらがな 12345 カタカナ 67890
<!-- Prettier 3.0 -->
漢字Alphabetsひらがな12345カタカナ67890
漢字 Alphabets ひらがな 12345 カタカナ 67890
Başka bir Markdown yeniliği olarak, CommonMark spesifikasyonuna uygun olarak satır içi kodda artık daha fazla alan korunmaktadır. Daha önce, Prettier her birinden yalnızca bir tane oluşturmuştu:
<!-- Input -->
` foo bar baz `
<!-- Prettier 2.8 -->
` foo bar baz `
<!-- Prettier 3.0 -->
` foo bar baz `
Prettier blogu, diğerlerinin yanı sıra JavaScript, TypeScript, Vue ve Angular için yeniliklerin örneklerini içeren ayrıntılı bir genel bakış sunar.
(Mayıs)
Haberin Sonu
Duyuru
Bir başka önemli yenilik olarak ekip, Prettier’in artık ECMAScript modülleri ve eşzamansız ayrıştırıcılar kullanılarak oluşturulan eklentileri işleyebildiğine dikkat çekiyor. Eklenti geliştiricileri güncelleme yaparken dikkatli olmalıdır. Eklenti taşıma kılavuzuna başvurabilirsiniz.
JavaScript için geriye dönük uyumsuz değişiklikler
Prettier 3.0, JavaScript için varsayılan değeri ayarlar trailingComma AÇIK all, bu önceki 2.8 sürümüyle uyumsuz bir arıza anlamına gelir. Prettier 2.0 varsayılan olduğundan es5. Değişikliğin nedeni, Internet Explorer 11’in 15 Haziran 2022’de Microsoft desteğinin sona ermesi ve işlev çağrılarında sondaki virgüllere izin vermeyen son tarayıcı olmasıdır. Yukarıdaki davranışı kullanmak istiyorsanız Prettier’ı buna göre yapılandırabilirsiniz: { "trailingComma": "es5" }.
Geriye dönük uyumsuz başka bir değişiklik, akış sözdizimi desteğinin kaldırılmasıdır. babel– Ayrıştırıcı. Daha önce, Prettier JavaScript dosyalarında Flow sözdizimini tanıyordu. parser-aktif seçenek babel ayarlandı, dosya bir @flow– Pragma dahil. Sınırlı destek ve olumsuz performans etkisi nedeniyle, geliştirme ekibi bu davranışı kaldırmaya karar verdi. ile Prettier kullanırken babelayrıştırıcı, eğer yaparsa, otomatik olarak akış sözdizimine geçecektir. @flow-Pragma buluntuları veya dosyası .js.flow uzantılıdır.
Flow, CSS, GraphQL, API ve CLI için geriye dönük uyumsuz diğer yenilikler görülebilir.
Prettier, Markdown boşlukları için yeni kurallar öğrenir
Duyuru
Yeni sürümdeki Markdown değişiklikleri, diğer şeylerin yanı sıra, Çince veya Japonca ve Batı karakterlerini birleştirirken boşlukların işlenmesini etkiler. Daha önce Prettier, geliştirici ekibin bazıları tarafından tercih edildiğini, ancak resmi yönergelere uygun olmadığını söylediği aralarına bir boşluk yerleştirdi. Ancak Prettier mevcut boşlukları kaldırmaz. Geliştirme ekibi, boşluk işlemeye alternatif olarak, kurallarla birlikte textlint-ja veya lint-md kullanılmasını önerir. space-round-alphabet VE space-round-number yeniden katlayın.
Yeni davranış nedeniyle Prettier’in artık farklı karakter kümeleri arasındaki belirsiz satır sonlarını kaldırmaya veya bunları bir boşlukla değiştirmeye karar vermesi gerekiyor. Bunu yapmak için, araç çevreleyen metni dikkate alır.
Prettier 2.8 ve 3.0 arasındaki farkları gösteren bir örnek:
<!-- Input -->
漢字
Alphabetsひらがな12345カタカナ67890
漢字 Alphabets ひらがな 12345 カタカナ 67890
<!-- Prettier 2.8 -->
漢字 Alphabets ひらがな 12345 カタカナ 67890
漢字 Alphabets ひらがな 12345 カタカナ 67890
<!-- Prettier 3.0 -->
漢字Alphabetsひらがな12345カタカナ67890
漢字 Alphabets ひらがな 12345 カタカナ 67890
Başka bir Markdown yeniliği olarak, CommonMark spesifikasyonuna uygun olarak satır içi kodda artık daha fazla alan korunmaktadır. Daha önce, Prettier her birinden yalnızca bir tane oluşturmuştu:
<!-- Input -->
` foo bar baz `
<!-- Prettier 2.8 -->
` foo bar baz `
<!-- Prettier 3.0 -->
` foo bar baz `
Prettier blogu, diğerlerinin yanı sıra JavaScript, TypeScript, Vue ve Angular için yeniliklerin örneklerini içeren ayrıntılı bir genel bakış sunar.
(Mayıs)
Haberin Sonu