synckit 0.10.1 → 0.10.2
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 +54 -9
- package/index.d.cts +3 -0
- package/lib/index.cjs +127 -36
- package/lib/index.d.ts +15 -6
- package/lib/index.js +112 -37
- package/lib/index.js.map +1 -1
- package/lib/types.d.ts +11 -5
- package/package.json +11 -5
package/README.md
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
[](https://standardjs.com)
|
12
12
|
[](https://github.com/prettier/prettier)
|
13
13
|
|
14
|
-
Perform async work synchronously in Node.js using `worker_threads` with first-class TypeScript and Yarn P'n'P support.
|
14
|
+
Perform async work synchronously in Node.js/Bun using `worker_threads` with first-class TypeScript and Yarn P'n'P support.
|
15
15
|
|
16
16
|
## TOC <!-- omit in toc -->
|
17
17
|
|
@@ -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
|
-
- [`node` (Default, Node
|
25
|
+
- [`node` (Default, Node 22.6+)](#node-default-node-226)
|
26
|
+
- [`bun` (Default, Bun)](#bun-default-bun)
|
26
27
|
- [`ts-node` (Default)](#ts-node-default)
|
27
28
|
- [`esbuild-register`](#esbuild-register)
|
28
29
|
- [`esbuild-runner`](#esbuild-runner)
|
@@ -31,6 +32,8 @@ Perform async work synchronously in Node.js using `worker_threads` with first-cl
|
|
31
32
|
- [Benchmark](#benchmark)
|
32
33
|
- [Sponsors](#sponsors)
|
33
34
|
- [Backers](#backers)
|
35
|
+
- [Who are using `synckit`](#who-are-using-synckit)
|
36
|
+
- [Acknowledgements](#acknowledgements)
|
34
37
|
- [Changelog](#changelog)
|
35
38
|
- [License](#license)
|
36
39
|
|
@@ -127,17 +130,25 @@ export interface GlobalShim {
|
|
127
130
|
|
128
131
|
### TypeScript
|
129
132
|
|
130
|
-
#### `node` (Default, Node
|
133
|
+
#### `node` (Default, Node 22.6+)
|
131
134
|
|
132
|
-
On recent Node versions, you may select this runner to execute your worker file (a `.ts` file) in the native runtime.
|
135
|
+
On recent `Node` versions, you may select this runner to execute your worker file (a `.ts` file) in the native runtime.
|
133
136
|
|
134
|
-
As of Node v23.6, this feature is supported out of the box.
|
137
|
+
As of `Node` v23.6, this feature is supported out of the box. For `Node` `>=22.6 <23.6`, this feature is supported via `--experimental-strip-types` flag. Visit the [documentation](https://nodejs.org/docs/latest/api/typescript.html#type-stripping) to learn more.
|
135
138
|
|
136
|
-
When `synckit` detects the process to be running with
|
139
|
+
When `synckit` detects the process to be running with supported `Node` versions (>=22.6), it will execute the worker file with the `node` runner by default, you can disable this behavior by setting `--no-experimental-strip-types` flag via `NODE_OPTIONS` env or cli arg.
|
140
|
+
|
141
|
+
#### `bun` (Default, Bun)
|
142
|
+
|
143
|
+
[`Bun`](https://bun.sh/docs/typescript) supports `TypeScript` natively.
|
144
|
+
|
145
|
+
When `synckit` detects the process to be running with `Bun`, it will execute the worker file with the `bun` runner by default.
|
146
|
+
|
147
|
+
In this case, `synckit` doesn't do anything to the worker itself, it just passes through the worker directly.
|
137
148
|
|
138
149
|
#### `ts-node` (Default)
|
139
150
|
|
140
|
-
Prior to Node
|
151
|
+
Prior to Node v22.6, you may want to use `ts-node` to execute your worker file (a `.ts` file).
|
141
152
|
|
142
153
|
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.
|
143
154
|
|
@@ -161,9 +172,29 @@ Please view [`tsx`][] for its document
|
|
161
172
|
|
162
173
|
## Benchmark
|
163
174
|
|
164
|
-
|
175
|
+
The following are the benchmark results of `synckit` against other libraries with Node.js v20.19.0 on my personal MacBook Pro with 64G M1 Max:
|
165
176
|
|
166
|
-
|
177
|
+
```sh
|
178
|
+
# cjs
|
179
|
+
┌───────────┬────────────┬──────────────┬───────────────────┬─────────────┬────────────────┬───────────────────┬────────────────────────┬───────────┬─────────────────┐
|
180
|
+
│ (index) │ synckit │ sync-threads │ perf sync-threads │ deasync │ perf deasync │ make-synchronized │ perf make-synchronized │ native │ perf native │
|
181
|
+
├───────────┼────────────┼──────────────┼───────────────────┼─────────────┼────────────────┼───────────────────┼────────────────────────┼───────────┼─────────────────┤
|
182
|
+
│ loadTime │ '17.26ms' │ '1.49ms' │ '11.57x slower' │ '146.55ms' │ '8.49x faster' │ '1025.77ms' │ '59.42x faster' │ '0.29ms' │ '59.71x slower' │
|
183
|
+
│ runTime │ '143.12ms' │ '3689.15ms' │ '25.78x faster' │ '1221.11ms' │ '8.53x faster' │ '2842.50ms' │ '19.86x faster' │ '12.64ms' │ '11.33x slower' │
|
184
|
+
│ totalTime │ '160.38ms' │ '3690.64ms' │ '23.01x faster' │ '1367.66ms' │ '8.53x faster' │ '3868.27ms' │ '24.12x faster' │ '12.93ms' │ '12.41x slower' │
|
185
|
+
└───────────┴────────────┴──────────────┴───────────────────┴─────────────┴────────────────┴───────────────────┴────────────────────────┴───────────┴─────────────────┘
|
186
|
+
```
|
187
|
+
|
188
|
+
```sh
|
189
|
+
# esm
|
190
|
+
┌───────────┬────────────┬──────────────┬───────────────────┬─────────────┬────────────────┬───────────────────┬────────────────────────┬───────────┬─────────────────┐
|
191
|
+
│ (index) │ synckit │ sync-threads │ perf sync-threads │ deasync │ perf deasync │ make-synchronized │ perf make-synchronized │ native │ perf native │
|
192
|
+
├───────────┼────────────┼──────────────┼───────────────────┼─────────────┼────────────────┼───────────────────┼────────────────────────┼───────────┼─────────────────┤
|
193
|
+
│ loadTime │ '23.88ms' │ '2.03ms' │ '11.75x slower' │ '70.95ms' │ '2.97x faster' │ '400.24ms' │ '16.76x faster' │ '0.44ms' │ '54.70x slower' │
|
194
|
+
│ runTime │ '139.56ms' │ '3570.12ms' │ '25.58x faster' │ '1150.99ms' │ '8.25x faster' │ '3484.04ms' │ '24.96x faster' │ '12.98ms' │ '10.75x slower' │
|
195
|
+
│ totalTime │ '163.44ms' │ '3572.15ms' │ '21.86x faster' │ '1221.93ms' │ '7.48x faster' │ '3884.28ms' │ '23.77x faster' │ '13.42ms' │ '12.18x slower' │
|
196
|
+
└───────────┴────────────┴──────────────┴───────────────────┴─────────────┴────────────────┴───────────────────┴────────────────────────┴───────────┴─────────────────┘
|
197
|
+
```
|
167
198
|
|
168
199
|
See [benchmark.cjs](./benchmarks/benchmark.cjs.txt) and [benchmark.esm](./benchmarks/benchmark.esm.txt) for more details.
|
169
200
|
|
@@ -183,6 +214,20 @@ You can try it with running `yarn benchmark` by yourself. [Here](./benchmarks/be
|
|
183
214
|
| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
184
215
|
| [](https://opencollective.com/1stG) | [](https://opencollective.com/rxts) | [](https://opencollective.com/unts) |
|
185
216
|
|
217
|
+
## Who are using `synckit`
|
218
|
+
|
219
|
+
- [`@cspell/eslint-plugin`](https://github.com/streetsidesoftware/cspell/blob/ec04bcee0c90ff4e2a9fb5ef4421714796fb58ba/packages/cspell-eslint-plugin/package.json#L80)
|
220
|
+
- [`astrojs-compiler-sync`](https://github.com/ota-meshi/astrojs-compiler-sync/blob/da4e86fd601755e40599d7f5121bc83d08255c42/package.json#L52)
|
221
|
+
- [`eslint-plugin-prettier`](https://github.com/prettier/eslint-plugin-prettier/blob/ca5eb3ec11c4ae511e1da22736c73b253210b73b/package.json#L67)
|
222
|
+
- [`eslint-plugin-prettier-vue`](https://github.com/meteorlxy/eslint-plugin-prettier-vue/blob/d3f6722303d66a2b223df2f750982e33c1143d5d/package.json#L40)
|
223
|
+
- [`eslint-mdx`](https://github.com/mdx-js/eslint-mdx/blob/4623359cc9784d3e38bd917ed001c5d7d826f990/packages/eslint-mdx/package.json#L40)
|
224
|
+
- [`prettier-plugin-packagejson`](https://github.com/matzkoh/prettier-plugin-packagejson/blob/eb7ade2a048d6d163cf8ef37e098ee273f72c585/package.json#L31)
|
225
|
+
- [`jest-snapshot`](https://github.com/jestjs/jest/blob/4e7d916ec6a16de5548273c17b5d2c5761b0aebb/packages/jest-snapshot/package.json#L42)
|
226
|
+
|
227
|
+
## Acknowledgements
|
228
|
+
|
229
|
+
This package is original inspired by [`esbuild`](https://github.com/evanw/esbuild) and [`sync-threads`](https://github.com/lambci/sync-threads).
|
230
|
+
|
186
231
|
## Changelog
|
187
232
|
|
188
233
|
Detailed changes for each release are documented in [CHANGELOG.md](./CHANGELOG.md).
|
package/index.d.cts
ADDED
package/lib/index.cjs
CHANGED
@@ -61,6 +61,8 @@ const INT32_BYTES = 4;
|
|
61
61
|
const TsRunner = {
|
62
62
|
// https://nodejs.org/docs/latest/api/typescript.html#type-stripping
|
63
63
|
Node: "node",
|
64
|
+
// https://bun.sh/docs/typescript
|
65
|
+
Bun: "bun",
|
64
66
|
// https://github.com/TypeStrong/ts-node
|
65
67
|
TsNode: "ts-node",
|
66
68
|
// https://github.com/egoist/esbuild-register
|
@@ -73,19 +75,47 @@ const TsRunner = {
|
|
73
75
|
TSX: "tsx"
|
74
76
|
};
|
75
77
|
const {
|
76
|
-
NODE_OPTIONS,
|
77
|
-
SYNCKIT_EXEC_ARGV,
|
78
|
+
NODE_OPTIONS: NODE_OPTIONS_ = "",
|
79
|
+
SYNCKIT_EXEC_ARGV = "",
|
78
80
|
SYNCKIT_GLOBAL_SHIMS,
|
79
81
|
SYNCKIT_TIMEOUT,
|
80
82
|
SYNCKIT_TS_RUNNER
|
81
83
|
} = process.env;
|
82
|
-
const MTS_SUPPORTED_NODE_VERSION = 16;
|
83
|
-
const LOADER_SUPPORTED_NODE_VERSION = 20;
|
84
|
-
const
|
85
|
-
const
|
86
|
-
const
|
84
|
+
const MTS_SUPPORTED_NODE_VERSION = "16";
|
85
|
+
const LOADER_SUPPORTED_NODE_VERSION = "20";
|
86
|
+
const STRIP_TYPES_NODE_VERSION = "22.6";
|
87
|
+
const TRANSFORM_TYPES_NODE_VERSION = "22.7";
|
88
|
+
const FEATURE_TYPESCRIPT_NODE_VERSION = "22.10";
|
89
|
+
const DEFAULT_TYPES_NODE_VERSION = "23.6";
|
90
|
+
const STRIP_TYPES_FLAG = "--experimental-strip-types";
|
91
|
+
const TRANSFORM_TYPES_FLAG = "--experimental-transform-types";
|
92
|
+
const NO_STRIP_TYPES_FLAG = "--no-experimental-strip-types";
|
93
|
+
const NODE_OPTIONS = NODE_OPTIONS_.split(/\s+/);
|
94
|
+
const hasFlag = (flag) => NODE_OPTIONS.includes(flag) || process.argv.includes(flag);
|
95
|
+
const parseVersion = (version) => version.split(".").map(Number.parseFloat);
|
96
|
+
const compareVersion = (version1, version2) => {
|
97
|
+
const versions1 = parseVersion(version1);
|
98
|
+
const versions2 = parseVersion(version2);
|
99
|
+
const length = Math.max(versions1.length, versions2.length);
|
100
|
+
for (let i = 0; i < length; i++) {
|
101
|
+
const v1 = versions1[i] || 0;
|
102
|
+
const v2 = versions2[i] || 0;
|
103
|
+
if (v1 > v2) {
|
104
|
+
return 1;
|
105
|
+
}
|
106
|
+
if (v1 < v2) {
|
107
|
+
return -1;
|
108
|
+
}
|
109
|
+
}
|
110
|
+
return 0;
|
111
|
+
};
|
112
|
+
const NODE_VERSION = process.versions.node;
|
113
|
+
const NO_STRIP_TYPES = (
|
114
|
+
// >=
|
115
|
+
compareVersion(NODE_VERSION, FEATURE_TYPESCRIPT_NODE_VERSION) >= 0 ? process.features.typescript === false : hasFlag(NO_STRIP_TYPES_FLAG) && !hasFlag(STRIP_TYPES_FLAG) && !hasFlag(TRANSFORM_TYPES_FLAG)
|
116
|
+
);
|
87
117
|
const DEFAULT_TIMEOUT = SYNCKIT_TIMEOUT ? +SYNCKIT_TIMEOUT : void 0;
|
88
|
-
const DEFAULT_EXEC_ARGV =
|
118
|
+
const DEFAULT_EXEC_ARGV = SYNCKIT_EXEC_ARGV.split(",");
|
89
119
|
const DEFAULT_TS_RUNNER = SYNCKIT_TS_RUNNER;
|
90
120
|
const DEFAULT_GLOBAL_SHIMS = ["1", "true"].includes(
|
91
121
|
SYNCKIT_GLOBAL_SHIMS
|
@@ -113,6 +143,9 @@ function extractProperties(object) {
|
|
113
143
|
}
|
114
144
|
function createSyncFn(workerPath, timeoutOrOptions) {
|
115
145
|
syncFnCache != null ? syncFnCache : syncFnCache = /* @__PURE__ */ new Map();
|
146
|
+
if (typeof workerPath !== "string" || workerPath.startsWith("file://")) {
|
147
|
+
workerPath = node_url.fileURLToPath(workerPath);
|
148
|
+
}
|
116
149
|
const cachedSyncFn = syncFnCache.get(workerPath);
|
117
150
|
if (cachedSyncFn) {
|
118
151
|
return cachedSyncFn;
|
@@ -128,10 +161,6 @@ function createSyncFn(workerPath, timeoutOrOptions) {
|
|
128
161
|
syncFnCache.set(workerPath, syncFn);
|
129
162
|
return syncFn;
|
130
163
|
}
|
131
|
-
const cjsRequire = typeof require === "undefined" ? module$1.createRequire(import_meta.url) : (
|
132
|
-
/* istanbul ignore next */
|
133
|
-
require
|
134
|
-
);
|
135
164
|
const dataUrl = (code) => new URL(`data:text/javascript,${encodeURIComponent(code)}`);
|
136
165
|
const isFile = (path2) => {
|
137
166
|
var _a;
|
@@ -143,7 +172,7 @@ const isFile = (path2) => {
|
|
143
172
|
};
|
144
173
|
const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
145
174
|
let ext = path.extname(workerPath);
|
146
|
-
if (!/[/\\]node_modules
|
175
|
+
if (!/([/\\])node_modules\1/.test(workerPath) && (!ext || /^\.[cm]?js$/.test(ext))) {
|
147
176
|
const workPathWithoutExt = ext ? workerPath.slice(0, -ext.length) : workerPath;
|
148
177
|
let extensions;
|
149
178
|
switch (ext) {
|
@@ -176,27 +205,51 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
176
205
|
if (!tsUseEsm) {
|
177
206
|
const pkg = core.findUp(workerPath);
|
178
207
|
if (pkg) {
|
179
|
-
tsUseEsm = cjsRequire(pkg).type === "module";
|
208
|
+
tsUseEsm = core.cjsRequire(pkg).type === "module";
|
180
209
|
}
|
181
210
|
}
|
211
|
+
const stripTypesIndex = execArgv.indexOf(STRIP_TYPES_FLAG);
|
212
|
+
const transformTypesIndex = execArgv.indexOf(TRANSFORM_TYPES_FLAG);
|
213
|
+
const noStripTypesIndex = execArgv.indexOf(NO_STRIP_TYPES_FLAG);
|
214
|
+
const execArgvNoStripTypes = noStripTypesIndex > stripTypesIndex || noStripTypesIndex > transformTypesIndex;
|
215
|
+
const noStripTypes = execArgvNoStripTypes || stripTypesIndex === -1 && transformTypesIndex === -1 && NO_STRIP_TYPES;
|
182
216
|
if (tsRunner == null) {
|
183
|
-
if (
|
217
|
+
if (process.versions.bun) {
|
218
|
+
tsRunner = TsRunner.Bun;
|
219
|
+
} else if (!noStripTypes && // >=
|
220
|
+
compareVersion(NODE_VERSION, STRIP_TYPES_NODE_VERSION) >= 0) {
|
184
221
|
tsRunner = TsRunner.Node;
|
185
222
|
} else if (core.isPkgAvailable(TsRunner.TsNode)) {
|
186
223
|
tsRunner = TsRunner.TsNode;
|
187
224
|
}
|
188
225
|
}
|
189
226
|
switch (tsRunner) {
|
227
|
+
case TsRunner.Bun: {
|
228
|
+
break;
|
229
|
+
}
|
190
230
|
case TsRunner.Node: {
|
191
|
-
if (
|
231
|
+
if (compareVersion(NODE_VERSION, STRIP_TYPES_NODE_VERSION) < 0) {
|
192
232
|
throw new Error(
|
193
233
|
"type stripping is not supported in this node version"
|
194
234
|
);
|
195
235
|
}
|
196
|
-
|
197
|
-
"
|
198
|
-
|
199
|
-
|
236
|
+
if (noStripTypes) {
|
237
|
+
throw new Error("type stripping is disabled explicitly");
|
238
|
+
}
|
239
|
+
if (compareVersion(NODE_VERSION, DEFAULT_TYPES_NODE_VERSION) >= 0) {
|
240
|
+
break;
|
241
|
+
}
|
242
|
+
if (
|
243
|
+
// >=
|
244
|
+
compareVersion(NODE_VERSION, TRANSFORM_TYPES_NODE_VERSION) >= 0 && !execArgv.includes(TRANSFORM_TYPES_FLAG)
|
245
|
+
) {
|
246
|
+
execArgv = [TRANSFORM_TYPES_FLAG, ...execArgv];
|
247
|
+
} else if (
|
248
|
+
// >=
|
249
|
+
compareVersion(NODE_VERSION, STRIP_TYPES_NODE_VERSION) >= 0 && !execArgv.includes(STRIP_TYPES_FLAG)
|
250
|
+
) {
|
251
|
+
execArgv = [STRIP_TYPES_FLAG, ...execArgv];
|
252
|
+
}
|
200
253
|
break;
|
201
254
|
}
|
202
255
|
case TsRunner.TsNode: {
|
@@ -240,25 +293,24 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
240
293
|
} else if (!jsUseEsm) {
|
241
294
|
const pkg = core.findUp(workerPath);
|
242
295
|
if (pkg) {
|
243
|
-
jsUseEsm = cjsRequire(pkg).type === "module";
|
296
|
+
jsUseEsm = core.cjsRequire(pkg).type === "module";
|
244
297
|
}
|
245
298
|
}
|
246
299
|
let resolvedPnpLoaderPath;
|
247
300
|
if (process.versions.pnp) {
|
248
|
-
const nodeOptions = NODE_OPTIONS == null ? void 0 : NODE_OPTIONS.split(/\s+/);
|
249
301
|
let pnpApiPath;
|
250
302
|
try {
|
251
|
-
pnpApiPath = cjsRequire.resolve("pnpapi");
|
303
|
+
pnpApiPath = core.cjsRequire.resolve("pnpapi");
|
252
304
|
} catch (e) {
|
253
305
|
}
|
254
|
-
if (pnpApiPath && !
|
255
|
-
(option, index) => ["-r", "--require"].includes(option) && pnpApiPath === cjsRequire.resolve(
|
256
|
-
)
|
306
|
+
if (pnpApiPath && !NODE_OPTIONS.some(
|
307
|
+
(option, index) => ["-r", "--require"].includes(option) && pnpApiPath === core.cjsRequire.resolve(NODE_OPTIONS[index + 1])
|
308
|
+
) && !execArgv.includes(pnpApiPath)) {
|
257
309
|
execArgv = ["-r", pnpApiPath, ...execArgv];
|
258
310
|
const pnpLoaderPath = path.resolve(pnpApiPath, "../.pnp.loader.mjs");
|
259
311
|
if (isFile(pnpLoaderPath)) {
|
260
312
|
resolvedPnpLoaderPath = node_url.pathToFileURL(pnpLoaderPath).toString();
|
261
|
-
if (NODE_VERSION <
|
313
|
+
if (compareVersion(NODE_VERSION, LOADER_SUPPORTED_NODE_VERSION) < 0) {
|
262
314
|
execArgv = [
|
263
315
|
"--experimental-loader",
|
264
316
|
resolvedPnpLoaderPath,
|
@@ -305,6 +357,9 @@ const _dirname = typeof __dirname === "undefined" ? path.dirname(node_url.fileUR
|
|
305
357
|
let sharedBuffer;
|
306
358
|
let sharedBufferView;
|
307
359
|
const generateGlobals = (workerPath, globalShims, type = "import") => {
|
360
|
+
if (globalShims.length === 0) {
|
361
|
+
return "";
|
362
|
+
}
|
308
363
|
globalsCache != null ? globalsCache : globalsCache = /* @__PURE__ */ new Map();
|
309
364
|
const cached = globalsCache.get(workerPath);
|
310
365
|
if (cached) {
|
@@ -348,7 +403,8 @@ function startWorkerThread(workerPath, {
|
|
348
403
|
} = setupTsRunner(workerPath, { execArgv, tsRunner });
|
349
404
|
const workerPathUrl = node_url.pathToFileURL(finalWorkerPath);
|
350
405
|
if (/\.[cm]ts$/.test(finalWorkerPath)) {
|
351
|
-
const isTsxSupported = !tsUseEsm ||
|
406
|
+
const isTsxSupported = !tsUseEsm || // >=
|
407
|
+
compareVersion(NODE_VERSION, MTS_SUPPORTED_NODE_VERSION) >= 0;
|
352
408
|
if (!finalTsRunner) {
|
353
409
|
throw new Error("No ts runner specified, ts worker path is not supported");
|
354
410
|
} else if ([
|
@@ -429,11 +485,14 @@ function startWorkerThread(workerPath, {
|
|
429
485
|
const id = nextID++;
|
430
486
|
const msg = { id, args };
|
431
487
|
worker.postMessage(msg);
|
432
|
-
const { result, error, properties } = receiveMessageWithId(
|
488
|
+
const { result, error, properties, stdio } = receiveMessageWithId(
|
433
489
|
mainPort,
|
434
490
|
id,
|
435
491
|
timeout
|
436
492
|
);
|
493
|
+
for (const { type, chunk, encoding } of stdio) {
|
494
|
+
process[type].write(chunk, encoding);
|
495
|
+
}
|
437
496
|
if (error) {
|
438
497
|
throw Object.assign(error, properties);
|
439
498
|
}
|
@@ -446,8 +505,27 @@ function runAsWorker(fn) {
|
|
446
505
|
if (!node_worker_threads.workerData) {
|
447
506
|
return;
|
448
507
|
}
|
508
|
+
const stdio = [];
|
509
|
+
for (const type of ["stdout", "stderr"]) {
|
510
|
+
process[type]._writev = (chunks, callback) => {
|
511
|
+
for (const {
|
512
|
+
// type-coverage:ignore-next-line -- we can't control
|
513
|
+
chunk,
|
514
|
+
encoding
|
515
|
+
} of chunks) {
|
516
|
+
stdio.push({
|
517
|
+
type,
|
518
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- we can't control
|
519
|
+
chunk,
|
520
|
+
encoding
|
521
|
+
});
|
522
|
+
}
|
523
|
+
callback();
|
524
|
+
};
|
525
|
+
}
|
449
526
|
const { workerPort, sharedBuffer: sharedBuffer2, pnpLoaderPath } = node_worker_threads.workerData;
|
450
|
-
if (pnpLoaderPath &&
|
527
|
+
if (pnpLoaderPath && // >=
|
528
|
+
compareVersion(NODE_VERSION, LOADER_SUPPORTED_NODE_VERSION) >= 0) {
|
451
529
|
module$1.register(pnpLoaderPath);
|
452
530
|
}
|
453
531
|
const sharedBufferView2 = new Int32Array(sharedBuffer2, 0, 1);
|
@@ -464,17 +542,22 @@ function runAsWorker(fn) {
|
|
464
542
|
workerPort.on("message", handleAbortMessage);
|
465
543
|
let msg;
|
466
544
|
try {
|
467
|
-
msg = { id, result: yield fn(...args) };
|
545
|
+
msg = { id, stdio, result: yield fn(...args) };
|
468
546
|
} catch (error) {
|
469
|
-
msg = { id, error, properties: extractProperties(error) };
|
547
|
+
msg = { id, stdio, error, properties: extractProperties(error) };
|
470
548
|
}
|
471
549
|
workerPort.off("message", handleAbortMessage);
|
472
550
|
if (isAborted) {
|
551
|
+
stdio.length = 0;
|
473
552
|
return;
|
474
553
|
}
|
475
|
-
|
476
|
-
|
477
|
-
|
554
|
+
try {
|
555
|
+
workerPort.postMessage(msg);
|
556
|
+
Atomics.add(sharedBufferView2, 0, 1);
|
557
|
+
Atomics.notify(sharedBufferView2, 0);
|
558
|
+
} finally {
|
559
|
+
stdio.length = 0;
|
560
|
+
}
|
478
561
|
}))();
|
479
562
|
}
|
480
563
|
);
|
@@ -485,11 +568,19 @@ exports.DEFAULT_GLOBAL_SHIMS = DEFAULT_GLOBAL_SHIMS;
|
|
485
568
|
exports.DEFAULT_GLOBAL_SHIMS_PRESET = DEFAULT_GLOBAL_SHIMS_PRESET;
|
486
569
|
exports.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT;
|
487
570
|
exports.DEFAULT_TS_RUNNER = DEFAULT_TS_RUNNER;
|
571
|
+
exports.DEFAULT_TYPES_NODE_VERSION = DEFAULT_TYPES_NODE_VERSION;
|
572
|
+
exports.FEATURE_TYPESCRIPT_NODE_VERSION = FEATURE_TYPESCRIPT_NODE_VERSION;
|
488
573
|
exports.LOADER_SUPPORTED_NODE_VERSION = LOADER_SUPPORTED_NODE_VERSION;
|
489
574
|
exports.MTS_SUPPORTED_NODE_VERSION = MTS_SUPPORTED_NODE_VERSION;
|
490
|
-
exports.
|
575
|
+
exports.NODE_VERSION = NODE_VERSION;
|
576
|
+
exports.NO_STRIP_TYPES_FLAG = NO_STRIP_TYPES_FLAG;
|
577
|
+
exports.STRIP_TYPES_FLAG = STRIP_TYPES_FLAG;
|
578
|
+
exports.STRIP_TYPES_NODE_VERSION = STRIP_TYPES_NODE_VERSION;
|
579
|
+
exports.TRANSFORM_TYPES_FLAG = TRANSFORM_TYPES_FLAG;
|
580
|
+
exports.TRANSFORM_TYPES_NODE_VERSION = TRANSFORM_TYPES_NODE_VERSION;
|
491
581
|
exports.TsRunner = TsRunner;
|
492
582
|
exports._generateGlobals = _generateGlobals;
|
583
|
+
exports.compareVersion = compareVersion;
|
493
584
|
exports.createSyncFn = createSyncFn;
|
494
585
|
exports.encodeImportModule = encodeImportModule;
|
495
586
|
exports.extractProperties = extractProperties;
|
package/lib/index.d.ts
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
import { type TransferListItem } from 'node:worker_threads';
|
2
|
-
import type {
|
2
|
+
import type { AnyFn, GlobalShim, Syncify, ValueOf } from './types.js';
|
3
3
|
export * from './types.js';
|
4
4
|
export declare const TsRunner: {
|
5
5
|
readonly Node: "node";
|
6
|
+
readonly Bun: "bun";
|
6
7
|
readonly TsNode: "ts-node";
|
7
8
|
readonly EsbuildRegister: "esbuild-register";
|
8
9
|
readonly EsbuildRunner: "esbuild-runner";
|
@@ -10,9 +11,17 @@ export declare const TsRunner: {
|
|
10
11
|
readonly TSX: "tsx";
|
11
12
|
};
|
12
13
|
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
|
14
|
+
export declare const MTS_SUPPORTED_NODE_VERSION = "16";
|
15
|
+
export declare const LOADER_SUPPORTED_NODE_VERSION = "20";
|
16
|
+
export declare const STRIP_TYPES_NODE_VERSION = "22.6";
|
17
|
+
export declare const TRANSFORM_TYPES_NODE_VERSION = "22.7";
|
18
|
+
export declare const FEATURE_TYPESCRIPT_NODE_VERSION = "22.10";
|
19
|
+
export declare const DEFAULT_TYPES_NODE_VERSION = "23.6";
|
20
|
+
export declare const STRIP_TYPES_FLAG = "--experimental-strip-types";
|
21
|
+
export declare const TRANSFORM_TYPES_FLAG = "--experimental-transform-types";
|
22
|
+
export declare const NO_STRIP_TYPES_FLAG = "--no-experimental-strip-types";
|
23
|
+
export declare const compareVersion: (version1: string, version2: string) => 1 | -1 | 0;
|
24
|
+
export declare const NODE_VERSION: string;
|
16
25
|
export declare const DEFAULT_TIMEOUT: number | undefined;
|
17
26
|
export declare const DEFAULT_EXEC_ARGV: string[];
|
18
27
|
export declare const DEFAULT_TS_RUNNER: TsRunner | undefined;
|
@@ -27,8 +36,8 @@ export interface SynckitOptions {
|
|
27
36
|
}
|
28
37
|
export declare function extractProperties<T extends object>(object: T): T;
|
29
38
|
export declare function extractProperties<T>(object?: T): T | undefined;
|
30
|
-
export declare function createSyncFn<T extends
|
39
|
+
export declare function createSyncFn<T extends AnyFn>(workerPath: URL | string, timeoutOrOptions?: SynckitOptions | number): Syncify<T>;
|
31
40
|
export declare const isFile: (path: string) => boolean;
|
32
41
|
export declare const encodeImportModule: (moduleNameOrGlobalShim: GlobalShim | string, type?: "import" | "require") => string;
|
33
42
|
export declare const generateGlobals: (workerPath: string, globalShims: GlobalShim[], type?: "import" | "require") => string;
|
34
|
-
export declare function runAsWorker<
|
43
|
+
export declare function runAsWorker<T extends AnyFn<Promise<R> | R>, R = ReturnType<T>>(fn: T): void;
|
package/lib/index.js
CHANGED
@@ -5,25 +5,55 @@ import module from 'node:module';
|
|
5
5
|
import path from 'node:path';
|
6
6
|
import { fileURLToPath, pathToFileURL } from 'node:url';
|
7
7
|
import { MessageChannel, Worker, parentPort, receiveMessageOnPort, workerData, } from 'node:worker_threads';
|
8
|
-
import { findUp, isPkgAvailable, tryExtensions } from '@pkgr/core';
|
8
|
+
import { cjsRequire, findUp, isPkgAvailable, tryExtensions } from '@pkgr/core';
|
9
9
|
const INT32_BYTES = 4;
|
10
10
|
export * from './types.js';
|
11
11
|
export const TsRunner = {
|
12
12
|
Node: 'node',
|
13
|
+
Bun: 'bun',
|
13
14
|
TsNode: 'ts-node',
|
14
15
|
EsbuildRegister: 'esbuild-register',
|
15
16
|
EsbuildRunner: 'esbuild-runner',
|
16
17
|
SWC: 'swc',
|
17
18
|
TSX: 'tsx',
|
18
19
|
};
|
19
|
-
const { NODE_OPTIONS, SYNCKIT_EXEC_ARGV, SYNCKIT_GLOBAL_SHIMS, SYNCKIT_TIMEOUT, SYNCKIT_TS_RUNNER, } = process.env;
|
20
|
-
export const MTS_SUPPORTED_NODE_VERSION = 16;
|
21
|
-
export const LOADER_SUPPORTED_NODE_VERSION = 20;
|
22
|
-
export const
|
23
|
-
const
|
24
|
-
const
|
20
|
+
const { NODE_OPTIONS: NODE_OPTIONS_ = '', SYNCKIT_EXEC_ARGV = '', SYNCKIT_GLOBAL_SHIMS, SYNCKIT_TIMEOUT, SYNCKIT_TS_RUNNER, } = process.env;
|
21
|
+
export const MTS_SUPPORTED_NODE_VERSION = '16';
|
22
|
+
export const LOADER_SUPPORTED_NODE_VERSION = '20';
|
23
|
+
export const STRIP_TYPES_NODE_VERSION = '22.6';
|
24
|
+
export const TRANSFORM_TYPES_NODE_VERSION = '22.7';
|
25
|
+
export const FEATURE_TYPESCRIPT_NODE_VERSION = '22.10';
|
26
|
+
export const DEFAULT_TYPES_NODE_VERSION = '23.6';
|
27
|
+
export const STRIP_TYPES_FLAG = '--experimental-strip-types';
|
28
|
+
export const TRANSFORM_TYPES_FLAG = '--experimental-transform-types';
|
29
|
+
export const NO_STRIP_TYPES_FLAG = '--no-experimental-strip-types';
|
30
|
+
const NODE_OPTIONS = NODE_OPTIONS_.split(/\s+/);
|
31
|
+
const hasFlag = (flag) => NODE_OPTIONS.includes(flag) || process.argv.includes(flag);
|
32
|
+
const parseVersion = (version) => version.split('.').map(Number.parseFloat);
|
33
|
+
export const compareVersion = (version1, version2) => {
|
34
|
+
const versions1 = parseVersion(version1);
|
35
|
+
const versions2 = parseVersion(version2);
|
36
|
+
const length = Math.max(versions1.length, versions2.length);
|
37
|
+
for (let i = 0; i < length; i++) {
|
38
|
+
const v1 = versions1[i] || 0;
|
39
|
+
const v2 = versions2[i] || 0;
|
40
|
+
if (v1 > v2) {
|
41
|
+
return 1;
|
42
|
+
}
|
43
|
+
if (v1 < v2) {
|
44
|
+
return -1;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
return 0;
|
48
|
+
};
|
49
|
+
export const NODE_VERSION = process.versions.node;
|
50
|
+
const NO_STRIP_TYPES = compareVersion(NODE_VERSION, FEATURE_TYPESCRIPT_NODE_VERSION) >= 0
|
51
|
+
? process.features.typescript === false
|
52
|
+
: hasFlag(NO_STRIP_TYPES_FLAG) &&
|
53
|
+
!hasFlag(STRIP_TYPES_FLAG) &&
|
54
|
+
!hasFlag(TRANSFORM_TYPES_FLAG);
|
25
55
|
export const DEFAULT_TIMEOUT = SYNCKIT_TIMEOUT ? +SYNCKIT_TIMEOUT : undefined;
|
26
|
-
export const DEFAULT_EXEC_ARGV =
|
56
|
+
export const DEFAULT_EXEC_ARGV = SYNCKIT_EXEC_ARGV.split(',');
|
27
57
|
export const DEFAULT_TS_RUNNER = SYNCKIT_TS_RUNNER;
|
28
58
|
export const DEFAULT_GLOBAL_SHIMS = ['1', 'true'].includes(SYNCKIT_GLOBAL_SHIMS);
|
29
59
|
export const DEFAULT_GLOBAL_SHIMS_PRESET = [
|
@@ -49,6 +79,9 @@ export function extractProperties(object) {
|
|
49
79
|
}
|
50
80
|
export function createSyncFn(workerPath, timeoutOrOptions) {
|
51
81
|
syncFnCache !== null && syncFnCache !== void 0 ? syncFnCache : (syncFnCache = new Map());
|
82
|
+
if (typeof workerPath !== 'string' || workerPath.startsWith('file://')) {
|
83
|
+
workerPath = fileURLToPath(workerPath);
|
84
|
+
}
|
52
85
|
const cachedSyncFn = syncFnCache.get(workerPath);
|
53
86
|
if (cachedSyncFn) {
|
54
87
|
return cachedSyncFn;
|
@@ -62,9 +95,6 @@ export function createSyncFn(workerPath, timeoutOrOptions) {
|
|
62
95
|
syncFnCache.set(workerPath, syncFn);
|
63
96
|
return syncFn;
|
64
97
|
}
|
65
|
-
const cjsRequire = typeof require === 'undefined'
|
66
|
-
? module.createRequire(import.meta.url)
|
67
|
-
: require;
|
68
98
|
const dataUrl = (code) => new URL(`data:text/javascript,${encodeURIComponent(code)}`);
|
69
99
|
export const isFile = (path) => {
|
70
100
|
var _a;
|
@@ -77,7 +107,7 @@ export const isFile = (path) => {
|
|
77
107
|
};
|
78
108
|
const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
79
109
|
let ext = path.extname(workerPath);
|
80
|
-
if (!/[/\\]node_modules
|
110
|
+
if (!/([/\\])node_modules\1/.test(workerPath) &&
|
81
111
|
(!ext || /^\.[cm]?js$/.test(ext))) {
|
82
112
|
const workPathWithoutExt = ext
|
83
113
|
? workerPath.slice(0, -ext.length)
|
@@ -113,13 +143,22 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
113
143
|
if (!tsUseEsm) {
|
114
144
|
const pkg = findUp(workerPath);
|
115
145
|
if (pkg) {
|
116
|
-
tsUseEsm =
|
117
|
-
cjsRequire(pkg).type ===
|
118
|
-
'module';
|
146
|
+
tsUseEsm = cjsRequire(pkg).type === 'module';
|
119
147
|
}
|
120
148
|
}
|
149
|
+
const stripTypesIndex = execArgv.indexOf(STRIP_TYPES_FLAG);
|
150
|
+
const transformTypesIndex = execArgv.indexOf(TRANSFORM_TYPES_FLAG);
|
151
|
+
const noStripTypesIndex = execArgv.indexOf(NO_STRIP_TYPES_FLAG);
|
152
|
+
const execArgvNoStripTypes = noStripTypesIndex > stripTypesIndex ||
|
153
|
+
noStripTypesIndex > transformTypesIndex;
|
154
|
+
const noStripTypes = execArgvNoStripTypes ||
|
155
|
+
(stripTypesIndex === -1 && transformTypesIndex === -1 && NO_STRIP_TYPES);
|
121
156
|
if (tsRunner == null) {
|
122
|
-
if (
|
157
|
+
if (process.versions.bun) {
|
158
|
+
tsRunner = TsRunner.Bun;
|
159
|
+
}
|
160
|
+
else if (!noStripTypes &&
|
161
|
+
compareVersion(NODE_VERSION, STRIP_TYPES_NODE_VERSION) >= 0) {
|
123
162
|
tsRunner = TsRunner.Node;
|
124
163
|
}
|
125
164
|
else if (isPkgAvailable(TsRunner.TsNode)) {
|
@@ -127,16 +166,27 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
127
166
|
}
|
128
167
|
}
|
129
168
|
switch (tsRunner) {
|
169
|
+
case TsRunner.Bun: {
|
170
|
+
break;
|
171
|
+
}
|
130
172
|
case TsRunner.Node: {
|
131
|
-
if (
|
173
|
+
if (compareVersion(NODE_VERSION, STRIP_TYPES_NODE_VERSION) < 0) {
|
132
174
|
throw new Error('type stripping is not supported in this node version');
|
133
175
|
}
|
134
|
-
|
135
|
-
'
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
176
|
+
if (noStripTypes) {
|
177
|
+
throw new Error('type stripping is disabled explicitly');
|
178
|
+
}
|
179
|
+
if (compareVersion(NODE_VERSION, DEFAULT_TYPES_NODE_VERSION) >= 0) {
|
180
|
+
break;
|
181
|
+
}
|
182
|
+
if (compareVersion(NODE_VERSION, TRANSFORM_TYPES_NODE_VERSION) >= 0 &&
|
183
|
+
!execArgv.includes(TRANSFORM_TYPES_FLAG)) {
|
184
|
+
execArgv = [TRANSFORM_TYPES_FLAG, ...execArgv];
|
185
|
+
}
|
186
|
+
else if (compareVersion(NODE_VERSION, STRIP_TYPES_NODE_VERSION) >= 0 &&
|
187
|
+
!execArgv.includes(STRIP_TYPES_FLAG)) {
|
188
|
+
execArgv = [STRIP_TYPES_FLAG, ...execArgv];
|
189
|
+
}
|
140
190
|
break;
|
141
191
|
}
|
142
192
|
case TsRunner.TsNode: {
|
@@ -182,27 +232,25 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
182
232
|
else if (!jsUseEsm) {
|
183
233
|
const pkg = findUp(workerPath);
|
184
234
|
if (pkg) {
|
185
|
-
jsUseEsm =
|
186
|
-
cjsRequire(pkg).type === 'module';
|
235
|
+
jsUseEsm = cjsRequire(pkg).type === 'module';
|
187
236
|
}
|
188
237
|
}
|
189
238
|
let resolvedPnpLoaderPath;
|
190
239
|
if (process.versions.pnp) {
|
191
|
-
const nodeOptions = NODE_OPTIONS === null || NODE_OPTIONS === void 0 ? void 0 : NODE_OPTIONS.split(/\s+/);
|
192
240
|
let pnpApiPath;
|
193
241
|
try {
|
194
242
|
pnpApiPath = cjsRequire.resolve('pnpapi');
|
195
243
|
}
|
196
244
|
catch (_a) { }
|
197
245
|
if (pnpApiPath &&
|
198
|
-
!
|
199
|
-
pnpApiPath === cjsRequire.resolve(
|
246
|
+
!NODE_OPTIONS.some((option, index) => ['-r', '--require'].includes(option) &&
|
247
|
+
pnpApiPath === cjsRequire.resolve(NODE_OPTIONS[index + 1])) &&
|
200
248
|
!execArgv.includes(pnpApiPath)) {
|
201
249
|
execArgv = ['-r', pnpApiPath, ...execArgv];
|
202
250
|
const pnpLoaderPath = path.resolve(pnpApiPath, '../.pnp.loader.mjs');
|
203
251
|
if (isFile(pnpLoaderPath)) {
|
204
252
|
resolvedPnpLoaderPath = pathToFileURL(pnpLoaderPath).toString();
|
205
|
-
if (NODE_VERSION <
|
253
|
+
if (compareVersion(NODE_VERSION, LOADER_SUPPORTED_NODE_VERSION) < 0) {
|
206
254
|
execArgv = [
|
207
255
|
'--experimental-loader',
|
208
256
|
resolvedPnpLoaderPath,
|
@@ -262,6 +310,9 @@ const _dirname = typeof __dirname === 'undefined'
|
|
262
310
|
let sharedBuffer;
|
263
311
|
let sharedBufferView;
|
264
312
|
export const generateGlobals = (workerPath, globalShims, type = 'import') => {
|
313
|
+
if (globalShims.length === 0) {
|
314
|
+
return '';
|
315
|
+
}
|
265
316
|
globalsCache !== null && globalsCache !== void 0 ? globalsCache : (globalsCache = new Map());
|
266
317
|
const cached = globalsCache.get(workerPath);
|
267
318
|
if (cached) {
|
@@ -291,7 +342,8 @@ function startWorkerThread(workerPath, { timeout = DEFAULT_TIMEOUT, execArgv = D
|
|
291
342
|
const { isTs, ext, jsUseEsm, tsUseEsm, tsRunner: finalTsRunner, workerPath: finalWorkerPath, pnpLoaderPath, execArgv: finalExecArgv, } = setupTsRunner(workerPath, { execArgv, tsRunner });
|
292
343
|
const workerPathUrl = pathToFileURL(finalWorkerPath);
|
293
344
|
if (/\.[cm]ts$/.test(finalWorkerPath)) {
|
294
|
-
const isTsxSupported = !tsUseEsm ||
|
345
|
+
const isTsxSupported = !tsUseEsm ||
|
346
|
+
compareVersion(NODE_VERSION, MTS_SUPPORTED_NODE_VERSION) >= 0;
|
295
347
|
if (!finalTsRunner) {
|
296
348
|
throw new Error('No ts runner specified, ts worker path is not supported');
|
297
349
|
}
|
@@ -352,7 +404,10 @@ function startWorkerThread(workerPath, { timeout = DEFAULT_TIMEOUT, execArgv = D
|
|
352
404
|
const id = nextID++;
|
353
405
|
const msg = { id, args };
|
354
406
|
worker.postMessage(msg);
|
355
|
-
const { result, error, properties } = receiveMessageWithId(mainPort, id, timeout);
|
407
|
+
const { result, error, properties, stdio } = receiveMessageWithId(mainPort, id, timeout);
|
408
|
+
for (const { type, chunk, encoding } of stdio) {
|
409
|
+
process[type].write(chunk, encoding);
|
410
|
+
}
|
356
411
|
if (error) {
|
357
412
|
throw Object.assign(error, properties);
|
358
413
|
}
|
@@ -365,8 +420,22 @@ export function runAsWorker(fn) {
|
|
365
420
|
if (!workerData) {
|
366
421
|
return;
|
367
422
|
}
|
423
|
+
const stdio = [];
|
424
|
+
for (const type of ['stdout', 'stderr']) {
|
425
|
+
process[type]._writev = (chunks, callback) => {
|
426
|
+
for (const { chunk, encoding, } of chunks) {
|
427
|
+
stdio.push({
|
428
|
+
type,
|
429
|
+
chunk,
|
430
|
+
encoding,
|
431
|
+
});
|
432
|
+
}
|
433
|
+
callback();
|
434
|
+
};
|
435
|
+
}
|
368
436
|
const { workerPort, sharedBuffer, pnpLoaderPath } = workerData;
|
369
|
-
if (pnpLoaderPath &&
|
437
|
+
if (pnpLoaderPath &&
|
438
|
+
compareVersion(NODE_VERSION, LOADER_SUPPORTED_NODE_VERSION) >= 0) {
|
370
439
|
module.register(pnpLoaderPath);
|
371
440
|
}
|
372
441
|
const sharedBufferView = new Int32Array(sharedBuffer, 0, 1);
|
@@ -382,18 +451,24 @@ export function runAsWorker(fn) {
|
|
382
451
|
workerPort.on('message', handleAbortMessage);
|
383
452
|
let msg;
|
384
453
|
try {
|
385
|
-
msg = { id, result: yield fn(...args) };
|
454
|
+
msg = { id, stdio, result: yield fn(...args) };
|
386
455
|
}
|
387
456
|
catch (error) {
|
388
|
-
msg = { id, error, properties: extractProperties(error) };
|
457
|
+
msg = { id, stdio, error, properties: extractProperties(error) };
|
389
458
|
}
|
390
459
|
workerPort.off('message', handleAbortMessage);
|
391
460
|
if (isAborted) {
|
461
|
+
stdio.length = 0;
|
392
462
|
return;
|
393
463
|
}
|
394
|
-
|
395
|
-
|
396
|
-
|
464
|
+
try {
|
465
|
+
workerPort.postMessage(msg);
|
466
|
+
Atomics.add(sharedBufferView, 0, 1);
|
467
|
+
Atomics.notify(sharedBufferView, 0);
|
468
|
+
}
|
469
|
+
finally {
|
470
|
+
stdio.length = 0;
|
471
|
+
}
|
397
472
|
}))();
|
398
473
|
});
|
399
474
|
}
|
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,9 +1,6 @@
|
|
1
1
|
import type { MessagePort } from 'node:worker_threads';
|
2
2
|
export type AnyFn<R = any, T extends any[] = any[]> = (...args: T) => R;
|
3
|
-
export type
|
4
|
-
export type AnyAsyncFn<T = any> = AnyFn<Promise<T>>;
|
5
|
-
export type Syncify<T extends AnyAsyncFn> = T extends (...args: infer Args) => Promise<infer R> ? (...args: Args) => R : never;
|
6
|
-
export type PromiseType<T extends AnyPromise> = T extends Promise<infer R> ? R : never;
|
3
|
+
export type Syncify<T extends AnyFn> = (...args: Parameters<T>) => Awaited<ReturnType<T>>;
|
7
4
|
export type ValueOf<T> = T[keyof T];
|
8
5
|
export interface MainToWorkerMessage<T extends unknown[]> {
|
9
6
|
id: number;
|
@@ -23,8 +20,14 @@ export interface DataMessage<T> {
|
|
23
20
|
error?: unknown;
|
24
21
|
properties?: unknown;
|
25
22
|
}
|
26
|
-
export interface
|
23
|
+
export interface StdioChunk {
|
24
|
+
type: 'stderr' | 'stdout';
|
25
|
+
chunk: Uint8Array | string;
|
26
|
+
encoding: BufferEncoding;
|
27
|
+
}
|
28
|
+
export interface WorkerToMainMessage<T> extends DataMessage<T> {
|
27
29
|
id: number;
|
30
|
+
stdio: StdioChunk[];
|
28
31
|
}
|
29
32
|
export interface GlobalShim {
|
30
33
|
moduleName: string;
|
@@ -32,3 +35,6 @@ export interface GlobalShim {
|
|
32
35
|
named?: string | null;
|
33
36
|
conditional?: boolean;
|
34
37
|
}
|
38
|
+
export interface PackageJson {
|
39
|
+
type?: 'commonjs' | 'module';
|
40
|
+
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "synckit",
|
3
|
-
"version": "0.10.
|
3
|
+
"version": "0.10.2",
|
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",
|
@@ -13,12 +13,18 @@
|
|
13
13
|
"main": "./lib/index.cjs",
|
14
14
|
"module": "./lib/index.js",
|
15
15
|
"exports": {
|
16
|
-
"
|
17
|
-
|
18
|
-
|
16
|
+
"import": {
|
17
|
+
"types": "./lib/index.d.ts",
|
18
|
+
"default": "./lib/index.js"
|
19
|
+
},
|
20
|
+
"require": {
|
21
|
+
"types": "./index.d.cts",
|
22
|
+
"default": "./lib/index.cjs"
|
23
|
+
}
|
19
24
|
},
|
20
25
|
"types": "./lib/index.d.ts",
|
21
26
|
"files": [
|
27
|
+
"index.d.cts",
|
22
28
|
"lib",
|
23
29
|
"!**/*.tsbuildinfo"
|
24
30
|
],
|
@@ -34,7 +40,7 @@
|
|
34
40
|
"synckit"
|
35
41
|
],
|
36
42
|
"dependencies": {
|
37
|
-
"@pkgr/core": "^0.
|
43
|
+
"@pkgr/core": "^0.2.0",
|
38
44
|
"tslib": "^2.8.1"
|
39
45
|
}
|
40
46
|
}
|