# @base44/vite-plugin Vite plugin for Base44 applications running in sandboxed iframes. Provides error tracking, HMR notifications, visual editing, navigation tracking, and legacy SDK compatibility. ## Installation ```bash npm install @base44/vite-plugin ``` ## Usage ```ts // vite.config.ts import base44 from "@base44/vite-plugin"; export default { plugins: [ base44({ legacySDKImports: false, hmrNotifier: true, navigationNotifier: true, visualEditAgent: true, }), ], }; ``` ### Options | Option | Type | Default | Description | | -------------------- | --------- | ------- | --------------------------------------------------- | | `legacySDKImports` | `boolean` | `false` | Enable legacy SDK import resolution via compat layer | | `hmrNotifier` | `boolean` | `false` | Notify parent window of HMR update lifecycle | | `navigationNotifier` | `boolean` | `false` | Track URL changes and notify parent window | | `visualEditAgent` | `boolean` | `false` | Enable interactive visual element editing | ## Architecture ### Plugin Composition The plugin registers four sub-plugins when running in a sandbox (`MODAL_SANDBOX_ID` is set): 1. **base44** — Core configuration: path aliases (`@/` → `/src/`), environment variables, dependency optimization, and legacy SDK import resolution. 2. **iframe-hmr** — Sets CORS and `frame-ancestors` headers to allow iframe embedding. 3. **error-overlay** — Replaces Vite's default error overlay with a custom one that reports errors to the parent window. 4. **html-injections** — Injects sandbox-side scripts into the HTML. Outside a sandbox, only the core plugin runs (with optional API proxy support via `VITE_BASE44_APP_BASE_URL`). ### Sandbox Injections In **dev mode**, individual `