feat(primevue): register PrimeVue plugin in main.ts alongside Vuetify

installPrimeVue(app) runs AFTER registerPlugins(app) (which registers
Vuetify + router + Pinia via the Vuexy @core machine). Placing the
PrimeVue install outside @core/utils/plugins is deliberate — it keeps
PrimeVue free of the Vuexy plugin loader so F6 can remove @core/
without disturbing PrimeVue registration.

Both frameworks are now active at runtime. Existing Vuetify pages
continue to render unchanged; PrimeVue components become available
for the layout-shell rewrite (B7) and the FormField wrapper (B5).

Verification:
- pnpm typecheck — clean.
- pnpm build — succeeds in 14.26s, no PrimeVue or theme-related errors.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-11 01:02:59 +02:00
parent 90d5c1678c
commit 7660d12a8c

View File

@@ -6,6 +6,7 @@ import { router } from '@/plugins/1.router'
import App from '@/App.vue' import App from '@/App.vue'
import { registerPlugins } from '@core/utils/plugins' import { registerPlugins } from '@core/utils/plugins'
import installPrimeVue from '@/plugins/primevue'
// Styles // Styles
import '@styles/tailwind.css' import '@styles/tailwind.css'
@@ -29,6 +30,11 @@ initSentry({
// Register plugins (router, pinia, vuetify, …). // Register plugins (router, pinia, vuetify, …).
registerPlugins(app) registerPlugins(app)
// PrimeVue runs alongside Vuetify during the F3F6 parallel-mode window.
// Registered AFTER registerPlugins(app) so PrimeVue lives outside the
// Vuexy @core/ machine — F6 can remove @core/ without affecting PrimeVue.
installPrimeVue(app)
// Bind auth-scope tags per route navigation. Must run after pinia is set // Bind auth-scope tags per route navigation. Must run after pinia is set
// up by registerPlugins (the guard reads useAuthStore / useOrganisationStore). // up by registerPlugins (the guard reads useAuthStore / useOrganisationStore).
installContextBinding(router) installContextBinding(router)