@umijs/bundler-webpack 3.5.18 → 4.0.0-beta.2
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
package/dist/schema.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSchemas = void 0;
|
|
4
|
+
const types_1 = require("./types");
|
|
5
|
+
const options = [
|
|
6
|
+
'cheap-source-map',
|
|
7
|
+
'cheap-eval-source-map',
|
|
8
|
+
'cheap-hidden-source-map',
|
|
9
|
+
'cheap-inline-source-map',
|
|
10
|
+
'cheap-module-source-map',
|
|
11
|
+
'cheap-module-eval-source-map',
|
|
12
|
+
'cheap-module-hidden-source-map',
|
|
13
|
+
'cheap-module-inline-source-map',
|
|
14
|
+
'eval',
|
|
15
|
+
'eval-source-map',
|
|
16
|
+
'source-map',
|
|
17
|
+
'hidden-source-map',
|
|
18
|
+
'inline-source-map',
|
|
19
|
+
];
|
|
20
|
+
const DEVTOOL_REGEX = new RegExp('^' + // start of string
|
|
21
|
+
'(#@|@|#)?' + // maybe one of the pragmas
|
|
22
|
+
`(${options.join('$|')})`);
|
|
23
|
+
function getSchemas() {
|
|
24
|
+
return {
|
|
25
|
+
alias: (Joi) => Joi.object(),
|
|
26
|
+
autoCSSModules: (Joi) => Joi.boolean(),
|
|
27
|
+
chainWebpack: (Joi) => Joi.function(),
|
|
28
|
+
copy: (Joi) => Joi.array().items(Joi.alternatives().try(Joi.object({
|
|
29
|
+
from: Joi.string(),
|
|
30
|
+
to: Joi.string(),
|
|
31
|
+
}), Joi.string())),
|
|
32
|
+
cssLoader: (Joi) => Joi.object(),
|
|
33
|
+
cssLoaderModules: (Joi) => Joi.object(),
|
|
34
|
+
cssMinifier: (Joi) => Joi.string().valid(types_1.CSSMinifier.cssnano, types_1.CSSMinifier.esbuild, types_1.CSSMinifier.none),
|
|
35
|
+
cssMinifierOptions: (Joi) => Joi.object(),
|
|
36
|
+
define: (Joi) => Joi.object(),
|
|
37
|
+
depTranspiler: (Joi) => Joi.string().valid(types_1.Transpiler.babel, types_1.Transpiler.esbuild, types_1.Transpiler.swc, types_1.Transpiler.none),
|
|
38
|
+
devtool: (Joi) => Joi.alternatives().try(Joi.string().regex(DEVTOOL_REGEX), Joi.boolean()),
|
|
39
|
+
externals: (Joi) => Joi.alternatives().try(Joi.object().pattern(/.+/, [
|
|
40
|
+
Joi.string(),
|
|
41
|
+
Joi.boolean(),
|
|
42
|
+
Joi.object().pattern(/.+/, [Joi.string(), Joi.boolean()]),
|
|
43
|
+
]), Joi.string(), Joi.func().arity(3), Joi.object().regex()),
|
|
44
|
+
extraBabelPlugins: (Joi) => Joi.alternatives().try(Joi.string(), Joi.array().items(Joi.alternatives().try(Joi.string(), Joi.object()))),
|
|
45
|
+
extraBabelPresets: (Joi) => Joi.alternatives().try(Joi.string(), Joi.array().items(Joi.alternatives().try(Joi.string(), Joi.object()))),
|
|
46
|
+
extraPostCSSPlugins: (Joi) => Joi.array(),
|
|
47
|
+
fastRefresh: (Joi) => Joi.boolean(),
|
|
48
|
+
hash: (Joi) => Joi.boolean(),
|
|
49
|
+
ignoreMomentLocale: (Joi) => Joi.boolean(),
|
|
50
|
+
jsMinifier: (Joi) => Joi.string().valid(types_1.JSMinifier.esbuild, types_1.JSMinifier.swc, types_1.JSMinifier.terser, types_1.JSMinifier.uglifyJs, types_1.JSMinifier.none),
|
|
51
|
+
jsMinifierOptions: (Joi) => Joi.object(),
|
|
52
|
+
lessLoader: (Joi) => Joi.object(),
|
|
53
|
+
mfsu: (Joi) => Joi.alternatives(Joi.object(), Joi.boolean()),
|
|
54
|
+
outputPath: (Joi) => Joi.string(),
|
|
55
|
+
postcssLoader: (Joi) => Joi.object(),
|
|
56
|
+
proxy: (Joi) => Joi.object(),
|
|
57
|
+
publicPath: (Joi) => Joi.string(),
|
|
58
|
+
purgeCSS: (Joi) => Joi.object(),
|
|
59
|
+
sassLoader: (Joi) => Joi.object(),
|
|
60
|
+
srcTranspiler: (Joi) => Joi.string().valid(types_1.Transpiler.babel, types_1.Transpiler.esbuild, types_1.Transpiler.swc, types_1.Transpiler.none),
|
|
61
|
+
styleLoader: (Joi) => Joi.object(),
|
|
62
|
+
svgr: (Joi) => Joi.object(),
|
|
63
|
+
svgo: (Joi) => Joi.alternatives().try(Joi.object(), Joi.boolean()),
|
|
64
|
+
targets: (Joi) => Joi.object(),
|
|
65
|
+
writeToDisk: (Joi) => Joi.boolean(),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
exports.getSchemas = getSchemas;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Configuration } from '@umijs/bundler-webpack/compiled/webpack';
|
|
3
|
+
import http from 'http';
|
|
4
|
+
import { IConfig } from '../types';
|
|
5
|
+
interface IOpts {
|
|
6
|
+
cwd: string;
|
|
7
|
+
port?: number;
|
|
8
|
+
host?: string;
|
|
9
|
+
webpackConfig: Configuration;
|
|
10
|
+
userConfig: IConfig;
|
|
11
|
+
beforeMiddlewares?: any[];
|
|
12
|
+
afterMiddlewares?: any[];
|
|
13
|
+
onDevCompileDone?: Function;
|
|
14
|
+
}
|
|
15
|
+
export declare function createServer(opts: IOpts): Promise<http.Server>;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.createServer = void 0;
|
|
16
|
+
const express_1 = __importDefault(require("@umijs/bundler-webpack/compiled/express"));
|
|
17
|
+
const http_proxy_middleware_1 = require("@umijs/bundler-webpack/compiled/http-proxy-middleware");
|
|
18
|
+
const webpack_1 = __importDefault(require("@umijs/bundler-webpack/compiled/webpack"));
|
|
19
|
+
const utils_1 = require("@umijs/utils");
|
|
20
|
+
const fs_1 = require("fs");
|
|
21
|
+
const http_1 = __importDefault(require("http"));
|
|
22
|
+
const path_1 = require("path");
|
|
23
|
+
const constants_1 = require("../constants");
|
|
24
|
+
const ws_1 = require("./ws");
|
|
25
|
+
function createServer(opts) {
|
|
26
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
const { webpackConfig, userConfig } = opts;
|
|
28
|
+
const { proxy } = userConfig;
|
|
29
|
+
const app = (0, express_1.default)();
|
|
30
|
+
// compression
|
|
31
|
+
app.use(require('@umijs/bundler-webpack/compiled/compression')());
|
|
32
|
+
// TODO: headers
|
|
33
|
+
// before middlewares
|
|
34
|
+
(opts.beforeMiddlewares || []).forEach((m) => app.use(m));
|
|
35
|
+
// webpack dev middleware
|
|
36
|
+
const compiler = (0, webpack_1.default)(Array.isArray(webpackConfig) ? webpackConfig : [webpackConfig]);
|
|
37
|
+
const webpackDevMiddleware = require('@umijs/bundler-webpack/compiled/webpack-dev-middleware');
|
|
38
|
+
const compilerMiddleware = webpackDevMiddleware(compiler, {
|
|
39
|
+
publicPath: '/',
|
|
40
|
+
writeToDisk: userConfig.writeToDisk,
|
|
41
|
+
stats: 'none',
|
|
42
|
+
// watchOptions: { ignored }
|
|
43
|
+
});
|
|
44
|
+
app.use(compilerMiddleware);
|
|
45
|
+
// hmr hooks
|
|
46
|
+
let stats;
|
|
47
|
+
let isFirstCompile = true;
|
|
48
|
+
compiler.compilers.forEach(addHooks);
|
|
49
|
+
function addHooks(compiler) {
|
|
50
|
+
compiler.hooks.invalid.tap('server', () => {
|
|
51
|
+
sendMessage(constants_1.MESSAGE_TYPE.invalid);
|
|
52
|
+
});
|
|
53
|
+
compiler.hooks.done.tap('server', (_stats) => {
|
|
54
|
+
var _a;
|
|
55
|
+
stats = _stats;
|
|
56
|
+
sendStats(getStats(stats));
|
|
57
|
+
(_a = opts.onDevCompileDone) === null || _a === void 0 ? void 0 : _a.call(opts, {
|
|
58
|
+
stats,
|
|
59
|
+
isFirstCompile,
|
|
60
|
+
time: stats.endTime - stats.startTime,
|
|
61
|
+
});
|
|
62
|
+
isFirstCompile = false;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
function sendStats(stats, force, sender) {
|
|
66
|
+
const shouldEmit = !force &&
|
|
67
|
+
stats &&
|
|
68
|
+
(!stats.errors || stats.errors.length === 0) &&
|
|
69
|
+
(!stats.warnings || stats.warnings.length === 0) &&
|
|
70
|
+
stats.assets &&
|
|
71
|
+
stats.assets.every((asset) => !asset.emitted);
|
|
72
|
+
if (shouldEmit) {
|
|
73
|
+
sendMessage(constants_1.MESSAGE_TYPE.stillOk, null, sender);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
sendMessage(constants_1.MESSAGE_TYPE.hash, stats.hash, sender);
|
|
77
|
+
if ((stats.errors && stats.errors.length > 0) ||
|
|
78
|
+
(stats.warnings && stats.warnings.length > 0)) {
|
|
79
|
+
if (stats.warnings && stats.warnings.length > 0) {
|
|
80
|
+
sendMessage(constants_1.MESSAGE_TYPE.warnings, stats.warnings, sender);
|
|
81
|
+
}
|
|
82
|
+
if (stats.errors && stats.errors.length > 0) {
|
|
83
|
+
sendMessage(constants_1.MESSAGE_TYPE.errors, stats.errors, sender);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
sendMessage(constants_1.MESSAGE_TYPE.ok, null, sender);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function getStats(stats) {
|
|
91
|
+
return stats.toJson({
|
|
92
|
+
all: false,
|
|
93
|
+
hash: true,
|
|
94
|
+
assets: true,
|
|
95
|
+
warnings: true,
|
|
96
|
+
errors: true,
|
|
97
|
+
errorDetails: false,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
function sendMessage(type, data, sender) {
|
|
101
|
+
(sender || ws).send(JSON.stringify({ type, data }));
|
|
102
|
+
}
|
|
103
|
+
// mock
|
|
104
|
+
// proxy
|
|
105
|
+
if (proxy) {
|
|
106
|
+
Object.keys(proxy).forEach((key) => {
|
|
107
|
+
app.use(key, (0, http_proxy_middleware_1.createProxyMiddleware)(proxy[key]));
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
// after middlewares
|
|
111
|
+
(opts.afterMiddlewares || []).forEach((m) => app.use(m));
|
|
112
|
+
// history fallback
|
|
113
|
+
app.use(require('@umijs/bundler-webpack/compiled/connect-history-api-fallback')({
|
|
114
|
+
index: '/',
|
|
115
|
+
}));
|
|
116
|
+
// hmr reconnect ping
|
|
117
|
+
app.use('/__umi_ping', (_, res) => {
|
|
118
|
+
res.end('pong');
|
|
119
|
+
});
|
|
120
|
+
// TODO: remove me
|
|
121
|
+
app.use((req, res, next) => {
|
|
122
|
+
if (req.path === '/umi.js' && (0, fs_1.existsSync)((0, path_1.join)(opts.cwd, 'umi.js'))) {
|
|
123
|
+
res.send((0, fs_1.readFileSync)((0, path_1.join)(opts.cwd, 'umi.js'), 'utf-8'));
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
next();
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
// index.html
|
|
130
|
+
// TODO: remove me
|
|
131
|
+
app.get('/', (_req, res, next) => {
|
|
132
|
+
res.set('Content-Type', 'text/html');
|
|
133
|
+
const htmlPath = (0, path_1.join)(opts.cwd, 'index.html');
|
|
134
|
+
if ((0, fs_1.existsSync)(htmlPath)) {
|
|
135
|
+
const html = (0, fs_1.readFileSync)(htmlPath, 'utf-8');
|
|
136
|
+
res.send(html);
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
next();
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
const server = http_1.default.createServer(app);
|
|
143
|
+
const ws = (0, ws_1.createWebSocketServer)(server);
|
|
144
|
+
ws.wss.on('connection', (socket) => {
|
|
145
|
+
if (stats) {
|
|
146
|
+
sendStats(getStats(stats), false, socket);
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
const port = opts.port || 8000;
|
|
150
|
+
server.listen(port, () => {
|
|
151
|
+
const host = opts.host && opts.host !== '0.0.0.0' ? opts.host : '127.0.0.1';
|
|
152
|
+
utils_1.logger.ready(`App listening at http://${host}:${port}`);
|
|
153
|
+
});
|
|
154
|
+
return server;
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
exports.createServer = createServer;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createWebSocketServer = void 0;
|
|
7
|
+
const utils_1 = require("@umijs/utils");
|
|
8
|
+
const ws_1 = __importDefault(require("ws"));
|
|
9
|
+
function createWebSocketServer(server) {
|
|
10
|
+
const wss = new ws_1.default.Server({
|
|
11
|
+
noServer: true,
|
|
12
|
+
});
|
|
13
|
+
server.on('upgrade', (req, socket, head) => {
|
|
14
|
+
if (req.headers['sec-websocket-protocol'] === 'webpack-hmr') {
|
|
15
|
+
wss.handleUpgrade(req, socket, head, (ws) => {
|
|
16
|
+
wss.emit('connection', ws, req);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
wss.on('connection', (socket) => {
|
|
21
|
+
socket.send(JSON.stringify({ type: 'connected' }));
|
|
22
|
+
});
|
|
23
|
+
wss.on('error', (e) => {
|
|
24
|
+
if (e.code !== 'EADDRINUSE') {
|
|
25
|
+
console.error(utils_1.chalk.red(`WebSocket server error:\n${e.stack || e.message}`));
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
return {
|
|
29
|
+
send(message) {
|
|
30
|
+
wss.clients.forEach((client) => {
|
|
31
|
+
if (client.readyState === ws_1.default.OPEN) {
|
|
32
|
+
client.send(message);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
},
|
|
36
|
+
wss,
|
|
37
|
+
close() {
|
|
38
|
+
wss.close();
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
exports.createWebSocketServer = createWebSocketServer;
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type { Options as ProxyOptions } from '../compiled/http-proxy-middleware';
|
|
2
|
+
import { Configuration } from '../compiled/webpack';
|
|
3
|
+
import Config from '../compiled/webpack-5-chain';
|
|
4
|
+
export declare enum Env {
|
|
5
|
+
development = "development",
|
|
6
|
+
production = "production"
|
|
7
|
+
}
|
|
8
|
+
export declare enum Transpiler {
|
|
9
|
+
babel = "babel",
|
|
10
|
+
swc = "swc",
|
|
11
|
+
esbuild = "esbuild",
|
|
12
|
+
none = "none"
|
|
13
|
+
}
|
|
14
|
+
export declare enum JSMinifier {
|
|
15
|
+
terser = "terser",
|
|
16
|
+
swc = "swc",
|
|
17
|
+
esbuild = "esbuild",
|
|
18
|
+
uglifyJs = "uglifyJs",
|
|
19
|
+
none = "none"
|
|
20
|
+
}
|
|
21
|
+
export declare enum CSSMinifier {
|
|
22
|
+
esbuild = "esbuild",
|
|
23
|
+
cssnano = "cssnano",
|
|
24
|
+
none = "none"
|
|
25
|
+
}
|
|
26
|
+
export interface ICopy {
|
|
27
|
+
from: string;
|
|
28
|
+
to: string;
|
|
29
|
+
}
|
|
30
|
+
declare type WebpackConfig = Required<Configuration>;
|
|
31
|
+
declare type IBabelPlugin = Function | string | [string, {
|
|
32
|
+
[key: string]: any;
|
|
33
|
+
}];
|
|
34
|
+
export interface IConfig {
|
|
35
|
+
alias?: Record<string, string>;
|
|
36
|
+
autoCSSModules?: boolean;
|
|
37
|
+
chainWebpack?: Function;
|
|
38
|
+
copy?: ICopy[] | string[];
|
|
39
|
+
cssLoader?: {
|
|
40
|
+
[key: string]: any;
|
|
41
|
+
};
|
|
42
|
+
cssLoaderModules?: {
|
|
43
|
+
[key: string]: any;
|
|
44
|
+
};
|
|
45
|
+
cssMinifier?: CSSMinifier;
|
|
46
|
+
cssMinifierOptions?: {
|
|
47
|
+
[key: string]: any;
|
|
48
|
+
};
|
|
49
|
+
define?: {
|
|
50
|
+
[key: string]: any;
|
|
51
|
+
};
|
|
52
|
+
depTranspiler?: Transpiler;
|
|
53
|
+
devtool?: Config.DevTool;
|
|
54
|
+
externals?: WebpackConfig['externals'];
|
|
55
|
+
extraBabelPlugins?: IBabelPlugin[];
|
|
56
|
+
extraBabelPresets?: IBabelPlugin[];
|
|
57
|
+
extraPostCSSPlugins?: any[];
|
|
58
|
+
hash?: boolean;
|
|
59
|
+
ignoreMomentLocale?: boolean;
|
|
60
|
+
jsMinifier?: JSMinifier;
|
|
61
|
+
jsMinifierOptions?: {
|
|
62
|
+
[key: string]: any;
|
|
63
|
+
};
|
|
64
|
+
lessLoader?: {
|
|
65
|
+
[key: string]: any;
|
|
66
|
+
};
|
|
67
|
+
outputPath?: string;
|
|
68
|
+
postcssLoader?: {
|
|
69
|
+
[key: string]: any;
|
|
70
|
+
};
|
|
71
|
+
proxy?: {
|
|
72
|
+
[key: string]: ProxyOptions;
|
|
73
|
+
};
|
|
74
|
+
publicPath?: string;
|
|
75
|
+
purgeCSS?: {
|
|
76
|
+
[key: string]: any;
|
|
77
|
+
};
|
|
78
|
+
sassLoader?: {
|
|
79
|
+
[key: string]: any;
|
|
80
|
+
};
|
|
81
|
+
srcTranspiler?: Transpiler;
|
|
82
|
+
styleLoader?: {
|
|
83
|
+
[key: string]: any;
|
|
84
|
+
};
|
|
85
|
+
svgr?: {
|
|
86
|
+
[key: string]: any;
|
|
87
|
+
};
|
|
88
|
+
svgo?: {
|
|
89
|
+
[key: string]: any;
|
|
90
|
+
} | false;
|
|
91
|
+
targets?: {
|
|
92
|
+
[key: string]: any;
|
|
93
|
+
};
|
|
94
|
+
writeToDisk?: boolean;
|
|
95
|
+
[key: string]: any;
|
|
96
|
+
}
|
|
97
|
+
export {};
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CSSMinifier = exports.JSMinifier = exports.Transpiler = exports.Env = void 0;
|
|
4
|
+
var Env;
|
|
5
|
+
(function (Env) {
|
|
6
|
+
Env["development"] = "development";
|
|
7
|
+
Env["production"] = "production";
|
|
8
|
+
})(Env = exports.Env || (exports.Env = {}));
|
|
9
|
+
var Transpiler;
|
|
10
|
+
(function (Transpiler) {
|
|
11
|
+
Transpiler["babel"] = "babel";
|
|
12
|
+
Transpiler["swc"] = "swc";
|
|
13
|
+
Transpiler["esbuild"] = "esbuild";
|
|
14
|
+
Transpiler["none"] = "none";
|
|
15
|
+
})(Transpiler = exports.Transpiler || (exports.Transpiler = {}));
|
|
16
|
+
var JSMinifier;
|
|
17
|
+
(function (JSMinifier) {
|
|
18
|
+
JSMinifier["terser"] = "terser";
|
|
19
|
+
JSMinifier["swc"] = "swc";
|
|
20
|
+
JSMinifier["esbuild"] = "esbuild";
|
|
21
|
+
JSMinifier["uglifyJs"] = "uglifyJs";
|
|
22
|
+
JSMinifier["none"] = "none";
|
|
23
|
+
})(JSMinifier = exports.JSMinifier || (exports.JSMinifier = {}));
|
|
24
|
+
var CSSMinifier;
|
|
25
|
+
(function (CSSMinifier) {
|
|
26
|
+
CSSMinifier["esbuild"] = "esbuild";
|
|
27
|
+
CSSMinifier["cssnano"] = "cssnano";
|
|
28
|
+
CSSMinifier["none"] = "none";
|
|
29
|
+
})(CSSMinifier = exports.CSSMinifier || (exports.CSSMinifier = {}));
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBrowsersList = void 0;
|
|
4
|
+
function getBrowsersList({ targets }) {
|
|
5
|
+
return (targets.browsers ||
|
|
6
|
+
Object.keys(targets).map((key) => {
|
|
7
|
+
return `${key} >= ${targets[key] === true ? '0' : targets[key]}`;
|
|
8
|
+
}));
|
|
9
|
+
}
|
|
10
|
+
exports.getBrowsersList = getBrowsersList;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.es5ImcompatibleVersionsToPkg = exports.isMatch = exports.cleanCache = void 0;
|
|
4
|
+
const utils_1 = require("@umijs/utils");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const cache = new Map();
|
|
7
|
+
function cleanCache() {
|
|
8
|
+
cache.clear();
|
|
9
|
+
}
|
|
10
|
+
exports.cleanCache = cleanCache;
|
|
11
|
+
function isMatch(opts) {
|
|
12
|
+
// cache by dir, 命中率会更高
|
|
13
|
+
const dir = (0, utils_1.winPath)((0, path_1.dirname)(opts.path));
|
|
14
|
+
if (cache.has(dir)) {
|
|
15
|
+
return !!cache.get(dir);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
const pkgPath = utils_1.pkgUp.sync({ cwd: opts.path });
|
|
19
|
+
let ret;
|
|
20
|
+
if (!pkgPath) {
|
|
21
|
+
ret = false;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
const { name, version } = require(pkgPath);
|
|
25
|
+
if (opts.pkgs[name]) {
|
|
26
|
+
ret = opts.pkgs[name].some((v) => {
|
|
27
|
+
return utils_1.semver.satisfies(version, v);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
ret = false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
cache.set(dir, ret);
|
|
35
|
+
return ret;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.isMatch = isMatch;
|
|
39
|
+
function es5ImcompatibleVersionsToPkg() {
|
|
40
|
+
const { config: { 'es5-imcompatible-versions': config }, } = require('es5-imcompatible-versions/package.json');
|
|
41
|
+
return Object.keys(config).reduce((memo, key) => {
|
|
42
|
+
memo[key] = /* versions */ Object.keys(config[key]);
|
|
43
|
+
return memo;
|
|
44
|
+
}, {});
|
|
45
|
+
}
|
|
46
|
+
exports.es5ImcompatibleVersionsToPkg = es5ImcompatibleVersionsToPkg;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare function formatMessage(message: string | {
|
|
2
|
+
message: string;
|
|
3
|
+
} | {
|
|
4
|
+
message: string;
|
|
5
|
+
}[]): string;
|
|
6
|
+
export declare function formatWebpackMessages(json: {
|
|
7
|
+
errors: string[];
|
|
8
|
+
warnings: string[];
|
|
9
|
+
}): {
|
|
10
|
+
errors: string[];
|
|
11
|
+
warnings: string[];
|
|
12
|
+
};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.formatWebpackMessages = exports.formatMessage = void 0;
|
|
7
|
+
const strip_ansi_1 = __importDefault(require("@umijs/utils/compiled/strip-ansi"));
|
|
8
|
+
const friendlySyntaxErrorLabel = 'Syntax error:';
|
|
9
|
+
function isLikelyASyntaxError(message) {
|
|
10
|
+
return (0, strip_ansi_1.default)(message).indexOf(friendlySyntaxErrorLabel) !== -1;
|
|
11
|
+
}
|
|
12
|
+
function formatMessage(message) {
|
|
13
|
+
let lines = [];
|
|
14
|
+
if (typeof message === 'string') {
|
|
15
|
+
lines = message.split('\n');
|
|
16
|
+
}
|
|
17
|
+
else if ('message' in message) {
|
|
18
|
+
lines = message['message'].split('\n');
|
|
19
|
+
}
|
|
20
|
+
else if (Array.isArray(message)) {
|
|
21
|
+
message.forEach((message) => {
|
|
22
|
+
if ('message' in message) {
|
|
23
|
+
lines = message['message'].split('\n');
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
// Strip webpack-added headers off errors/warnings
|
|
28
|
+
// https://github.com/webpack/webpack/blob/master/lib/ModuleError.js
|
|
29
|
+
lines = lines.filter((line) => !/Module [A-z ]+\(from/.test(line));
|
|
30
|
+
// Transform parsing error into syntax error
|
|
31
|
+
// TODO: move this to our ESLint formatter?
|
|
32
|
+
lines = lines.map((line) => {
|
|
33
|
+
const parsingError = /Line (\d+):(?:(\d+):)?\s*Parsing error: (.+)$/.exec(line);
|
|
34
|
+
if (!parsingError) {
|
|
35
|
+
return line;
|
|
36
|
+
}
|
|
37
|
+
const [, errorLine, errorColumn, errorMessage] = parsingError;
|
|
38
|
+
return `${friendlySyntaxErrorLabel} ${errorMessage} (${errorLine}:${errorColumn})`;
|
|
39
|
+
});
|
|
40
|
+
message = lines.join('\n');
|
|
41
|
+
// Smoosh syntax errors (commonly found in CSS)
|
|
42
|
+
message = message.replace(/SyntaxError\s+\((\d+):(\d+)\)\s*(.+?)\n/g, `${friendlySyntaxErrorLabel} $3 ($1:$2)\n`);
|
|
43
|
+
// Clean up export errors
|
|
44
|
+
message = message.replace(/^.*export '(.+?)' was not found in '(.+?)'.*$/gm, `Attempted import error: '$1' is not exported from '$2'.`);
|
|
45
|
+
message = message.replace(/^.*export 'default' \(imported as '(.+?)'\) was not found in '(.+?)'.*$/gm, `Attempted import error: '$2' does not contain a default export (imported as '$1').`);
|
|
46
|
+
message = message.replace(/^.*export '(.+?)' \(imported as '(.+?)'\) was not found in '(.+?)'.*$/gm, `Attempted import error: '$1' is not exported from '$3' (imported as '$2').`);
|
|
47
|
+
lines = message.split('\n');
|
|
48
|
+
// Remove leading newline
|
|
49
|
+
if (lines.length > 2 && lines[1].trim() === '') {
|
|
50
|
+
lines.splice(1, 1);
|
|
51
|
+
}
|
|
52
|
+
// Clean up file name
|
|
53
|
+
lines[0] = lines[0].replace(/^(.*) \d+:\d+-\d+$/, '$1');
|
|
54
|
+
// Cleans up verbose "module not found" messages for files and packages.
|
|
55
|
+
if (lines[1] && lines[1].indexOf('Module not found: ') === 0) {
|
|
56
|
+
lines = [
|
|
57
|
+
lines[0],
|
|
58
|
+
lines[1]
|
|
59
|
+
.replace('Error: ', '')
|
|
60
|
+
.replace('Module not found: Cannot find file:', 'Cannot find file:'),
|
|
61
|
+
];
|
|
62
|
+
}
|
|
63
|
+
// Add helpful message for users trying to use Sass for the first time
|
|
64
|
+
if (lines[1] && lines[1].match(/Cannot find module.+sass/)) {
|
|
65
|
+
lines[1] = 'To import Sass files, you first need to install sass.\n';
|
|
66
|
+
lines[1] +=
|
|
67
|
+
'Run `npm install sass` or `yarn add sass` inside your workspace.';
|
|
68
|
+
}
|
|
69
|
+
message = lines.join('\n');
|
|
70
|
+
// Internal stacks are generally useless so we strip them... with the
|
|
71
|
+
// exception of stacks containing `webpack:` because they're normally
|
|
72
|
+
// from user code generated by webpack. For more information see
|
|
73
|
+
// https://github.com/facebook/create-react-app/pull/1050
|
|
74
|
+
message = message.replace(/^\s*at\s((?!webpack:).)*:\d+:\d+[\s)]*(\n|$)/gm, ''); // at ... ...:x:y
|
|
75
|
+
message = message.replace(/^\s*at\s<anonymous>(\n|$)/gm, ''); // at <anonymous>
|
|
76
|
+
lines = message.split('\n');
|
|
77
|
+
// Remove duplicated newlines
|
|
78
|
+
lines = lines.filter((line, index, arr) => index === 0 ||
|
|
79
|
+
line.trim() !== '' ||
|
|
80
|
+
line.trim() !== arr[index - 1].trim());
|
|
81
|
+
// Reassemble the message
|
|
82
|
+
message = lines.join('\n');
|
|
83
|
+
return message.trim();
|
|
84
|
+
}
|
|
85
|
+
exports.formatMessage = formatMessage;
|
|
86
|
+
function formatWebpackMessages(json) {
|
|
87
|
+
const formattedErrors = json.errors.map(function (message) {
|
|
88
|
+
return formatMessage(message);
|
|
89
|
+
});
|
|
90
|
+
const formattedWarnings = json.warnings.map(function (message) {
|
|
91
|
+
return formatMessage(message);
|
|
92
|
+
});
|
|
93
|
+
const result = { errors: formattedErrors, warnings: formattedWarnings };
|
|
94
|
+
if (result.errors.some(isLikelyASyntaxError)) {
|
|
95
|
+
// If there are any syntax errors, show just them.
|
|
96
|
+
result.errors = result.errors.filter(isLikelyASyntaxError);
|
|
97
|
+
}
|
|
98
|
+
return result;
|
|
99
|
+
}
|
|
100
|
+
exports.formatWebpackMessages = formatWebpackMessages;
|