@vorx-com/vite-plugin
v1.0.1
Published
Dev-only Vorx preview: Vite SFC tagger + preview-agent head injection.
Readme
@vorx-com/vite-plugin
The dev-only preview shim every Vorx-generated app runs: a Vite single-file-component tagger plus preview-agent head injection. It does nothing in a production build.
It exists so the Vorx visual editor can tell which parts of a rendered page are
editable text and which come from data. The tagger writes data-vorx-bind onto
elements whose text is bound to an expression, and the editor refuses in-place
"Edit text" on those. Getting that wrong is visible to the person using the
editor, which is why this is one file rather than a copy per template.
Use
// nuxt.config.ts
import vorx from "@vorx-com/vite-plugin";
export default defineNuxtConfig({
vite: { plugins: [vorx()] },
});previewAgentHeadEntry() is also exported, for a host that injects the agent
script itself.
Where the agent script comes from
VORX_PREVIEW_AGENT_URL or VITE_VORX_PREVIEW_AGENT_URL if either is set.
Otherwise an origin is resolved from VORX_APP_ORIGIN / VITE_VORX_APP_ORIGIN,
falling back to https://www.vorx.com/s/vorx-preview-agent.js.
Peer dependencies
vite and vue. The tagger parses single-file components with
vue/compiler-sfc, so it uses the host app's Vue rather than bundling one.
Status
This package exists so Vorx-generated apps stop carrying 196 lines of our infrastructure in their own source tree. Projects generated before the move keep their inline copy and it stays valid indefinitely; nothing rewrites an existing repository.
The templates stopped shipping an inline copy on 2026-09-28 (p249), so this
package's index.js is the only copy a new project gets. The byte-identity gate
that held the package to the templates' copies while both existed was removed
at the same time; scripts/vite-plugin-package.test.mjs in the Vorx workspace
still checks the entry, the data-bound-text detection and the manifest.
