Ddonisgo
Plugins

page

Built-in plugin untuk melayani SPA, wildcard routes, dan proxy homepage.

plugins/pages adalah plugin bawaan (paten) yang otomatis didaftarkan oleh framework — user tidak perlu (dan tidak boleh) mendaftarkannya manual.

Tanggung jawab

  • Melayani SPA dari ./sub_app/webapp/dist
  • Wildcard / catch-all via router.NoRoute
  • Proxy homepage opsional (HOMEPAGE_URL)

Registrasi otomatis

Selalu di-register paling akhir oleh pluginloader.RegisterLastPlugins():

  • Server: dipanggil dari internal/app/bootstrap.go (attachPlugins) setelah plugin user didaftarkan
  • Console: dipanggil dari internal/console/root.go (Run)

Karena memegang router.NoRoute, urutan terakhir ini wajib — semua route spesifik (api/admin/health) dari plugin lain harus menang duluan.

⚠️ Plugin ini PATEN — jangan dihapus. Registrasi idempotent + dedup via plugins.EnsurePluginLast, jadi pages selalu tepat satu dan di akhir, apa pun yang didaftarkan user.