@kendordev/vite
v0.1.0
Published
Vite plugin that makes a dev server reachable + HMR-correct through the Kendor sandbox reverse proxy. No-op off-platform, so it is safe to commit to any repo.
Maintainers
Readme
@kendor/vite
A tiny Vite plugin that makes a dev server reachable and HMR-correct through the Kendor sandbox reverse proxy — and does nothing anywhere else, so it is safe to commit to any repository.
npm install -D @kendor/vite// vite.config.js
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import kendor from '@kendor/vite'
export default defineConfig({
plugins: [react(), kendor()],
})What it does
When your project runs inside a Kendor sandbox, the platform serves your dev server behind a per-session
reverse proxy and injects one environment variable, KENDOR_VITE_ORIGIN, holding the dev server's own
public origin. From it the plugin sets, only when that env is present:
server.host = true— bind all interfaces so the proxy can reach it.server.allowedHosts = true— accept the proxied*.preview.<domain>Host (Vite 5+ blocks unknown Hosts).server.origin+server.hmr— point asset URLs and the HMR WebSocket at the public origin, so assets resolve and hot-reload connects back through the proxy instead of tolocalhost.
Off-platform the env is absent and the plugin returns nothing — npm run dev behaves exactly as it
would without it. This single plugin covers both plain Vite SPAs (it serves the page itself) and
split-origin setups like Laravel or Rails, where Vite is a separate asset server on its own
subdomain; the platform injects the right origin for each.
Laravel
Add it alongside laravel-vite-plugin — no other changes:
import { defineConfig } from 'vite'
import laravel from 'laravel-vite-plugin'
import kendor from '@kendor/vite'
export default defineConfig({
plugins: [
laravel({ input: ['resources/css/app.css', 'resources/js/app.js'], refresh: true }),
kendor(),
],
})