# `esbuild-plugin-inline-webworker` ## Usage ```typescript // ./index.ts import workerSrc from 'inline-worker:./worker.ts'; let worker = new Worker(workerSrc); worker.onmessage = e => console.log(e.data); // 'world' // ./util.ts export const hello = () => 'world'; // ./worker.ts import { hello } from './util.ts'; postMessage(hello()); ``` ```javascript // ./build.js import esbuild from 'esbuild'; import { PluginInlineWorker } from './plugin-inline-webworker.js'; esbuild.build({ entryPoints: ['./index.ts'], bundle: true, format: 'esm', plugins: [PluginInlineWorker()], }) ``` ```bash node build # // inline-worker:/Users/hms-manzt/demos/esbuild-plugin-inline-webworker/worker # var worker_default = "data:application/javascript;base64,KCgpPT57dmFyIG89KCk9PiJ3b3JsZCI7cG9zdE1lc3NhZ2UobygpKTt9KSgpOwo="; # # // index.ts # var worker = new Worker(worker_default); # worker.onmessage = (e) => console.log(e.data); ```