@umijs/bundler-webpack 3.5.20 → 4.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/bin/bundler-webpack.js +1 -2
- package/client/client/client.js +202 -0
- package/client/constants.js +12 -0
- package/client/utils/formatWebpackMessages.js +92 -0
- package/compiled/@svgr/webpack/.svgo.yml +75 -0
- package/compiled/@svgr/webpack/LICENSE +7 -0
- package/compiled/@svgr/webpack/index.js +343 -0
- package/compiled/@svgr/webpack/package.json +1 -0
- package/compiled/autoprefixer/LICENSE +20 -0
- package/compiled/autoprefixer/browserslist/index.d.ts +172 -0
- package/compiled/autoprefixer/index.js +9 -0
- package/compiled/autoprefixer/lib/autoprefixer.d.ts +95 -0
- package/compiled/autoprefixer/package.json +1 -0
- package/compiled/autoprefixer/postcss/lib/at-rule.d.ts +106 -0
- package/compiled/autoprefixer/postcss/lib/comment.d.ts +56 -0
- package/compiled/autoprefixer/postcss/lib/container.d.ts +442 -0
- package/compiled/autoprefixer/postcss/lib/css-syntax-error.d.ts +192 -0
- package/compiled/autoprefixer/postcss/lib/declaration.d.ts +124 -0
- package/compiled/autoprefixer/postcss/lib/document.d.ts +57 -0
- package/compiled/autoprefixer/postcss/lib/input.d.ts +130 -0
- package/compiled/autoprefixer/postcss/lib/lazy-result.d.ts +175 -0
- package/compiled/autoprefixer/postcss/lib/list.d.ts +51 -0
- package/compiled/autoprefixer/postcss/lib/node.d.ts +444 -0
- package/compiled/autoprefixer/postcss/lib/postcss.d.ts +472 -0
- package/compiled/autoprefixer/postcss/lib/previous-map.d.ts +72 -0
- package/compiled/autoprefixer/postcss/lib/processor.d.ts +101 -0
- package/compiled/autoprefixer/postcss/lib/result.d.ts +195 -0
- package/compiled/autoprefixer/postcss/lib/root.d.ts +73 -0
- package/compiled/autoprefixer/postcss/lib/rule.d.ts +104 -0
- package/compiled/autoprefixer/postcss/lib/warning.d.ts +104 -0
- package/compiled/autoprefixer/source-map-js/source-map.d.ts +98 -0
- package/compiled/babel-loader/LICENSE +22 -0
- package/compiled/babel-loader/index.js +3 -0
- package/compiled/babel-loader/package.json +1 -0
- package/compiled/compression/LICENSE +23 -0
- package/compiled/compression/index.js +57 -0
- package/compiled/compression/package.json +1 -0
- package/compiled/connect-history-api-fallback/LICENSE +21 -0
- package/compiled/connect-history-api-fallback/index.js +1 -0
- package/compiled/connect-history-api-fallback/package.json +1 -0
- package/{lib/webpack/plugins/mini-css-extract-plugin → compiled/copy-webpack-plugin}/LICENSE +0 -0
- package/compiled/copy-webpack-plugin/index.js +46 -0
- package/compiled/copy-webpack-plugin/package.json +1 -0
- package/{lib/webpack/plugins/terser-webpack-plugin → compiled/css-loader}/LICENSE +0 -0
- package/compiled/css-loader/api.js +102 -0
- package/compiled/css-loader/getUrl.js +29 -0
- package/compiled/css-loader/index.js +2 -0
- package/compiled/css-loader/noSourceMaps.js +5 -0
- package/compiled/css-loader/package.json +1 -0
- package/compiled/css-loader/sourceMaps.js +22 -0
- package/compiled/css-minimizer-webpack-plugin/LICENSE +20 -0
- package/compiled/css-minimizer-webpack-plugin/index.js +3 -0
- package/compiled/css-minimizer-webpack-plugin/minify.js +72 -0
- package/compiled/css-minimizer-webpack-plugin/package.json +1 -0
- package/compiled/css-minimizer-webpack-plugin/utils.js +166 -0
- package/compiled/cssnano/index.js +192 -0
- package/compiled/cssnano/package.json +1 -0
- package/compiled/express/LICENSE +24 -0
- package/compiled/express/body-parser/index.d.ts +104 -0
- package/compiled/express/connect/index.d.ts +93 -0
- package/compiled/express/express-serve-static-core/index.d.ts +1252 -0
- package/compiled/express/index.d.ts +133 -0
- package/compiled/express/index.js +338 -0
- package/compiled/express/mime/index.d.ts +35 -0
- package/compiled/express/package.json +1 -0
- package/compiled/express/qs/index.d.ts +62 -0
- package/compiled/express/range-parser/index.d.ts +35 -0
- package/compiled/express/serve-static/index.d.ts +108 -0
- package/compiled/http-proxy-middleware/LICENSE +22 -0
- package/compiled/http-proxy-middleware/dist/index.d.ts +4 -0
- package/compiled/http-proxy-middleware/dist/types.d.ts +54 -0
- package/compiled/http-proxy-middleware/http-proxy/index.d.ts +226 -0
- package/compiled/http-proxy-middleware/index.js +66 -0
- package/compiled/http-proxy-middleware/package.json +1 -0
- package/compiled/less/index.js +31 -0
- package/compiled/less/package.json +1 -0
- package/compiled/less-loader/LICENSE +20 -0
- package/compiled/less-loader/index.js +1 -0
- package/compiled/less-loader/package.json +1 -0
- package/compiled/mini-css-extract-plugin/LICENSE +20 -0
- package/{lib/webpack/plugins/mini-css-extract-plugin/src → compiled/mini-css-extract-plugin}/hmr/hotModuleReplacement.js +50 -52
- package/compiled/mini-css-extract-plugin/hmr/normalize-url.js +35 -0
- package/compiled/mini-css-extract-plugin/index.js +11606 -0
- package/compiled/mini-css-extract-plugin/loader-options.json +32 -0
- package/compiled/mini-css-extract-plugin/loader.js +315 -0
- package/compiled/mini-css-extract-plugin/package.json +1 -0
- package/compiled/mini-css-extract-plugin/utils.js +154 -0
- package/compiled/postcss-flexbugs-fixes/LICENSE +20 -0
- package/compiled/postcss-flexbugs-fixes/index.js +1 -0
- package/compiled/postcss-flexbugs-fixes/package.json +1 -0
- package/compiled/postcss-loader/LICENSE +20 -0
- package/compiled/postcss-loader/index.js +1 -0
- package/compiled/postcss-loader/package.json +1 -0
- package/compiled/purgecss-webpack-plugin/LICENSE +21 -0
- package/compiled/purgecss-webpack-plugin/index.js +7781 -0
- package/compiled/purgecss-webpack-plugin/package.json +1 -0
- package/compiled/react-refresh/index.js +19 -0
- package/compiled/sass-loader/LICENSE +20 -0
- package/compiled/sass-loader/index.js +1 -0
- package/compiled/sass-loader/package.json +1 -0
- package/compiled/schema-utils/LICENSE +20 -0
- package/compiled/schema-utils/ajv/lib/ajv.d.ts +397 -0
- package/compiled/schema-utils/declarations/ValidationError.d.ts +74 -0
- package/compiled/schema-utils/declarations/index.d.ts +3 -0
- package/compiled/schema-utils/declarations/validate.d.ts +37 -0
- package/compiled/schema-utils/index.js +3 -0
- package/compiled/schema-utils/json-schema/index.d.ts +751 -0
- package/compiled/schema-utils/package.json +1 -0
- package/compiled/speed-measure-webpack-plugin/LICENSE +21 -0
- package/compiled/speed-measure-webpack-plugin/index.js +1 -0
- package/compiled/speed-measure-webpack-plugin/package.json +1 -0
- package/compiled/style-loader/LICENSE +20 -0
- package/compiled/style-loader/index.js +1 -0
- package/compiled/style-loader/package.json +1 -0
- package/compiled/style-loader/runtime/injectStylesIntoLinkTag.js +29 -0
- package/compiled/style-loader/runtime/injectStylesIntoStyleTag.js +104 -0
- package/compiled/style-loader/runtime/insertBySelector.js +39 -0
- package/compiled/style-loader/runtime/insertStyleElement.js +11 -0
- package/compiled/style-loader/runtime/isEqualLocals.js +35 -0
- package/compiled/style-loader/runtime/isOldIE.js +19 -0
- package/compiled/style-loader/runtime/setAttributesWithAttributes.js +16 -0
- package/compiled/style-loader/runtime/setAttributesWithAttributesAndNonce.js +10 -0
- package/compiled/style-loader/runtime/setAttributesWithoutAttributes.js +12 -0
- package/compiled/style-loader/runtime/singletonStyleDomAPI.js +93 -0
- package/compiled/style-loader/runtime/styleDomAPI.js +70 -0
- package/compiled/style-loader/runtime/styleTagTransform.js +16 -0
- package/compiled/svgo-loader/LICENSE +22 -0
- package/compiled/svgo-loader/index.js +4 -0
- package/compiled/svgo-loader/package.json +1 -0
- package/compiled/swc-loader/LICENSE +25 -0
- package/compiled/swc-loader/index.js +1 -0
- package/compiled/swc-loader/package.json +1 -0
- package/compiled/tapable/LICENSE +21 -0
- package/compiled/tapable/index.js +1 -0
- package/compiled/tapable/package.json +1 -0
- package/compiled/tapable/tapable.d.ts +116 -0
- package/compiled/terser/LICENSE +29 -0
- package/compiled/terser/index.js +1 -0
- package/compiled/terser/mappings.wasm +0 -0
- package/compiled/terser/package.json +1 -0
- package/compiled/terser/source-map/source-map.d.ts +369 -0
- package/compiled/terser/tools/terser.d.ts +207 -0
- package/compiled/terser-webpack-plugin/LICENSE +20 -0
- package/compiled/terser-webpack-plugin/ajv/lib/ajv.d.ts +397 -0
- package/compiled/terser-webpack-plugin/index.js +15142 -0
- package/compiled/terser-webpack-plugin/jest-worker/build/index.d.ts +49 -0
- package/compiled/terser-webpack-plugin/jest-worker/build/types.d.ts +142 -0
- package/compiled/terser-webpack-plugin/json-schema/index.d.ts +751 -0
- package/compiled/terser-webpack-plugin/minify.js +43 -0
- package/compiled/terser-webpack-plugin/package.json +1 -0
- package/compiled/terser-webpack-plugin/schema-utils/declarations/ValidationError.d.ts +74 -0
- package/compiled/terser-webpack-plugin/schema-utils/declarations/index.d.ts +3 -0
- package/compiled/terser-webpack-plugin/schema-utils/declarations/validate.d.ts +37 -0
- package/compiled/terser-webpack-plugin/source-map/source-map.d.ts +98 -0
- package/compiled/terser-webpack-plugin/types/cjs.d.ts +3 -0
- package/compiled/terser-webpack-plugin/types/index.d.ts +295 -0
- package/compiled/terser-webpack-plugin/types/utils.d.ts +105 -0
- package/compiled/terser-webpack-plugin/utils.js +594 -0
- package/compiled/url-loader/LICENSE +20 -0
- package/compiled/url-loader/index.js +15 -0
- package/compiled/url-loader/package.json +1 -0
- package/compiled/webpack/Chunk.js +1 -0
- package/compiled/webpack/Compilation.js +1 -0
- package/compiled/webpack/HotModuleReplacement.runtime.js +394 -0
- package/compiled/webpack/JavascriptHotModuleReplacement.runtime.js +462 -0
- package/compiled/webpack/LICENSE +20 -0
- package/compiled/webpack/LibraryTemplatePlugin.js +1 -0
- package/compiled/webpack/LoaderTargetPlugin.js +1 -0
- package/compiled/webpack/ModuleFilenameHelpers.js +1 -0
- package/compiled/webpack/NormalModule.js +1 -0
- package/compiled/webpack/RuntimeGlobals.js +1 -0
- package/compiled/webpack/RuntimeModule.js +1 -0
- package/compiled/webpack/SingleEntryPlugin.js +1 -0
- package/compiled/webpack/Template.js +1 -0
- package/compiled/webpack/ajv/lib/ajv.d.ts +397 -0
- package/compiled/webpack/deepImports.json +12 -0
- package/compiled/webpack/index.js +162861 -0
- package/compiled/webpack/json-schema/index.d.ts +751 -0
- package/compiled/webpack/lazy-compilation-node.js +40 -0
- package/compiled/webpack/lazy-compilation-web.js +74 -0
- package/compiled/webpack/package.json +5 -0
- package/compiled/webpack/schema-utils/declarations/ValidationError.d.ts +74 -0
- package/compiled/webpack/schema-utils/declarations/index.d.ts +3 -0
- package/compiled/webpack/schema-utils/declarations/validate.d.ts +37 -0
- package/compiled/webpack/types.d.ts +12664 -0
- package/compiled/webpack-5-chain/LICENSE +373 -0
- package/compiled/webpack-5-chain/index.js +1 -0
- package/compiled/webpack-5-chain/package.json +1 -0
- package/compiled/webpack-5-chain/types/index.d.ts +543 -0
- package/compiled/webpack-bundle-analyzer/LICENSE +20 -0
- package/compiled/webpack-bundle-analyzer/index.js +30 -0
- package/compiled/webpack-bundle-analyzer/package.json +1 -0
- package/compiled/webpack-bundle-analyzer/public/viewer.js +16 -0
- package/compiled/webpack-bundle-analyzer/public/viewer.js.LICENSE.txt +10 -0
- package/compiled/webpack-bundle-analyzer/public/viewer.js.map +1 -0
- package/compiled/webpack-dev-middleware/LICENSE +20 -0
- package/compiled/webpack-dev-middleware/index.js +21 -0
- package/compiled/webpack-dev-middleware/package.json +1 -0
- package/compiled/webpack-sources/LICENSE +21 -0
- package/compiled/webpack-sources/index.d.ts +20 -0
- package/compiled/webpack-sources/index.js +1 -0
- package/compiled/webpack-sources/lib/CachedSource.d.ts +18 -0
- package/compiled/webpack-sources/lib/CompatSource.d.ts +9 -0
- package/compiled/webpack-sources/lib/ConcatSource.d.ts +22 -0
- package/compiled/webpack-sources/lib/OriginalSource.d.ts +18 -0
- package/compiled/webpack-sources/lib/PrefixSource.d.ts +12 -0
- package/compiled/webpack-sources/lib/RawSource.d.ts +13 -0
- package/compiled/webpack-sources/lib/ReplaceSource.d.ts +35 -0
- package/compiled/webpack-sources/lib/SizeOnlySource.d.ts +7 -0
- package/compiled/webpack-sources/lib/Source.d.ts +45 -0
- package/compiled/webpack-sources/lib/SourceMapSource.d.ts +22 -0
- package/compiled/webpack-sources/lib/index.d.ts +60 -0
- package/compiled/webpack-sources/package.json +1 -0
- package/compiled/webpack-sources/source-list-map/index.d.ts +91 -0
- package/compiled/webpack-sources/source-map/source-map.d.ts +369 -0
- package/compiled/ws/LICENSE +19 -0
- package/compiled/ws/index.d.ts +359 -0
- package/compiled/ws/index.js +1 -0
- package/compiled/ws/package.json +1 -0
- package/dist/build.d.ts +16 -0
- package/dist/build.js +71 -0
- package/{lib → dist}/cli.d.ts +0 -0
- package/dist/cli.js +113 -0
- package/{lib/webpackHotDevClient/webpackHotDevClient.d.ts → dist/client/client.d.ts} +0 -0
- package/dist/client/client.js +239 -0
- package/dist/config/_sampleFeature.d.ts +10 -0
- package/dist/config/_sampleFeature.js +22 -0
- package/dist/config/assetRules.d.ts +11 -0
- package/dist/config/assetRules.js +57 -0
- package/dist/config/bundleAnalyzerPlugin.d.ts +10 -0
- package/dist/config/bundleAnalyzerPlugin.js +30 -0
- package/dist/config/compressPlugin.d.ts +10 -0
- package/dist/config/compressPlugin.js +77 -0
- package/dist/config/config.d.ts +19 -0
- package/dist/config/config.js +171 -0
- package/dist/config/copyPlugin.d.ts +10 -0
- package/dist/config/copyPlugin.js +49 -0
- package/dist/config/cssRules.d.ts +11 -0
- package/dist/config/cssRules.js +98 -0
- package/dist/config/definePlugin.d.ts +15 -0
- package/dist/config/definePlugin.js +45 -0
- package/dist/config/fastRefreshPlugin.d.ts +12 -0
- package/dist/config/fastRefreshPlugin.js +34 -0
- package/dist/config/ignorePlugin.d.ts +10 -0
- package/dist/config/ignorePlugin.js +27 -0
- package/dist/config/javaScriptRules.d.ts +14 -0
- package/dist/config/javaScriptRules.js +150 -0
- package/dist/config/miniCSSExtractPlugin.d.ts +10 -0
- package/dist/config/miniCSSExtractPlugin.js +34 -0
- package/dist/config/nodePolyfill.d.ts +10 -0
- package/dist/config/nodePolyfill.js +34 -0
- package/dist/config/progressPlugin.d.ts +11 -0
- package/dist/config/progressPlugin.js +27 -0
- package/dist/config/purgecssWebpackPlugin.d.ts +10 -0
- package/dist/config/purgecssWebpackPlugin.js +32 -0
- package/dist/config/speedMeasureWebpackPlugin.d.ts +6 -0
- package/dist/config/speedMeasureWebpackPlugin.js +34 -0
- package/dist/config/svgRules.d.ts +11 -0
- package/dist/config/svgRules.js +56 -0
- package/dist/constants.d.ts +11 -0
- package/dist/constants.js +15 -0
- package/dist/dev.d.ts +18 -0
- package/dist/dev.js +80 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +16 -0
- package/dist/plugins/ESBuildCSSMinifyPlugin.d.ts +11 -0
- package/dist/plugins/ESBuildCSSMinifyPlugin.js +65 -0
- package/dist/plugins/ProgressPlugin.d.ts +15 -0
- package/dist/plugins/ProgressPlugin.js +44 -0
- package/dist/plugins/_SamplePlugin.d.ts +9 -0
- package/dist/plugins/_SamplePlugin.js +14 -0
- package/dist/requireHook.d.ts +1 -0
- package/dist/requireHook.js +31 -0
- package/dist/schema.d.ts +3 -0
- package/dist/schema.js +68 -0
- package/dist/server/server.d.ts +16 -0
- package/dist/server/server.js +157 -0
- package/dist/server/ws.d.ts +8 -0
- package/dist/server/ws.js +42 -0
- package/dist/types.d.ts +97 -0
- package/dist/types.js +29 -0
- package/dist/utils/browsersList.d.ts +5 -0
- package/dist/utils/browsersList.js +10 -0
- package/dist/utils/depMatch.d.ts +6 -0
- package/dist/utils/depMatch.js +46 -0
- package/dist/utils/formatWebpackMessages.d.ts +12 -0
- package/dist/utils/formatWebpackMessages.js +100 -0
- package/package.json +163 -35
- package/bundled/css/hotModuleReplacement.js +0 -1203
- package/bundled/js/webpackHotDevClient.js +0 -13386
- package/lib/DevCompileDonePlugin.d.ts +0 -10
- package/lib/DevCompileDonePlugin.js +0 -53
- package/lib/cli.js +0 -184
- package/lib/getConfig/css.d.ts +0 -22
- package/lib/getConfig/css.js +0 -186
- package/lib/getConfig/getConfig.d.ts +0 -26
- package/lib/getConfig/getConfig.js +0 -578
- package/lib/getConfig/nodeModulesTransform.d.ts +0 -13
- package/lib/getConfig/nodeModulesTransform.js +0 -141
- package/lib/getConfig/pkgMatch.d.ts +0 -2
- package/lib/getConfig/pkgMatch.js +0 -58
- package/lib/getConfig/resolveDefine.d.ts +0 -5
- package/lib/getConfig/resolveDefine.js +0 -53
- package/lib/getConfig/runtimePublicPathEntry.d.ts +0 -1
- package/lib/getConfig/runtimePublicPathEntry.js +0 -3
- package/lib/getConfig/terserOptions.d.ts +0 -41
- package/lib/getConfig/terserOptions.js +0 -64
- package/lib/index.d.ts +0 -34
- package/lib/index.js +0 -314
- package/lib/requireHook.d.ts +0 -3
- package/lib/requireHook.js +0 -51
- package/lib/webpack/plugins/mini-css-extract-plugin/src/CssDependency.js +0 -94
- package/lib/webpack/plugins/mini-css-extract-plugin/src/CssDependencyTemplate.js +0 -26
- package/lib/webpack/plugins/mini-css-extract-plugin/src/CssLoadingRuntimeModule.js +0 -93
- package/lib/webpack/plugins/mini-css-extract-plugin/src/CssModule.js +0 -164
- package/lib/webpack/plugins/mini-css-extract-plugin/src/CssModuleFactory.js +0 -32
- package/lib/webpack/plugins/mini-css-extract-plugin/src/cjs.js +0 -15
- package/lib/webpack/plugins/mini-css-extract-plugin/src/index.js +0 -542
- package/lib/webpack/plugins/mini-css-extract-plugin/src/loader.js +0 -319
- package/lib/webpack/plugins/mini-css-extract-plugin/src/utils.js +0 -97
- package/lib/webpack/plugins/mini-css-extract-plugin.d.ts +0 -1
- package/lib/webpack/plugins/mini-css-extract-plugin.js +0 -15
- package/lib/webpack/plugins/terser-webpack-plugin/package.json +0 -3
- package/lib/webpack/plugins/terser-webpack-plugin/src/Webpack4Cache.js +0 -187
- package/lib/webpack/plugins/terser-webpack-plugin/src/Webpack5Cache.js +0 -61
- package/lib/webpack/plugins/terser-webpack-plugin/src/index.js +0 -683
- package/lib/webpack/plugins/terser-webpack-plugin/src/minify.js +0 -197
- package/lib/webpack/plugins/terser-webpack-plugin.d.ts +0 -1
- package/lib/webpack/plugins/terser-webpack-plugin.js +0 -15
- package/lib/webpackHotDevClient/formatWebpackMessages.d.ts +0 -11
- package/lib/webpackHotDevClient/formatWebpackMessages.js +0 -127
- package/lib/webpackHotDevClient/webpackHotDevClient.js +0 -311
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
/// <reference types="node" />
|
|
8
|
+
import type { FarmOptions, PoolExitResult, PromiseWithCustomMessage, TaskQueue } from './types';
|
|
9
|
+
export { default as PriorityQueue } from './PriorityQueue';
|
|
10
|
+
export { default as FifoQueue } from './FifoQueue';
|
|
11
|
+
export { default as messageParent } from './workers/messageParent';
|
|
12
|
+
/**
|
|
13
|
+
* The Jest farm (publicly called "Worker") is a class that allows you to queue
|
|
14
|
+
* methods across multiple child processes, in order to parallelize work. This
|
|
15
|
+
* is done by providing an absolute path to a module that will be loaded on each
|
|
16
|
+
* of the child processes, and bridged to the main process.
|
|
17
|
+
*
|
|
18
|
+
* Bridged methods are specified by using the "exposedMethods" property of the
|
|
19
|
+
* "options" object. This is an array of strings, where each of them corresponds
|
|
20
|
+
* to the exported name in the loaded module.
|
|
21
|
+
*
|
|
22
|
+
* You can also control the amount of workers by using the "numWorkers" property
|
|
23
|
+
* of the "options" object, and the settings passed to fork the process through
|
|
24
|
+
* the "forkOptions" property. The amount of workers defaults to the amount of
|
|
25
|
+
* CPUS minus one.
|
|
26
|
+
*
|
|
27
|
+
* Queueing calls can be done in two ways:
|
|
28
|
+
* - Standard method: calls will be redirected to the first available worker,
|
|
29
|
+
* so they will get executed as soon as they can.
|
|
30
|
+
*
|
|
31
|
+
* - Sticky method: if a "computeWorkerKey" method is provided within the
|
|
32
|
+
* config, the resulting string of this method will be used as a key.
|
|
33
|
+
* Every time this key is returned, it is guaranteed that your job will be
|
|
34
|
+
* processed by the same worker. This is specially useful if your workers
|
|
35
|
+
* are caching results.
|
|
36
|
+
*/
|
|
37
|
+
export declare class Worker {
|
|
38
|
+
private _ending;
|
|
39
|
+
private _farm;
|
|
40
|
+
private _options;
|
|
41
|
+
private _workerPool;
|
|
42
|
+
constructor(workerPath: string, options?: FarmOptions);
|
|
43
|
+
private _bindExposedWorkerMethods;
|
|
44
|
+
private _callFunctionWithArgs;
|
|
45
|
+
getStderr(): NodeJS.ReadableStream;
|
|
46
|
+
getStdout(): NodeJS.ReadableStream;
|
|
47
|
+
end(): Promise<PoolExitResult>;
|
|
48
|
+
}
|
|
49
|
+
export type { PromiseWithCustomMessage, TaskQueue };
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
/// <reference types="node" />
|
|
8
|
+
import type { ForkOptions } from 'child_process';
|
|
9
|
+
import type { EventEmitter } from 'events';
|
|
10
|
+
export interface ResourceLimits {
|
|
11
|
+
maxYoungGenerationSizeMb?: number;
|
|
12
|
+
maxOldGenerationSizeMb?: number;
|
|
13
|
+
codeRangeSizeMb?: number;
|
|
14
|
+
stackSizeMb?: number;
|
|
15
|
+
}
|
|
16
|
+
export declare const CHILD_MESSAGE_INITIALIZE: 0;
|
|
17
|
+
export declare const CHILD_MESSAGE_CALL: 1;
|
|
18
|
+
export declare const CHILD_MESSAGE_END: 2;
|
|
19
|
+
export declare const PARENT_MESSAGE_OK: 0;
|
|
20
|
+
export declare const PARENT_MESSAGE_CLIENT_ERROR: 1;
|
|
21
|
+
export declare const PARENT_MESSAGE_SETUP_ERROR: 2;
|
|
22
|
+
export declare const PARENT_MESSAGE_CUSTOM: 3;
|
|
23
|
+
export declare type PARENT_MESSAGE_ERROR = typeof PARENT_MESSAGE_CLIENT_ERROR | typeof PARENT_MESSAGE_SETUP_ERROR;
|
|
24
|
+
export interface WorkerPoolInterface {
|
|
25
|
+
getStderr(): NodeJS.ReadableStream;
|
|
26
|
+
getStdout(): NodeJS.ReadableStream;
|
|
27
|
+
getWorkers(): Array<WorkerInterface>;
|
|
28
|
+
createWorker(options: WorkerOptions): WorkerInterface;
|
|
29
|
+
send(workerId: number, request: ChildMessage, onStart: OnStart, onEnd: OnEnd, onCustomMessage: OnCustomMessage): void;
|
|
30
|
+
end(): Promise<PoolExitResult>;
|
|
31
|
+
}
|
|
32
|
+
export interface WorkerInterface {
|
|
33
|
+
send(request: ChildMessage, onProcessStart: OnStart, onProcessEnd: OnEnd, onCustomMessage: OnCustomMessage): void;
|
|
34
|
+
waitForExit(): Promise<void>;
|
|
35
|
+
forceExit(): void;
|
|
36
|
+
getWorkerId(): number;
|
|
37
|
+
getStderr(): NodeJS.ReadableStream | null;
|
|
38
|
+
getStdout(): NodeJS.ReadableStream | null;
|
|
39
|
+
}
|
|
40
|
+
export declare type PoolExitResult = {
|
|
41
|
+
forceExited: boolean;
|
|
42
|
+
};
|
|
43
|
+
export interface PromiseWithCustomMessage<T> extends Promise<T> {
|
|
44
|
+
UNSTABLE_onCustomMessage?: (listener: OnCustomMessage) => () => void;
|
|
45
|
+
}
|
|
46
|
+
export type { ForkOptions };
|
|
47
|
+
export interface TaskQueue {
|
|
48
|
+
/**
|
|
49
|
+
* Enqueues the task in the queue for the specified worker or adds it to the
|
|
50
|
+
* queue shared by all workers
|
|
51
|
+
* @param task the task to queue
|
|
52
|
+
* @param workerId the id of the worker that should process this task or undefined
|
|
53
|
+
* if there's no preference.
|
|
54
|
+
*/
|
|
55
|
+
enqueue(task: QueueChildMessage, workerId?: number): void;
|
|
56
|
+
/**
|
|
57
|
+
* Dequeues the next item from the queue for the speified worker
|
|
58
|
+
* @param workerId the id of the worker for which the next task should be retrieved
|
|
59
|
+
*/
|
|
60
|
+
dequeue(workerId: number): QueueChildMessage | null;
|
|
61
|
+
}
|
|
62
|
+
export declare type FarmOptions = {
|
|
63
|
+
computeWorkerKey?: (method: string, ...args: Array<unknown>) => string | null;
|
|
64
|
+
exposedMethods?: ReadonlyArray<string>;
|
|
65
|
+
forkOptions?: ForkOptions;
|
|
66
|
+
workerSchedulingPolicy?: 'round-robin' | 'in-order';
|
|
67
|
+
resourceLimits?: ResourceLimits;
|
|
68
|
+
setupArgs?: Array<unknown>;
|
|
69
|
+
maxRetries?: number;
|
|
70
|
+
numWorkers?: number;
|
|
71
|
+
taskQueue?: TaskQueue;
|
|
72
|
+
WorkerPool?: (workerPath: string, options?: WorkerPoolOptions) => WorkerPoolInterface;
|
|
73
|
+
enableWorkerThreads?: boolean;
|
|
74
|
+
};
|
|
75
|
+
export declare type WorkerPoolOptions = {
|
|
76
|
+
setupArgs: Array<unknown>;
|
|
77
|
+
forkOptions: ForkOptions;
|
|
78
|
+
resourceLimits: ResourceLimits;
|
|
79
|
+
maxRetries: number;
|
|
80
|
+
numWorkers: number;
|
|
81
|
+
enableWorkerThreads: boolean;
|
|
82
|
+
};
|
|
83
|
+
export declare type WorkerOptions = {
|
|
84
|
+
forkOptions: ForkOptions;
|
|
85
|
+
resourceLimits: ResourceLimits;
|
|
86
|
+
setupArgs: Array<unknown>;
|
|
87
|
+
maxRetries: number;
|
|
88
|
+
workerId: number;
|
|
89
|
+
workerPath: string;
|
|
90
|
+
};
|
|
91
|
+
export declare type MessagePort = typeof EventEmitter & {
|
|
92
|
+
postMessage(message: unknown): void;
|
|
93
|
+
};
|
|
94
|
+
export declare type MessageChannel = {
|
|
95
|
+
port1: MessagePort;
|
|
96
|
+
port2: MessagePort;
|
|
97
|
+
};
|
|
98
|
+
export declare type ChildMessageInitialize = [
|
|
99
|
+
typeof CHILD_MESSAGE_INITIALIZE,
|
|
100
|
+
boolean,
|
|
101
|
+
string,
|
|
102
|
+
// file
|
|
103
|
+
Array<unknown> | undefined,
|
|
104
|
+
// setupArgs
|
|
105
|
+
MessagePort | undefined
|
|
106
|
+
];
|
|
107
|
+
export declare type ChildMessageCall = [
|
|
108
|
+
typeof CHILD_MESSAGE_CALL,
|
|
109
|
+
boolean,
|
|
110
|
+
string,
|
|
111
|
+
Array<unknown>
|
|
112
|
+
];
|
|
113
|
+
export declare type ChildMessageEnd = [
|
|
114
|
+
typeof CHILD_MESSAGE_END,
|
|
115
|
+
boolean
|
|
116
|
+
];
|
|
117
|
+
export declare type ChildMessage = ChildMessageInitialize | ChildMessageCall | ChildMessageEnd;
|
|
118
|
+
export declare type ParentMessageCustom = [
|
|
119
|
+
typeof PARENT_MESSAGE_CUSTOM,
|
|
120
|
+
unknown
|
|
121
|
+
];
|
|
122
|
+
export declare type ParentMessageOk = [
|
|
123
|
+
typeof PARENT_MESSAGE_OK,
|
|
124
|
+
unknown
|
|
125
|
+
];
|
|
126
|
+
export declare type ParentMessageError = [
|
|
127
|
+
PARENT_MESSAGE_ERROR,
|
|
128
|
+
string,
|
|
129
|
+
string,
|
|
130
|
+
string,
|
|
131
|
+
unknown
|
|
132
|
+
];
|
|
133
|
+
export declare type ParentMessage = ParentMessageOk | ParentMessageError | ParentMessageCustom;
|
|
134
|
+
export declare type OnStart = (worker: WorkerInterface) => void;
|
|
135
|
+
export declare type OnEnd = (err: Error | null, result: unknown) => void;
|
|
136
|
+
export declare type OnCustomMessage = (message: Array<unknown> | unknown) => void;
|
|
137
|
+
export declare type QueueChildMessage = {
|
|
138
|
+
request: ChildMessageCall;
|
|
139
|
+
onStart: OnStart;
|
|
140
|
+
onEnd: OnEnd;
|
|
141
|
+
onCustomMessage: OnCustomMessage;
|
|
142
|
+
};
|