A minimalistic version of coi-serviceworker
npm install mini-coiThis project ensures your browser's
complicated Cross Origin Isolation (COI) settings
"just work"™ for web workers. This is especially useful when you have no
control over the HTTP headers returned by the server.
The simplest way to use mini-coi is to **place the mini-coi.js file in the
root of your website (i.e. /), and reference it as the first child tag in the of your HTML documents**:
``html`
For more complete technical details, read on...
A minimalistic CLI utility or a simplified version of coi-serviceworker, with an optional scope attribute to define where Cross Origin Isolation should happen.
Bootstrap a local server with all headers enforced:
`sh
npx mini-coi .
The CLI brings in what's possible already to do with static-handler by passing
--coi by default.
Service Worker
Allow headers in places like GitHub pages or any other server where you cannot change current headers:
`html
`#### What's different from coi-serviceworker?
no options at all: "it just works*" ™
always require-corp* to have this working on Safari as well as Chrome or Firefox
* errors are just thrown in devtools
- - -
$3
* the file must be a local file, you can't use any CDN or raw GitHub URL, you need to copy the file content locally [^1]
the script must not be a module*, it has to be exactly a
at the top of your tag in your page (or in general before any other script or link or style is used, it can be after meta and title though)[^1]: You can either use the CLI utility:
`sh
npx mini-coi -sw public/mini-coi.js // or ...
npx mini-coi --service-worker public/mini-coi.js
` Or you can grab the file from a CDN and save it locally:
`sh
# grab mini-coi.js and save it locally as mini-coi.js
curl -LO https://raw.githubusercontent.com/WebReflection/mini-coi/main/mini-coi.js
``