Mostly fix production bundling

This commit is contained in:
Jason Miller
2020-08-14 19:50:28 -04:00
parent 37966fad28
commit d383fa6b12
7 changed files with 2501 additions and 358 deletions

View File

@@ -3,7 +3,11 @@ declare module '@webcomponents/custom-elements';
// Patch Worker to ignore `importScripts("x.css")` generated by Parcel:
const W = self.Worker;
self.Worker = function (url: string | URL, options?: WorkerOptions) {
const code = `importScripts = (function(){return this.apply(self,[].slice.call(arguments).filter(function(x){return !/\\.css$/i.test(x)}))}).bind(importScripts)\nimportScripts(${JSON.stringify(url)})`;
const code = `
importScripts=(function(){
return this.apply(self,[].slice.call(arguments).map(function(x){return !/\\.css$/i.test(x) && new URL(x,self.url).href}).filter(Boolean))
}).bind(importScripts);importScripts(self.url=${JSON.stringify(url)})
`.trim();
return new W(URL.createObjectURL(new Blob([code], { type: 'text/javascript' })), options);
} as any as (typeof Worker);