Bump packages to fix linter
This commit is contained in:
parent
ed9506bbaf
commit
0a11e3fdd9
6063 changed files with 378752 additions and 306784 deletions
58
node_modules/ava/lib/plugin-support/shared-workers.js
generated
vendored
58
node_modules/ava/lib/plugin-support/shared-workers.js
generated
vendored
|
|
@ -49,35 +49,54 @@ function launchWorker(filename, initialData) {
|
|||
}
|
||||
|
||||
export async function observeWorkerProcess(fork, runStatus) {
|
||||
let registrationCount = 0;
|
||||
let signalDeregistered;
|
||||
const deregistered = new Promise(resolve => {
|
||||
signalDeregistered = resolve;
|
||||
let signalDone;
|
||||
|
||||
const done = new Promise(resolve => {
|
||||
signalDone = () => {
|
||||
resolve();
|
||||
};
|
||||
});
|
||||
|
||||
fork.promise.finally(() => {
|
||||
if (registrationCount === 0) {
|
||||
signalDeregistered();
|
||||
const activeInstances = new Set();
|
||||
|
||||
const removeInstance = instance => {
|
||||
instance.worker.unref();
|
||||
activeInstances.delete(instance);
|
||||
|
||||
if (activeInstances.size === 0) {
|
||||
signalDone();
|
||||
}
|
||||
};
|
||||
|
||||
const removeAllInstances = () => {
|
||||
if (activeInstances.size === 0) {
|
||||
signalDone();
|
||||
return;
|
||||
}
|
||||
|
||||
for (const instance of activeInstances) {
|
||||
removeInstance(instance);
|
||||
}
|
||||
};
|
||||
|
||||
fork.promise.finally(() => {
|
||||
removeAllInstances();
|
||||
});
|
||||
|
||||
fork.onConnectSharedWorker(async ({filename, initialData, port, signalError}) => {
|
||||
const launched = launchWorker(filename, initialData);
|
||||
activeInstances.add(launched);
|
||||
|
||||
const handleWorkerMessage = async message => {
|
||||
if (message.type === 'deregistered-test-worker' && message.id === fork.threadId) {
|
||||
launched.worker.off('message', handleWorkerMessage);
|
||||
|
||||
registrationCount--;
|
||||
if (registrationCount === 0) {
|
||||
signalDeregistered();
|
||||
}
|
||||
removeInstance(launched);
|
||||
}
|
||||
};
|
||||
|
||||
launched.statePromises.error.then(error => {
|
||||
signalDeregistered();
|
||||
launched.worker.off('message', handleWorkerMessage);
|
||||
removeAllInstances();
|
||||
runStatus.emitStateChange({type: 'shared-worker-error', err: serializeError('Shared worker error', true, error)});
|
||||
signalError();
|
||||
});
|
||||
|
|
@ -85,8 +104,6 @@ export async function observeWorkerProcess(fork, runStatus) {
|
|||
try {
|
||||
await launched.statePromises.available;
|
||||
|
||||
registrationCount++;
|
||||
|
||||
port.postMessage({type: 'ready'});
|
||||
|
||||
launched.worker.postMessage({
|
||||
|
|
@ -104,15 +121,8 @@ export async function observeWorkerProcess(fork, runStatus) {
|
|||
});
|
||||
|
||||
launched.worker.on('message', handleWorkerMessage);
|
||||
} catch {
|
||||
return;
|
||||
} finally {
|
||||
// Attaching listeners has the side-effect of referencing the worker.
|
||||
// Explicitly unreference it now so it does not prevent the main process
|
||||
// from exiting.
|
||||
launched.worker.unref();
|
||||
}
|
||||
} catch {}
|
||||
});
|
||||
|
||||
return deregistered;
|
||||
return done;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue