synckit 0.8.6 → 0.8.7
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 +41 -1
- package/lib/index.cjs +87 -6
- package/lib/index.d.ts +7 -2
- package/lib/index.js +96 -9
- package/lib/index.js.map +1 -1
- package/lib/types.d.ts +6 -0
- package/package.json +1 -1
package/README.md
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
[](https://github.com/un-ts/synckit/actions/workflows/ci.yml)
|
4
4
|
[](https://codecov.io/gh/un-ts/synckit)
|
5
|
-
[](https://lgtm.com/projects/g/un-ts/synckit/context:javascript)
|
6
5
|
[](https://github.com/plantain-00/type-coverage)
|
7
6
|
[](https://www.npmjs.com/package/synckit)
|
8
7
|
[](https://github.com/un-ts/synckit/releases)
|
@@ -19,6 +18,7 @@ Perform async work synchronously in Node.js using `worker_threads` with first-cl
|
|
19
18
|
- [Usage](#usage)
|
20
19
|
- [Install](#install)
|
21
20
|
- [API](#api)
|
21
|
+
- [Types](#types)
|
22
22
|
- [Options](#options)
|
23
23
|
- [Envs](#envs)
|
24
24
|
- [TypeScript](#typescript)
|
@@ -72,12 +72,51 @@ runAsWorker(async (...args) => {
|
|
72
72
|
|
73
73
|
You must make sure, the `result` is serializable by [`Structured Clone Algorithm`](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm)
|
74
74
|
|
75
|
+
### Types
|
76
|
+
|
77
|
+
````ts
|
78
|
+
export interface GlobalShim {
|
79
|
+
moduleName: string
|
80
|
+
/**
|
81
|
+
* `undefined` means side effect only
|
82
|
+
*/
|
83
|
+
globalName?: string
|
84
|
+
/**
|
85
|
+
* 1. `undefined` or empty string means `default`, for example:
|
86
|
+
* ```js
|
87
|
+
* import globalName from 'module-name'
|
88
|
+
* ```
|
89
|
+
*
|
90
|
+
* 2. `null` means namespaced, for example:
|
91
|
+
* ```js
|
92
|
+
* import * as globalName from 'module-name'
|
93
|
+
* ```
|
94
|
+
*
|
95
|
+
*/
|
96
|
+
named?: string | null
|
97
|
+
/**
|
98
|
+
* If not `false`, the shim will only be applied when the original `globalName` unavailable,
|
99
|
+
* for example you may only want polyfill `globalThis.fetch` when it's unavailable natively:
|
100
|
+
* ```js
|
101
|
+
* import fetch from 'node-fetch'
|
102
|
+
*
|
103
|
+
* if (!globalThis.fetch) {
|
104
|
+
* globalThis.fetch = fetch
|
105
|
+
* }
|
106
|
+
* ```
|
107
|
+
*/
|
108
|
+
conditional?: boolean
|
109
|
+
}
|
110
|
+
````
|
111
|
+
|
75
112
|
### Options
|
76
113
|
|
77
114
|
1. `bufferSize` same as env `SYNCKIT_BUFFER_SIZE`
|
78
115
|
2. `timeout` same as env `SYNCKIT_TIMEOUT`
|
79
116
|
3. `execArgv` same as env `SYNCKIT_EXEC_ARGV`
|
80
117
|
4. `tsRunner` same as env `SYNCKIT_TS_RUNNER`
|
118
|
+
5. `transferList`: Please refer Node.js [`worker_threads`](https://nodejs.org/api/worker_threads.html#:~:text=Default%3A%20true.-,transferList,-%3CObject%5B%5D%3E%20If) documentation
|
119
|
+
6. `globalShims`: Similar like env `SYNCKIT_GLOBAL_SHIMS` but much more flexible which can be a `GlobalShim` `Array`, see `GlobalShim`'s [definition](#types) for more details
|
81
120
|
|
82
121
|
### Envs
|
83
122
|
|
@@ -85,6 +124,7 @@ You must make sure, the `result` is serializable by [`Structured Clone Algorithm
|
|
85
124
|
2. `SYNCKIT_TIMEOUT`: `timeout` for performing the async job (no default)
|
86
125
|
3. `SYNCKIT_EXEC_ARGV`: List of node CLI options passed to the worker, split with comma `,`. (default as `[]`), see also [`node` docs](https://nodejs.org/api/worker_threads.html)
|
87
126
|
4. `SYNCKIT_TS_RUNNER`: Which TypeScript runner to be used, it could be very useful for development, could be `'ts-node' | 'esbuild-register' | 'esbuild-runner' | 'swc' | 'tsx'`, `'ts-node'` is used by default, make sure you have installed them already
|
127
|
+
5. `SYNCKIT_GLOBAL_SHIMS`: Whether to enable the default `DEFAULT_GLOBAL_SHIMS_PRESET` as `globalShims`
|
88
128
|
|
89
129
|
### TypeScript
|
90
130
|
|
package/lib/index.cjs
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
|
+
var node_crypto = require('node:crypto');
|
3
4
|
var fs = require('node:fs');
|
4
5
|
var node_module = require('node:module');
|
5
6
|
var path = require('node:path');
|
@@ -45,6 +46,7 @@ const {
|
|
45
46
|
SYNCKIT_TIMEOUT,
|
46
47
|
SYNCKIT_EXEC_ARGV,
|
47
48
|
SYNCKIT_TS_RUNNER,
|
49
|
+
SYNCKIT_GLOBAL_SHIMS,
|
48
50
|
NODE_OPTIONS
|
49
51
|
} = process.env;
|
50
52
|
const DEFAULT_BUFFER_SIZE = SYNCKIT_BUFFER_SIZE ? +SYNCKIT_BUFFER_SIZE : void 0;
|
@@ -52,6 +54,20 @@ const DEFAULT_TIMEOUT = SYNCKIT_TIMEOUT ? +SYNCKIT_TIMEOUT : void 0;
|
|
52
54
|
const DEFAULT_WORKER_BUFFER_SIZE = DEFAULT_BUFFER_SIZE || 1024;
|
53
55
|
const DEFAULT_EXEC_ARGV = (SYNCKIT_EXEC_ARGV == null ? void 0 : SYNCKIT_EXEC_ARGV.split(",")) || [];
|
54
56
|
const DEFAULT_TS_RUNNER = SYNCKIT_TS_RUNNER;
|
57
|
+
const DEFAULT_GLOBAL_SHIMS = ["1", "true"].includes(
|
58
|
+
SYNCKIT_GLOBAL_SHIMS
|
59
|
+
);
|
60
|
+
const DEFAULT_GLOBAL_SHIMS_PRESET = [
|
61
|
+
{
|
62
|
+
moduleName: "node-fetch",
|
63
|
+
globalName: "fetch"
|
64
|
+
},
|
65
|
+
{
|
66
|
+
moduleName: "node:perf_hooks",
|
67
|
+
globalName: "performance",
|
68
|
+
named: "performance"
|
69
|
+
}
|
70
|
+
];
|
55
71
|
const MTS_SUPPORTED_NODE_VERSION = 16;
|
56
72
|
const syncFnCache = /* @__PURE__ */ new Map();
|
57
73
|
function extractProperties(object) {
|
@@ -121,6 +137,7 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
121
137
|
}
|
122
138
|
}
|
123
139
|
const isTs = /\.[cm]?ts$/.test(workerPath);
|
140
|
+
let jsUseEsm = workerPath.endsWith(".mjs");
|
124
141
|
let tsUseEsm = workerPath.endsWith(".mts");
|
125
142
|
if (isTs) {
|
126
143
|
if (!tsUseEsm) {
|
@@ -171,6 +188,11 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
171
188
|
throw new Error(`Unknown ts runner: ${String(tsRunner)}`);
|
172
189
|
}
|
173
190
|
}
|
191
|
+
} else if (!jsUseEsm) {
|
192
|
+
const pkg = utils.findUp(workerPath);
|
193
|
+
if (pkg) {
|
194
|
+
jsUseEsm = cjsRequire(pkg).type === "module";
|
195
|
+
}
|
174
196
|
}
|
175
197
|
if (process.versions.pnp) {
|
176
198
|
const nodeOptions = NODE_OPTIONS == null ? void 0 : NODE_OPTIONS.split(/\s+/);
|
@@ -193,23 +215,69 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
193
215
|
return {
|
194
216
|
ext,
|
195
217
|
isTs,
|
218
|
+
jsUseEsm,
|
196
219
|
tsRunner,
|
197
220
|
tsUseEsm,
|
198
221
|
workerPath,
|
199
222
|
execArgv
|
200
223
|
};
|
201
224
|
};
|
225
|
+
const md5Hash = (text) => node_crypto.createHash("md5").update(text).digest("hex");
|
226
|
+
const encodeImportModule = (moduleNameOrGlobalShim, type = "import") => {
|
227
|
+
const { moduleName, globalName, named, conditional } = typeof moduleNameOrGlobalShim === "string" ? { moduleName: moduleNameOrGlobalShim } : moduleNameOrGlobalShim;
|
228
|
+
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, "\\\\")}')`;
|
229
|
+
if (!globalName) {
|
230
|
+
return importStatement;
|
231
|
+
}
|
232
|
+
const overrideStatement = `globalThis.${globalName}=${(named == null ? void 0 : named.trim()) ? named : globalName}`;
|
233
|
+
return importStatement + (conditional === false ? `;${overrideStatement}` : `;if(!globalThis.${globalName})${overrideStatement}`);
|
234
|
+
};
|
235
|
+
const _generateGlobals = (globalShims, type) => globalShims.reduce(
|
236
|
+
(acc, shim) => `${acc}${acc ? ";" : ""}${encodeImportModule(shim, type)}`,
|
237
|
+
""
|
238
|
+
);
|
239
|
+
const globalsCache = /* @__PURE__ */ new Map();
|
240
|
+
let tmpdir;
|
241
|
+
const _dirname = typeof __dirname === "undefined" ? path.dirname(node_url.fileURLToPath(import_meta.url)) : (
|
242
|
+
/* istanbul ignore next */
|
243
|
+
__dirname
|
244
|
+
);
|
245
|
+
const generateGlobals = (workerPath, globalShims, type = "import") => {
|
246
|
+
const cached = globalsCache.get(workerPath);
|
247
|
+
if (cached) {
|
248
|
+
const [content2, filepath2] = cached;
|
249
|
+
if (type === "require" && !filepath2 || type === "import" && filepath2 && isFile(filepath2)) {
|
250
|
+
return content2;
|
251
|
+
}
|
252
|
+
}
|
253
|
+
const globals = _generateGlobals(globalShims, type);
|
254
|
+
let content = globals;
|
255
|
+
let filepath;
|
256
|
+
if (type === "import") {
|
257
|
+
if (!tmpdir) {
|
258
|
+
tmpdir = path.resolve(utils.findUp(_dirname), "../node_modules/.synckit");
|
259
|
+
}
|
260
|
+
fs.mkdirSync(tmpdir, { recursive: true });
|
261
|
+
filepath = path.resolve(tmpdir, md5Hash(workerPath) + ".mjs");
|
262
|
+
content = encodeImportModule(filepath);
|
263
|
+
fs.writeFileSync(filepath, globals);
|
264
|
+
}
|
265
|
+
globalsCache.set(workerPath, [content, filepath]);
|
266
|
+
return content;
|
267
|
+
};
|
202
268
|
function startWorkerThread(workerPath, {
|
203
269
|
bufferSize = DEFAULT_WORKER_BUFFER_SIZE,
|
204
270
|
timeout = DEFAULT_TIMEOUT,
|
205
271
|
execArgv = DEFAULT_EXEC_ARGV,
|
206
272
|
tsRunner = DEFAULT_TS_RUNNER,
|
207
|
-
transferList = []
|
273
|
+
transferList = [],
|
274
|
+
globalShims = DEFAULT_GLOBAL_SHIMS
|
208
275
|
} = {}) {
|
209
276
|
const { port1: mainPort, port2: workerPort } = new node_worker_threads.MessageChannel();
|
210
277
|
const {
|
211
278
|
isTs,
|
212
279
|
ext,
|
280
|
+
jsUseEsm,
|
213
281
|
tsUseEsm,
|
214
282
|
tsRunner: finalTsRunner,
|
215
283
|
workerPath: finalWorkerPath,
|
@@ -236,12 +304,20 @@ function startWorkerThread(workerPath, {
|
|
236
304
|
);
|
237
305
|
}
|
238
306
|
}
|
239
|
-
const
|
307
|
+
const finalGlobalShims = (globalShims === true ? DEFAULT_GLOBAL_SHIMS_PRESET : Array.isArray(globalShims) ? globalShims : []).filter(({ moduleName }) => utils.isPkgAvailable(moduleName));
|
308
|
+
const useGlobals = finalGlobalShims.length > 0;
|
309
|
+
const useEval = isTs ? !tsUseEsm : !jsUseEsm && useGlobals;
|
240
310
|
const worker = new node_worker_threads.Worker(
|
241
|
-
tsUseEsm && finalTsRunner === TsRunner.TsNode ? dataUrl(
|
242
|
-
|
243
|
-
|
244
|
-
|
311
|
+
jsUseEsm && useGlobals || tsUseEsm && finalTsRunner === TsRunner.TsNode ? dataUrl(
|
312
|
+
`${generateGlobals(
|
313
|
+
finalWorkerPath,
|
314
|
+
finalGlobalShims
|
315
|
+
)};import '${String(workerPathUrl)}'`
|
316
|
+
) : useEval ? `${generateGlobals(
|
317
|
+
finalWorkerPath,
|
318
|
+
finalGlobalShims,
|
319
|
+
"require"
|
320
|
+
)};${encodeImportModule(finalWorkerPath, "require")}` : workerPathUrl,
|
245
321
|
{
|
246
322
|
eval: useEval,
|
247
323
|
workerData: { workerPort },
|
@@ -303,12 +379,17 @@ function runAsWorker(fn) {
|
|
303
379
|
|
304
380
|
exports.DEFAULT_BUFFER_SIZE = DEFAULT_BUFFER_SIZE;
|
305
381
|
exports.DEFAULT_EXEC_ARGV = DEFAULT_EXEC_ARGV;
|
382
|
+
exports.DEFAULT_GLOBAL_SHIMS = DEFAULT_GLOBAL_SHIMS;
|
383
|
+
exports.DEFAULT_GLOBAL_SHIMS_PRESET = DEFAULT_GLOBAL_SHIMS_PRESET;
|
306
384
|
exports.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT;
|
307
385
|
exports.DEFAULT_TS_RUNNER = DEFAULT_TS_RUNNER;
|
308
386
|
exports.DEFAULT_WORKER_BUFFER_SIZE = DEFAULT_WORKER_BUFFER_SIZE;
|
309
387
|
exports.MTS_SUPPORTED_NODE_VERSION = MTS_SUPPORTED_NODE_VERSION;
|
310
388
|
exports.TsRunner = TsRunner;
|
389
|
+
exports._generateGlobals = _generateGlobals;
|
311
390
|
exports.createSyncFn = createSyncFn;
|
391
|
+
exports.encodeImportModule = encodeImportModule;
|
312
392
|
exports.extractProperties = extractProperties;
|
393
|
+
exports.generateGlobals = generateGlobals;
|
313
394
|
exports.isFile = isFile;
|
314
395
|
exports.runAsWorker = runAsWorker;
|
package/lib/index.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/// <reference types="node" />
|
2
|
-
import { TransferListItem } from 'node:worker_threads';
|
3
|
-
import { AnyAsyncFn, Syncify, ValueOf } from './types.js';
|
2
|
+
import { type TransferListItem } from 'node:worker_threads';
|
3
|
+
import type { AnyAsyncFn, GlobalShim, Syncify, ValueOf } from './types.js';
|
4
4
|
export * from './types.js';
|
5
5
|
export declare const TsRunner: {
|
6
6
|
readonly TsNode: "ts-node";
|
@@ -15,6 +15,8 @@ export declare const DEFAULT_TIMEOUT: number | undefined;
|
|
15
15
|
export declare const DEFAULT_WORKER_BUFFER_SIZE: number;
|
16
16
|
export declare const DEFAULT_EXEC_ARGV: string[];
|
17
17
|
export declare const DEFAULT_TS_RUNNER: TsRunner | undefined;
|
18
|
+
export declare const DEFAULT_GLOBAL_SHIMS: boolean;
|
19
|
+
export declare const DEFAULT_GLOBAL_SHIMS_PRESET: GlobalShim[];
|
18
20
|
export declare const MTS_SUPPORTED_NODE_VERSION = 16;
|
19
21
|
export interface SynckitOptions {
|
20
22
|
bufferSize?: number;
|
@@ -22,10 +24,13 @@ export interface SynckitOptions {
|
|
22
24
|
execArgv?: string[];
|
23
25
|
tsRunner?: TsRunner;
|
24
26
|
transferList?: TransferListItem[];
|
27
|
+
globalShims?: GlobalShim[] | boolean;
|
25
28
|
}
|
26
29
|
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>(workerPath: string, bufferSize?: number, timeout?: number): Syncify<T>;
|
29
32
|
export declare function createSyncFn<T extends AnyAsyncFn>(workerPath: string, options?: SynckitOptions): Syncify<T>;
|
30
33
|
export declare const isFile: (path: string) => boolean;
|
34
|
+
export declare const encodeImportModule: (moduleNameOrGlobalShim: GlobalShim | string, type?: 'import' | 'require') => string;
|
35
|
+
export declare const generateGlobals: (workerPath: string, globalShims: GlobalShim[], type?: 'import' | 'require') => string;
|
31
36
|
export declare function runAsWorker<R = unknown, T extends AnyAsyncFn<R> = AnyAsyncFn<R>>(fn: T): void;
|
package/lib/index.js
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
import { __awaiter } from "tslib";
|
2
|
+
import { createHash } from 'node:crypto';
|
2
3
|
import fs from 'node:fs';
|
3
4
|
import { createRequire } from 'node:module';
|
4
5
|
import path from 'node:path';
|
5
|
-
import { pathToFileURL } from 'node:url';
|
6
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
6
7
|
import { MessageChannel, Worker, parentPort, receiveMessageOnPort, workerData, } from 'node:worker_threads';
|
7
8
|
import { findUp, isPkgAvailable, tryExtensions } from '@pkgr/utils';
|
8
9
|
export * from './types.js';
|
@@ -13,7 +14,7 @@ export const TsRunner = {
|
|
13
14
|
SWC: 'swc',
|
14
15
|
TSX: 'tsx',
|
15
16
|
};
|
16
|
-
const { SYNCKIT_BUFFER_SIZE, SYNCKIT_TIMEOUT, SYNCKIT_EXEC_ARGV, SYNCKIT_TS_RUNNER, NODE_OPTIONS, } = process.env;
|
17
|
+
const { SYNCKIT_BUFFER_SIZE, SYNCKIT_TIMEOUT, SYNCKIT_EXEC_ARGV, SYNCKIT_TS_RUNNER, SYNCKIT_GLOBAL_SHIMS, NODE_OPTIONS, } = process.env;
|
17
18
|
export const DEFAULT_BUFFER_SIZE = SYNCKIT_BUFFER_SIZE
|
18
19
|
? +SYNCKIT_BUFFER_SIZE
|
19
20
|
: undefined;
|
@@ -21,6 +22,18 @@ export const DEFAULT_TIMEOUT = SYNCKIT_TIMEOUT ? +SYNCKIT_TIMEOUT : undefined;
|
|
21
22
|
export const DEFAULT_WORKER_BUFFER_SIZE = DEFAULT_BUFFER_SIZE || 1024;
|
22
23
|
export const DEFAULT_EXEC_ARGV = (SYNCKIT_EXEC_ARGV === null || SYNCKIT_EXEC_ARGV === void 0 ? void 0 : SYNCKIT_EXEC_ARGV.split(',')) || [];
|
23
24
|
export const DEFAULT_TS_RUNNER = SYNCKIT_TS_RUNNER;
|
25
|
+
export const DEFAULT_GLOBAL_SHIMS = ['1', 'true'].includes(SYNCKIT_GLOBAL_SHIMS);
|
26
|
+
export const DEFAULT_GLOBAL_SHIMS_PRESET = [
|
27
|
+
{
|
28
|
+
moduleName: 'node-fetch',
|
29
|
+
globalName: 'fetch',
|
30
|
+
},
|
31
|
+
{
|
32
|
+
moduleName: 'node:perf_hooks',
|
33
|
+
globalName: 'performance',
|
34
|
+
named: 'performance',
|
35
|
+
},
|
36
|
+
];
|
24
37
|
export const MTS_SUPPORTED_NODE_VERSION = 16;
|
25
38
|
const syncFnCache = new Map();
|
26
39
|
export function extractProperties(object) {
|
@@ -91,6 +104,7 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
91
104
|
}
|
92
105
|
}
|
93
106
|
const isTs = /\.[cm]?ts$/.test(workerPath);
|
107
|
+
let jsUseEsm = workerPath.endsWith('.mjs');
|
94
108
|
let tsUseEsm = workerPath.endsWith('.mts');
|
95
109
|
if (isTs) {
|
96
110
|
if (!tsUseEsm) {
|
@@ -145,6 +159,13 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
145
159
|
}
|
146
160
|
}
|
147
161
|
}
|
162
|
+
else if (!jsUseEsm) {
|
163
|
+
const pkg = findUp(workerPath);
|
164
|
+
if (pkg) {
|
165
|
+
jsUseEsm =
|
166
|
+
cjsRequire(pkg).type === 'module';
|
167
|
+
}
|
168
|
+
}
|
148
169
|
if (process.versions.pnp) {
|
149
170
|
const nodeOptions = NODE_OPTIONS === null || NODE_OPTIONS === void 0 ? void 0 : NODE_OPTIONS.split(/\s+/);
|
150
171
|
let pnpApiPath;
|
@@ -167,15 +188,76 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
167
188
|
return {
|
168
189
|
ext,
|
169
190
|
isTs,
|
191
|
+
jsUseEsm,
|
170
192
|
tsRunner,
|
171
193
|
tsUseEsm,
|
172
194
|
workerPath,
|
173
195
|
execArgv,
|
174
196
|
};
|
175
197
|
};
|
176
|
-
|
198
|
+
const md5Hash = (text) => createHash('md5').update(text).digest('hex');
|
199
|
+
export const encodeImportModule = (moduleNameOrGlobalShim, type = 'import') => {
|
200
|
+
const { moduleName, globalName, named, conditional } = typeof moduleNameOrGlobalShim === 'string'
|
201
|
+
? { moduleName: moduleNameOrGlobalShim }
|
202
|
+
: moduleNameOrGlobalShim;
|
203
|
+
const importStatement = type === 'import'
|
204
|
+
? `import${globalName
|
205
|
+
? ' ' +
|
206
|
+
(named === null
|
207
|
+
? '* as ' + globalName
|
208
|
+
: (named === null || named === void 0 ? void 0 : named.trim())
|
209
|
+
? `{${named}}`
|
210
|
+
: globalName) +
|
211
|
+
' from'
|
212
|
+
: ''} '${path.isAbsolute(moduleName)
|
213
|
+
? String(pathToFileURL(moduleName))
|
214
|
+
: moduleName}'`
|
215
|
+
: `${globalName
|
216
|
+
? 'const ' + ((named === null || named === void 0 ? void 0 : named.trim()) ? `{${named}}` : globalName) + '='
|
217
|
+
: ''}require('${moduleName
|
218
|
+
.replace(/\\/g, '\\\\')}')`;
|
219
|
+
if (!globalName) {
|
220
|
+
return importStatement;
|
221
|
+
}
|
222
|
+
const overrideStatement = `globalThis.${globalName}=${(named === null || named === void 0 ? void 0 : named.trim()) ? named : globalName}`;
|
223
|
+
return (importStatement +
|
224
|
+
(conditional === false
|
225
|
+
? `;${overrideStatement}`
|
226
|
+
: `;if(!globalThis.${globalName})${overrideStatement}`));
|
227
|
+
};
|
228
|
+
export const _generateGlobals = (globalShims, type) => globalShims.reduce((acc, shim) => `${acc}${acc ? ';' : ''}${encodeImportModule(shim, type)}`, '');
|
229
|
+
const globalsCache = new Map();
|
230
|
+
let tmpdir;
|
231
|
+
const _dirname = typeof __dirname === 'undefined'
|
232
|
+
? path.dirname(fileURLToPath(import.meta.url))
|
233
|
+
: __dirname;
|
234
|
+
export const generateGlobals = (workerPath, globalShims, type = 'import') => {
|
235
|
+
const cached = globalsCache.get(workerPath);
|
236
|
+
if (cached) {
|
237
|
+
const [content, filepath] = cached;
|
238
|
+
if ((type === 'require' && !filepath) ||
|
239
|
+
(type === 'import' && filepath && isFile(filepath))) {
|
240
|
+
return content;
|
241
|
+
}
|
242
|
+
}
|
243
|
+
const globals = _generateGlobals(globalShims, type);
|
244
|
+
let content = globals;
|
245
|
+
let filepath;
|
246
|
+
if (type === 'import') {
|
247
|
+
if (!tmpdir) {
|
248
|
+
tmpdir = path.resolve(findUp(_dirname), '../node_modules/.synckit');
|
249
|
+
}
|
250
|
+
fs.mkdirSync(tmpdir, { recursive: true });
|
251
|
+
filepath = path.resolve(tmpdir, md5Hash(workerPath) + '.mjs');
|
252
|
+
content = encodeImportModule(filepath);
|
253
|
+
fs.writeFileSync(filepath, globals);
|
254
|
+
}
|
255
|
+
globalsCache.set(workerPath, [content, filepath]);
|
256
|
+
return content;
|
257
|
+
};
|
258
|
+
function startWorkerThread(workerPath, { bufferSize = DEFAULT_WORKER_BUFFER_SIZE, timeout = DEFAULT_TIMEOUT, execArgv = DEFAULT_EXEC_ARGV, tsRunner = DEFAULT_TS_RUNNER, transferList = [], globalShims = DEFAULT_GLOBAL_SHIMS, } = {}) {
|
177
259
|
const { port1: mainPort, port2: workerPort } = new MessageChannel();
|
178
|
-
const { isTs, ext, tsUseEsm, tsRunner: finalTsRunner, workerPath: finalWorkerPath, execArgv: finalExecArgv, } = setupTsRunner(workerPath, { execArgv, tsRunner });
|
260
|
+
const { isTs, ext, jsUseEsm, tsUseEsm, tsRunner: finalTsRunner, workerPath: finalWorkerPath, execArgv: finalExecArgv, } = setupTsRunner(workerPath, { execArgv, tsRunner });
|
179
261
|
const workerPathUrl = pathToFileURL(finalWorkerPath);
|
180
262
|
if (/\.[cm]ts$/.test(finalWorkerPath)) {
|
181
263
|
const isTsxSupported = !tsUseEsm ||
|
@@ -195,12 +277,17 @@ function startWorkerThread(workerPath, { bufferSize = DEFAULT_WORKER_BUFFER_SIZE
|
|
195
277
|
: ''));
|
196
278
|
}
|
197
279
|
}
|
198
|
-
const
|
199
|
-
|
200
|
-
|
280
|
+
const finalGlobalShims = (globalShims === true
|
281
|
+
? DEFAULT_GLOBAL_SHIMS_PRESET
|
282
|
+
: Array.isArray(globalShims)
|
283
|
+
? globalShims
|
284
|
+
: []).filter(({ moduleName }) => isPkgAvailable(moduleName));
|
285
|
+
const useGlobals = finalGlobalShims.length > 0;
|
286
|
+
const useEval = isTs ? !tsUseEsm : !jsUseEsm && useGlobals;
|
287
|
+
const worker = new Worker((jsUseEsm && useGlobals) || (tsUseEsm && finalTsRunner === TsRunner.TsNode)
|
288
|
+
? dataUrl(`${generateGlobals(finalWorkerPath, finalGlobalShims)};import '${String(workerPathUrl)}'`)
|
201
289
|
: useEval
|
202
|
-
?
|
203
|
-
`require('${finalWorkerPath.replace(/\\/g, '\\\\')}')`
|
290
|
+
? `${generateGlobals(finalWorkerPath, finalGlobalShims, 'require')};${encodeImportModule(finalWorkerPath, 'require')}`
|
204
291
|
: workerPathUrl, {
|
205
292
|
eval: useEval,
|
206
293
|
workerData: { workerPort },
|
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
@@ -22,3 +22,9 @@ export interface DataMessage<T> {
|
|
22
22
|
export interface WorkerToMainMessage<T = unknown> extends DataMessage<T> {
|
23
23
|
id: number;
|
24
24
|
}
|
25
|
+
export interface GlobalShim {
|
26
|
+
moduleName: string;
|
27
|
+
globalName?: string;
|
28
|
+
named?: string | null;
|
29
|
+
conditional?: boolean;
|
30
|
+
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "synckit",
|
3
|
-
"version": "0.8.
|
3
|
+
"version": "0.8.7",
|
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",
|