[ 'enabled' => (bool) env('INERTIA_SSR_ENABLED', false), 'runtime' => env('INERTIA_SSR_RUNTIME', 'node'), 'ensure_runtime_exists' => (bool) env('INERTIA_SSR_ENSURE_RUNTIME_EXISTS', false), 'url' => env('INERTIA_SSR_URL', 'http://127.0.0.1:13714'), 'hot_url' => env('INERTIA_SSR_HOT_URL'), 'ensure_bundle_exists' => (bool) env('INERTIA_SSR_ENSURE_BUNDLE_EXISTS', true), // 'bundle' => base_path('bootstrap/ssr/ssr.mjs'), /* |-------------------------------------------------------------------------- | SSR Error Handling |-------------------------------------------------------------------------- | | When SSR rendering fails, Inertia gracefully falls back to client-side | rendering. Set throw_on_error to true to throw an exception instead. | This is useful for E2E testing where you want SSR errors to fail loudly. | | You can also listen for the Inertia\Ssr\SsrRenderFailed event to handle | failures in your own way (e.g., logging, error tracking service). | */ 'throw_on_error' => (bool) env('INERTIA_SSR_THROW_ON_ERROR', false), ], /* |-------------------------------------------------------------------------- | Pages |-------------------------------------------------------------------------- | | Set `ensure_pages_exist` to true if you want to enforce that Inertia page | components exist on disk when rendering a page. This is useful for | catching missing or misnamed components. | | The `paths` and `extensions` options define where to look for page | components and which file extensions to consider. | */ 'pages' => [ 'ensure_pages_exist' => false, 'paths' => [ resource_path('js/Pages'), base_path('extensions/Invoicing/resources/js/Pages'), ], 'extensions' => [ 'js', 'jsx', 'svelte', 'ts', 'tsx', 'vue', ], ], /* |-------------------------------------------------------------------------- | Testing |-------------------------------------------------------------------------- | | When using `assertInertia`, the assertion attempts to locate the | component as a file relative to the `pages.paths` AND with any of | the `pages.extensions` specified above. | | You can disable this behavior by setting `ensure_pages_exist` | to false. | */ 'testing' => [ 'ensure_pages_exist' => true, ], /* |-------------------------------------------------------------------------- | Expose Shared Prop Keys |-------------------------------------------------------------------------- | | When enabled, each page response includes a `sharedProps` metadata key | listing the top-level prop keys that were registered via `Inertia::share`. | The frontend can use this to carry shared props over during instant visits. | */ 'expose_shared_prop_keys' => true, /* |-------------------------------------------------------------------------- | History |-------------------------------------------------------------------------- | | Enable `encrypt` to encrypt page data before it is stored in the | browser's history state, preventing sensitive information from | being accessible after logout. Can also be enabled per-request | or via the `inertia.encrypt` middleware. | */ 'history' => [ 'encrypt' => (bool) env('INERTIA_ENCRYPT_HISTORY', false), ], /* |-------------------------------------------------------------------------- | DevTools |-------------------------------------------------------------------------- | | Records one entry per request to disk so the DevTools Chrome extension may | read it back over HTTP. Recording is limited to your local environment. | See https://inertiajs.com/docs/devtools for the gate and storage options. | */ 'devtools' => [ 'enabled' => env('INERTIA_DEVTOOLS_ENABLED'), 'except' => ['telescope*', 'horizon*', '_inertia/devtools*'], 'storage' => [ 'path' => storage_path('inertia-devtools'), 'ttl' => (int) env('INERTIA_DEVTOOLS_TTL_HOURS', 24), 'prune_interval' => (int) env('INERTIA_DEVTOOLS_PRUNE_INTERVAL_SECONDS', 300), 'limit' => (int) env('INERTIA_DEVTOOLS_LIMIT', 100), ], 'middleware' => ['web'], 'gate' => env('INERTIA_DEVTOOLS_GATE'), 'redact' => [ 'keys' => [ 'password', 'password_confirmation', 'current_password', 'token', '_token', 'access_token', 'refresh_token', 'secret', 'client_secret', 'api_key', ], 'headers' => [ 'cookie', 'set-cookie', 'authorization', 'proxy-authorization', 'x-xsrf-token', 'x-csrf-token', ], ], ], ];