js-safe worker injection
This commit is contained in:
parent
ed867b9f48
commit
f34bb3d640
1 changed files with 15 additions and 4 deletions
13
src/uv.sw.js
13
src/uv.sw.js
|
|
@ -174,10 +174,21 @@ class UVServiceWorker extends Ultraviolet.EventEmitter {
|
|||
switch (request.destination) {
|
||||
case 'script':
|
||||
case 'worker':
|
||||
responseCtx.body = `if (!self.__uv && self.importScripts) importScripts('${ultraviolet.bundleScript}', '${ultraviolet.clientScript}', '${ultraviolet.configScript}', '${ultraviolet.handlerScript}');\n`;
|
||||
{
|
||||
// craft a JS-safe list of arguments
|
||||
const scripts = [
|
||||
ultraviolet.bundleScript,
|
||||
ultraviolet.clientScript,
|
||||
ultraviolet.configScript,
|
||||
ultraviolet.handlerScript,
|
||||
]
|
||||
.map((script) => JSON.stringify(script))
|
||||
.join(',');
|
||||
responseCtx.body = `if (!self.__uv && self.importScripts) importScripts(${scripts});\n`;
|
||||
responseCtx.body += ultraviolet.js.rewrite(
|
||||
await response.text()
|
||||
);
|
||||
}
|
||||
break;
|
||||
case 'style':
|
||||
responseCtx.body = ultraviolet.rewriteCSS(
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue