Registry / web-framework / vite-plugin-cross-origin-isolation

vite-plugin-cross-origin-isolation

JSON →
library0.1.6jsnpmunverified

A Vite plugin (v0.1.6, actively maintained) that enables cross-origin isolation for the Vite dev server by setting the required COOP and COEP headers. This is necessary for using SharedArrayBuffer and other APIs that require a cross-origin isolated context, such as performance.measureMemory(). The plugin is lightweight and easy to use, simply adding it to the Vite plugins array. It is specifically designed for development environments; for production, server-level configuration is still needed. It is the go-to solution for Vite projects needing SharedArrayBuffer support during development.

npm install vite-plugin-cross-origin-isolation
INSTALL
IMPORT
SIG · VITE-PLUGIN-CROSS-
V
vite-plugin-cross-origin-isolation
web-frameworkjavascriptv0.1.6
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18223 runs
build_error
glibc
node 18223 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
import crossOriginIsolation from 'vite-plugin-cross-origin-isolation'
import { crossOriginIsolation } from 'vite-plugin-cross-origin-isolation'
The plugin exports a default function, not a named export.
crossOriginIsolation
const crossOriginIsolation = require('vite-plugin-cross-origin-isolation')
For CJS projects, use require; the plugin works with both ESM and CJS.
vite.config.ts usage
import crossOriginIsolation from 'vite-plugin-cross-origin-isolation' export default defineConfig({ plugins: [crossOriginIsolation()] })
plugins: [crossOriginIsolation]
The plugin must be invoked as a function (crossOriginIsolation()) when added to the plugins array.

Setup vite-plugin-cross-origin-isolation in Vite config to enable SharedArrayBuffer during development.

// vite.config.ts import { defineConfig } from 'vite'; import crossOriginIsolation from 'vite-plugin-cross-origin-isolation'; export default defineConfig({ plugins: [ crossOriginIsolation() ] }); // In your app (only works in cross-origin isolated context): if (crossOriginIsolated) { const sab = new SharedArrayBuffer(1024); console.log('SharedArrayBuffer supported'); } else { console.error('Cross-Origin Isolation not active'); }
Debug
Known issues
gotchaThe plugin only sets headers for the dev server; production builds require server-level configuration (e.g., nginx) to send COOP/COEP headers.
fix
Configure your production server to send 'Cross-Origin-Opener-Policy: same-origin' and 'Cross-Origin-Embedder-Policy: require-corp'.
affects: all
gotchaCross-origin isolation may break cross-origin resource loading (e.g., images, scripts from CDNs) unless they send appropriate CORS headers.
fix
Ensure all external resources include 'Cross-Origin-Resource-Policy: cross-origin' or proper CORS headers.
affects: all
gotchaThe plugin does not work in production. It is only for Vite's dev server.
fix
For production cross-origin isolation, set headers at your reverse proxy or CDN.
affects: all
Errors
Common errors & fixes
SharedArrayBuffer is not defined
Cross-origin isolation headers missing in the response.
fix
Add the plugin to your Vite config: import crossOriginIsolation from 'vite-plugin-cross-origin-isolation' and include crossOriginIsolation() in plugins.
Failed to load resource: net::ERR_BLOCKED_BY_RESPONSE.NotSameOrigin
A cross-origin resource is blocked due to Cross-Origin-Embedder-Policy: require-corp.
fix
Update the external resource server to include 'Cross-Origin-Resource-Policy: cross-origin' header or proxy the resource through your own domain.
Upgrade
Version history
0.1.6latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
17 hits · last 30 days
node
14
OpenAI (training)
2
Resources
vite-plugin-cross-origin-isolation — npm install vite-plugin-cross-origin-isolation · libregistry