Update checked-in dependencies
This commit is contained in:
parent
49f7b34c3d
commit
5261a1223f
1640 changed files with 174830 additions and 182292 deletions
62
node_modules/synckit/README.md
generated
vendored
62
node_modules/synckit/README.md
generated
vendored
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
[](https://github.com/un-ts/synckit/actions/workflows/ci.yml)
|
||||
[](https://codecov.io/gh/un-ts/synckit)
|
||||
[](https://lgtm.com/projects/g/un-ts/synckit/context:javascript)
|
||||
[](https://github.com/plantain-00/type-coverage)
|
||||
[](https://www.npmjs.com/package/synckit)
|
||||
[](https://github.com/un-ts/synckit/releases)
|
||||
|
|
@ -12,13 +11,14 @@
|
|||
[](https://standardjs.com)
|
||||
[](https://github.com/prettier/prettier)
|
||||
|
||||
Perform async work synchronously in Node.js using `worker_threads` with first-class TypeScript support.
|
||||
Perform async work synchronously in Node.js using `worker_threads` with first-class TypeScript and Yarn P'n'P support.
|
||||
|
||||
## TOC <!-- omit in toc -->
|
||||
|
||||
- [Usage](#usage)
|
||||
- [Install](#install)
|
||||
- [API](#api)
|
||||
- [Types](#types)
|
||||
- [Options](#options)
|
||||
- [Envs](#envs)
|
||||
- [TypeScript](#typescript)
|
||||
|
|
@ -72,18 +72,56 @@ runAsWorker(async (...args) => {
|
|||
|
||||
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)
|
||||
|
||||
### Types
|
||||
|
||||
````ts
|
||||
export interface GlobalShim {
|
||||
moduleName: string
|
||||
/**
|
||||
* `undefined` means side effect only
|
||||
*/
|
||||
globalName?: string
|
||||
/**
|
||||
* 1. `undefined` or empty string means `default`, for example:
|
||||
* ```js
|
||||
* import globalName from 'module-name'
|
||||
* ```
|
||||
*
|
||||
* 2. `null` means namespaced, for example:
|
||||
* ```js
|
||||
* import * as globalName from 'module-name'
|
||||
* ```
|
||||
*
|
||||
*/
|
||||
named?: string | null
|
||||
/**
|
||||
* If not `false`, the shim will only be applied when the original `globalName` unavailable,
|
||||
* for example you may only want polyfill `globalThis.fetch` when it's unavailable natively:
|
||||
* ```js
|
||||
* import fetch from 'node-fetch'
|
||||
*
|
||||
* if (!globalThis.fetch) {
|
||||
* globalThis.fetch = fetch
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
conditional?: boolean
|
||||
}
|
||||
````
|
||||
|
||||
### Options
|
||||
|
||||
1. `bufferSize` same as env `SYNCKIT_BUFFER_SIZE`
|
||||
2. `timeout` same as env `SYNCKIT_TIMEOUT`
|
||||
3. `execArgv` same as env `SYNCKIT_EXEC_ARGV`
|
||||
4. `tsRunner` same as env `SYNCKIT_TS_RUNNER`
|
||||
1. `execArgv` same as env `SYNCKIT_EXEC_ARGV`
|
||||
2. `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
|
||||
3. `timeout` same as env `SYNCKIT_TIMEOUT`
|
||||
4. `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
|
||||
5. `tsRunner` same as env `SYNCKIT_TS_RUNNER`
|
||||
|
||||
### Envs
|
||||
|
||||
1. `SYNCKIT_BUFFER_SIZE`: `bufferSize` to create `SharedArrayBuffer` for `worker_threads` (default as `1024`)
|
||||
2. `SYNCKIT_TIMEOUT`: `timeout` for performing the async job (no default)
|
||||
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)
|
||||
1. `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)
|
||||
2. `SYNCKIT_GLOBAL_SHIMS`: Whether to enable the default `DEFAULT_GLOBAL_SHIMS_PRESET` as `globalShims`
|
||||
3. `SYNCKIT_TIMEOUT`: `timeout` for performing the async job (no default)
|
||||
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
|
||||
|
||||
### TypeScript
|
||||
|
|
@ -114,9 +152,9 @@ Please view [`tsx`][] for its document
|
|||
|
||||
## Benchmark
|
||||
|
||||
It is about 20x faster than [`sync-threads`](https://github.com/lambci/sync-threads) but 3x slower than native for reading the file content itself 1000 times during runtime, and 18x faster than `sync-threads` but 4x slower than native for total time.
|
||||
It is about 50x faster than [`sync-threads`](https://github.com/lambci/sync-threads) but 10x slower than native for reading the file content itself 1000 times during runtime, and 40x faster than `sync-threads` but 10x slower than native for total time on my personal MacBook Pro with 64G M1 Max.
|
||||
|
||||
And it's almost same as [`deasync`](https://github.com/abbr/deasync) but requires no native bindings or `node-gyp`.
|
||||
And it's almost 5x faster than [`deasync`](https://github.com/abbr/deasync) but requires no native bindings or `node-gyp`.
|
||||
|
||||
See [benchmark.cjs](./benchmarks/benchmark.cjs.txt) and [benchmark.esm](./benchmarks/benchmark.esm.txt) for more details.
|
||||
|
||||
|
|
@ -130,6 +168,8 @@ You can try it with running `yarn benchmark` by yourself. [Here](./benchmarks/be
|
|||
|
||||
## Backers
|
||||
|
||||
[](https://github.com/sponsors/JounQin)
|
||||
|
||||
| 1stG | RxTS | UnTS |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| [](https://opencollective.com/1stG) | [](https://opencollective.com/rxts) | [](https://opencollective.com/unts) |
|
||||
|
|
|
|||
353
node_modules/synckit/lib/index.cjs
generated
vendored
353
node_modules/synckit/lib/index.cjs
generated
vendored
|
|
@ -1,19 +1,41 @@
|
|||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
var node_crypto = require('node:crypto');
|
||||
var fs = require('node:fs');
|
||||
var node_module = require('node:module');
|
||||
var module$1 = require('node:module');
|
||||
var path = require('node:path');
|
||||
var node_url = require('node:url');
|
||||
var node_worker_threads = require('node:worker_threads');
|
||||
var utils = require('@pkgr/utils');
|
||||
|
||||
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
||||
|
||||
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
||||
var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
|
||||
var core = require('@pkgr/core');
|
||||
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
||||
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
||||
var __spreadValues = (a, b) => {
|
||||
for (var prop in b || (b = {}))
|
||||
if (__hasOwnProp.call(b, prop))
|
||||
__defNormalProp(a, prop, b[prop]);
|
||||
if (__getOwnPropSymbols)
|
||||
for (var prop of __getOwnPropSymbols(b)) {
|
||||
if (__propIsEnum.call(b, prop))
|
||||
__defNormalProp(a, prop, b[prop]);
|
||||
}
|
||||
return a;
|
||||
};
|
||||
var __objRest = (source, exclude) => {
|
||||
var target = {};
|
||||
for (var prop in source)
|
||||
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
||||
target[prop] = source[prop];
|
||||
if (source != null && __getOwnPropSymbols)
|
||||
for (var prop of __getOwnPropSymbols(source)) {
|
||||
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
||||
target[prop] = source[prop];
|
||||
}
|
||||
return target;
|
||||
};
|
||||
var __async = (__this, __arguments, generator) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
var fulfilled = (value) => {
|
||||
|
|
@ -35,27 +57,46 @@ var __async = (__this, __arguments, generator) => {
|
|||
});
|
||||
};
|
||||
const import_meta = {};
|
||||
const INT32_BYTES = 4;
|
||||
const TsRunner = {
|
||||
// https://github.com/TypeStrong/ts-node
|
||||
TsNode: "ts-node",
|
||||
// https://github.com/egoist/esbuild-register
|
||||
EsbuildRegister: "esbuild-register",
|
||||
// https://github.com/folke/esbuild-runner
|
||||
EsbuildRunner: "esbuild-runner",
|
||||
// https://github.com/swc-project/swc-node/tree/master/packages/register
|
||||
SWC: "swc",
|
||||
// https://github.com/esbuild-kit/tsx
|
||||
TSX: "tsx"
|
||||
};
|
||||
const {
|
||||
SYNCKIT_BUFFER_SIZE,
|
||||
SYNCKIT_TIMEOUT,
|
||||
NODE_OPTIONS,
|
||||
SYNCKIT_EXEC_ARGV,
|
||||
SYNCKIT_TS_RUNNER,
|
||||
NODE_OPTIONS
|
||||
SYNCKIT_GLOBAL_SHIMS,
|
||||
SYNCKIT_TIMEOUT,
|
||||
SYNCKIT_TS_RUNNER
|
||||
} = process.env;
|
||||
const DEFAULT_BUFFER_SIZE = SYNCKIT_BUFFER_SIZE ? +SYNCKIT_BUFFER_SIZE : void 0;
|
||||
const IS_NODE_20 = Number(process.versions.node.split(".")[0]) >= 20;
|
||||
const DEFAULT_TIMEOUT = SYNCKIT_TIMEOUT ? +SYNCKIT_TIMEOUT : void 0;
|
||||
const DEFAULT_WORKER_BUFFER_SIZE = DEFAULT_BUFFER_SIZE || 1024;
|
||||
const DEFAULT_EXEC_ARGV = (SYNCKIT_EXEC_ARGV == null ? void 0 : SYNCKIT_EXEC_ARGV.split(",")) || [];
|
||||
const DEFAULT_TS_RUNNER = SYNCKIT_TS_RUNNER || TsRunner.TsNode;
|
||||
const DEFAULT_TS_RUNNER = SYNCKIT_TS_RUNNER;
|
||||
const DEFAULT_GLOBAL_SHIMS = ["1", "true"].includes(
|
||||
SYNCKIT_GLOBAL_SHIMS
|
||||
);
|
||||
const DEFAULT_GLOBAL_SHIMS_PRESET = [
|
||||
{
|
||||
moduleName: "node-fetch",
|
||||
globalName: "fetch"
|
||||
},
|
||||
{
|
||||
moduleName: "node:perf_hooks",
|
||||
globalName: "performance",
|
||||
named: "performance"
|
||||
}
|
||||
];
|
||||
const MTS_SUPPORTED_NODE_VERSION = 16;
|
||||
const syncFnCache = /* @__PURE__ */ new Map();
|
||||
let syncFnCache;
|
||||
function extractProperties(object) {
|
||||
if (object && typeof object === "object") {
|
||||
const properties = {};
|
||||
|
|
@ -65,64 +106,77 @@ function extractProperties(object) {
|
|||
return properties;
|
||||
}
|
||||
}
|
||||
function createSyncFn(workerPath, bufferSizeOrOptions, timeout) {
|
||||
if (!path__default["default"].isAbsolute(workerPath)) {
|
||||
throw new Error("`workerPath` must be absolute");
|
||||
}
|
||||
function createSyncFn(workerPath, timeoutOrOptions) {
|
||||
syncFnCache != null ? syncFnCache : syncFnCache = /* @__PURE__ */ new Map();
|
||||
const cachedSyncFn = syncFnCache.get(workerPath);
|
||||
if (cachedSyncFn) {
|
||||
return cachedSyncFn;
|
||||
}
|
||||
if (!path.isAbsolute(workerPath)) {
|
||||
throw new Error("`workerPath` must be absolute");
|
||||
}
|
||||
const syncFn = startWorkerThread(
|
||||
workerPath,
|
||||
typeof bufferSizeOrOptions === "number" ? { bufferSize: bufferSizeOrOptions, timeout } : bufferSizeOrOptions
|
||||
/* istanbul ignore next */
|
||||
typeof timeoutOrOptions === "number" ? { timeout: timeoutOrOptions } : timeoutOrOptions
|
||||
);
|
||||
syncFnCache.set(workerPath, syncFn);
|
||||
return syncFn;
|
||||
}
|
||||
const cjsRequire = typeof require === "undefined" ? node_module.createRequire(import_meta.url) : require;
|
||||
const cjsRequire = typeof require === "undefined" ? module$1.createRequire(import_meta.url) : (
|
||||
/* istanbul ignore next */
|
||||
require
|
||||
);
|
||||
const dataUrl = (code) => new URL(`data:text/javascript,${encodeURIComponent(code)}`);
|
||||
const isFile = (path2) => {
|
||||
var _a;
|
||||
try {
|
||||
return fs__default["default"].statSync(path2).isFile();
|
||||
return !!((_a = fs.statSync(path2, { throwIfNoEntry: false })) == null ? void 0 : _a.isFile());
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
||||
let ext = path__default["default"].extname(workerPath);
|
||||
let ext = path.extname(workerPath);
|
||||
if (!/[/\\]node_modules[/\\]/.test(workerPath) && (!ext || /^\.[cm]?js$/.test(ext))) {
|
||||
const workPathWithoutExt = ext ? workerPath.slice(0, -ext.length) : workerPath;
|
||||
let extensions;
|
||||
switch (ext) {
|
||||
case ".cjs":
|
||||
case ".cjs": {
|
||||
extensions = [".cts", ".cjs"];
|
||||
break;
|
||||
case ".mjs":
|
||||
}
|
||||
case ".mjs": {
|
||||
extensions = [".mts", ".mjs"];
|
||||
break;
|
||||
default:
|
||||
}
|
||||
default: {
|
||||
extensions = [".ts", ".js"];
|
||||
break;
|
||||
}
|
||||
}
|
||||
const found = utils.tryExtensions(workPathWithoutExt, extensions);
|
||||
const found = core.tryExtensions(workPathWithoutExt, extensions);
|
||||
let differentExt;
|
||||
if (found && (!ext || (differentExt = found !== workPathWithoutExt))) {
|
||||
workerPath = found;
|
||||
if (differentExt) {
|
||||
ext = path__default["default"].extname(workerPath);
|
||||
ext = path.extname(workerPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
const isTs = /\.[cm]?ts$/.test(workerPath);
|
||||
let jsUseEsm = workerPath.endsWith(".mjs");
|
||||
let tsUseEsm = workerPath.endsWith(".mts");
|
||||
if (isTs) {
|
||||
if (!tsUseEsm) {
|
||||
const pkg = utils.findUp(workerPath);
|
||||
const pkg = core.findUp(workerPath);
|
||||
if (pkg) {
|
||||
tsUseEsm = cjsRequire(pkg).type === "module";
|
||||
}
|
||||
}
|
||||
if (tsRunner == null && core.isPkgAvailable(TsRunner.TsNode)) {
|
||||
tsRunner = TsRunner.TsNode;
|
||||
}
|
||||
switch (tsRunner) {
|
||||
case TsRunner.TsNode: {
|
||||
if (tsUseEsm) {
|
||||
|
|
@ -162,7 +216,13 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|||
throw new Error(`Unknown ts runner: ${String(tsRunner)}`);
|
||||
}
|
||||
}
|
||||
} else if (!jsUseEsm) {
|
||||
const pkg = core.findUp(workerPath);
|
||||
if (pkg) {
|
||||
jsUseEsm = cjsRequire(pkg).type === "module";
|
||||
}
|
||||
}
|
||||
let resolvedPnpLoaderPath;
|
||||
if (process.versions.pnp) {
|
||||
const nodeOptions = NODE_OPTIONS == null ? void 0 : NODE_OPTIONS.split(/\s+/);
|
||||
let pnpApiPath;
|
||||
|
|
@ -174,79 +234,182 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|||
(option, index) => ["-r", "--require"].includes(option) && pnpApiPath === cjsRequire.resolve(nodeOptions[index + 1])
|
||||
)) && !execArgv.includes(pnpApiPath)) {
|
||||
execArgv = ["-r", pnpApiPath, ...execArgv];
|
||||
const pnpLoaderPath = path__default["default"].resolve(pnpApiPath, "../.pnp.loader.mjs");
|
||||
const pnpLoaderPath = path.resolve(pnpApiPath, "../.pnp.loader.mjs");
|
||||
if (isFile(pnpLoaderPath)) {
|
||||
const experimentalLoader = node_url.pathToFileURL(pnpLoaderPath).toString();
|
||||
execArgv = ["--experimental-loader", experimentalLoader, ...execArgv];
|
||||
resolvedPnpLoaderPath = node_url.pathToFileURL(pnpLoaderPath).toString();
|
||||
if (!IS_NODE_20) {
|
||||
execArgv = [
|
||||
"--experimental-loader",
|
||||
resolvedPnpLoaderPath,
|
||||
...execArgv
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return {
|
||||
ext,
|
||||
isTs,
|
||||
jsUseEsm,
|
||||
tsRunner,
|
||||
tsUseEsm,
|
||||
workerPath,
|
||||
pnpLoaderPath: resolvedPnpLoaderPath,
|
||||
execArgv
|
||||
};
|
||||
};
|
||||
const md5Hash = (text) => node_crypto.createHash("md5").update(text).digest("hex");
|
||||
const encodeImportModule = (moduleNameOrGlobalShim, type = "import") => {
|
||||
const { moduleName, globalName, named, conditional } = typeof moduleNameOrGlobalShim === "string" ? { moduleName: moduleNameOrGlobalShim } : moduleNameOrGlobalShim;
|
||||
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, "\\\\")}')`;
|
||||
if (!globalName) {
|
||||
return importStatement;
|
||||
}
|
||||
const overrideStatement = `globalThis.${globalName}=${(named == null ? void 0 : named.trim()) ? named : globalName}`;
|
||||
return importStatement + (conditional === false ? `;${overrideStatement}` : `;if(!globalThis.${globalName})${overrideStatement}`);
|
||||
};
|
||||
const _generateGlobals = (globalShims, type) => globalShims.reduce(
|
||||
(acc, shim) => `${acc}${acc ? ";" : ""}${encodeImportModule(shim, type)}`,
|
||||
""
|
||||
);
|
||||
let globalsCache;
|
||||
let tmpdir;
|
||||
const _dirname = typeof __dirname === "undefined" ? path.dirname(node_url.fileURLToPath(import_meta.url)) : (
|
||||
/* istanbul ignore next */
|
||||
__dirname
|
||||
);
|
||||
let sharedBuffer;
|
||||
let sharedBufferView;
|
||||
const generateGlobals = (workerPath, globalShims, type = "import") => {
|
||||
globalsCache != null ? globalsCache : globalsCache = /* @__PURE__ */ new Map();
|
||||
const cached = globalsCache.get(workerPath);
|
||||
if (cached) {
|
||||
const [content2, filepath2] = cached;
|
||||
if (type === "require" && !filepath2 || type === "import" && filepath2 && isFile(filepath2)) {
|
||||
return content2;
|
||||
}
|
||||
}
|
||||
const globals = _generateGlobals(globalShims, type);
|
||||
let content = globals;
|
||||
let filepath;
|
||||
if (type === "import") {
|
||||
if (!tmpdir) {
|
||||
tmpdir = path.resolve(core.findUp(_dirname), "../node_modules/.synckit");
|
||||
}
|
||||
fs.mkdirSync(tmpdir, { recursive: true });
|
||||
filepath = path.resolve(tmpdir, md5Hash(workerPath) + ".mjs");
|
||||
content = encodeImportModule(filepath);
|
||||
fs.writeFileSync(filepath, globals);
|
||||
}
|
||||
globalsCache.set(workerPath, [content, filepath]);
|
||||
return content;
|
||||
};
|
||||
function startWorkerThread(workerPath, {
|
||||
bufferSize = DEFAULT_WORKER_BUFFER_SIZE,
|
||||
timeout = DEFAULT_TIMEOUT,
|
||||
execArgv = DEFAULT_EXEC_ARGV,
|
||||
tsRunner = DEFAULT_TS_RUNNER
|
||||
tsRunner = DEFAULT_TS_RUNNER,
|
||||
transferList = [],
|
||||
globalShims = DEFAULT_GLOBAL_SHIMS
|
||||
} = {}) {
|
||||
const { port1: mainPort, port2: workerPort } = new node_worker_threads.MessageChannel();
|
||||
const {
|
||||
isTs,
|
||||
ext,
|
||||
jsUseEsm,
|
||||
tsUseEsm,
|
||||
tsRunner: finalTsRunner,
|
||||
workerPath: finalWorkerPath,
|
||||
pnpLoaderPath,
|
||||
execArgv: finalExecArgv
|
||||
} = setupTsRunner(workerPath, { execArgv, tsRunner });
|
||||
const workerPathUrl = node_url.pathToFileURL(finalWorkerPath);
|
||||
if (/\.[cm]ts$/.test(finalWorkerPath)) {
|
||||
const isTsxSupported = !tsUseEsm || Number.parseFloat(process.versions.node) >= MTS_SUPPORTED_NODE_VERSION;
|
||||
if ([
|
||||
if (!finalTsRunner) {
|
||||
throw new Error("No ts runner specified, ts worker path is not supported");
|
||||
} else if ([
|
||||
// https://github.com/egoist/esbuild-register/issues/79
|
||||
TsRunner.EsbuildRegister,
|
||||
// https://github.com/folke/esbuild-runner/issues/67
|
||||
TsRunner.EsbuildRunner,
|
||||
// https://github.com/swc-project/swc-node/issues/667
|
||||
TsRunner.SWC,
|
||||
...isTsxSupported ? [] : [TsRunner.TSX]
|
||||
].includes(tsRunner)) {
|
||||
.../* istanbul ignore next */
|
||||
isTsxSupported ? [] : [TsRunner.TSX]
|
||||
].includes(finalTsRunner)) {
|
||||
throw new Error(
|
||||
`${tsRunner} is not supported for ${ext} files yet` + (isTsxSupported ? ", you can try [tsx](https://github.com/esbuild-kit/tsx) instead" : "")
|
||||
`${finalTsRunner} is not supported for ${ext} files yet` + /* istanbul ignore next */
|
||||
(isTsxSupported ? ", you can try [tsx](https://github.com/esbuild-kit/tsx) instead" : "")
|
||||
);
|
||||
}
|
||||
}
|
||||
const useEval = isTs && !tsUseEsm;
|
||||
const finalGlobalShims = (globalShims === true ? DEFAULT_GLOBAL_SHIMS_PRESET : Array.isArray(globalShims) ? globalShims : []).filter(({ moduleName }) => core.isPkgAvailable(moduleName));
|
||||
sharedBufferView != null ? sharedBufferView : sharedBufferView = new Int32Array(
|
||||
/* istanbul ignore next */
|
||||
sharedBuffer != null ? sharedBuffer : sharedBuffer = new SharedArrayBuffer(
|
||||
INT32_BYTES
|
||||
),
|
||||
0,
|
||||
1
|
||||
);
|
||||
const useGlobals = finalGlobalShims.length > 0;
|
||||
const useEval = isTs ? !tsUseEsm : !jsUseEsm && useGlobals;
|
||||
const worker = new node_worker_threads.Worker(
|
||||
tsUseEsm && tsRunner === TsRunner.TsNode ? dataUrl(`import '${String(workerPathUrl)}'`) : useEval ? `require('${finalWorkerPath.replace(/\\/g, "\\\\")}')` : workerPathUrl,
|
||||
jsUseEsm && useGlobals || tsUseEsm && finalTsRunner === TsRunner.TsNode ? dataUrl(
|
||||
`${generateGlobals(
|
||||
finalWorkerPath,
|
||||
finalGlobalShims
|
||||
)};import '${String(workerPathUrl)}'`
|
||||
) : useEval ? `${generateGlobals(
|
||||
finalWorkerPath,
|
||||
finalGlobalShims,
|
||||
"require"
|
||||
)};${encodeImportModule(finalWorkerPath, "require")}` : workerPathUrl,
|
||||
{
|
||||
eval: useEval,
|
||||
workerData: { workerPort },
|
||||
transferList: [workerPort],
|
||||
workerData: { sharedBuffer, workerPort, pnpLoaderPath },
|
||||
transferList: [workerPort, ...transferList],
|
||||
execArgv: finalExecArgv
|
||||
}
|
||||
);
|
||||
let nextID = 0;
|
||||
const syncFn = (...args) => {
|
||||
const id = nextID++;
|
||||
const sharedBuffer = new SharedArrayBuffer(bufferSize);
|
||||
const sharedBufferView = new Int32Array(sharedBuffer);
|
||||
const msg = { sharedBuffer, id, args };
|
||||
worker.postMessage(msg);
|
||||
const status = Atomics.wait(sharedBufferView, 0, 0, timeout);
|
||||
const receiveMessageWithId = (port, expectedId, waitingTimeout) => {
|
||||
const start = Date.now();
|
||||
const status = Atomics.wait(sharedBufferView, 0, 0, waitingTimeout);
|
||||
Atomics.store(sharedBufferView, 0, 0);
|
||||
if (!["ok", "not-equal"].includes(status)) {
|
||||
const abortMsg = {
|
||||
id: expectedId,
|
||||
cmd: "abort"
|
||||
};
|
||||
port.postMessage(abortMsg);
|
||||
throw new Error("Internal error: Atomics.wait() failed: " + status);
|
||||
}
|
||||
const {
|
||||
id: id2,
|
||||
result,
|
||||
error,
|
||||
properties
|
||||
} = node_worker_threads.receiveMessageOnPort(mainPort).message;
|
||||
if (id !== id2) {
|
||||
throw new Error(`Internal error: Expected id ${id} but got id ${id2}`);
|
||||
const _a = node_worker_threads.receiveMessageOnPort(mainPort).message, { id } = _a, message = __objRest(_a, ["id"]);
|
||||
if (id < expectedId) {
|
||||
const waitingTime = Date.now() - start;
|
||||
return receiveMessageWithId(
|
||||
port,
|
||||
expectedId,
|
||||
waitingTimeout ? waitingTimeout - waitingTime : void 0
|
||||
);
|
||||
}
|
||||
if (expectedId !== id) {
|
||||
throw new Error(
|
||||
`Internal error: Expected id ${expectedId} but got id ${id}`
|
||||
);
|
||||
}
|
||||
return __spreadValues({ id }, message);
|
||||
};
|
||||
const syncFn = (...args) => {
|
||||
const id = nextID++;
|
||||
const msg = { id, args };
|
||||
worker.postMessage(msg);
|
||||
const { result, error, properties } = receiveMessageWithId(
|
||||
mainPort,
|
||||
id,
|
||||
timeout
|
||||
);
|
||||
if (error) {
|
||||
throw Object.assign(error, properties);
|
||||
}
|
||||
|
|
@ -259,51 +422,51 @@ function runAsWorker(fn) {
|
|||
if (!node_worker_threads.workerData) {
|
||||
return;
|
||||
}
|
||||
const { workerPort } = node_worker_threads.workerData;
|
||||
try {
|
||||
node_worker_threads.parentPort.on(
|
||||
"message",
|
||||
({ sharedBuffer, id, args }) => {
|
||||
;
|
||||
(() => __async(this, null, function* () {
|
||||
const sharedBufferView = new Int32Array(sharedBuffer);
|
||||
let msg;
|
||||
try {
|
||||
msg = { id, result: yield fn(...args) };
|
||||
} catch (error) {
|
||||
msg = { id, error, properties: extractProperties(error) };
|
||||
}
|
||||
workerPort.postMessage(msg);
|
||||
Atomics.add(sharedBufferView, 0, 1);
|
||||
Atomics.notify(sharedBufferView, 0);
|
||||
}))();
|
||||
}
|
||||
);
|
||||
} catch (error) {
|
||||
node_worker_threads.parentPort.on(
|
||||
"message",
|
||||
({ sharedBuffer, id }) => {
|
||||
const sharedBufferView = new Int32Array(sharedBuffer);
|
||||
workerPort.postMessage({
|
||||
id,
|
||||
error,
|
||||
properties: extractProperties(error)
|
||||
});
|
||||
Atomics.add(sharedBufferView, 0, 1);
|
||||
Atomics.notify(sharedBufferView, 0);
|
||||
}
|
||||
);
|
||||
const { workerPort, sharedBuffer: sharedBuffer2, pnpLoaderPath } = node_worker_threads.workerData;
|
||||
if (pnpLoaderPath && IS_NODE_20) {
|
||||
module$1.register(pnpLoaderPath);
|
||||
}
|
||||
const sharedBufferView2 = new Int32Array(sharedBuffer2, 0, 1);
|
||||
node_worker_threads.parentPort.on(
|
||||
"message",
|
||||
({ id, args }) => {
|
||||
(() => __async(this, null, function* () {
|
||||
let isAborted = false;
|
||||
const handleAbortMessage = (msg2) => {
|
||||
if (msg2.id === id && msg2.cmd === "abort") {
|
||||
isAborted = true;
|
||||
}
|
||||
};
|
||||
workerPort.on("message", handleAbortMessage);
|
||||
let msg;
|
||||
try {
|
||||
msg = { id, result: yield fn(...args) };
|
||||
} catch (error) {
|
||||
msg = { id, error, properties: extractProperties(error) };
|
||||
}
|
||||
workerPort.off("message", handleAbortMessage);
|
||||
if (isAborted) {
|
||||
return;
|
||||
}
|
||||
workerPort.postMessage(msg);
|
||||
Atomics.add(sharedBufferView2, 0, 1);
|
||||
Atomics.notify(sharedBufferView2, 0);
|
||||
}))();
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
exports.DEFAULT_BUFFER_SIZE = DEFAULT_BUFFER_SIZE;
|
||||
exports.DEFAULT_EXEC_ARGV = DEFAULT_EXEC_ARGV;
|
||||
exports.DEFAULT_GLOBAL_SHIMS = DEFAULT_GLOBAL_SHIMS;
|
||||
exports.DEFAULT_GLOBAL_SHIMS_PRESET = DEFAULT_GLOBAL_SHIMS_PRESET;
|
||||
exports.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT;
|
||||
exports.DEFAULT_TS_RUNNER = DEFAULT_TS_RUNNER;
|
||||
exports.DEFAULT_WORKER_BUFFER_SIZE = DEFAULT_WORKER_BUFFER_SIZE;
|
||||
exports.MTS_SUPPORTED_NODE_VERSION = MTS_SUPPORTED_NODE_VERSION;
|
||||
exports.TsRunner = TsRunner;
|
||||
exports._generateGlobals = _generateGlobals;
|
||||
exports.createSyncFn = createSyncFn;
|
||||
exports.encodeImportModule = encodeImportModule;
|
||||
exports.extractProperties = extractProperties;
|
||||
exports.generateGlobals = generateGlobals;
|
||||
exports.isFile = isFile;
|
||||
exports.runAsWorker = runAsWorker;
|
||||
|
|
|
|||
20
node_modules/synckit/lib/index.d.ts
generated
vendored
20
node_modules/synckit/lib/index.d.ts
generated
vendored
|
|
@ -1,4 +1,6 @@
|
|||
import { AnyAsyncFn, Syncify, ValueOf } from './types.js';
|
||||
/// <reference types="node" />
|
||||
import { type TransferListItem } from 'node:worker_threads';
|
||||
import type { AnyAsyncFn, GlobalShim, Syncify, ValueOf } from './types.js';
|
||||
export * from './types.js';
|
||||
export declare const TsRunner: {
|
||||
readonly TsNode: "ts-node";
|
||||
|
|
@ -8,21 +10,23 @@ export declare const TsRunner: {
|
|||
readonly TSX: "tsx";
|
||||
};
|
||||
export type TsRunner = ValueOf<typeof TsRunner>;
|
||||
export declare const DEFAULT_BUFFER_SIZE: number | undefined;
|
||||
export declare const DEFAULT_TIMEOUT: number | undefined;
|
||||
export declare const DEFAULT_WORKER_BUFFER_SIZE: number;
|
||||
export declare const DEFAULT_EXEC_ARGV: string[];
|
||||
export declare const DEFAULT_TS_RUNNER: TsRunner;
|
||||
export declare const DEFAULT_TS_RUNNER: TsRunner | undefined;
|
||||
export declare const DEFAULT_GLOBAL_SHIMS: boolean;
|
||||
export declare const DEFAULT_GLOBAL_SHIMS_PRESET: GlobalShim[];
|
||||
export declare const MTS_SUPPORTED_NODE_VERSION = 16;
|
||||
export interface SynckitOptions {
|
||||
bufferSize?: number;
|
||||
timeout?: number;
|
||||
execArgv?: string[];
|
||||
globalShims?: GlobalShim[] | boolean;
|
||||
timeout?: number;
|
||||
transferList?: TransferListItem[];
|
||||
tsRunner?: TsRunner;
|
||||
}
|
||||
export declare function extractProperties<T extends object>(object: T): T;
|
||||
export declare function extractProperties<T>(object?: T): T | undefined;
|
||||
export declare function createSyncFn<T extends AnyAsyncFn>(workerPath: string, bufferSize?: number, timeout?: number): Syncify<T>;
|
||||
export declare function createSyncFn<T extends AnyAsyncFn>(workerPath: string, options?: SynckitOptions): Syncify<T>;
|
||||
export declare function createSyncFn<T extends AnyAsyncFn<R>, R = unknown>(workerPath: string, timeoutOrOptions?: SynckitOptions | number): Syncify<T>;
|
||||
export declare const isFile: (path: string) => boolean;
|
||||
export declare const encodeImportModule: (moduleNameOrGlobalShim: GlobalShim | string, type?: 'import' | 'require') => string;
|
||||
export declare const generateGlobals: (workerPath: string, globalShims: GlobalShim[], type?: 'import' | 'require') => string;
|
||||
export declare function runAsWorker<R = unknown, T extends AnyAsyncFn<R> = AnyAsyncFn<R>>(fn: T): void;
|
||||
|
|
|
|||
277
node_modules/synckit/lib/index.js
generated
vendored
277
node_modules/synckit/lib/index.js
generated
vendored
|
|
@ -1,10 +1,12 @@
|
|||
import { __awaiter } from "tslib";
|
||||
import { __awaiter, __rest } from "tslib";
|
||||
import { createHash } from 'node:crypto';
|
||||
import fs from 'node:fs';
|
||||
import { createRequire } from 'node:module';
|
||||
import module from 'node:module';
|
||||
import path from 'node:path';
|
||||
import { pathToFileURL } from 'node:url';
|
||||
import { MessageChannel, Worker, receiveMessageOnPort, workerData, parentPort, } from 'node:worker_threads';
|
||||
import { findUp, tryExtensions } from '@pkgr/utils';
|
||||
import { fileURLToPath, pathToFileURL } from 'node:url';
|
||||
import { MessageChannel, Worker, parentPort, receiveMessageOnPort, workerData, } from 'node:worker_threads';
|
||||
import { findUp, isPkgAvailable, tryExtensions } from '@pkgr/core';
|
||||
const INT32_BYTES = 4;
|
||||
export * from './types.js';
|
||||
export const TsRunner = {
|
||||
TsNode: 'ts-node',
|
||||
|
|
@ -13,17 +15,25 @@ export const TsRunner = {
|
|||
SWC: 'swc',
|
||||
TSX: 'tsx',
|
||||
};
|
||||
const { SYNCKIT_BUFFER_SIZE, SYNCKIT_TIMEOUT, SYNCKIT_EXEC_ARGV, SYNCKIT_TS_RUNNER, NODE_OPTIONS, } = process.env;
|
||||
export const DEFAULT_BUFFER_SIZE = SYNCKIT_BUFFER_SIZE
|
||||
? +SYNCKIT_BUFFER_SIZE
|
||||
: undefined;
|
||||
const { NODE_OPTIONS, SYNCKIT_EXEC_ARGV, SYNCKIT_GLOBAL_SHIMS, SYNCKIT_TIMEOUT, SYNCKIT_TS_RUNNER, } = process.env;
|
||||
const IS_NODE_20 = Number(process.versions.node.split('.')[0]) >= 20;
|
||||
export const DEFAULT_TIMEOUT = SYNCKIT_TIMEOUT ? +SYNCKIT_TIMEOUT : undefined;
|
||||
export const DEFAULT_WORKER_BUFFER_SIZE = DEFAULT_BUFFER_SIZE || 1024;
|
||||
export const DEFAULT_EXEC_ARGV = (SYNCKIT_EXEC_ARGV === null || SYNCKIT_EXEC_ARGV === void 0 ? void 0 : SYNCKIT_EXEC_ARGV.split(',')) || [];
|
||||
export const DEFAULT_TS_RUNNER = (SYNCKIT_TS_RUNNER ||
|
||||
TsRunner.TsNode);
|
||||
export const DEFAULT_TS_RUNNER = SYNCKIT_TS_RUNNER;
|
||||
export const DEFAULT_GLOBAL_SHIMS = ['1', 'true'].includes(SYNCKIT_GLOBAL_SHIMS);
|
||||
export const DEFAULT_GLOBAL_SHIMS_PRESET = [
|
||||
{
|
||||
moduleName: 'node-fetch',
|
||||
globalName: 'fetch',
|
||||
},
|
||||
{
|
||||
moduleName: 'node:perf_hooks',
|
||||
globalName: 'performance',
|
||||
named: 'performance',
|
||||
},
|
||||
];
|
||||
export const MTS_SUPPORTED_NODE_VERSION = 16;
|
||||
const syncFnCache = new Map();
|
||||
let syncFnCache;
|
||||
export function extractProperties(object) {
|
||||
if (object && typeof object === 'object') {
|
||||
const properties = {};
|
||||
|
|
@ -33,29 +43,31 @@ export function extractProperties(object) {
|
|||
return properties;
|
||||
}
|
||||
}
|
||||
export function createSyncFn(workerPath, bufferSizeOrOptions, timeout) {
|
||||
if (!path.isAbsolute(workerPath)) {
|
||||
throw new Error('`workerPath` must be absolute');
|
||||
}
|
||||
export function createSyncFn(workerPath, timeoutOrOptions) {
|
||||
syncFnCache !== null && syncFnCache !== void 0 ? syncFnCache : (syncFnCache = new Map());
|
||||
const cachedSyncFn = syncFnCache.get(workerPath);
|
||||
if (cachedSyncFn) {
|
||||
return cachedSyncFn;
|
||||
}
|
||||
const syncFn = startWorkerThread(workerPath, typeof bufferSizeOrOptions === 'number'
|
||||
? { bufferSize: bufferSizeOrOptions, timeout }
|
||||
: bufferSizeOrOptions);
|
||||
if (!path.isAbsolute(workerPath)) {
|
||||
throw new Error('`workerPath` must be absolute');
|
||||
}
|
||||
const syncFn = startWorkerThread(workerPath, typeof timeoutOrOptions === 'number'
|
||||
? { timeout: timeoutOrOptions }
|
||||
: timeoutOrOptions);
|
||||
syncFnCache.set(workerPath, syncFn);
|
||||
return syncFn;
|
||||
}
|
||||
const cjsRequire = typeof require === 'undefined'
|
||||
? createRequire(import.meta.url)
|
||||
? module.createRequire(import.meta.url)
|
||||
: require;
|
||||
const dataUrl = (code) => new URL(`data:text/javascript,${encodeURIComponent(code)}`);
|
||||
export const isFile = (path) => {
|
||||
var _a;
|
||||
try {
|
||||
return fs.statSync(path).isFile();
|
||||
return !!((_a = fs.statSync(path, { throwIfNoEntry: false })) === null || _a === void 0 ? void 0 : _a.isFile());
|
||||
}
|
||||
catch (_a) {
|
||||
catch (_b) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
|
@ -68,15 +80,18 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|||
: workerPath;
|
||||
let extensions;
|
||||
switch (ext) {
|
||||
case '.cjs':
|
||||
case '.cjs': {
|
||||
extensions = ['.cts', '.cjs'];
|
||||
break;
|
||||
case '.mjs':
|
||||
}
|
||||
case '.mjs': {
|
||||
extensions = ['.mts', '.mjs'];
|
||||
break;
|
||||
default:
|
||||
}
|
||||
default: {
|
||||
extensions = ['.ts', '.js'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
const found = tryExtensions(workPathWithoutExt, extensions);
|
||||
let differentExt;
|
||||
|
|
@ -88,6 +103,7 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|||
}
|
||||
}
|
||||
const isTs = /\.[cm]?ts$/.test(workerPath);
|
||||
let jsUseEsm = workerPath.endsWith('.mjs');
|
||||
let tsUseEsm = workerPath.endsWith('.mts');
|
||||
if (isTs) {
|
||||
if (!tsUseEsm) {
|
||||
|
|
@ -98,6 +114,9 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|||
'module';
|
||||
}
|
||||
}
|
||||
if (tsRunner == null && isPkgAvailable(TsRunner.TsNode)) {
|
||||
tsRunner = TsRunner.TsNode;
|
||||
}
|
||||
switch (tsRunner) {
|
||||
case TsRunner.TsNode: {
|
||||
if (tsUseEsm) {
|
||||
|
|
@ -139,6 +158,14 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (!jsUseEsm) {
|
||||
const pkg = findUp(workerPath);
|
||||
if (pkg) {
|
||||
jsUseEsm =
|
||||
cjsRequire(pkg).type === 'module';
|
||||
}
|
||||
}
|
||||
let resolvedPnpLoaderPath;
|
||||
if (process.versions.pnp) {
|
||||
const nodeOptions = NODE_OPTIONS === null || NODE_OPTIONS === void 0 ? void 0 : NODE_OPTIONS.split(/\s+/);
|
||||
let pnpApiPath;
|
||||
|
|
@ -153,65 +180,159 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|||
execArgv = ['-r', pnpApiPath, ...execArgv];
|
||||
const pnpLoaderPath = path.resolve(pnpApiPath, '../.pnp.loader.mjs');
|
||||
if (isFile(pnpLoaderPath)) {
|
||||
const experimentalLoader = pathToFileURL(pnpLoaderPath).toString();
|
||||
execArgv = ['--experimental-loader', experimentalLoader, ...execArgv];
|
||||
resolvedPnpLoaderPath = pathToFileURL(pnpLoaderPath).toString();
|
||||
if (!IS_NODE_20) {
|
||||
execArgv = [
|
||||
'--experimental-loader',
|
||||
resolvedPnpLoaderPath,
|
||||
...execArgv,
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return {
|
||||
ext,
|
||||
isTs,
|
||||
jsUseEsm,
|
||||
tsRunner,
|
||||
tsUseEsm,
|
||||
workerPath,
|
||||
pnpLoaderPath: resolvedPnpLoaderPath,
|
||||
execArgv,
|
||||
};
|
||||
};
|
||||
function startWorkerThread(workerPath, { bufferSize = DEFAULT_WORKER_BUFFER_SIZE, timeout = DEFAULT_TIMEOUT, execArgv = DEFAULT_EXEC_ARGV, tsRunner = DEFAULT_TS_RUNNER, } = {}) {
|
||||
const md5Hash = (text) => createHash('md5').update(text).digest('hex');
|
||||
export const encodeImportModule = (moduleNameOrGlobalShim, type = 'import') => {
|
||||
const { moduleName, globalName, named, conditional } = typeof moduleNameOrGlobalShim === 'string'
|
||||
? { moduleName: moduleNameOrGlobalShim }
|
||||
: moduleNameOrGlobalShim;
|
||||
const importStatement = type === 'import'
|
||||
? `import${globalName
|
||||
? ' ' +
|
||||
(named === null
|
||||
? '* as ' + globalName
|
||||
: (named === null || named === void 0 ? void 0 : named.trim())
|
||||
? `{${named}}`
|
||||
: globalName) +
|
||||
' from'
|
||||
: ''} '${path.isAbsolute(moduleName)
|
||||
? String(pathToFileURL(moduleName))
|
||||
: moduleName}'`
|
||||
: `${globalName
|
||||
? 'const ' + ((named === null || named === void 0 ? void 0 : named.trim()) ? `{${named}}` : globalName) + '='
|
||||
: ''}require('${moduleName
|
||||
.replace(/\\/g, '\\\\')}')`;
|
||||
if (!globalName) {
|
||||
return importStatement;
|
||||
}
|
||||
const overrideStatement = `globalThis.${globalName}=${(named === null || named === void 0 ? void 0 : named.trim()) ? named : globalName}`;
|
||||
return (importStatement +
|
||||
(conditional === false
|
||||
? `;${overrideStatement}`
|
||||
: `;if(!globalThis.${globalName})${overrideStatement}`));
|
||||
};
|
||||
export const _generateGlobals = (globalShims, type) => globalShims.reduce((acc, shim) => `${acc}${acc ? ';' : ''}${encodeImportModule(shim, type)}`, '');
|
||||
let globalsCache;
|
||||
let tmpdir;
|
||||
const _dirname = typeof __dirname === 'undefined'
|
||||
? path.dirname(fileURLToPath(import.meta.url))
|
||||
: __dirname;
|
||||
let sharedBuffer;
|
||||
let sharedBufferView;
|
||||
export const generateGlobals = (workerPath, globalShims, type = 'import') => {
|
||||
globalsCache !== null && globalsCache !== void 0 ? globalsCache : (globalsCache = new Map());
|
||||
const cached = globalsCache.get(workerPath);
|
||||
if (cached) {
|
||||
const [content, filepath] = cached;
|
||||
if ((type === 'require' && !filepath) ||
|
||||
(type === 'import' && filepath && isFile(filepath))) {
|
||||
return content;
|
||||
}
|
||||
}
|
||||
const globals = _generateGlobals(globalShims, type);
|
||||
let content = globals;
|
||||
let filepath;
|
||||
if (type === 'import') {
|
||||
if (!tmpdir) {
|
||||
tmpdir = path.resolve(findUp(_dirname), '../node_modules/.synckit');
|
||||
}
|
||||
fs.mkdirSync(tmpdir, { recursive: true });
|
||||
filepath = path.resolve(tmpdir, md5Hash(workerPath) + '.mjs');
|
||||
content = encodeImportModule(filepath);
|
||||
fs.writeFileSync(filepath, globals);
|
||||
}
|
||||
globalsCache.set(workerPath, [content, filepath]);
|
||||
return content;
|
||||
};
|
||||
function startWorkerThread(workerPath, { timeout = DEFAULT_TIMEOUT, execArgv = DEFAULT_EXEC_ARGV, tsRunner = DEFAULT_TS_RUNNER, transferList = [], globalShims = DEFAULT_GLOBAL_SHIMS, } = {}) {
|
||||
const { port1: mainPort, port2: workerPort } = new MessageChannel();
|
||||
const { isTs, ext, tsUseEsm, workerPath: finalWorkerPath, execArgv: finalExecArgv, } = setupTsRunner(workerPath, { execArgv, tsRunner });
|
||||
const { isTs, ext, jsUseEsm, tsUseEsm, tsRunner: finalTsRunner, workerPath: finalWorkerPath, pnpLoaderPath, execArgv: finalExecArgv, } = setupTsRunner(workerPath, { execArgv, tsRunner });
|
||||
const workerPathUrl = pathToFileURL(finalWorkerPath);
|
||||
if (/\.[cm]ts$/.test(finalWorkerPath)) {
|
||||
const isTsxSupported = !tsUseEsm ||
|
||||
Number.parseFloat(process.versions.node) >= MTS_SUPPORTED_NODE_VERSION;
|
||||
if ([
|
||||
if (!finalTsRunner) {
|
||||
throw new Error('No ts runner specified, ts worker path is not supported');
|
||||
}
|
||||
else if ([
|
||||
TsRunner.EsbuildRegister,
|
||||
TsRunner.EsbuildRunner,
|
||||
TsRunner.SWC,
|
||||
...(isTsxSupported ? [] : [TsRunner.TSX]),
|
||||
].includes(tsRunner)) {
|
||||
throw new Error(`${tsRunner} is not supported for ${ext} files yet` +
|
||||
].includes(finalTsRunner)) {
|
||||
throw new Error(`${finalTsRunner} is not supported for ${ext} files yet` +
|
||||
(isTsxSupported
|
||||
? ', you can try [tsx](https://github.com/esbuild-kit/tsx) instead'
|
||||
: ''));
|
||||
}
|
||||
}
|
||||
const useEval = isTs && !tsUseEsm;
|
||||
const worker = new Worker(tsUseEsm && tsRunner === TsRunner.TsNode
|
||||
? dataUrl(`import '${String(workerPathUrl)}'`)
|
||||
const finalGlobalShims = (globalShims === true
|
||||
? DEFAULT_GLOBAL_SHIMS_PRESET
|
||||
: Array.isArray(globalShims)
|
||||
? globalShims
|
||||
: []).filter(({ moduleName }) => isPkgAvailable(moduleName));
|
||||
sharedBufferView !== null && sharedBufferView !== void 0 ? sharedBufferView : (sharedBufferView = new Int32Array((sharedBuffer !== null && sharedBuffer !== void 0 ? sharedBuffer : (sharedBuffer = new SharedArrayBuffer(INT32_BYTES))), 0, 1));
|
||||
const useGlobals = finalGlobalShims.length > 0;
|
||||
const useEval = isTs ? !tsUseEsm : !jsUseEsm && useGlobals;
|
||||
const worker = new Worker((jsUseEsm && useGlobals) || (tsUseEsm && finalTsRunner === TsRunner.TsNode)
|
||||
? dataUrl(`${generateGlobals(finalWorkerPath, finalGlobalShims)};import '${String(workerPathUrl)}'`)
|
||||
: useEval
|
||||
? `require('${finalWorkerPath.replace(/\\/g, '\\\\')}')`
|
||||
? `${generateGlobals(finalWorkerPath, finalGlobalShims, 'require')};${encodeImportModule(finalWorkerPath, 'require')}`
|
||||
: workerPathUrl, {
|
||||
eval: useEval,
|
||||
workerData: { workerPort },
|
||||
transferList: [workerPort],
|
||||
workerData: { sharedBuffer, workerPort, pnpLoaderPath },
|
||||
transferList: [workerPort, ...transferList],
|
||||
execArgv: finalExecArgv,
|
||||
});
|
||||
let nextID = 0;
|
||||
const syncFn = (...args) => {
|
||||
const id = nextID++;
|
||||
const sharedBuffer = new SharedArrayBuffer(bufferSize);
|
||||
const sharedBufferView = new Int32Array(sharedBuffer);
|
||||
const msg = { sharedBuffer, id, args };
|
||||
worker.postMessage(msg);
|
||||
const status = Atomics.wait(sharedBufferView, 0, 0, timeout);
|
||||
const receiveMessageWithId = (port, expectedId, waitingTimeout) => {
|
||||
const start = Date.now();
|
||||
const status = Atomics.wait(sharedBufferView, 0, 0, waitingTimeout);
|
||||
Atomics.store(sharedBufferView, 0, 0);
|
||||
if (!['ok', 'not-equal'].includes(status)) {
|
||||
const abortMsg = {
|
||||
id: expectedId,
|
||||
cmd: 'abort',
|
||||
};
|
||||
port.postMessage(abortMsg);
|
||||
throw new Error('Internal error: Atomics.wait() failed: ' + status);
|
||||
}
|
||||
const { id: id2, result, error, properties, } = receiveMessageOnPort(mainPort)
|
||||
.message;
|
||||
if (id !== id2) {
|
||||
throw new Error(`Internal error: Expected id ${id} but got id ${id2}`);
|
||||
const _a = receiveMessageOnPort(mainPort).message, { id } = _a, message = __rest(_a, ["id"]);
|
||||
if (id < expectedId) {
|
||||
const waitingTime = Date.now() - start;
|
||||
return receiveMessageWithId(port, expectedId, waitingTimeout ? waitingTimeout - waitingTime : undefined);
|
||||
}
|
||||
if (expectedId !== id) {
|
||||
throw new Error(`Internal error: Expected id ${expectedId} but got id ${id}`);
|
||||
}
|
||||
return Object.assign({ id }, message);
|
||||
};
|
||||
const syncFn = (...args) => {
|
||||
const id = nextID++;
|
||||
const msg = { id, args };
|
||||
worker.postMessage(msg);
|
||||
const { result, error, properties } = receiveMessageWithId(mainPort, id, timeout);
|
||||
if (error) {
|
||||
throw Object.assign(error, properties);
|
||||
}
|
||||
|
|
@ -224,36 +345,36 @@ export function runAsWorker(fn) {
|
|||
if (!workerData) {
|
||||
return;
|
||||
}
|
||||
const { workerPort } = workerData;
|
||||
try {
|
||||
parentPort.on('message', ({ sharedBuffer, id, args }) => {
|
||||
;
|
||||
(() => __awaiter(this, void 0, void 0, function* () {
|
||||
const sharedBufferView = new Int32Array(sharedBuffer);
|
||||
let msg;
|
||||
try {
|
||||
msg = { id, result: yield fn(...args) };
|
||||
}
|
||||
catch (error) {
|
||||
msg = { id, error, properties: extractProperties(error) };
|
||||
}
|
||||
workerPort.postMessage(msg);
|
||||
Atomics.add(sharedBufferView, 0, 1);
|
||||
Atomics.notify(sharedBufferView, 0);
|
||||
}))();
|
||||
});
|
||||
const { workerPort, sharedBuffer, pnpLoaderPath } = workerData;
|
||||
if (pnpLoaderPath && IS_NODE_20) {
|
||||
module.register(pnpLoaderPath);
|
||||
}
|
||||
catch (error) {
|
||||
parentPort.on('message', ({ sharedBuffer, id }) => {
|
||||
const sharedBufferView = new Int32Array(sharedBuffer);
|
||||
workerPort.postMessage({
|
||||
id,
|
||||
error,
|
||||
properties: extractProperties(error),
|
||||
});
|
||||
const sharedBufferView = new Int32Array(sharedBuffer, 0, 1);
|
||||
parentPort.on('message', ({ id, args }) => {
|
||||
;
|
||||
(() => __awaiter(this, void 0, void 0, function* () {
|
||||
let isAborted = false;
|
||||
const handleAbortMessage = (msg) => {
|
||||
if (msg.id === id && msg.cmd === 'abort') {
|
||||
isAborted = true;
|
||||
}
|
||||
};
|
||||
workerPort.on('message', handleAbortMessage);
|
||||
let msg;
|
||||
try {
|
||||
msg = { id, result: yield fn(...args) };
|
||||
}
|
||||
catch (error) {
|
||||
msg = { id, error, properties: extractProperties(error) };
|
||||
}
|
||||
workerPort.off('message', handleAbortMessage);
|
||||
if (isAborted) {
|
||||
return;
|
||||
}
|
||||
workerPort.postMessage(msg);
|
||||
Atomics.add(sharedBufferView, 0, 1);
|
||||
Atomics.notify(sharedBufferView, 0);
|
||||
});
|
||||
}
|
||||
}))();
|
||||
});
|
||||
}
|
||||
//# sourceMappingURL=index.js.map
|
||||
2
node_modules/synckit/lib/index.js.map
generated
vendored
2
node_modules/synckit/lib/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
13
node_modules/synckit/lib/types.d.ts
generated
vendored
13
node_modules/synckit/lib/types.d.ts
generated
vendored
|
|
@ -7,12 +7,17 @@ export type Syncify<T extends AnyAsyncFn> = T extends (...args: infer Args) => P
|
|||
export type PromiseType<T extends AnyPromise> = T extends Promise<infer R> ? R : never;
|
||||
export type ValueOf<T> = T[keyof T];
|
||||
export interface MainToWorkerMessage<T extends unknown[]> {
|
||||
sharedBuffer: SharedArrayBuffer;
|
||||
id: number;
|
||||
args: T;
|
||||
}
|
||||
export interface MainToWorkerCommandMessage {
|
||||
id: number;
|
||||
cmd: string;
|
||||
}
|
||||
export interface WorkerData {
|
||||
sharedBuffer: SharedArrayBuffer;
|
||||
workerPort: MessagePort;
|
||||
pnpLoaderPath: string | undefined;
|
||||
}
|
||||
export interface DataMessage<T> {
|
||||
result?: T;
|
||||
|
|
@ -22,3 +27,9 @@ export interface DataMessage<T> {
|
|||
export interface WorkerToMainMessage<T = unknown> extends DataMessage<T> {
|
||||
id: number;
|
||||
}
|
||||
export interface GlobalShim {
|
||||
moduleName: string;
|
||||
globalName?: string;
|
||||
named?: string | null;
|
||||
conditional?: boolean;
|
||||
}
|
||||
|
|
|
|||
1
node_modules/synckit/node_modules/tslib/modules/index.d.ts
generated
vendored
1
node_modules/synckit/node_modules/tslib/modules/index.d.ts
generated
vendored
|
|
@ -33,5 +33,6 @@ export {
|
|||
__createBinding,
|
||||
__addDisposableResource,
|
||||
__disposeResources,
|
||||
__rewriteRelativeImportExtension,
|
||||
} from '../tslib.js';
|
||||
export * as default from '../tslib.js';
|
||||
|
|
|
|||
2
node_modules/synckit/node_modules/tslib/modules/index.js
generated
vendored
2
node_modules/synckit/node_modules/tslib/modules/index.js
generated
vendored
|
|
@ -31,6 +31,7 @@ const {
|
|||
__classPrivateFieldIn,
|
||||
__addDisposableResource,
|
||||
__disposeResources,
|
||||
__rewriteRelativeImportExtension,
|
||||
} = tslib;
|
||||
export {
|
||||
__extends,
|
||||
|
|
@ -64,5 +65,6 @@ export {
|
|||
__classPrivateFieldIn,
|
||||
__addDisposableResource,
|
||||
__disposeResources,
|
||||
__rewriteRelativeImportExtension,
|
||||
};
|
||||
export default tslib;
|
||||
|
|
|
|||
4
node_modules/synckit/node_modules/tslib/package.json
generated
vendored
4
node_modules/synckit/node_modules/tslib/package.json
generated
vendored
|
|
@ -2,7 +2,7 @@
|
|||
"name": "tslib",
|
||||
"author": "Microsoft Corp.",
|
||||
"homepage": "https://www.typescriptlang.org/",
|
||||
"version": "2.6.0",
|
||||
"version": "2.8.1",
|
||||
"license": "0BSD",
|
||||
"description": "Runtime library for TypeScript helper functions",
|
||||
"keywords": [
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
"exports": {
|
||||
".": {
|
||||
"module": {
|
||||
"types": "./tslib/modules/index.d.ts",
|
||||
"types": "./modules/index.d.ts",
|
||||
"default": "./tslib.es6.mjs"
|
||||
},
|
||||
"import": {
|
||||
|
|
|
|||
9
node_modules/synckit/node_modules/tslib/tslib.d.ts
generated
vendored
9
node_modules/synckit/node_modules/tslib/tslib.d.ts
generated
vendored
|
|
@ -123,7 +123,7 @@ export declare function __generator(thisArg: any, body: Function): any;
|
|||
* Creates bindings for all enumerable properties of `m` on `exports`
|
||||
*
|
||||
* @param m The source object
|
||||
* @param exports The `exports` object.
|
||||
* @param o The `exports` object.
|
||||
*/
|
||||
export declare function __exportStar(m: any, o: any): void;
|
||||
|
||||
|
|
@ -451,3 +451,10 @@ export declare function __addDisposableResource<T>(env: { stack: { value?: unkno
|
|||
* @seealso {@link __addDisposableResource}
|
||||
*/
|
||||
export declare function __disposeResources(env: { stack: { value?: unknown, dispose?: Function, async: boolean }[]; error: unknown; hasError: boolean; }): any;
|
||||
|
||||
/**
|
||||
* Transforms a relative import specifier ending in a non-declaration TypeScript file extension to its JavaScript file extension counterpart.
|
||||
* @param path The import specifier.
|
||||
* @param preserveJsx Causes '*.tsx' to transform to '*.jsx' instead of '*.js'. Should be true when `--jsx` is set to `preserve`.
|
||||
*/
|
||||
export declare function __rewriteRelativeImportExtension(path: string, preserveJsx?: boolean): string;
|
||||
110
node_modules/synckit/node_modules/tslib/tslib.es6.js
generated
vendored
110
node_modules/synckit/node_modules/tslib/tslib.es6.js
generated
vendored
|
|
@ -12,7 +12,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
***************************************************************************** */
|
||||
/* global Reflect, Promise, SuppressedError, Symbol */
|
||||
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
||||
|
||||
var extendStatics = function(d, b) {
|
||||
extendStatics = Object.setPrototypeOf ||
|
||||
|
|
@ -123,8 +123,8 @@ export function __awaiter(thisArg, _arguments, P, generator) {
|
|||
}
|
||||
|
||||
export function __generator(thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
||||
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
|
|
@ -228,8 +228,9 @@ export function __await(v) {
|
|||
export function __asyncGenerator(thisArg, _arguments, generator) {
|
||||
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
||||
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
||||
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
|
||||
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
|
||||
return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
|
||||
function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
|
||||
function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
|
||||
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
||||
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
||||
function fulfill(value) { resume("next", value); }
|
||||
|
|
@ -262,10 +263,19 @@ var __setModuleDefault = Object.create ? (function(o, v) {
|
|||
o["default"] = v;
|
||||
};
|
||||
|
||||
var ownKeys = function(o) {
|
||||
ownKeys = Object.getOwnPropertyNames || function (o) {
|
||||
var ar = [];
|
||||
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
||||
return ar;
|
||||
};
|
||||
return ownKeys(o);
|
||||
};
|
||||
|
||||
export function __importStar(mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
}
|
||||
|
|
@ -294,8 +304,8 @@ export function __classPrivateFieldIn(state, receiver) {
|
|||
|
||||
export function __addDisposableResource(env, value, async) {
|
||||
if (value !== null && value !== void 0) {
|
||||
if (typeof value !== "object") throw new TypeError("Object expected.");
|
||||
var dispose;
|
||||
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
||||
var dispose, inner;
|
||||
if (async) {
|
||||
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
||||
dispose = value[Symbol.asyncDispose];
|
||||
|
|
@ -303,14 +313,17 @@ export function __addDisposableResource(env, value, async) {
|
|||
if (dispose === void 0) {
|
||||
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
||||
dispose = value[Symbol.dispose];
|
||||
if (async) inner = dispose;
|
||||
}
|
||||
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
||||
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
||||
env.stack.push({ value: value, dispose: dispose, async: async });
|
||||
}
|
||||
else if (async) {
|
||||
env.stack.push({ async: true });
|
||||
}
|
||||
return value;
|
||||
|
||||
}
|
||||
|
||||
var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
||||
|
|
@ -323,48 +336,67 @@ export function __disposeResources(env) {
|
|||
env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
||||
env.hasError = true;
|
||||
}
|
||||
var r, s = 0;
|
||||
function next() {
|
||||
while (env.stack.length) {
|
||||
var rec = env.stack.pop();
|
||||
while (r = env.stack.pop()) {
|
||||
try {
|
||||
var result = rec.dispose && rec.dispose.call(rec.value);
|
||||
if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
||||
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
||||
if (r.dispose) {
|
||||
var result = r.dispose.call(r.value);
|
||||
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
||||
}
|
||||
else s |= 1;
|
||||
}
|
||||
catch (e) {
|
||||
fail(e);
|
||||
}
|
||||
}
|
||||
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
||||
if (env.hasError) throw env.error;
|
||||
}
|
||||
return next();
|
||||
}
|
||||
|
||||
export function __rewriteRelativeImportExtension(path, preserveJsx) {
|
||||
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
||||
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
||||
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
||||
});
|
||||
}
|
||||
return path;
|
||||
}
|
||||
|
||||
export default {
|
||||
__extends,
|
||||
__assign,
|
||||
__rest,
|
||||
__decorate,
|
||||
__param,
|
||||
__metadata,
|
||||
__awaiter,
|
||||
__generator,
|
||||
__createBinding,
|
||||
__exportStar,
|
||||
__values,
|
||||
__read,
|
||||
__spread,
|
||||
__spreadArrays,
|
||||
__spreadArray,
|
||||
__await,
|
||||
__asyncGenerator,
|
||||
__asyncDelegator,
|
||||
__asyncValues,
|
||||
__makeTemplateObject,
|
||||
__importStar,
|
||||
__importDefault,
|
||||
__classPrivateFieldGet,
|
||||
__classPrivateFieldSet,
|
||||
__classPrivateFieldIn,
|
||||
__addDisposableResource,
|
||||
__disposeResources,
|
||||
__extends: __extends,
|
||||
__assign: __assign,
|
||||
__rest: __rest,
|
||||
__decorate: __decorate,
|
||||
__param: __param,
|
||||
__esDecorate: __esDecorate,
|
||||
__runInitializers: __runInitializers,
|
||||
__propKey: __propKey,
|
||||
__setFunctionName: __setFunctionName,
|
||||
__metadata: __metadata,
|
||||
__awaiter: __awaiter,
|
||||
__generator: __generator,
|
||||
__createBinding: __createBinding,
|
||||
__exportStar: __exportStar,
|
||||
__values: __values,
|
||||
__read: __read,
|
||||
__spread: __spread,
|
||||
__spreadArrays: __spreadArrays,
|
||||
__spreadArray: __spreadArray,
|
||||
__await: __await,
|
||||
__asyncGenerator: __asyncGenerator,
|
||||
__asyncDelegator: __asyncDelegator,
|
||||
__asyncValues: __asyncValues,
|
||||
__makeTemplateObject: __makeTemplateObject,
|
||||
__importStar: __importStar,
|
||||
__importDefault: __importDefault,
|
||||
__classPrivateFieldGet: __classPrivateFieldGet,
|
||||
__classPrivateFieldSet: __classPrivateFieldSet,
|
||||
__classPrivateFieldIn: __classPrivateFieldIn,
|
||||
__addDisposableResource: __addDisposableResource,
|
||||
__disposeResources: __disposeResources,
|
||||
__rewriteRelativeImportExtension: __rewriteRelativeImportExtension,
|
||||
};
|
||||
|
|
|
|||
65
node_modules/synckit/node_modules/tslib/tslib.es6.mjs
generated
vendored
65
node_modules/synckit/node_modules/tslib/tslib.es6.mjs
generated
vendored
|
|
@ -12,7 +12,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
***************************************************************************** */
|
||||
/* global Reflect, Promise, SuppressedError, Symbol */
|
||||
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
||||
|
||||
var extendStatics = function(d, b) {
|
||||
extendStatics = Object.setPrototypeOf ||
|
||||
|
|
@ -123,8 +123,8 @@ export function __awaiter(thisArg, _arguments, P, generator) {
|
|||
}
|
||||
|
||||
export function __generator(thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
||||
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
|
|
@ -228,8 +228,9 @@ export function __await(v) {
|
|||
export function __asyncGenerator(thisArg, _arguments, generator) {
|
||||
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
||||
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
||||
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
|
||||
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
|
||||
return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
|
||||
function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
|
||||
function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
|
||||
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
||||
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
||||
function fulfill(value) { resume("next", value); }
|
||||
|
|
@ -262,10 +263,19 @@ var __setModuleDefault = Object.create ? (function(o, v) {
|
|||
o["default"] = v;
|
||||
};
|
||||
|
||||
var ownKeys = function(o) {
|
||||
ownKeys = Object.getOwnPropertyNames || function (o) {
|
||||
var ar = [];
|
||||
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
||||
return ar;
|
||||
};
|
||||
return ownKeys(o);
|
||||
};
|
||||
|
||||
export function __importStar(mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
}
|
||||
|
|
@ -294,17 +304,19 @@ export function __classPrivateFieldIn(state, receiver) {
|
|||
|
||||
export function __addDisposableResource(env, value, async) {
|
||||
if (value !== null && value !== void 0) {
|
||||
if (typeof value !== "object") throw new TypeError("Object expected.");
|
||||
var dispose;
|
||||
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
||||
var dispose, inner;
|
||||
if (async) {
|
||||
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
||||
dispose = value[Symbol.asyncDispose];
|
||||
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
||||
dispose = value[Symbol.asyncDispose];
|
||||
}
|
||||
if (dispose === void 0) {
|
||||
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
||||
dispose = value[Symbol.dispose];
|
||||
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
||||
dispose = value[Symbol.dispose];
|
||||
if (async) inner = dispose;
|
||||
}
|
||||
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
||||
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
||||
env.stack.push({ value: value, dispose: dispose, async: async });
|
||||
}
|
||||
else if (async) {
|
||||
|
|
@ -323,28 +335,46 @@ export function __disposeResources(env) {
|
|||
env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
||||
env.hasError = true;
|
||||
}
|
||||
var r, s = 0;
|
||||
function next() {
|
||||
while (env.stack.length) {
|
||||
var rec = env.stack.pop();
|
||||
while (r = env.stack.pop()) {
|
||||
try {
|
||||
var result = rec.dispose && rec.dispose.call(rec.value);
|
||||
if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
||||
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
||||
if (r.dispose) {
|
||||
var result = r.dispose.call(r.value);
|
||||
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
||||
}
|
||||
else s |= 1;
|
||||
}
|
||||
catch (e) {
|
||||
fail(e);
|
||||
fail(e);
|
||||
}
|
||||
}
|
||||
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
||||
if (env.hasError) throw env.error;
|
||||
}
|
||||
return next();
|
||||
}
|
||||
|
||||
export function __rewriteRelativeImportExtension(path, preserveJsx) {
|
||||
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
||||
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
||||
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
||||
});
|
||||
}
|
||||
return path;
|
||||
}
|
||||
|
||||
export default {
|
||||
__extends,
|
||||
__assign,
|
||||
__rest,
|
||||
__decorate,
|
||||
__param,
|
||||
__esDecorate,
|
||||
__runInitializers,
|
||||
__propKey,
|
||||
__setFunctionName,
|
||||
__metadata,
|
||||
__awaiter,
|
||||
__generator,
|
||||
|
|
@ -367,4 +397,5 @@ export default {
|
|||
__classPrivateFieldIn,
|
||||
__addDisposableResource,
|
||||
__disposeResources,
|
||||
__rewriteRelativeImportExtension,
|
||||
};
|
||||
|
|
|
|||
89
node_modules/synckit/node_modules/tslib/tslib.js
generated
vendored
89
node_modules/synckit/node_modules/tslib/tslib.js
generated
vendored
|
|
@ -12,7 +12,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
***************************************************************************** */
|
||||
/* global global, define, Symbol, Reflect, Promise, SuppressedError */
|
||||
/* global global, define, Symbol, Reflect, Promise, SuppressedError, Iterator */
|
||||
var __extends;
|
||||
var __assign;
|
||||
var __rest;
|
||||
|
|
@ -44,6 +44,7 @@ var __classPrivateFieldIn;
|
|||
var __createBinding;
|
||||
var __addDisposableResource;
|
||||
var __disposeResources;
|
||||
var __rewriteRelativeImportExtension;
|
||||
(function (factory) {
|
||||
var root = typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : {};
|
||||
if (typeof define === "function" && define.amd) {
|
||||
|
|
@ -171,8 +172,8 @@ var __disposeResources;
|
|||
};
|
||||
|
||||
__generator = function (thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
||||
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
|
|
@ -276,10 +277,11 @@ var __disposeResources;
|
|||
__asyncGenerator = function (thisArg, _arguments, generator) {
|
||||
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
||||
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
||||
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
|
||||
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
|
||||
return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
|
||||
function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
|
||||
function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
|
||||
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
||||
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
||||
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
||||
function fulfill(value) { resume("next", value); }
|
||||
function reject(value) { resume("throw", value); }
|
||||
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
||||
|
|
@ -310,10 +312,19 @@ var __disposeResources;
|
|||
o["default"] = v;
|
||||
};
|
||||
|
||||
var ownKeys = function(o) {
|
||||
ownKeys = Object.getOwnPropertyNames || function (o) {
|
||||
var ar = [];
|
||||
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
||||
return ar;
|
||||
};
|
||||
return ownKeys(o);
|
||||
};
|
||||
|
||||
__importStar = function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
|
|
@ -342,8 +353,8 @@ var __disposeResources;
|
|||
|
||||
__addDisposableResource = function (env, value, async) {
|
||||
if (value !== null && value !== void 0) {
|
||||
if (typeof value !== "object") throw new TypeError("Object expected.");
|
||||
var dispose;
|
||||
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
||||
var dispose, inner;
|
||||
if (async) {
|
||||
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
||||
dispose = value[Symbol.asyncDispose];
|
||||
|
|
@ -351,8 +362,10 @@ var __disposeResources;
|
|||
if (dispose === void 0) {
|
||||
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
||||
dispose = value[Symbol.dispose];
|
||||
if (async) inner = dispose;
|
||||
}
|
||||
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
||||
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
||||
env.stack.push({ value: value, dispose: dispose, async: async });
|
||||
}
|
||||
else if (async) {
|
||||
|
|
@ -371,22 +384,36 @@ var __disposeResources;
|
|||
env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
||||
env.hasError = true;
|
||||
}
|
||||
var r, s = 0;
|
||||
function next() {
|
||||
while (env.stack.length) {
|
||||
var rec = env.stack.pop();
|
||||
while (r = env.stack.pop()) {
|
||||
try {
|
||||
var result = rec.dispose && rec.dispose.call(rec.value);
|
||||
if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
||||
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
||||
if (r.dispose) {
|
||||
var result = r.dispose.call(r.value);
|
||||
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
||||
}
|
||||
else s |= 1;
|
||||
}
|
||||
catch (e) {
|
||||
fail(e);
|
||||
}
|
||||
}
|
||||
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
||||
if (env.hasError) throw env.error;
|
||||
}
|
||||
return next();
|
||||
};
|
||||
|
||||
__rewriteRelativeImportExtension = function (path, preserveJsx) {
|
||||
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
||||
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
||||
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
||||
});
|
||||
}
|
||||
return path;
|
||||
};
|
||||
|
||||
exporter("__extends", __extends);
|
||||
exporter("__assign", __assign);
|
||||
exporter("__rest", __rest);
|
||||
|
|
@ -418,4 +445,40 @@ var __disposeResources;
|
|||
exporter("__classPrivateFieldIn", __classPrivateFieldIn);
|
||||
exporter("__addDisposableResource", __addDisposableResource);
|
||||
exporter("__disposeResources", __disposeResources);
|
||||
exporter("__rewriteRelativeImportExtension", __rewriteRelativeImportExtension);
|
||||
});
|
||||
|
||||
0 && (module.exports = {
|
||||
__extends: __extends,
|
||||
__assign: __assign,
|
||||
__rest: __rest,
|
||||
__decorate: __decorate,
|
||||
__param: __param,
|
||||
__esDecorate: __esDecorate,
|
||||
__runInitializers: __runInitializers,
|
||||
__propKey: __propKey,
|
||||
__setFunctionName: __setFunctionName,
|
||||
__metadata: __metadata,
|
||||
__awaiter: __awaiter,
|
||||
__generator: __generator,
|
||||
__exportStar: __exportStar,
|
||||
__createBinding: __createBinding,
|
||||
__values: __values,
|
||||
__read: __read,
|
||||
__spread: __spread,
|
||||
__spreadArrays: __spreadArrays,
|
||||
__spreadArray: __spreadArray,
|
||||
__await: __await,
|
||||
__asyncGenerator: __asyncGenerator,
|
||||
__asyncDelegator: __asyncDelegator,
|
||||
__asyncValues: __asyncValues,
|
||||
__makeTemplateObject: __makeTemplateObject,
|
||||
__importStar: __importStar,
|
||||
__importDefault: __importDefault,
|
||||
__classPrivateFieldGet: __classPrivateFieldGet,
|
||||
__classPrivateFieldSet: __classPrivateFieldSet,
|
||||
__classPrivateFieldIn: __classPrivateFieldIn,
|
||||
__addDisposableResource: __addDisposableResource,
|
||||
__disposeResources: __disposeResources,
|
||||
__rewriteRelativeImportExtension: __rewriteRelativeImportExtension,
|
||||
});
|
||||
|
|
|
|||
7
node_modules/synckit/package.json
generated
vendored
7
node_modules/synckit/package.json
generated
vendored
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "synckit",
|
||||
"version": "0.8.5",
|
||||
"version": "0.9.2",
|
||||
"type": "module",
|
||||
"description": "Perform async work synchronously in Node.js using `worker_threads` with first-class TypeScript support.",
|
||||
"repository": "git+https://github.com/un-ts/synckit.git",
|
||||
|
|
@ -24,6 +24,7 @@
|
|||
],
|
||||
"keywords": [
|
||||
"deasync",
|
||||
"make-synchronized",
|
||||
"make-synchronous",
|
||||
"sync",
|
||||
"sync-exec",
|
||||
|
|
@ -33,7 +34,7 @@
|
|||
"synckit"
|
||||
],
|
||||
"dependencies": {
|
||||
"@pkgr/utils": "^2.3.1",
|
||||
"tslib": "^2.5.0"
|
||||
"@pkgr/core": "^0.1.0",
|
||||
"tslib": "^2.6.2"
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue