Lewati ke konten
create-nextjs-kit

Menambah modul

Perintah add membaca nextjs-kit.json di root proyek, memasang dependensi modul secara otomatis, dan mengaktifkan integrasi yang diperlukan. Mode serta package manager mengikuti proyek yang sudah ada.

Jalankan dari root proyek:

Terminal window
npx create-nextjs-kit@latest add bff-auth openapi msw --dry-run
npx create-nextjs-kit@latest add bff-auth openapi msw

bff-auth dan openapi otomatis menyertakan api-client. ID modul juga boleh dipisahkan koma. Untuk proyek di direktori lain, tambahkan --cwd ./my-app.

CLI menampilkan daftar berkas yang akan dibuat, diubah, atau dihapus sebelum meminta persetujuan. --dry-run tidak menulis berkas proyek, menginstall dependency, atau menjalankan script proyek. Di CI atau terminal non-interaktif, persetujuan diberikan lewat --yes:

Terminal window
npx create-nextjs-kit@latest add msw --yes --no-install
pnpm install
pnpm check

Menjalankan add kembali untuk modul yang sudah terpasang tidak mengubah proyek. Untuk mengulang install yang gagal, jalankan package manager secara langsung.

CLI membuat dua proyek sementara: konfigurasi modul saat ini dan konfigurasi dengan modul baru. Selisihnya menjadi rencana perubahan; berkas lain tidak diformat ulang.

  • Dependency dan script tambahan milik Anda dipertahankan. Nilai yang bertabrakan menjadi konflik.
  • Teks yang Anda ubah digabung dengan Git jika versi generate cocok dengan CLI saat ini. Git diperlukan hanya untuk penggabungan teks tersebut.
  • Berkas baru yang namanya sudah dipakai, berkas yang dibutuhkan tetapi dihapus, serta penghapusan contoh yang sudah dimodifikasi akan menghasilkan konflik.
  • Jika satu berkas konflik, seluruh rencana dibatalkan sebelum penulisan. --yes tidak melewati konflik dan tidak ada opsi --force.
  • Symlink berkas atau direktori di dalam proyek tidak diikuti.

Format menggunakan Prettier bawaan CLI dan opsi dasar dari .prettierrc.json. Plugin dan konfigurasi JavaScript proyek tidak dijalankan selama perencanaan. Jalankan formatter proyek setelah meninjau hasil jika Anda memakai aturan tambahan.

  1. Periksa diff, khususnya kode autentikasi, CI, dan migrasi database.
  2. Isi variabel baru di .env.local berdasarkan .env.example. Nilai .env.local tidak ditimpa.
  3. Jalankan migrasi bila modul menambah SQL, lalu jalankan check, build, dan E2E yang sesuai.
Terminal window
# Contoh proyek fullstack yang sudah memiliki db/dal
npx create-nextjs-kit@latest add auth --dry-run
npx create-nextjs-kit@latest add auth
pnpm db:up
pnpm db:migrate
pnpm check
pnpm build

Integrasi dal-auth aktif otomatis ketika dal dan auth terpasang. Todo lama dengan pemilik kosong tidak otomatis diberikan kepada pengguna baru. Tentukan pemiliknya lewat migrasi data aplikasi Anda. Data contoh yang sebelumnya hanya tersimpan di memori juga tidak dipindahkan otomatis ketika menambahkan dal.

CLI tidak menjalankan migrasi database atau membuat commit. Install dependency dapat menjalankan lifecycle script package manager seperti biasa. Jika install gagal, kode modul tetap tersimpan; perbaiki penyebabnya lalu jalankan pnpm install (atau package manager proyek Anda).

Sebelum menulis, CLI menyimpan berkas lama dan changes.json di direktori sementara privat nextjs-kit-backup-*; lokasinya ditampilkan di terminal. Setiap berkas ditulis secara atomik. Kegagalan penulisan memicu rollback. Jika ada perubahan dari proses lain, rollback tidak akan menimpa isi baru tersebut dan CLI melaporkan berkas yang perlu dipulihkan manual.

Gunakan Git atau salin berkas yang relevan dari files/ dalam backup setelah meninjau changes.json. Berkas berstatus create sebelumnya tidak ada, sehingga pemulihan mungkin juga memerlukan penghapusan berkas baru. Backup berada di temp OS dan dapat dibersihkan sistem; simpan salinannya bila masih diperlukan. Lock .nextjs-kit-add.lock yang tertinggal hanya boleh dihapus setelah memastikan tidak ada proses add yang berjalan.