synckit 0.8.0 → 0.8.1
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/lib/index.cjs +21 -10
- package/lib/index.d.ts +1 -0
- package/lib/index.js +26 -15
- package/lib/index.js.map +1 -1
- package/package.json +85 -1
package/lib/index.cjs
CHANGED
@@ -50,6 +50,7 @@ const DEFAULT_TIMEOUT = SYNCKIT_TIMEOUT ? +SYNCKIT_TIMEOUT : void 0;
|
|
50
50
|
const DEFAULT_WORKER_BUFFER_SIZE = DEFAULT_BUFFER_SIZE || 1024;
|
51
51
|
const DEFAULT_EXEC_ARGV = (SYNCKIT_EXEC_ARV == null ? void 0 : SYNCKIT_EXEC_ARV.split(",")) || [];
|
52
52
|
const DEFAULT_TS_RUNNER = SYNCKIT_TS_RUNNER || TsRunner.TsNode;
|
53
|
+
const MTS_SUPPORTED_NODE_VERSION = 16;
|
53
54
|
const syncFnCache = /* @__PURE__ */ new Map();
|
54
55
|
const extractProperties = (object) => {
|
55
56
|
if (object && typeof object === "object") {
|
@@ -75,7 +76,7 @@ function createSyncFn(workerPath, bufferSizeOrOptions, timeout) {
|
|
75
76
|
const cjsRequire = typeof require === "undefined" ? node_module.createRequire(import_meta.url) : require;
|
76
77
|
const dataUrl = (code) => new URL(`data:text/javascript,${encodeURIComponent(code)}`);
|
77
78
|
const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
78
|
-
|
79
|
+
let ext = path__default["default"].extname(workerPath);
|
79
80
|
if (!/[/\\]node_modules[/\\]/.test(workerPath) && (!ext || /^\.[cm]?js$/.test(ext))) {
|
80
81
|
const workPathWithoutExt = ext ? workerPath.slice(0, -ext.length) : workerPath;
|
81
82
|
let extensions;
|
@@ -91,8 +92,12 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
91
92
|
break;
|
92
93
|
}
|
93
94
|
const found = utils.tryExtensions(workPathWithoutExt, extensions);
|
94
|
-
|
95
|
+
let differentExt;
|
96
|
+
if (found && (!ext || (differentExt = found !== workPathWithoutExt))) {
|
95
97
|
workerPath = found;
|
98
|
+
if (differentExt) {
|
99
|
+
ext = path__default["default"].extname(workerPath);
|
100
|
+
}
|
96
101
|
}
|
97
102
|
}
|
98
103
|
const isTs = /\.[cm]?ts$/.test(workerPath);
|
@@ -154,21 +159,26 @@ function startWorkerThread(workerPath, {
|
|
154
159
|
} = {}) {
|
155
160
|
const { port1: mainPort, port2: workerPort } = new node_worker_threads.MessageChannel();
|
156
161
|
const {
|
162
|
+
isTs,
|
157
163
|
ext,
|
158
164
|
tsUseEsm,
|
159
165
|
workerPath: finalWorkerPath,
|
160
166
|
execArgv: finalExecArgv
|
161
167
|
} = setupTsRunner(workerPath, { execArgv, tsRunner });
|
162
168
|
const workerPathUrl = node_url.pathToFileURL(finalWorkerPath);
|
163
|
-
if (/\.[cm]ts$/.test(finalWorkerPath)
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
169
|
+
if (/\.[cm]ts$/.test(finalWorkerPath)) {
|
170
|
+
const isTsxSupported = !tsUseEsm || Number.parseFloat(process.versions.node) >= MTS_SUPPORTED_NODE_VERSION;
|
171
|
+
if ([
|
172
|
+
TsRunner.EsbuildRegister,
|
173
|
+
TsRunner.EsbuildRunner,
|
174
|
+
...isTsxSupported ? [] : [TsRunner.TSX]
|
175
|
+
].includes(tsRunner)) {
|
176
|
+
throw new Error(`${tsRunner} is not supported for ${ext} files yet` + (isTsxSupported ? ", you can try [tsx](https://github.com/esbuild-kit/tsx) instead" : ""));
|
177
|
+
}
|
168
178
|
}
|
169
|
-
const
|
170
|
-
|
171
|
-
|
179
|
+
const useEval = isTs && !tsUseEsm;
|
180
|
+
const worker = new node_worker_threads.Worker(tsUseEsm && tsRunner === TsRunner.TsNode ? dataUrl(`import '${String(workerPathUrl)}'`) : useEval ? `require('${finalWorkerPath.replace(/\\/g, "\\\\")}')` : workerPathUrl, {
|
181
|
+
eval: useEval,
|
172
182
|
workerData: { workerPort },
|
173
183
|
transferList: [workerPort],
|
174
184
|
execArgv: finalExecArgv
|
@@ -231,6 +241,7 @@ exports.DEFAULT_EXEC_ARGV = DEFAULT_EXEC_ARGV;
|
|
231
241
|
exports.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT;
|
232
242
|
exports.DEFAULT_TS_RUNNER = DEFAULT_TS_RUNNER;
|
233
243
|
exports.DEFAULT_WORKER_BUFFER_SIZE = DEFAULT_WORKER_BUFFER_SIZE;
|
244
|
+
exports.MTS_SUPPORTED_NODE_VERSION = MTS_SUPPORTED_NODE_VERSION;
|
234
245
|
exports.TsRunner = TsRunner;
|
235
246
|
exports.createSyncFn = createSyncFn;
|
236
247
|
exports.extractProperties = extractProperties;
|
package/lib/index.d.ts
CHANGED
@@ -12,6 +12,7 @@ export declare const DEFAULT_TIMEOUT: number | undefined;
|
|
12
12
|
export declare const DEFAULT_WORKER_BUFFER_SIZE: number;
|
13
13
|
export declare const DEFAULT_EXEC_ARGV: string[];
|
14
14
|
export declare const DEFAULT_TS_RUNNER: TsRunner;
|
15
|
+
export declare const MTS_SUPPORTED_NODE_VERSION = 16;
|
15
16
|
export interface SynckitOptions {
|
16
17
|
bufferSize?: number;
|
17
18
|
timeout?: number;
|
package/lib/index.js
CHANGED
@@ -27,6 +27,7 @@ export const DEFAULT_WORKER_BUFFER_SIZE = DEFAULT_BUFFER_SIZE || 1024;
|
|
27
27
|
export const DEFAULT_EXEC_ARGV = (SYNCKIT_EXEC_ARV === null || SYNCKIT_EXEC_ARV === void 0 ? void 0 : SYNCKIT_EXEC_ARV.split(',')) || [];
|
28
28
|
export const DEFAULT_TS_RUNNER = (SYNCKIT_TS_RUNNER ||
|
29
29
|
TsRunner.TsNode);
|
30
|
+
export const MTS_SUPPORTED_NODE_VERSION = 16;
|
30
31
|
const syncFnCache = new Map();
|
31
32
|
// MessagePort doesn't copy the properties of Error objects. We still want
|
32
33
|
// error objects to have extra properties such as "warnings" so implement the
|
@@ -60,7 +61,7 @@ const cjsRequire = typeof require === 'undefined'
|
|
60
61
|
: /* istanbul ignore next */ require;
|
61
62
|
const dataUrl = (code) => new URL(`data:text/javascript,${encodeURIComponent(code)}`);
|
62
63
|
const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
63
|
-
|
64
|
+
let ext = path.extname(workerPath);
|
64
65
|
if (!/[/\\]node_modules[/\\]/.test(workerPath) &&
|
65
66
|
(!ext || /^\.[cm]?js$/.test(ext))) {
|
66
67
|
const workPathWithoutExt = ext
|
@@ -79,8 +80,12 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
79
80
|
break;
|
80
81
|
}
|
81
82
|
const found = tryExtensions(workPathWithoutExt, extensions);
|
82
|
-
|
83
|
+
let differentExt;
|
84
|
+
if (found && (!ext || (differentExt = found !== workPathWithoutExt))) {
|
83
85
|
workerPath = found;
|
86
|
+
if (differentExt) {
|
87
|
+
ext = path.extname(workerPath);
|
88
|
+
}
|
84
89
|
}
|
85
90
|
}
|
86
91
|
const isTs = /\.[cm]?ts$/.test(workerPath);
|
@@ -137,29 +142,35 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
137
142
|
execArgv,
|
138
143
|
};
|
139
144
|
};
|
145
|
+
// eslint-disable-next-line sonarjs/cognitive-complexity
|
140
146
|
function startWorkerThread(workerPath, { bufferSize = DEFAULT_WORKER_BUFFER_SIZE, timeout = DEFAULT_TIMEOUT, execArgv = DEFAULT_EXEC_ARGV, tsRunner = DEFAULT_TS_RUNNER, } = {}) {
|
141
147
|
const { port1: mainPort, port2: workerPort } = new MessageChannel();
|
142
|
-
const { ext, tsUseEsm, workerPath: finalWorkerPath, execArgv: finalExecArgv, } = setupTsRunner(workerPath, { execArgv, tsRunner });
|
148
|
+
const { isTs, ext, tsUseEsm, workerPath: finalWorkerPath, execArgv: finalExecArgv, } = setupTsRunner(workerPath, { execArgv, tsRunner });
|
143
149
|
const workerPathUrl = pathToFileURL(finalWorkerPath);
|
144
|
-
if (/\.[cm]ts$/.test(finalWorkerPath)
|
145
|
-
|
150
|
+
if (/\.[cm]ts$/.test(finalWorkerPath)) {
|
151
|
+
const isTsxSupported = !tsUseEsm ||
|
152
|
+
Number.parseFloat(process.versions.node) >= MTS_SUPPORTED_NODE_VERSION;
|
153
|
+
/* istanbul ignore if */
|
154
|
+
if ([
|
146
155
|
// https://github.com/egoist/esbuild-register/issues/79
|
147
156
|
TsRunner.EsbuildRegister,
|
148
157
|
// https://github.com/folke/esbuild-runner/issues/67
|
149
158
|
TsRunner.EsbuildRunner,
|
159
|
+
... /* istanbul ignore next */(isTsxSupported ? [] : [TsRunner.TSX]),
|
150
160
|
].includes(tsRunner)) {
|
151
|
-
|
161
|
+
throw new Error(`${tsRunner} is not supported for ${ext} files yet` +
|
162
|
+
(isTsxSupported
|
163
|
+
? ', you can try [tsx](https://github.com/esbuild-kit/tsx) instead'
|
164
|
+
: ''));
|
165
|
+
}
|
152
166
|
}
|
153
|
-
const
|
154
|
-
|
155
|
-
TsRunner.TsNode,
|
156
|
-
// https://github.com/egoist/esbuild-register/issues/79
|
157
|
-
// TsRunner.EsbuildRegister,
|
158
|
-
// https://github.com/folke/esbuild-runner/issues/67
|
159
|
-
// TsRunner.EsbuildRunner
|
160
|
-
].includes(tsRunner)
|
167
|
+
const useEval = isTs && !tsUseEsm;
|
168
|
+
const worker = new Worker(tsUseEsm && tsRunner === TsRunner.TsNode
|
161
169
|
? dataUrl(`import '${String(workerPathUrl)}'`)
|
162
|
-
:
|
170
|
+
: useEval
|
171
|
+
? `require('${finalWorkerPath.replace(/\\/g, '\\\\')}')`
|
172
|
+
: workerPathUrl, {
|
173
|
+
eval: useEval,
|
163
174
|
workerData: { workerPort },
|
164
175
|
transferList: [workerPort],
|
165
176
|
execArgv: finalExecArgv,
|
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/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "synckit",
|
3
|
-
"version": "0.8.
|
3
|
+
"version": "0.8.1",
|
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/rx-ts/synckit.git",
|
@@ -63,8 +63,92 @@
|
|
63
63
|
"synchronize",
|
64
64
|
"synckit"
|
65
65
|
],
|
66
|
+
"scripts": {
|
67
|
+
"benchmark": "run-s benchmark:*",
|
68
|
+
"benchmark-export": "run-s benchmark-export:*",
|
69
|
+
"benchmark-export:cjs": "yarn benchmark:cjs > benchmarks/benchmark.cjs.txt",
|
70
|
+
"benchmark-export:esm": "yarn benchmark:esm> benchmarks/benchmark.esm.txt",
|
71
|
+
"benchmark:cjs": "node benchmarks/benchmark.cjs",
|
72
|
+
"benchmark:esm": "node benchmarks/benchmark.js",
|
73
|
+
"build": "run-p build:*",
|
74
|
+
"build:r": "r -f cjs",
|
75
|
+
"build:ts": "tsc -p src",
|
76
|
+
"lint": "run-p lint:*",
|
77
|
+
"lint:es": "eslint . --cache -f friendly --max-warnings 10",
|
78
|
+
"lint:tsc": "tsc --noEmit",
|
79
|
+
"prepare": "patch-package && simple-git-hooks && yarn-deduplicate --strategy fewer || exit 0",
|
80
|
+
"prerelease": "yarn build",
|
81
|
+
"release": "changeset publish",
|
82
|
+
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
|
83
|
+
"typecov": "type-coverage"
|
84
|
+
},
|
66
85
|
"dependencies": {
|
67
86
|
"@pkgr/utils": "^2.3.0",
|
68
87
|
"tslib": "^2.4.0"
|
88
|
+
},
|
89
|
+
"devDependencies": {
|
90
|
+
"@1stg/lib-config": "^9.0.0",
|
91
|
+
"@changesets/changelog-github": "^0.4.5",
|
92
|
+
"@changesets/cli": "^2.23.2",
|
93
|
+
"@types/jest": "^28.1.5",
|
94
|
+
"@types/node": "^18.0.4",
|
95
|
+
"deasync": "^0.1.27",
|
96
|
+
"esbuild-register": "^3.3.3",
|
97
|
+
"esbuild-runner": "^2.2.1",
|
98
|
+
"jest": "^28.1.3",
|
99
|
+
"patch-package": "^6.4.7",
|
100
|
+
"sync-threads": "^1.0.1",
|
101
|
+
"ts-expect": "^1.3.0",
|
102
|
+
"ts-jest": "^28.0.6",
|
103
|
+
"ts-node": "^10.9.1",
|
104
|
+
"tsx": "^3.8.0",
|
105
|
+
"type-coverage": "^2.22.0",
|
106
|
+
"typescript": "^4.7.4",
|
107
|
+
"yarn-deduplicate": "^5.0.0"
|
108
|
+
},
|
109
|
+
"resolutions": {
|
110
|
+
"prettier": "^2.7.1"
|
111
|
+
},
|
112
|
+
"commitlint": {
|
113
|
+
"extends": "@1stg"
|
114
|
+
},
|
115
|
+
"jest": {
|
116
|
+
"preset": "ts-jest",
|
117
|
+
"testEnvironment": "node",
|
118
|
+
"collectCoverage": true,
|
119
|
+
"extensionsToTreatAsEsm": [
|
120
|
+
".ts"
|
121
|
+
],
|
122
|
+
"moduleNameMapper": {
|
123
|
+
"^(\\.{1,2}/.*)\\.js$": "$1",
|
124
|
+
"^synckit$": "<rootDir>/src"
|
125
|
+
},
|
126
|
+
"globals": {
|
127
|
+
"ts-jest": {
|
128
|
+
"useESM": true,
|
129
|
+
"tsconfig": {
|
130
|
+
"importHelpers": false
|
131
|
+
}
|
132
|
+
}
|
133
|
+
}
|
134
|
+
},
|
135
|
+
"prettier": "@1stg/prettier-config",
|
136
|
+
"renovate": {
|
137
|
+
"extends": [
|
138
|
+
"@1stg"
|
139
|
+
]
|
140
|
+
},
|
141
|
+
"typeCoverage": {
|
142
|
+
"atLeast": 100,
|
143
|
+
"cache": true,
|
144
|
+
"detail": true,
|
145
|
+
"ignoreAsAssertion": true,
|
146
|
+
"ignoreFiles": [
|
147
|
+
"**/*.d.ts"
|
148
|
+
],
|
149
|
+
"ignoreNonNullAssertion": true,
|
150
|
+
"showRelativePath": true,
|
151
|
+
"strict": true,
|
152
|
+
"update": true
|
69
153
|
}
|
70
154
|
}
|