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) |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue