Skip to content

Commit 7c4e521

Browse files
committed
using text/javascript + better Blob on SW
1 parent d533e14 commit 7c4e521

File tree

7 files changed

+9
-11
lines changed

7 files changed

+9
-11
lines changed

docs/index.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/index.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/service-worker.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

esm/interpreter/dummy.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ const run = (interpreter, code) => {
1919

2020
export default {
2121
type,
22-
module: () => 'data:application/javascript,',
22+
module: () => 'data:text/javascript,',
2323
engine: module => stdio().get(module),
2424
registerJSModule(_, name, value) {
2525
registry.set(name, value);

esm/service-worker.js

+3-5
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,16 @@ import sabayon from 'https://cdn.jsdelivr.net/npm/sabayon/dist/polyfill.js';
22

33
// ignore browsers that already support SharedArrayBuffer
44
if (!globalThis.crossOriginIsolated) {
5-
const { isArray } = Array;
6-
75
// early patch Blob to inject sabayon polyfill for service-worker
86
globalThis.Blob = class extends Blob {
9-
constructor(blobParts, ...rest) {
10-
if (isArray(blobParts) && typeof blobParts.at(0) === 'string') {
7+
constructor(blobParts, options) {
8+
if (options.type === 'text/javascript' && typeof blobParts.at(0) === 'string') {
119
blobParts[0] = blobParts[0].replace(
1210
/^\/\*@\*\//,
1311
'import "https://cdn.jsdelivr.net/npm/sabayon/dist/polyfill.js";'
1412
);
1513
}
16-
super(blobParts, ...rest);
14+
super(blobParts, options);
1715
}
1816
};
1917

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,6 @@
9696
"to-json-callback": "^0.1.1"
9797
},
9898
"worker": {
99-
"blob": "sha256-RhDxs4QsJEd24AV/rjPw9JHF89fX76osOSS31nPcaRU="
99+
"blob": "sha256-yTFHy+cGpmXDYWc+SKsqMm4Rq5ZUSfiaUPItkM6d0WM="
100100
}
101101
}

rollup/build_xworker.cjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ for (const file of readdirSync(DIST_DIR)) {
5252
`const re = ${/import\((['"])([^)]+?\.js)\1\)/}g;`,
5353
`const place = ${(_,q,f) => `import(${q}${new URL(f,url).href}${q})`};`,
5454
...coincident,
55-
`export default (...args) => new Worker(URL.createObjectURL(new Blob(['/*@*/'+${js}.replace(re,place)],{type:'application/javascript'})), ...args)`,
55+
`export default (...args) => new Worker(URL.createObjectURL(new Blob(['/*@*/'+${js}.replace(re,place)],{type:'text/javascript'})), ...args)`,
5656
'/* c8 ignore stop */',
5757
''
5858
].join("\n")

0 commit comments

Comments
 (0)