Framework dan alat untuk App Hosting

Firebase App Hosting dirancang khusus untuk mendukung pengembangan aplikasi web modern yang berpusat pada framework. Gunakan halaman ini sebagai referensi untuk alat dan framework yang App Hosting didukung langsung, serta titik awal untuk mempelajari framework dan alat terkait.

Framework web dan App Hosting

App Hosting menyediakan dua tingkat dukungan luas untuk framework web modern: dukungan build dan deployment yang telah dikonfigurasi sebelumnya, serta dukungan tingkat komunitas melalui kontribusi open source yang sesuai dengan spesifikasi paket output. Dalam kedua kasus tersebut, komponen adaptor framework memungkinkan integrasi framework tertentu dengan App Hosting.

Framework dengan dukungan build dan deployment yang telah dikonfigurasi sebelumnya

Dengan dukungan build dan deployment yang telah dikonfigurasi sebelumnya, Firebase mengidentifikasi framework yang Anda gunakan dengan memeriksa file package-lock.json atau file kunci lainnya, dan mengoptimalkan proses build dan deployment untuk aplikasi Anda. Google berkomitmen untuk mempertahankan dukungan bagi framework ini, dan tim dukungan Firebase dapat menerima laporan masalah dan permintaan fitur.

Tingkat dukungan ini disediakan untuk:

  • Next.js
  • Angular

Lihat jadwal dukungan untuk mengetahui detail tentang versi dan tingkat dukungan tertentu.

Jika Anda mencoba men-deploy aplikasi Node.js yang tidak memiliki file kunci, App Hosting akan gagal mem-build dan menjalankan aplikasi Anda. Anda dapat membuat package-lock.json dengan menjalankan npm install di direktori root.

Framework yang didukung komunitas

Selain Next.js dan Angular, App Hosting juga mendukung framework web apa pun yang dapat memberikan output build yang sesuai dengan spesifikasi paket output kami. Penulis framework dapat memanfaatkan spesifikasi paket output untuk memastikan framework mereka didukung oleh App Hosting. Misalnya, framework Nuxt yang populer didukung oleh tim Nitro, yang membuat adaptor Firebase untuk mengaktifkan deployment aplikasi Nuxt di App Hosting.

Jika ingin melihat framework tambahan yang didukung oleh App Hosting, Anda dapat membuat adaptor framework, atau menghubungi pengelola framework untuk mengonversi output build ke format App Hosting. Adaptor Next.js dan Angular adalah contoh referensi yang baik bagi siapa saja yang membuat adaptor.

Informasi tentang framework yang didukung komunitas dapat ditemukan di Firebase Open Source. Masalah dan permintaan fitur untuk framework yang didukung komunitas harus ditujukan kepada komunitas open source atau penulis framework. Dalam beberapa kasus, Google mungkin dapat membantu, tetapi komunitas adalah jalur dukungan pertama untuk adaptor ini.

Adaptor framework App Hosting

Di App Hosting, dukungan untuk framework yang telah dikonfigurasi sebelumnya dan yang didukung komunitas disediakan melalui adaptor framework. App Hosting framework adaptor memiliki dua peran utama:

  • Adaptor ini mengurai kode sumber dan file konfigurasi khusus framework (seperti next.config.js) serta menghasilkan paket output yang dapat diproses oleh infrastruktur App Hosting lainnya.
  • Adaptor ini menjalankan perintah build aplikasi Anda untuk menghasilkan aset statis dan membuat versi aplikasi yang dioptimalkan untuk produksi.

Adaptor framework mem-build aplikasi Node.js Anda dengan npm run build, yang berfungsi paling baik dengan skrip build default untuk setiap framework: next build untuk Next.js dan ng build untuk Angular. App Hosting akan mencoba build dengan perintah build kustom, tetapi tidak dapat menjamin keberhasilan secara andal. Anda dapat mengganti skrip build dan run di apphosting.yaml.

Sumber untuk adaptor Next.js dan Angular tersedia di firebase-framework-tools.

Runtime untuk App Hosting

Setelah di-build dan diluncurkan oleh App Hosting, aplikasi Node.js Anda akan berjalan dalam revisi Cloud Run. Oleh karena itu, versi runtime untuk aplikasi Anda harus berada dalam rentang yang didukung Cloud Run's dan rentang framework web yang Anda pilih. Untuk dukungan yang telah dikonfigurasi sebelumnya untuk Angular dan Next.js, hal ini berarti versi Node.js berikut didukung:

  • Next.js 13.5.x dan yang lebih tinggi
  • Angular 18.2.x dan yang lebih tinggi
  • Node.js 20 dan yang lebih tinggi

App Hosting tidak otomatis memberikan dukungan aktif untuk versi framework yang baru dirilis. Versi yang lebih baru dari versi 'aktif' yang saat ini ditetapkan akan dianggap dalam status 'pratinjau' hingga secara resmi ditandai sebagai 'aktif' untuk App Hosting.

App Hosting mendukung dukungan jangka panjang (LTS) untuk versi minor terbaru dari rilis utama selama satu tahun sejak periode dukungan aktifnya, asalkan Anda terus mengupdate ke rilis patch terbaru dalam versi minor tersebut. Lihat tabel berikut untuk mengetahui detail Next.js dan Angular.

Jadwal dukungan Next.js

Versi Status Penghentian penggunaan
13.5.x lts 2026-10-9
14.2.x lts 2026-10-9
15.0.x aktif tidak sebelum 2025-10-9
15.1.x aktif tidak sebelum 2025-10-9
15.2.x aktif -

Jadwal dukungan Angular

Versi Status Penghentian penggunaan
18.2.x lts 2026-10-9
19.0.x aktif tidak sebelum 2025-10-9
19.1.x aktif tidak sebelum 2025-10-9
19.2.x aktif -

Pembaruan Image Dasar Otomatis (ABIU)

Pembaruan Image Dasar Otomatis (ABIU) adalah fitur yang otomatis menerapkan patch keamanan ke lingkungan runtime yang mendasarinya tanpa mengharuskan Anda memicu peluncuran aplikasi baru.

App Hosting secara default mengaktifkan ABIU untuk backend baru, dengan persyaratan khusus berikut:

  • Runtime Berversi: Untuk menggunakan ABIU, Anda harus menentukan runtime berversi (seperti nodejs20, nodejs22, nodejs24). App Hosting mendukung versi Node.js bernomor genap, yang mencerminkan dukungan Cloud Run.
  • Pencocokan package.json: Versi Node yang Anda pilih untuk App Hosting harus kompatibel dengan versi yang ditentukan di kolom engines pada file package.json Anda. Jika ada ketidakcocokan, Anda akan mengalami error waktu build dari Cloud Build. Setiap kali Anda mengubah kolom engines, pastikan untuk mengupdate runtime backend sebelum men-deploy.

Menonaktifkan ABIU

Jika ingin menonaktifkan ABIU, Anda dapat menonaktifkannya selama orientasi atau dengan memilih "Tidak Ditentukan" untuk runtime Anda di Firebase konsol. Saat default nodejs tanpa versi digunakan, ABIU akan otomatis dinonaktifkan.

Mengelola Versi Runtime

Anda dapat melihat dan mengubah versi runtime dan preferensi ABIU backend kapan saja di tab Setelan dasbor App Hosting. Namun, perlu diketahui bahwa mengubah versi runtime dapat merusak aplikasi Anda jika versi baru tidak kompatibel dengan kode Anda.

Versi runtime pada akhirnya akan mencapai akhir siklus proses dukungannya. Anda harus terus mengupdate runtime untuk menghindari perubahan yang dapat menyebabkan gangguan:

  • Runtime yang Tidak Digunakan Lagi: Jika runtime yang Anda pilih tidak digunakan lagi, aplikasi Anda umumnya akan terus berfungsi. Anda akan menerima peringatan di konsol, dan Anda harus beralih ke versi yang lebih baru sesegera mungkin. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Cloud Run tentang siklus proses runtime.
  • Runtime yang Dihentikan: Runtime yang dihentikan tidak didukung sepenuhnya. Anda tidak akan diizinkan membuat build atau backend baru menggunakan versi yang dihentikan, dan mencoba melakukannya akan menampilkan error build. Deployment yang ada yang berjalan pada versi yang dihentikan mungkin berhenti berfungsi, dan Cloud Run berhak menghapusnya.

Untuk mengetahui daftar lengkap versi Node yang didukung, tidak digunakan lagi, dan dihentikan, lihat Cloud Run Dukungan Runtime dokumentasi. Untuk mengetahui detail teknis selengkapnya tentang cara kerja pembaruan image dasar, lihat Cloud Run ABIU dokumentasi.

Pengelola paket

App Hosting menggunakan Buildpack Berbasis Cloud untuk menjalankan penginstalan dependensi dan mem-build aplikasi menggunakan npm, yarn, atau pnpm. Pengelola paket lainnya seperti JSR tidak didukung.

NPM

  • NPM adalah pengelola paket default.
  • Dependensi non-produksi akan dipangkas setelah build berhasil.
  • Anda dapat menentukan bagian versi npm menggunakan kolom engines.npm di file package.json.

Yarn

  • Yarn akan digunakan saat Anda menyertakan file yarn.lock dalam project.
  • Anda dapat menentukan versi yarn yang akan digunakan di kolom engines.yarn atau packageManager pada file package.json.
  • App Hosting mendukung mode Yarn2 PnP.

Pnpm

  • Pnpm akan digunakan saat Anda menyertakan file pnpm-lock.yaml dalam project.
  • Anda dapat menentukan versi pnpm di kolom engines.pnpm atau packageManager pada file package.json.
  • Untuk contoh penggunaan, lihat sample-node-pnpm. aplikasi.

Monorepo untuk App Hosting

App Hosting mendukung aplikasi berbasis Nx. Lihat Menggunakan monorepo dengan App Hosting untuk mengetahui panduan mendetail.

Versi Nx berikut didukung:

Versi Status Penghentian penggunaan
19.5.x pemeliharaan 2025-10-9
19.6.x pemeliharaan 2025-10-9
19.7.x pemeliharaan 2025-10-9
19.8.x lts 2026-10-9
20.0.x aktif tidak sebelum 2025-10-9
20.1.x aktif tidak sebelum 2025-10-9
20.2.x aktif tidak sebelum 2025-10-9
20.3.x aktif tidak sebelum 2025-10-9
20.4.x aktif tidak sebelum 2025-10-9
20.5.x aktif tidak sebelum 2025-10-9
20.6.x aktif tidak sebelum 2025-10-9
20.7.x aktif

Jika Anda memerlukan dukungan untuk jenis ruang kerja monorepo lainnya, beri tahu kami di Firebase UserVoice.