Upgrade proyek
Kode hasil generate adalah milik Anda. Proyek tidak memiliki dependency runtime pada
create-nextjs-kit, sehingga memperbarui CLI tidak otomatis mengubah aplikasi yang sudah dibuat.
Gunakan add untuk modul baru dan alur berikut untuk perubahan template atau dependency.
Siapkan titik pemulihan
Section titled “Siapkan titik pemulihan”Mulai dari working tree yang bersih, buat branch, dan pastikan pemeriksaan awal lulus:
git switch -c chore/upgrade-kitpnpm checkpnpm buildCommit perubahan aplikasi yang masih diperlukan sebelum memulai. Untuk proyek database, backup data sesuai prosedur lingkungan Anda sebelum menjalankan migrasi.
Perbarui dependency secara terpisah
Section titled “Perbarui dependency secara terpisah”Tinjau PR Renovate yang sudah disiapkan template. Kelompokkan pembaruan framework, tooling, dan library aplikasi agar sumber kegagalan mudah ditemukan. Periksa panduan migrasi resmi library untuk perubahan major, lalu jalankan pemeriksaan dan E2E proyek.
Jangan menyalin package.json atau lockfile dari proyek referensi secara utuh: dependency, script,
dan versi package manager Anda mungkin berbeda.
Bandingkan template referensi
Section titled “Bandingkan template referensi”Baca changelog CLI dan nextjs-kit.json proyek untuk mengetahui versi generate, mode, modul,
integrasi, dan package manager. Buat proyek sementara di luar folder aplikasi, memakai mode serta
modul yang sama:
# Contoh: proyek fullstack dengan db, dal, auth; sesuaikan dengan manifest Andanpx create-nextjs-kit@latest ../kit-reference --mode fullstack --modules db,dal,auth --pm pnpm --yes --no-install --no-gitBandingkan bagian yang relevan: konfigurasi Next.js/ESLint, validasi env, CI, server, dan contoh
fitur. Terapkan perubahan per berkas sambil mempertahankan logika bisnis, secrets, dan konfigurasi
deployment Anda. Untuk melihat delta template yang lebih jelas, buat satu referensi tambahan memakai
versi pada cliVersion, jika versi tersebut masih tersedia di registry, lalu bandingkan kedua referensi.
cliVersion menyimpan versi saat proyek dibuat. add mempertahankannya dan mencatat versi CLI
terakhir yang menambah modul lewat lastModifiedBy. Jangan mengganti kedua nilai itu untuk
melewati konflik; metadata bukan bukti bahwa seluruh kode sudah di-upgrade.
Jika add menemukan konflik
Section titled “Jika add menemukan konflik”Jalankan add ... --dry-run dan baca daftar berkas yang konflik. Tidak ada penulisan parsial saat
konflik ditemukan. Pilih salah satu alur:
- Pindahkan atau selaraskan kustomisasi yang bertabrakan setelah meninjaunya, lalu ulangi dry run.
- Buat referensi dengan modul target lengkap dan gabungkan perubahan secara manual, termasuk
dependency, env, CI, serta integrasi. Perbarui daftar
modulesdanintegrationsdi manifest hanya setelah seluruh implementasi modul benar-benar terpasang.
Untuk proyek dari versi lama, pertahankan cliVersion aslinya. Penggabungan manual mungkin tetap
dibutuhkan pada penambahan berikutnya karena CLI memakai template saat ini sebagai baseline.
Migrasi database
Section titled “Migrasi database”Jangan menimpa SQL, snapshot, atau journal Drizzle yang sudah dipakai aplikasi. add menolak
migrasi yang bertabrakan. Gabungkan perubahan schema, buat migrasi baru melalui db:generate,
tinjau SQL yang dihasilkan, dan uji pada database salinan sebelum deployment.
Saat menggabungkan dal dan auth, perhatikan kepemilikan todo. Migrasi integrasi tidak menebak
pemilik data lama. Siapkan migrasi data yang sesuai dengan akun dan aturan otorisasi aplikasi.
Verifikasi sebelum merge
Section titled “Verifikasi sebelum merge”pnpm checkpnpm buildpnpm test:e2eUntuk modul database, jalankan juga migrasi dan pengujian integrasi pada database pengujian. Tinjau diff dan lockfile, lalu commit setelah hasilnya sesuai. Tidak ada perintah upgrade otomatis yang menimpa seluruh source proyek.