rollup-plugin-off-main-thread
Use Rollup with workers and ES6 modules today.
$ npm install --save rollup-plugin-off-main-thread
Workers are JavaScript’s version of threads. Workers are important to use as the main thread is already overloaded, especially on slower or older devices.
This plugin takes care of shimming module support in workers and allows you to use new Worker()
.
OMT is the result of merging loadz0r and workz0r.
Usage
// rollup.config.js; input: "src/main.js" output: dir: "dist" // You _must_ use “amd” as your format format: "amd" plugins: ;
I set up a gist to show a full setup with OMT.
Options
// ... plugins: ;
loader
: A string containing the EJS template for the amd loader. Ifundefined
, OMT will useloader.ejs
.useEval
: Usefetch()
+eval()
to load dependencies instead of<script>
tags andimportScripts()
. This is not CSP compliant, but is required if you want to use dynamic imports in ServiceWorker.marker
: A string that is temporarily injected to marknew Worker()
calls. It’s only purpose is to be unique enough that the string sequence can’t appear by coincidence in ohter places. The default should be fine 99% of the time.workerRegexp
: A RegExp to findnew Workers()
calls. The second capture group must capture the provided file name without the quotes.filenameRegexp
: A RegExp that finds the file name after Rollup has transformed dynamic imports.amdFunctionName
: Function name to use instead of AMD’sdefine
License Apache-2.0