Socket
Socket
Sign inDemoInstall

threads

Package Overview
Dependencies
7
Maintainers
1
Versions
73
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.6.3 to 1.6.4

11

dist-esm/master/implementation.browser.js

@@ -6,3 +6,3 @@ // tslint:disable max-classes-per-file

: 4;
const isAbsoluteURL = (value) => /^(file|https?:)?\/\//i.test(value);
const isAbsoluteURL = (value) => /^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(value);
function createSourceBlobURL(code) {

@@ -24,2 +24,3 @@ const blob = new Blob([code], { type: "application/javascript" });

constructor(url, options) {
var _a, _b;
if (typeof url === "string" && options && options._baseURL) {

@@ -30,3 +31,5 @@ url = new URL(url, options._baseURL);

url = new URL(url, getBundleURL().replace(/\/[^\/]+$/, "/"));
url = createSourceBlobURL(`importScripts(${JSON.stringify(url)});`);
if ((_a = options === null || options === void 0 ? void 0 : options.CORSWorkaround) !== null && _a !== void 0 ? _a : true) {
url = createSourceBlobURL(`importScripts(${JSON.stringify(url)});`);
}
}

@@ -36,3 +39,5 @@ if (typeof url === "string" && isAbsoluteURL(url)) {

// to circumvent worker CORS restrictions
url = createSourceBlobURL(`importScripts(${JSON.stringify(url)});`);
if ((_b = options === null || options === void 0 ? void 0 : options.CORSWorkaround) !== null && _b !== void 0 ? _b : true) {
url = createSourceBlobURL(`importScripts(${JSON.stringify(url)});`);
}
}

@@ -39,0 +44,0 @@ super(url, options);

/// <reference lib="dom" />
// tslint:disable function-constructor no-eval no-duplicate-super max-classes-per-file
import getCallsites from "callsites";
import EventEmitter from "events";
import { EventEmitter } from "events";
import { cpus } from 'os';

@@ -18,3 +18,3 @@ import * as path from "path";

try {
require.resolve("ts-node");
eval("require").resolve("ts-node");
tsNodeAvailable = true;

@@ -60,3 +60,3 @@ }

? __non_webpack_require__.resolve(makeRelative(scriptPath))
: require.resolve(makeRelative(rebaseScriptPath(scriptPath, /[\/\\]worker_threads[\/\\]/)));
: eval("require").resolve(makeRelative(rebaseScriptPath(scriptPath, /[\/\\]worker_threads[\/\\]/)));
return workerFilePath;

@@ -63,0 +63,0 @@ }

@@ -171,3 +171,3 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

subscription.unsubscribe();
resolve();
resolve(void 0);
}

@@ -174,0 +174,0 @@ },

@@ -119,3 +119,4 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

debugSpawn("Initializing new thread");
const initMessage = yield withTimeout(receiveInitMessage(worker), options && options.timeout ? options.timeout : initMessageTimeout, `Timeout: Did not receive an init message from worker after ${initMessageTimeout}ms. Make sure the worker calls expose().`);
const timeout = options && options.timeout ? options.timeout : initMessageTimeout;
const initMessage = yield withTimeout(receiveInitMessage(worker), timeout, `Timeout: Did not receive an init message from worker after ${timeout}ms. Make sure the worker calls expose().`);
const exposed = initMessage.exposed;

@@ -122,0 +123,0 @@ const { termination, terminate } = createTerminator(worker);

@@ -21,5 +21,5 @@ const doNothing = () => undefined;

resolvedTo = value;
resolver();
resolver(resolvedTo);
};
return [promise, exposedResolver];
}

@@ -10,5 +10,6 @@ "use strict";

var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Transfer = exports.DefaultSerializer = exports.expose = exports.registerSerializer = void 0;
var common_1 = require("./common");

@@ -15,0 +16,0 @@ Object.defineProperty(exports, "registerSerializer", { enumerable: true, get: function () { return common_1.registerSerializer; } });

@@ -9,3 +9,3 @@ "use strict";

: 4;
const isAbsoluteURL = (value) => /^(file|https?:)?\/\//i.test(value);
const isAbsoluteURL = (value) => /^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(value);
function createSourceBlobURL(code) {

@@ -27,2 +27,3 @@ const blob = new Blob([code], { type: "application/javascript" });

constructor(url, options) {
var _a, _b;
if (typeof url === "string" && options && options._baseURL) {

@@ -33,3 +34,5 @@ url = new URL(url, options._baseURL);

url = new URL(url, get_bundle_url_browser_1.getBundleURL().replace(/\/[^\/]+$/, "/"));
url = createSourceBlobURL(`importScripts(${JSON.stringify(url)});`);
if ((_a = options === null || options === void 0 ? void 0 : options.CORSWorkaround) !== null && _a !== void 0 ? _a : true) {
url = createSourceBlobURL(`importScripts(${JSON.stringify(url)});`);
}
}

@@ -39,3 +42,5 @@ if (typeof url === "string" && isAbsoluteURL(url)) {

// to circumvent worker CORS restrictions
url = createSourceBlobURL(`importScripts(${JSON.stringify(url)});`);
if ((_b = options === null || options === void 0 ? void 0 : options.CORSWorkaround) !== null && _b !== void 0 ? _b : true) {
url = createSourceBlobURL(`importScripts(${JSON.stringify(url)});`);
}
}

@@ -42,0 +47,0 @@ super(url, options);

@@ -20,3 +20,3 @@ "use strict";

var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);

@@ -23,0 +23,0 @@ return result;

@@ -19,3 +19,3 @@ "use strict";

var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);

@@ -30,3 +30,3 @@ return result;

const callsites_1 = __importDefault(require("callsites"));
const events_1 = __importDefault(require("events"));
const events_1 = require("events");
const os_1 = require("os");

@@ -45,3 +45,3 @@ const path = __importStar(require("path"));

try {
require.resolve("ts-node");
eval("require").resolve("ts-node");
tsNodeAvailable = true;

@@ -87,3 +87,3 @@ }

? __non_webpack_require__.resolve(makeRelative(scriptPath))
: require.resolve(makeRelative(rebaseScriptPath(scriptPath, /[\/\\]worker_threads[\/\\]/)));
: eval("require").resolve(makeRelative(rebaseScriptPath(scriptPath, /[\/\\]worker_threads[\/\\]/)));
return workerFilePath;

@@ -181,3 +181,3 @@ }

allWorkers.push(this);
this.emitter = new events_1.default();
this.emitter = new events_1.EventEmitter();
this.onerror = (error) => this.emitter.emit("error", error);

@@ -184,0 +184,0 @@ this.onmessage = (message) => this.emitter.emit("message", message);

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Worker = exports.BlobWorker = exports.isWorkerRuntime = void 0;
exports.Worker = exports.BlobWorker = exports.isWorkerRuntime = exports.Thread = exports.spawn = exports.Pool = void 0;
const implementation_1 = require("./implementation");

@@ -5,0 +5,0 @@ Object.defineProperty(exports, "isWorkerRuntime", { enumerable: true, get: function () { return implementation_1.isWorkerRuntime; } });

@@ -178,3 +178,3 @@ "use strict";

subscription.unsubscribe();
resolve();
resolve(void 0);
}

@@ -181,0 +181,0 @@ },

@@ -125,3 +125,4 @@ "use strict";

debugSpawn("Initializing new thread");
const initMessage = yield withTimeout(receiveInitMessage(worker), options && options.timeout ? options.timeout : initMessageTimeout, `Timeout: Did not receive an init message from worker after ${initMessageTimeout}ms. Make sure the worker calls expose().`);
const timeout = options && options.timeout ? options.timeout : initMessageTimeout;
const initMessage = yield withTimeout(receiveInitMessage(worker), timeout, `Timeout: Did not receive an init message from worker after ${timeout}ms. Make sure the worker calls expose().`);
const exposed = initMessage.exposed;

@@ -128,0 +129,0 @@ const { termination, terminate } = createTerminator(worker);

@@ -24,3 +24,3 @@ "use strict";

resolvedTo = value;
resolver();
resolver(resolvedTo);
};

@@ -27,0 +27,0 @@ return [promise, exposedResolver];

@@ -5,2 +5,3 @@ /// <reference lib="dom" />

import { $errors, $events, $terminate, $worker } from "../symbols";
import { TransferDescriptor } from "../transferable";
interface ObservableLikeSubscription {

@@ -18,6 +19,8 @@ unsubscribe(): any;

export declare type StripAsync<Type> = Type extends Promise<infer PromiseBaseType> ? PromiseBaseType : Type extends ObservableLike<infer ObservableBaseType> ? ObservableBaseType : Type;
export declare type StripTransfer<Type> = Type extends TransferDescriptor<infer BaseType> ? BaseType : Type;
export declare type ModuleMethods = {
[methodName: string]: (...args: any) => any;
};
export declare type ProxyableFunction<Args extends any[], ReturnType> = Args extends [] ? () => ObservablePromise<StripAsync<ReturnType>> : (...args: Args) => ObservablePromise<StripAsync<ReturnType>>;
export declare type ProxyableArgs<Args extends any[]> = Args extends [arg0: infer Arg0, ...rest: infer RestArgs] ? [Arg0 extends Transferable ? Arg0 | TransferDescriptor<Arg0> : Arg0, ...RestArgs] : Args;
export declare type ProxyableFunction<Args extends any[], ReturnType> = Args extends [] ? () => ObservablePromise<StripTransfer<StripAsync<ReturnType>>> : (...args: ProxyableArgs<Args>) => ObservablePromise<StripTransfer<StripAsync<ReturnType>>>;
export declare type ModuleProxy<Methods extends ModuleMethods> = {

@@ -59,2 +62,6 @@ [method in keyof Methods]: ProxyableFunction<Parameters<Methods[method]>, ReturnType<Methods[method]>>;

};
/** Data passed on to node.js worker_threads. */
workerData?: any;
/** Whether to apply CORS protection workaround. Defaults to true. */
CORSWorkaround?: boolean;
}

@@ -61,0 +68,0 @@ /** Worker implementation. Either web worker or a node.js Worker class. */

@@ -10,3 +10,3 @@ "use strict";

var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};

@@ -13,0 +13,0 @@ Object.defineProperty(exports, "__esModule", { value: true });

@@ -15,3 +15,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.expose = exports.isWorkerRuntime = void 0;
exports.expose = exports.isWorkerRuntime = exports.Transfer = exports.registerSerializer = void 0;
const is_observable_1 = __importDefault(require("is-observable"));

@@ -18,0 +18,0 @@ const common_1 = require("../common");

{
"name": "threads",
"version": "1.6.3",
"version": "1.6.4",
"description": "Web workers & worker threads as simple as a function call",
"license": "MIT",
"main": "dist/index.js",
"module": "dist-esm/index.js",
"scripts": {
"prebuild": "rimraf dist/ dist-esm/",
"build": "run-p build:cjs build:es",
"clean": "rimraf dist/ dist-esm/",
"dev": "npm run clean && tsc -p tsconfig.json --watch",
"build": "npm run clean && npm run build:cjs && npm run build:es",
"build:cjs": "tsc -p tsconfig.json",
"build:es": "tsc -p tsconfig-esm.json",
"postbuild": "run-s bundle",
"postbuild": "npm run bundle",
"bundle": "rollup -c -f umd --file=bundle/worker.js --name=threads --silent -- dist-esm/worker/bundle-entry.js",
"test": "run-s test:ava test:puppeteer:basic test:puppeteer:webpack",
"test:ava": "cross-env TS_NODE_FILES=true ava",
"test:puppeteer:basic": "puppet-run --plugin=mocha --bundle=./test/workers/:/workers/ --serve=./bundle/worker.js:/worker.js ./test/*.chromium*.ts",
"test:puppeteer:webpack": "puppet-run --serve ./test/webpack/dist/app.web/0.worker.js --serve ./test/webpack/dist/app.web/1.worker.js --plugin=mocha ./test/webpack/webpack.chromium.mocha.ts",
"test": "npm run test:library && npm run test:tooling && npm run test:puppeteer:basic && npm run test:puppeteer:webpack",
"test:library": "cross-env TS_NODE_FILES=true ava ./test/**/*.test.ts",
"test:tooling": "cross-env TS_NODE_FILES=true ava ./test-tooling/**/*.test.ts",
"test:puppeteer:basic": "puppet-run --plugin=mocha --bundle=./test/workers/:workers/ --serve=./bundle/worker.js:/worker.js ./test/*.chromium*.ts",
"test:puppeteer:webpack": "puppet-run --serve ./test-tooling/webpack/dist/app.web/0.worker.js --serve ./test-tooling/webpack/dist/app.web/1.worker.js --plugin=mocha ./test-tooling/webpack/webpack.chromium.mocha.ts",
"posttest": "tslint --project .",
"prepare": "run-s build"
"prepare": "npm run build"
},

@@ -50,6 +53,6 @@ "exports": {

"author": "Andy Wermke (https://github.com/andywer)",
"license": "MIT",
"bugs": {
"url": "https://github.com/andywer/threads.js/issues"
},
"funding": "https://github.com/andywer/threads.js?sponsor=1",
"homepage": "https://threads.js.org",

@@ -68,36 +71,35 @@ "keywords": [

"callsites": "^3.1.0",
"debug": "^4.1.1",
"is-observable": "^1.1.0",
"debug": "^4.2.0",
"is-observable": "^2.1.0",
"observable-fns": "^0.5.1"
},
"devDependencies": {
"@types/chai": "^4.1.7",
"@types/debug": "^4.1.4",
"@types/execa": "^0.9.0",
"@types/mocha": "^5.2.6",
"@types/node": "^11.13.8",
"@types/webpack": "^4.4.32",
"ava": "^2.4.0",
"@rollup/plugin-commonjs": "^16.0.0",
"@rollup/plugin-node-resolve": "^10.0.0",
"@types/chai": "^4.2.14",
"@types/debug": "^4.1.5",
"@types/execa": "^2.0.0",
"@types/mocha": "^8.0.3",
"@types/node": "^14.14.5",
"@types/webpack": "^4.41.23",
"ava": "^3.13.0",
"chai": "^4.2.0",
"cross-env": "^5.2.0",
"execa": "^3.4.0",
"mocha": "^5.2.0",
"npm-run-all": "^4.1.5",
"puppet-run": "^0.11.1",
"cross-env": "^7.0.2",
"execa": "^4.0.3",
"mocha": "^8.2.0",
"puppet-run": "^0.11.3",
"puppet-run-plugin-mocha": "^0.10.0-alpha",
"raw-loader": "^4.0.1",
"rimraf": "^2.6.3",
"rollup": "^1.16.2",
"rollup-plugin-commonjs": "^10.0.1",
"rollup-plugin-node-resolve": "^5.1.0",
"threads-plugin": "^1.2.0",
"raw-loader": "^4.0.2",
"rimraf": "^3.0.2",
"rollup": "^2.32.1",
"threads-plugin": "^1.3.3",
"tiny-worker": "^2.2.0",
"ts-loader": "^6.0.1",
"ts-node": "^8.10.2",
"tslint": "^5.16.0",
"ts-loader": "^8.0.7",
"ts-node": "^9.0.0",
"tslint": "^6.1.3",
"tslint-config-prettier": "^1.18.0",
"typescript": "^3.9.5",
"typescript": "^4.2.3",
"wavy": "^1.0.4",
"webpack": "^4.32.2",
"worker-plugin": "^3.1.0"
"webpack": "^4.44.2",
"worker-plugin": "^5.0.0"
},

@@ -108,3 +110,2 @@ "optionalDependencies": {

"ava": {
"compileEnhancements": false,
"extensions": [

@@ -114,3 +115,4 @@ "ts"

"files": [
"./test/**/*.test.ts"
"./test/**/*.test.ts",
"./test-tooling/**/*.test.ts"
],

@@ -117,0 +119,0 @@ "require": [

@@ -1,3 +0,3 @@

const commonjs = require("rollup-plugin-commonjs")
const nodeResolve = require("rollup-plugin-node-resolve")
const commonjs = require("@rollup/plugin-commonjs")
const { nodeResolve } = require("@rollup/plugin-node-resolve")

@@ -4,0 +4,0 @@ module.exports = {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc