Skip to content

Commit

Permalink
Add support for SharedWorkers (#1907)
Browse files Browse the repository at this point in the history
Closes #1905
  • Loading branch information
Tom-Julux authored and DeMoorJasper committed Aug 19, 2018
1 parent 9ea8eea commit b17316b
Show file tree
Hide file tree
Showing 8 changed files with 29 additions and 3 deletions.
2 changes: 1 addition & 1 deletion packages/core/parcel/src/Parser.js
Expand Up @@ -83,4 +83,4 @@ class Parser {
}
}

module.exports = Parser;
module.exports = Parser;
2 changes: 1 addition & 1 deletion packages/core/parcel/src/assets/JSAsset.js
Expand Up @@ -22,7 +22,7 @@ const ENV_RE = /\b(?:process\.env)\b/;
const GLOBAL_RE = /\b(?:process|__dirname|__filename|global|Buffer|define)\b/;
const FS_RE = /\breadFileSync\b/;
const SW_RE = /\bnavigator\s*\.\s*serviceWorker\s*\.\s*register\s*\(/;
const WORKER_RE = /\bnew\s*Worker\s*\(/;
const WORKER_RE = /\bnew\s*(?:Shared)?Worker\s*\(/;
const SOURCEMAP_RE = /\/\/\s*[@#]\s*sourceMappingURL\s*=\s*([^\s]+)/;
const DATA_URL_RE = /^data:[^;]+(?:;charset=[^;]+)?;base64,(.*)/;

Expand Down
2 changes: 1 addition & 1 deletion packages/core/parcel/src/visitors/dependencies.js
Expand Up @@ -81,7 +81,7 @@ module.exports = {

const isWebWorker =
callee.type === 'Identifier' &&
callee.name === 'Worker' &&
(callee.name === 'Worker' || callee.name === 'SharedWorker') &&
args.length === 1 &&
types.isStringLiteral(args[0]);

Expand Down
@@ -1,4 +1,5 @@
exports.startWorker = require('./worker-client').startWorker;
exports.startSharedWorker = require('./worker-client').startSharedWorker;
exports.commonFunction = require('./common').commonFunction;
exports.feature = require('./feature');

1 change: 1 addition & 0 deletions packages/core/parcel/test/integration/workers/index.js
@@ -1,4 +1,5 @@
exports.commonFunction = require('./common').commonFunction;
exports.startWorker = require('./worker-client').startWorker;
exports.startSharedWorker = require('./worker-client').startSharedWorker;
exports.feature = require('./feature');

@@ -0,0 +1,5 @@
onconnect = (e) => {
let port = e.ports[0];
port.addEventListener('message', ()=> {});
port.start();
}
Expand Up @@ -7,5 +7,8 @@ exports.startWorker = function() {
worker.postMessage(commonText);
};

exports.startSharedWorker = function() {
const worker = new SharedWorker('shared-worker.js');
};


16 changes: 16 additions & 0 deletions packages/core/parcel/test/javascript.js
Expand Up @@ -220,6 +220,14 @@ describe('javascript', function() {
}
]
},
{
assets: ['shared-worker.js'],
childBundles: [
{
type: 'map'
}
]
},
{
assets: ['worker.js', 'common.js'],
childBundles: [
Expand Down Expand Up @@ -257,6 +265,14 @@ describe('javascript', function() {
}
]
},
{
assets: ['shared-worker.js'],
childBundles: [
{
type: 'map'
}
]
},
{
assets: ['worker.js', 'common.js'],
childBundles: [
Expand Down

0 comments on commit b17316b

Please sign in to comment.