Build & Packaging
Setelah pengembangan plugin selesai, Anda perlu melalui dua tahap yaitu build (mengompilasi source code) dan packaging (menghasilkan .tar.gz) sebelum dapat didistribusikan ke aplikasi NocoBase lainnya.
Build Plugin
Build akan mengompilasi source code TypeScript di bawah src/ menjadi JavaScript — kode client dipaketkan oleh Rsbuild, sedangkan kode server dipaketkan oleh tsup:
Hasil build akan dikeluarkan ke direktori dist/ di root plugin.
Jika plugin dibuat di repository source code, build pertama akan memicu pemeriksaan tipe untuk seluruh repository, yang mungkin memakan waktu cukup lama. Pastikan dependensi sudah terinstal dan repository dalam kondisi siap untuk dibuild.
Packaging Plugin
Packaging akan mengompresi hasil build menjadi sebuah file .tar.gz, memudahkan upload ke environment lain:
File hasil packaging secara default dikeluarkan ke storage/tar/@my-project/plugin-hello.tar.gz.
Anda juga dapat menggunakan parameter --tar untuk menggabungkan build dan packaging menjadi satu langkah:
Upload ke Aplikasi NocoBase Lain
Cukup upload dan ekstrak file .tar.gz ke direktori ./storage/plugins aplikasi target. Untuk langkah detail, lihat Instalasi & Upgrade Plugin.
Konfigurasi Build Kustom
Umumnya konfigurasi build default sudah cukup. Jika Anda perlu melakukan kustomisasi — misalnya mengubah entry packaging, menambah alias, mengatur opsi kompresi, dan sebagainya — Anda dapat membuat file build.config.ts di root direktori plugin:
Beberapa poin kunci:
modifyRsbuildConfig— Digunakan untuk menyesuaikan packaging client, seperti menambah plugin Rsbuild, memodifikasi alias resolve, mengatur strategi code splitting, dll. Untuk opsi konfigurasi lihat dokumentasi RsbuildmodifyTsupConfig— Digunakan untuk menyesuaikan packaging server, seperti memodifikasi target, externals, entry, dll. Untuk opsi konfigurasi lihat dokumentasi tsupbeforeBuild/afterBuild— Hook sebelum dan sesudah build, menerima fungsiloguntuk menampilkan log. Misalnya generate file kode dibeforeBuild, atau salin resource statis ke direktori output diafterBuild
Tautan Terkait
- Menulis Plugin Pertama — Membuat plugin dari nol, termasuk alur build dan packaging lengkap
- Struktur Direktori Proyek — Memahami fungsi direktori
packages/plugins,storage/tar, dll. - Manajemen Dependensi — Deklarasi dependensi plugin dan dependensi global
- Ikhtisar Plugin Development — Pengantar menyeluruh tentang plugin development
- Instalasi & Upgrade Plugin — Upload file hasil packaging ke environment target

