Lewati ke konten
create-nextjs-kit

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.

Mulai dari working tree yang bersih, buat branch, dan pastikan pemeriksaan awal lulus:

Terminal window
git switch -c chore/upgrade-kit
pnpm check
pnpm build

Commit perubahan aplikasi yang masih diperlukan sebelum memulai. Untuk proyek database, backup data sesuai prosedur lingkungan Anda sebelum menjalankan migrasi.

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.

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:

Terminal window
# Contoh: proyek fullstack dengan db, dal, auth; sesuaikan dengan manifest Anda
npx create-nextjs-kit@latest ../kit-reference --mode fullstack --modules db,dal,auth --pm pnpm --yes --no-install --no-git

Bandingkan 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.

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 modules dan integrations di 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.

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.

Terminal window
pnpm check
pnpm build
pnpm test:e2e

Untuk 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.