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 didukung langsung oleh App Hosting, serta titik awal untuk mempelajari framework dan alat terkait.

Framework web dan App Hosting

App Hosting menyediakan dua tingkat dukungan yang 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 diberikan untuk:

  • Next.js
  • Angular

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

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

Framework yang didukung komunitas

Selain Next.js dan Angular, App Hosting juga mendukung framework web apa pun yang dapat memberikan output build yang cocok 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. Adaptor framework App Hosting memiliki dua peran utama:

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

Adaptor framework membangun 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 membangun 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 dibuat dan di-roll out 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 dan rentang framework web yang Anda pilih. Untuk dukungan yang telah dikonfigurasi sebelumnya untuk Angular dan Next.js, artinya 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 baru

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

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

Jadwal dukungan Angular

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

Pembaruan Image Dasar Otomatis (ABIU)

Update 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 memperbarui runtime backend Anda sebelum men-deploy.

Menonaktifkan ABIU

Jika ingin menonaktifkan ABIU, Anda dapat menonaktifkannya selama proses aktivasi atau dengan memilih "Tidak Ditentukan" untuk runtime di konsol Firebase. Jika 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 di dasbor App Hosting. Namun, perlu diingat 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. Penting untuk selalu memperbarui runtime Anda agar tidak terjadi 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 upaya untuk melakukannya akan menampilkan error build. Deployment yang ada yang berjalan pada versi yang dihentikan dapat berhenti berfungsi, dan Cloud Run berhak menghapusnya.

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

Pengelola paket

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

NPM

  • NPM adalah pengelola paket default.
  • Dependensi non-produksi akan dihapus 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

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

Monorepo untuk App Hosting

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

Versi Nx berikut didukung:

Version Status 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 9-10-2025
20.1.x aktif tidak sebelum 9-10-2025
20.2.x aktif tidak sebelum 9-10-2025
20.3.x aktif tidak sebelum 9-10-2025
20.4.x aktif tidak sebelum 9-10-2025
20.5.x aktif tidak sebelum 9-10-2025
20.6.x aktif tidak sebelum 9-10-2025
20.7.x aktif

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