synckit 0.9.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -4
- package/lib/index.cjs +106 -21
- package/lib/index.d.ts +7 -4
- package/lib/index.js +69 -19
- package/lib/index.js.map +1 -1
- package/lib/types.d.ts +4 -1
- package/lib/types.js +1 -1
- package/lib/types.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
@@ -22,7 +22,8 @@ Perform async work synchronously in Node.js using `worker_threads` with first-cl
|
|
22
22
|
- [Options](#options)
|
23
23
|
- [Envs](#envs)
|
24
24
|
- [TypeScript](#typescript)
|
25
|
-
- [`
|
25
|
+
- [`node` (Default, Node 23+)](#node-default-node-23)
|
26
|
+
- [`ts-node` (Default)](#ts-node-default)
|
26
27
|
- [`esbuild-register`](#esbuild-register)
|
27
28
|
- [`esbuild-runner`](#esbuild-runner)
|
28
29
|
- [`swc`](#swc)
|
@@ -53,7 +54,7 @@ import { createSyncFn } from 'synckit'
|
|
53
54
|
|
54
55
|
// the worker path must be absolute
|
55
56
|
const syncFn = createSyncFn(require.resolve('./worker'), {
|
56
|
-
tsRunner: 'tsx', // optional, can be `'ts-node' | 'esbuild-register' | 'esbuild-runner' | 'tsx'`
|
57
|
+
tsRunner: 'tsx', // optional, can be `'node' | 'ts-node' | 'esbuild-register' | 'esbuild-runner' | 'tsx'`
|
57
58
|
})
|
58
59
|
|
59
60
|
// do whatever you want, you will get the result synchronously!
|
@@ -126,9 +127,17 @@ export interface GlobalShim {
|
|
126
127
|
|
127
128
|
### TypeScript
|
128
129
|
|
129
|
-
#### `
|
130
|
+
#### `node` (Default, Node 23+)
|
130
131
|
|
131
|
-
|
132
|
+
On recent Node versions, you may select this runner to execute your worker file (a `.ts` file) in the native runtime.
|
133
|
+
|
134
|
+
As of Node v23, this feature is supported out of the box. To enable it in the current LTS, you can pass the [`--experimental-strip-types`](https://nodejs.org/docs/latest-v22.x/api/typescript.html#type-stripping) flag to the process. Visit the [documentation](https://nodejs.org/docs/latest/api/typescript.html#type-stripping) to learn more.
|
135
|
+
|
136
|
+
When `synckit` detects the process to be running with this flag, it will execute the worker file with the `node` runner by default.
|
137
|
+
|
138
|
+
#### `ts-node` (Default)
|
139
|
+
|
140
|
+
Prior to Node v23, you may want to use `ts-node` to execute your worker file (a `.ts` file).
|
132
141
|
|
133
142
|
If you want to use a custom tsconfig as project instead of default `tsconfig.json`, use `TS_NODE_PROJECT` env. Please view [ts-node](https://github.com/TypeStrong/ts-node#tsconfig) for more details.
|
134
143
|
|
package/lib/index.cjs
CHANGED
@@ -8,6 +8,34 @@ var node_url = require('node:url');
|
|
8
8
|
var node_worker_threads = require('node:worker_threads');
|
9
9
|
var core = require('@pkgr/core');
|
10
10
|
|
11
|
+
var __defProp = Object.defineProperty;
|
12
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
14
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
15
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
16
|
+
var __spreadValues = (a, b) => {
|
17
|
+
for (var prop in b || (b = {}))
|
18
|
+
if (__hasOwnProp.call(b, prop))
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
20
|
+
if (__getOwnPropSymbols)
|
21
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
22
|
+
if (__propIsEnum.call(b, prop))
|
23
|
+
__defNormalProp(a, prop, b[prop]);
|
24
|
+
}
|
25
|
+
return a;
|
26
|
+
};
|
27
|
+
var __objRest = (source, exclude) => {
|
28
|
+
var target = {};
|
29
|
+
for (var prop in source)
|
30
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
31
|
+
target[prop] = source[prop];
|
32
|
+
if (source != null && __getOwnPropSymbols)
|
33
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
34
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
35
|
+
target[prop] = source[prop];
|
36
|
+
}
|
37
|
+
return target;
|
38
|
+
};
|
11
39
|
var __async = (__this, __arguments, generator) => {
|
12
40
|
return new Promise((resolve, reject) => {
|
13
41
|
var fulfilled = (value) => {
|
@@ -31,6 +59,8 @@ var __async = (__this, __arguments, generator) => {
|
|
31
59
|
const import_meta = {};
|
32
60
|
const INT32_BYTES = 4;
|
33
61
|
const TsRunner = {
|
62
|
+
// https://nodejs.org/docs/latest/api/typescript.html#type-stripping
|
63
|
+
Node: "node",
|
34
64
|
// https://github.com/TypeStrong/ts-node
|
35
65
|
TsNode: "ts-node",
|
36
66
|
// https://github.com/egoist/esbuild-register
|
@@ -49,7 +79,14 @@ const {
|
|
49
79
|
SYNCKIT_TIMEOUT,
|
50
80
|
SYNCKIT_TS_RUNNER
|
51
81
|
} = process.env;
|
52
|
-
const
|
82
|
+
const MTS_SUPPORTED_NODE_VERSION = 16;
|
83
|
+
const LOADER_SUPPORTED_NODE_VERSION = 20;
|
84
|
+
const STRIP_TYPES_DEFAULT_NODE_VERSION = 23;
|
85
|
+
const STRIP_TYPES_SUPPORTED_NODE_VERSION = 22;
|
86
|
+
const NODE_VERSION = Number.parseFloat(process.versions.node);
|
87
|
+
const STRIP_TYPES_FLAG = "--experimental-strip-types";
|
88
|
+
const NO_STRIP_TYPES_FLAG = "--no-experimental-strip-types";
|
89
|
+
const IS_TYPE_STRIPPING_ENABLED = NODE_VERSION >= STRIP_TYPES_DEFAULT_NODE_VERSION && !((NODE_OPTIONS == null ? void 0 : NODE_OPTIONS.includes(NO_STRIP_TYPES_FLAG)) || process.argv.includes(NO_STRIP_TYPES_FLAG)) || NODE_VERSION >= STRIP_TYPES_SUPPORTED_NODE_VERSION && ((NODE_OPTIONS == null ? void 0 : NODE_OPTIONS.includes(STRIP_TYPES_FLAG)) || process.argv.includes(STRIP_TYPES_FLAG));
|
53
90
|
const DEFAULT_TIMEOUT = SYNCKIT_TIMEOUT ? +SYNCKIT_TIMEOUT : void 0;
|
54
91
|
const DEFAULT_EXEC_ARGV = (SYNCKIT_EXEC_ARGV == null ? void 0 : SYNCKIT_EXEC_ARGV.split(",")) || [];
|
55
92
|
const DEFAULT_TS_RUNNER = SYNCKIT_TS_RUNNER;
|
@@ -67,7 +104,6 @@ const DEFAULT_GLOBAL_SHIMS_PRESET = [
|
|
67
104
|
named: "performance"
|
68
105
|
}
|
69
106
|
];
|
70
|
-
const MTS_SUPPORTED_NODE_VERSION = 16;
|
71
107
|
let syncFnCache;
|
72
108
|
function extractProperties(object) {
|
73
109
|
if (object && typeof object === "object") {
|
@@ -146,10 +182,23 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
146
182
|
tsUseEsm = cjsRequire(pkg).type === "module";
|
147
183
|
}
|
148
184
|
}
|
149
|
-
if (tsRunner == null
|
150
|
-
|
185
|
+
if (tsRunner == null) {
|
186
|
+
if (IS_TYPE_STRIPPING_ENABLED) {
|
187
|
+
tsRunner = TsRunner.Node;
|
188
|
+
} else if (core.isPkgAvailable(TsRunner.TsNode)) {
|
189
|
+
tsRunner = TsRunner.TsNode;
|
190
|
+
}
|
151
191
|
}
|
152
192
|
switch (tsRunner) {
|
193
|
+
case TsRunner.Node: {
|
194
|
+
if (NODE_VERSION < STRIP_TYPES_SUPPORTED_NODE_VERSION) {
|
195
|
+
throw new Error(
|
196
|
+
"type stripping is not supported in this node version"
|
197
|
+
);
|
198
|
+
}
|
199
|
+
execArgv = NODE_VERSION >= STRIP_TYPES_DEFAULT_NODE_VERSION ? execArgv.filter((arg) => arg !== NO_STRIP_TYPES_FLAG) : [STRIP_TYPES_FLAG, ...execArgv];
|
200
|
+
break;
|
201
|
+
}
|
153
202
|
case TsRunner.TsNode: {
|
154
203
|
if (tsUseEsm) {
|
155
204
|
if (!execArgv.includes("--loader")) {
|
@@ -209,7 +258,7 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
209
258
|
const pnpLoaderPath = path.resolve(pnpApiPath, "../.pnp.loader.mjs");
|
210
259
|
if (isFile(pnpLoaderPath)) {
|
211
260
|
resolvedPnpLoaderPath = node_url.pathToFileURL(pnpLoaderPath).toString();
|
212
|
-
if (
|
261
|
+
if (NODE_VERSION < LOADER_SUPPORTED_NODE_VERSION) {
|
213
262
|
execArgv = [
|
214
263
|
"--experimental-loader",
|
215
264
|
resolvedPnpLoaderPath,
|
@@ -230,7 +279,10 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
230
279
|
execArgv
|
231
280
|
};
|
232
281
|
};
|
233
|
-
const md5Hash = (text) =>
|
282
|
+
const md5Hash = (text) => (
|
283
|
+
// eslint-disable-next-line sonarjs/hashing
|
284
|
+
node_crypto.createHash("md5").update(text).digest("hex")
|
285
|
+
);
|
234
286
|
const encodeImportModule = (moduleNameOrGlobalShim, type = "import") => {
|
235
287
|
const { moduleName, globalName, named, conditional } = typeof moduleNameOrGlobalShim === "string" ? { moduleName: moduleNameOrGlobalShim } : moduleNameOrGlobalShim;
|
236
288
|
const importStatement = type === "import" ? `import${globalName ? " " + (named === null ? "* as " + globalName : (named == null ? void 0 : named.trim()) ? `{${named}}` : globalName) + " from" : ""} '${path.isAbsolute(moduleName) ? String(node_url.pathToFileURL(moduleName)) : moduleName}'` : `${globalName ? "const " + ((named == null ? void 0 : named.trim()) ? `{${named}}` : globalName) + "=" : ""}require('${moduleName.replace(/\\/g, "\\\\")}')`;
|
@@ -296,7 +348,7 @@ function startWorkerThread(workerPath, {
|
|
296
348
|
} = setupTsRunner(workerPath, { execArgv, tsRunner });
|
297
349
|
const workerPathUrl = node_url.pathToFileURL(finalWorkerPath);
|
298
350
|
if (/\.[cm]ts$/.test(finalWorkerPath)) {
|
299
|
-
const isTsxSupported = !tsUseEsm ||
|
351
|
+
const isTsxSupported = !tsUseEsm || NODE_VERSION >= MTS_SUPPORTED_NODE_VERSION;
|
300
352
|
if (!finalTsRunner) {
|
301
353
|
throw new Error("No ts runner specified, ts worker path is not supported");
|
302
354
|
} else if ([
|
@@ -345,24 +397,43 @@ function startWorkerThread(workerPath, {
|
|
345
397
|
}
|
346
398
|
);
|
347
399
|
let nextID = 0;
|
348
|
-
const
|
349
|
-
const
|
350
|
-
const
|
351
|
-
worker.postMessage(msg);
|
352
|
-
const status = Atomics.wait(sharedBufferView, 0, 0, timeout);
|
400
|
+
const receiveMessageWithId = (port, expectedId, waitingTimeout) => {
|
401
|
+
const start = Date.now();
|
402
|
+
const status = Atomics.wait(sharedBufferView, 0, 0, waitingTimeout);
|
353
403
|
Atomics.store(sharedBufferView, 0, 0);
|
354
404
|
if (!["ok", "not-equal"].includes(status)) {
|
405
|
+
const abortMsg = {
|
406
|
+
id: expectedId,
|
407
|
+
cmd: "abort"
|
408
|
+
};
|
409
|
+
port.postMessage(abortMsg);
|
355
410
|
throw new Error("Internal error: Atomics.wait() failed: " + status);
|
356
411
|
}
|
357
|
-
const {
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
412
|
+
const _a = node_worker_threads.receiveMessageOnPort(mainPort).message, { id } = _a, message = __objRest(_a, ["id"]);
|
413
|
+
if (id < expectedId) {
|
414
|
+
const waitingTime = Date.now() - start;
|
415
|
+
return receiveMessageWithId(
|
416
|
+
port,
|
417
|
+
expectedId,
|
418
|
+
waitingTimeout ? waitingTimeout - waitingTime : void 0
|
419
|
+
);
|
365
420
|
}
|
421
|
+
if (expectedId !== id) {
|
422
|
+
throw new Error(
|
423
|
+
`Internal error: Expected id ${expectedId} but got id ${id}`
|
424
|
+
);
|
425
|
+
}
|
426
|
+
return __spreadValues({ id }, message);
|
427
|
+
};
|
428
|
+
const syncFn = (...args) => {
|
429
|
+
const id = nextID++;
|
430
|
+
const msg = { id, args };
|
431
|
+
worker.postMessage(msg);
|
432
|
+
const { result, error, properties } = receiveMessageWithId(
|
433
|
+
mainPort,
|
434
|
+
id,
|
435
|
+
timeout
|
436
|
+
);
|
366
437
|
if (error) {
|
367
438
|
throw Object.assign(error, properties);
|
368
439
|
}
|
@@ -376,7 +447,7 @@ function runAsWorker(fn) {
|
|
376
447
|
return;
|
377
448
|
}
|
378
449
|
const { workerPort, sharedBuffer: sharedBuffer2, pnpLoaderPath } = node_worker_threads.workerData;
|
379
|
-
if (pnpLoaderPath &&
|
450
|
+
if (pnpLoaderPath && NODE_VERSION >= LOADER_SUPPORTED_NODE_VERSION) {
|
380
451
|
module$1.register(pnpLoaderPath);
|
381
452
|
}
|
382
453
|
const sharedBufferView2 = new Int32Array(sharedBuffer2, 0, 1);
|
@@ -384,12 +455,23 @@ function runAsWorker(fn) {
|
|
384
455
|
"message",
|
385
456
|
({ id, args }) => {
|
386
457
|
(() => __async(this, null, function* () {
|
458
|
+
let isAborted = false;
|
459
|
+
const handleAbortMessage = (msg2) => {
|
460
|
+
if (msg2.id === id && msg2.cmd === "abort") {
|
461
|
+
isAborted = true;
|
462
|
+
}
|
463
|
+
};
|
464
|
+
workerPort.on("message", handleAbortMessage);
|
387
465
|
let msg;
|
388
466
|
try {
|
389
467
|
msg = { id, result: yield fn(...args) };
|
390
468
|
} catch (error) {
|
391
469
|
msg = { id, error, properties: extractProperties(error) };
|
392
470
|
}
|
471
|
+
workerPort.off("message", handleAbortMessage);
|
472
|
+
if (isAborted) {
|
473
|
+
return;
|
474
|
+
}
|
393
475
|
workerPort.postMessage(msg);
|
394
476
|
Atomics.add(sharedBufferView2, 0, 1);
|
395
477
|
Atomics.notify(sharedBufferView2, 0);
|
@@ -403,7 +485,10 @@ exports.DEFAULT_GLOBAL_SHIMS = DEFAULT_GLOBAL_SHIMS;
|
|
403
485
|
exports.DEFAULT_GLOBAL_SHIMS_PRESET = DEFAULT_GLOBAL_SHIMS_PRESET;
|
404
486
|
exports.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT;
|
405
487
|
exports.DEFAULT_TS_RUNNER = DEFAULT_TS_RUNNER;
|
488
|
+
exports.LOADER_SUPPORTED_NODE_VERSION = LOADER_SUPPORTED_NODE_VERSION;
|
406
489
|
exports.MTS_SUPPORTED_NODE_VERSION = MTS_SUPPORTED_NODE_VERSION;
|
490
|
+
exports.STRIP_TYPES_DEFAULT_NODE_VERSION = STRIP_TYPES_DEFAULT_NODE_VERSION;
|
491
|
+
exports.STRIP_TYPES_SUPPORTED_NODE_VERSION = STRIP_TYPES_SUPPORTED_NODE_VERSION;
|
407
492
|
exports.TsRunner = TsRunner;
|
408
493
|
exports._generateGlobals = _generateGlobals;
|
409
494
|
exports.createSyncFn = createSyncFn;
|
package/lib/index.d.ts
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
/// <reference types="node" />
|
2
1
|
import { type TransferListItem } from 'node:worker_threads';
|
3
2
|
import type { AnyAsyncFn, GlobalShim, Syncify, ValueOf } from './types.js';
|
4
3
|
export * from './types.js';
|
5
4
|
export declare const TsRunner: {
|
5
|
+
readonly Node: "node";
|
6
6
|
readonly TsNode: "ts-node";
|
7
7
|
readonly EsbuildRegister: "esbuild-register";
|
8
8
|
readonly EsbuildRunner: "esbuild-runner";
|
@@ -10,12 +10,15 @@ export declare const TsRunner: {
|
|
10
10
|
readonly TSX: "tsx";
|
11
11
|
};
|
12
12
|
export type TsRunner = ValueOf<typeof TsRunner>;
|
13
|
+
export declare const MTS_SUPPORTED_NODE_VERSION = 16;
|
14
|
+
export declare const LOADER_SUPPORTED_NODE_VERSION = 20;
|
15
|
+
export declare const STRIP_TYPES_DEFAULT_NODE_VERSION = 23;
|
16
|
+
export declare const STRIP_TYPES_SUPPORTED_NODE_VERSION = 22;
|
13
17
|
export declare const DEFAULT_TIMEOUT: number | undefined;
|
14
18
|
export declare const DEFAULT_EXEC_ARGV: string[];
|
15
19
|
export declare const DEFAULT_TS_RUNNER: TsRunner | undefined;
|
16
20
|
export declare const DEFAULT_GLOBAL_SHIMS: boolean;
|
17
21
|
export declare const DEFAULT_GLOBAL_SHIMS_PRESET: GlobalShim[];
|
18
|
-
export declare const MTS_SUPPORTED_NODE_VERSION = 16;
|
19
22
|
export interface SynckitOptions {
|
20
23
|
execArgv?: string[];
|
21
24
|
globalShims?: GlobalShim[] | boolean;
|
@@ -27,6 +30,6 @@ export declare function extractProperties<T extends object>(object: T): T;
|
|
27
30
|
export declare function extractProperties<T>(object?: T): T | undefined;
|
28
31
|
export declare function createSyncFn<T extends AnyAsyncFn<R>, R = unknown>(workerPath: string, timeoutOrOptions?: SynckitOptions | number): Syncify<T>;
|
29
32
|
export declare const isFile: (path: string) => boolean;
|
30
|
-
export declare const encodeImportModule: (moduleNameOrGlobalShim: GlobalShim | string, type?:
|
31
|
-
export declare const generateGlobals: (workerPath: string, globalShims: GlobalShim[], type?:
|
33
|
+
export declare const encodeImportModule: (moduleNameOrGlobalShim: GlobalShim | string, type?: "import" | "require") => string;
|
34
|
+
export declare const generateGlobals: (workerPath: string, globalShims: GlobalShim[], type?: "import" | "require") => string;
|
32
35
|
export declare function runAsWorker<R = unknown, T extends AnyAsyncFn<R> = AnyAsyncFn<R>>(fn: T): void;
|
package/lib/index.js
CHANGED
@@ -1,14 +1,15 @@
|
|
1
|
-
import { __awaiter } from "tslib";
|
1
|
+
import { __awaiter, __rest } from "tslib";
|
2
2
|
import { createHash } from 'node:crypto';
|
3
3
|
import fs from 'node:fs';
|
4
4
|
import module from 'node:module';
|
5
5
|
import path from 'node:path';
|
6
6
|
import { fileURLToPath, pathToFileURL } from 'node:url';
|
7
|
-
import { MessageChannel, Worker, parentPort, receiveMessageOnPort, workerData, } from 'node:worker_threads';
|
7
|
+
import { MessageChannel, MessagePort, Worker, parentPort, receiveMessageOnPort, workerData, } from 'node:worker_threads';
|
8
8
|
import { findUp, isPkgAvailable, tryExtensions } from '@pkgr/core';
|
9
9
|
const INT32_BYTES = 4;
|
10
10
|
export * from './types.js';
|
11
11
|
export const TsRunner = {
|
12
|
+
Node: 'node',
|
12
13
|
TsNode: 'ts-node',
|
13
14
|
EsbuildRegister: 'esbuild-register',
|
14
15
|
EsbuildRunner: 'esbuild-runner',
|
@@ -16,7 +17,19 @@ export const TsRunner = {
|
|
16
17
|
TSX: 'tsx',
|
17
18
|
};
|
18
19
|
const { NODE_OPTIONS, SYNCKIT_EXEC_ARGV, SYNCKIT_GLOBAL_SHIMS, SYNCKIT_TIMEOUT, SYNCKIT_TS_RUNNER, } = process.env;
|
19
|
-
const
|
20
|
+
export const MTS_SUPPORTED_NODE_VERSION = 16;
|
21
|
+
export const LOADER_SUPPORTED_NODE_VERSION = 20;
|
22
|
+
export const STRIP_TYPES_DEFAULT_NODE_VERSION = 23;
|
23
|
+
export const STRIP_TYPES_SUPPORTED_NODE_VERSION = 22;
|
24
|
+
const NODE_VERSION = Number.parseFloat(process.versions.node);
|
25
|
+
const STRIP_TYPES_FLAG = '--experimental-strip-types';
|
26
|
+
const NO_STRIP_TYPES_FLAG = '--no-experimental-strip-types';
|
27
|
+
const IS_TYPE_STRIPPING_ENABLED = (NODE_VERSION >= STRIP_TYPES_DEFAULT_NODE_VERSION &&
|
28
|
+
!((NODE_OPTIONS === null || NODE_OPTIONS === void 0 ? void 0 : NODE_OPTIONS.includes(NO_STRIP_TYPES_FLAG)) ||
|
29
|
+
process.argv.includes(NO_STRIP_TYPES_FLAG))) ||
|
30
|
+
(NODE_VERSION >= STRIP_TYPES_SUPPORTED_NODE_VERSION &&
|
31
|
+
((NODE_OPTIONS === null || NODE_OPTIONS === void 0 ? void 0 : NODE_OPTIONS.includes(STRIP_TYPES_FLAG)) ||
|
32
|
+
process.argv.includes(STRIP_TYPES_FLAG)));
|
20
33
|
export const DEFAULT_TIMEOUT = SYNCKIT_TIMEOUT ? +SYNCKIT_TIMEOUT : undefined;
|
21
34
|
export const DEFAULT_EXEC_ARGV = (SYNCKIT_EXEC_ARGV === null || SYNCKIT_EXEC_ARGV === void 0 ? void 0 : SYNCKIT_EXEC_ARGV.split(',')) || [];
|
22
35
|
export const DEFAULT_TS_RUNNER = SYNCKIT_TS_RUNNER;
|
@@ -32,7 +45,6 @@ export const DEFAULT_GLOBAL_SHIMS_PRESET = [
|
|
32
45
|
named: 'performance',
|
33
46
|
},
|
34
47
|
];
|
35
|
-
export const MTS_SUPPORTED_NODE_VERSION = 16;
|
36
48
|
let syncFnCache;
|
37
49
|
export function extractProperties(object) {
|
38
50
|
if (object && typeof object === 'object') {
|
@@ -114,10 +126,25 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
114
126
|
'module';
|
115
127
|
}
|
116
128
|
}
|
117
|
-
if (tsRunner == null
|
118
|
-
|
129
|
+
if (tsRunner == null) {
|
130
|
+
if (IS_TYPE_STRIPPING_ENABLED) {
|
131
|
+
tsRunner = TsRunner.Node;
|
132
|
+
}
|
133
|
+
else if (isPkgAvailable(TsRunner.TsNode)) {
|
134
|
+
tsRunner = TsRunner.TsNode;
|
135
|
+
}
|
119
136
|
}
|
120
137
|
switch (tsRunner) {
|
138
|
+
case TsRunner.Node: {
|
139
|
+
if (NODE_VERSION < STRIP_TYPES_SUPPORTED_NODE_VERSION) {
|
140
|
+
throw new Error('type stripping is not supported in this node version');
|
141
|
+
}
|
142
|
+
execArgv =
|
143
|
+
NODE_VERSION >= STRIP_TYPES_DEFAULT_NODE_VERSION
|
144
|
+
? execArgv.filter(arg => arg !== NO_STRIP_TYPES_FLAG)
|
145
|
+
: [STRIP_TYPES_FLAG, ...execArgv];
|
146
|
+
break;
|
147
|
+
}
|
121
148
|
case TsRunner.TsNode: {
|
122
149
|
if (tsUseEsm) {
|
123
150
|
if (!execArgv.includes('--loader')) {
|
@@ -181,7 +208,7 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
181
208
|
const pnpLoaderPath = path.resolve(pnpApiPath, '../.pnp.loader.mjs');
|
182
209
|
if (isFile(pnpLoaderPath)) {
|
183
210
|
resolvedPnpLoaderPath = pathToFileURL(pnpLoaderPath).toString();
|
184
|
-
if (
|
211
|
+
if (NODE_VERSION < LOADER_SUPPORTED_NODE_VERSION) {
|
185
212
|
execArgv = [
|
186
213
|
'--experimental-loader',
|
187
214
|
resolvedPnpLoaderPath,
|
@@ -270,8 +297,7 @@ function startWorkerThread(workerPath, { timeout = DEFAULT_TIMEOUT, execArgv = D
|
|
270
297
|
const { isTs, ext, jsUseEsm, tsUseEsm, tsRunner: finalTsRunner, workerPath: finalWorkerPath, pnpLoaderPath, execArgv: finalExecArgv, } = setupTsRunner(workerPath, { execArgv, tsRunner });
|
271
298
|
const workerPathUrl = pathToFileURL(finalWorkerPath);
|
272
299
|
if (/\.[cm]ts$/.test(finalWorkerPath)) {
|
273
|
-
const isTsxSupported = !tsUseEsm ||
|
274
|
-
Number.parseFloat(process.versions.node) >= MTS_SUPPORTED_NODE_VERSION;
|
300
|
+
const isTsxSupported = !tsUseEsm || NODE_VERSION >= MTS_SUPPORTED_NODE_VERSION;
|
275
301
|
if (!finalTsRunner) {
|
276
302
|
throw new Error('No ts runner specified, ts worker path is not supported');
|
277
303
|
}
|
@@ -306,20 +332,33 @@ function startWorkerThread(workerPath, { timeout = DEFAULT_TIMEOUT, execArgv = D
|
|
306
332
|
execArgv: finalExecArgv,
|
307
333
|
});
|
308
334
|
let nextID = 0;
|
309
|
-
const
|
310
|
-
const
|
311
|
-
const
|
312
|
-
worker.postMessage(msg);
|
313
|
-
const status = Atomics.wait(sharedBufferView, 0, 0, timeout);
|
335
|
+
const receiveMessageWithId = (port, expectedId, waitingTimeout) => {
|
336
|
+
const start = Date.now();
|
337
|
+
const status = Atomics.wait(sharedBufferView, 0, 0, waitingTimeout);
|
314
338
|
Atomics.store(sharedBufferView, 0, 0);
|
315
339
|
if (!['ok', 'not-equal'].includes(status)) {
|
340
|
+
const abortMsg = {
|
341
|
+
id: expectedId,
|
342
|
+
cmd: 'abort',
|
343
|
+
};
|
344
|
+
port.postMessage(abortMsg);
|
316
345
|
throw new Error('Internal error: Atomics.wait() failed: ' + status);
|
317
346
|
}
|
318
|
-
const { id
|
319
|
-
|
320
|
-
|
321
|
-
|
347
|
+
const _a = receiveMessageOnPort(mainPort).message, { id } = _a, message = __rest(_a, ["id"]);
|
348
|
+
if (id < expectedId) {
|
349
|
+
const waitingTime = Date.now() - start;
|
350
|
+
return receiveMessageWithId(port, expectedId, waitingTimeout ? waitingTimeout - waitingTime : undefined);
|
351
|
+
}
|
352
|
+
if (expectedId !== id) {
|
353
|
+
throw new Error(`Internal error: Expected id ${expectedId} but got id ${id}`);
|
322
354
|
}
|
355
|
+
return Object.assign({ id }, message);
|
356
|
+
};
|
357
|
+
const syncFn = (...args) => {
|
358
|
+
const id = nextID++;
|
359
|
+
const msg = { id, args };
|
360
|
+
worker.postMessage(msg);
|
361
|
+
const { result, error, properties } = receiveMessageWithId(mainPort, id, timeout);
|
323
362
|
if (error) {
|
324
363
|
throw Object.assign(error, properties);
|
325
364
|
}
|
@@ -333,13 +372,20 @@ export function runAsWorker(fn) {
|
|
333
372
|
return;
|
334
373
|
}
|
335
374
|
const { workerPort, sharedBuffer, pnpLoaderPath } = workerData;
|
336
|
-
if (pnpLoaderPath &&
|
375
|
+
if (pnpLoaderPath && NODE_VERSION >= LOADER_SUPPORTED_NODE_VERSION) {
|
337
376
|
module.register(pnpLoaderPath);
|
338
377
|
}
|
339
378
|
const sharedBufferView = new Int32Array(sharedBuffer, 0, 1);
|
340
379
|
parentPort.on('message', ({ id, args }) => {
|
341
380
|
;
|
342
381
|
(() => __awaiter(this, void 0, void 0, function* () {
|
382
|
+
let isAborted = false;
|
383
|
+
const handleAbortMessage = (msg) => {
|
384
|
+
if (msg.id === id && msg.cmd === 'abort') {
|
385
|
+
isAborted = true;
|
386
|
+
}
|
387
|
+
};
|
388
|
+
workerPort.on('message', handleAbortMessage);
|
343
389
|
let msg;
|
344
390
|
try {
|
345
391
|
msg = { id, result: yield fn(...args) };
|
@@ -347,6 +393,10 @@ export function runAsWorker(fn) {
|
|
347
393
|
catch (error) {
|
348
394
|
msg = { id, error, properties: extractProperties(error) };
|
349
395
|
}
|
396
|
+
workerPort.off('message', handleAbortMessage);
|
397
|
+
if (isAborted) {
|
398
|
+
return;
|
399
|
+
}
|
350
400
|
workerPort.postMessage(msg);
|
351
401
|
Atomics.add(sharedBufferView, 0, 1);
|
352
402
|
Atomics.notify(sharedBufferView, 0);
|
package/lib/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
/// <reference types="node" />
|
2
1
|
import { MessagePort } from 'node:worker_threads';
|
3
2
|
export type AnyFn<R = any, T extends any[] = any[]> = (...args: T) => R;
|
4
3
|
export type AnyPromise<T = any> = Promise<T>;
|
@@ -10,6 +9,10 @@ export interface MainToWorkerMessage<T extends unknown[]> {
|
|
10
9
|
id: number;
|
11
10
|
args: T;
|
12
11
|
}
|
12
|
+
export interface MainToWorkerCommandMessage {
|
13
|
+
id: number;
|
14
|
+
cmd: string;
|
15
|
+
}
|
13
16
|
export interface WorkerData {
|
14
17
|
sharedBuffer: SharedArrayBuffer;
|
15
18
|
workerPort: MessagePort;
|
package/lib/types.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
|
1
|
+
import { MessagePort } from 'node:worker_threads';
|
2
2
|
//# sourceMappingURL=types.js.map
|
package/lib/types.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "synckit",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.10.0",
|
4
4
|
"type": "module",
|
5
5
|
"description": "Perform async work synchronously in Node.js using `worker_threads` with first-class TypeScript support.",
|
6
6
|
"repository": "git+https://github.com/un-ts/synckit.git",
|
@@ -34,7 +34,7 @@
|
|
34
34
|
"synckit"
|
35
35
|
],
|
36
36
|
"dependencies": {
|
37
|
-
"@pkgr/core": "^0.1.
|
38
|
-
"tslib": "^2.
|
37
|
+
"@pkgr/core": "^0.1.1",
|
38
|
+
"tslib": "^2.8.1"
|
39
39
|
}
|
40
40
|
}
|