2.0.1 • Published 11 months ago

worker-with-import-map v2.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

Install

npm i worker-with-import-map

Specification

See https://github.com/WICG/import-maps/issues/2

Two available polyfill classes

1) WorkerWithImportMapViaInlineFrame: Enabling importmaps in web workers via iframes as workers.

2) WorkerWithImportMapViaBedfordsShim: Same polyfill idea, but using @guybedford's ESM shim inside a normal Worker.

Usage

test.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Test</title>
    <script type="importmap">{"imports": {
        "worker-with-import-map": "./node_modules/worker-with-import-map/src/index.js"
    }}</script>
    <script type="module" src="test.js"></script>
  </head>
</html>

test.js

import {Worker} from 'worker-with-import-map';
const worker = new Worker('./worker-script.js');
worker.postMessage({hello: 'ping'});

worker-script.js

// Here you can import anything you want now with import map support!
import {funny} from 'one-of-your-fancy-libs';
self.onmessage = (e) => {
  const haiToo = funny('pong');
  self.postMessage({haiToo});
}

This works in client and server, buildless (aka no build tools like rollup or Webpack required).

Please just clone this repo and test:

That will give you a better picture with non-trivial code and showing off how you can re-use your importmap too.

Development

Just test it and report feedback, if you feel like it.

Have?

Fun!

2.0.1

11 months ago

2.0.0

11 months ago

1.0.4

11 months ago

1.0.3

11 months ago

1.0.2

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago