Nx 16 Burada!

Nx sürüm 16'nın yayınlandığını duyurmaktan gurur duyuyoruz! Bu yazıda, Nx 16'daki önemli güncellemeleri ve Nx 16'nın getirdiği değişiklikler için bilmeniz gereken önemli bilgileri gözden geçireceğiz!
Ancak Nx 16'nın yeni özelliklerine geçmeden önce, Nx 15 küçük sürümlerimizin son özelliklerinden bazılarını özetleyelim!
- React, Angular ve Node başlatıcı uygulamaları için daha basit hazır ayarlar sunduk
- Entegre Nx monorepos için Vite ve Vitest için resmi destek ekledik
- Düğüm ve Deno proje eşdizimliği için entegrasyon ve Deno içe aktarmaları için proje grafik desteği dahil olmak üzere resmi bir Deno eklentisini kullanıma sunduk.
- Temel işlevselliği hızlandırmak için Rust'ı Nx kod tabanına ekledik
- C#, Java ve Kotlin gibi diğer dillere odaklanan çalışma alanlarını desteklemek için npm olmayan çalışma alanları için destek ekledik ve bunlardan bazılarını .NET ve Java/Kotlin için topluluk eklentileriyle çalışırken gördük.
- IntelliJ ve WebStorm gibi JetBrains IDE'leri için Nx Konsolu tanıtıldı
- Nx sürümünü Angular sürümlerinden ayırdık ve Nx'i Angular'ı güncellemeden güncellemenize izin verdik.
· İşte Nx Migrate ile Nasıl Yükselteceğiniz
· @nrwl/*'dan @nx/*'ye Yeniden Kapsamlama
· Deno Bağımsız Uygulamaları, Edge Dağıtımı ve Daha Fazlası
· Cypress Özellik Testi
· Görev Grafiği
· Nx Repo, Paket Yöneticisi için PNPM'ye Geçiyor
· Daha fazla bilgi edinin
İşte Nx Migrate ile nasıl Yükselteceğiniz
Tüm yeni Nx sürümlerinde olduğu gibi, nx migrate
Nx paketlerinizi uygun sürüme yükseltmek ve ayrıca kod tabanınızda gerekli değişiklikleri yapmak için kullanılabilir.
Nx 16'ya güncellemek için çalıştırın
nx migrate latest
migrations.json
Başka geçişler varsa, çalışma alanınızın kök dizininde bir dosya görürsünüz . Bu dosya, çalıştırılması gereken diğer kod oluşturma komut dosyalarını açıklayacaktır. Bunları çalıştırmak için komutu kullanın..
nx migrate --run-migrations
Geçişler çalıştırıldıktan sonra, bunları kaynak kontrol araçlarınızda görebilmeniz gerekir. Kurduğunuz herhangi bir otomatik testi çalıştırarak her şeyin hala düzgün çalıştığından emin olun.
nx migrate
Repo komutunu kullanarak bu gerçek dünya örneğine göz atın Tanstack/query
:
Ayrıca Angular kullanıcılarımıza bir hatırlatma olarak - Nx sürümünü Angular sürümlerinden ayırdık , böylece Angular'ın LTS sürümünü kullandığınız sürece, dokunmak zorunda kalmadan en son Nx sürümüne geçebilirsiniz Açısal sürümünüz! Bunu yapmak için, seçeneği kullandığınızdan emin olun interactive
(örn. nx migrate --interactive
). Daha fazla bilgi için bu videoyu inceleyin:
@nrwl/*'den @nx/*'e yeniden kapsam belirleme
@nrwl
Nx 16'daki en etkili değişikliklerden biri, altında paketlerimizi yayınladığımız npm kapsamını değiştiriyor olmamızdır @nx
. Başka bir deyişle, @nrwl/react
artık @nx/react
.
nx migrate
Nx, çalışma alanlarınızı güncellemek için komut aracılığıyla bu geçişi otomatik olarak gerçekleştirecektir !
Topluluk eklentilerinin bozulmamasını sağlamak için @nrwl/*
bu paketlerin sürümleri kullanımdan kaldırıldı ancak Ekim 2023'te yapılması planlanan Nx 17'ye kadar yayınlanmaya devam edecek.
İsterseniz daha fazla ayrıntı için belgeleri kontrol edebilirsiniz !
Deno Bağımsız Uygulamaları, Edge Dağıtımı ve Daha Fazlası
Nx, bir süredir Düğüm tabanlı arka uçlar geliştirme desteğine sahipti. React veya Angular uygulamanızın yanı sıra monorepo tabanlı bir kurulumda BFF'nizi oluşturmak için popüler bir seçimdi. Nx 15.7'de bu desteği genişletmeye ve genel DX'i gerçekten iyileştirmeye karar verdik.
Deno bu yinelemede oldukça sevgi gördü :
- Bağımsız Uygulama desteği — Artık Nx ile yeni bir tek projelik Deno çalışma alanı oluşturabilirsiniz. Sadece koş
npx create-nx-workspace --preset=@nx/deno
. Deno ile çalışmaya başlamanın muhtemelen en hızlı yolu - Deno'yu meşe ile kurmak için Nx jeneratörleri de ekledik .
--framework
Yeni bir Deno uygulaması kurduğunuzda (veya Nx Konsolunu kullandığınızda ) seçeneği iletmeniz yeterlidir.
- Netlify işlevlerini geliştirmek ve zorlamak için yepyeni bir proje oluşturmanıza izin veren yepyeni bir
@nx/netlify
paket (şu anda laboratuvarlarda ) oluşturdu veya oluşturucuyu kullanarak mevcut bir projeye sunucusuz dağıtım desteği ekleyebilirsiniz@nx/netlify:setup-serverless
. Konuyla ilgili ayrıntılı tarifimize göz atın:https://nx.dev/recipes/deployment/node-serverless-functions-netlify - Lambda işlevlerini AWS'ye
@nx/aws-lambda
dağıtmak için yeniden yayınlandı . Son tarifimizdeki tüm detaylar:https://nx.dev/recipes/deployment/node-aws-lambda - Hem Deno Deploy'a hem de Netlify'a sunucusuz dağıtım desteği eklemek için mevcut Deno paketimiz geliştirildi .
@nx/deno:setup-serverless
Bu tür bir destek, oluşturucu kullanılarak ve veya--platform
işaret eden bayrak sağlanarak mevcut bir uygulamaya eklenebilir .deno-deploy
netlify
Nx, birçok özelliği toplama eğiliminde olan uygulamalar için e2e testleri kurar. Bu, Nx'in ayırmada iyi olmadığı büyük bir atomik süit olarak sona erer. Nx 16 ile, bu testleri test ettikleri asıl özelliğe daha yakın bir şekilde dağıtmayı kolaylaştırdık. nx affected
Bu , hangi testlerin gerçekten gerekli olduğunu belirlemeyi çok daha kolaylaştıracaktır .
Ayrıca, Nx'in kendi Caleb'iyle (bu özelliğin geliştirilmesinin çoğuna öncülük eden) ve aynı zamanda bu çabaya katkıda bulunan Cypress'ten Jordan Powell ile canlı yayın yapma fırsatım oldu - şuna bir göz atın:
Görev Grafiği
Nx 16.0 ayrıca projenizi ve görev grafiğinizi Nx tarafından belirlendiği şekilde görselleştirmek için daha yararlı araçlar sunar:
--graph
Özellikle görev grafiği, komutları çalıştırdığınızda gerçekte neyin çalıştığını görselleştirmeye yardımcı olur ve Nx 16.0 ile artık Nx komutlarının çoğunu çalıştırırken çalışacak görevlerin grafiğini görselleştirmek için bu seçeneği kullanabilirsiniz - örneğin:
nx build react --graph
Nx Repo, Paket Yöneticisi için PNPM'ye Geçiyor
Dahili olarak, Nx deposu,pnpm
paket yöneticisi olarak kullanılmaya başlandı . Geçiş yaptığımızdan beri aşağıdaki avantajları kaydettik:
- yayınlamak 2 kat daha hızlı
- CI süreleri azaldı
- yükleme süreleri azaldı
Tamamlanıyor!
Nx 16.0 için hepsi bu kadar - size tüm bu harika şeyleri getirme fırsatını gerçekten çok sevdik ve Nx'i üretkenliğinizi artırmak için harika bir araç haline getirmeye sürekli odaklanarak bir sonraki yinelememize başlamak için can atıyoruz. harika şeyler göndermeye odaklanabilmeniz için repo yönetimi görevlerini denklemden çıkarın.
Daha fazla bilgi edin
- Nx Dokümanlar
- Nx GitHub
- Nx Community Slack
- Nx Youtube Kanalı
- CI'nizi hızlandırın
- Nx 15.3:https://blog.nrwl.io/nx-15-3-standalone-projects-vite-task-graph-and-more-3ed23f7827ed
- Nx 15.4:https://blog.nrwl.io/nx-15-4-vite-4-support-a-new-nx-watch-command-and-more-77cbf6c9a711
- Nx 15.7:https://blog.nrwl.io/nx-15-7-node-support-angular-lts-lockfile-pruning-46f067090711
- Nx 15.8:https://blog.nrwl.io/nx-15-8-rust-hasher-nx-console-for-intellij-deno-node-and-storybook-aa2b8585772e