From 1504e2ba3376f958da4f96c9b8dc05edbe5531ff Mon Sep 17 00:00:00 2001 From: Amour1688 Date: Fri, 9 Apr 2021 11:00:41 +0800 Subject: [PATCH] chore: webpack 5 (#3894) --- antd-tools/getWebpackConfig.js | 32 ++++++++++++------------ components/breadcrumb/BreadcrumbItem.tsx | 6 ++--- components/modal/Modal.tsx | 11 ++++---- components/transfer/list.tsx | 4 +-- components/vc-select/SelectTrigger.tsx | 3 +++ components/vc-select/Selector/index.tsx | 3 ++- components/vc-select/generate.tsx | 4 +-- package.json | 19 +++++++------- webpack.config.js | 4 ++- 9 files changed, 46 insertions(+), 40 deletions(-) diff --git a/antd-tools/getWebpackConfig.js b/antd-tools/getWebpackConfig.js index 173dfa831..c3dee7af9 100644 --- a/antd-tools/getWebpackConfig.js +++ b/antd-tools/getWebpackConfig.js @@ -3,7 +3,7 @@ injectRequire(); const path = require('path'); const webpack = require('webpack'); const WebpackBar = require('webpackbar'); -const webpackMerge = require('webpack-merge'); +const { merge } = require('webpack-merge'); const TerserPlugin = require('terser-webpack-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin'); @@ -39,6 +39,7 @@ function getWebpackConfig(modules) { babelConfig.plugins.push(require.resolve('./replaceLib')); } + /** @type {import('webpack').Configuration} */ const config = { devtool: 'source-map', @@ -65,21 +66,20 @@ function getWebpackConfig(modules) { alias: { '@': process.cwd(), }, + fallback: [ + 'child_process', + 'cluster', + 'dgram', + 'dns', + 'fs', + 'module', + 'net', + 'readline', + 'repl', + 'tls', + ].reduce((acc, name) => Object.assign({}, acc, { [name]: false }), {}), }, - node: [ - 'child_process', - 'cluster', - 'dgram', - 'dns', - 'fs', - 'module', - 'net', - 'readline', - 'repl', - 'tls', - ].reduce((acc, name) => Object.assign({}, acc, { [name]: 'empty' }), {}), - module: { noParse: [/moment.js/], rules: [ @@ -219,7 +219,7 @@ All rights reserved. }; // Development - const uncompressedConfig = webpackMerge({}, config, { + const uncompressedConfig = merge({}, config, { entry: { [distFileBaseName]: entry, }, @@ -232,7 +232,7 @@ All rights reserved. }); // Production - const prodConfig = webpackMerge({}, config, { + const prodConfig = merge({}, config, { entry: { [`${distFileBaseName}.min`]: entry, }, diff --git a/components/breadcrumb/BreadcrumbItem.tsx b/components/breadcrumb/BreadcrumbItem.tsx index 4b75cc674..423dda1a5 100644 --- a/components/breadcrumb/BreadcrumbItem.tsx +++ b/components/breadcrumb/BreadcrumbItem.tsx @@ -1,4 +1,4 @@ -import { defineComponent, HTMLAttributes, inject } from 'vue'; +import { defineComponent, inject } from 'vue'; import PropTypes from '../_util/vue-types'; import { hasProp, getComponent, getSlot } from '../_util/props-util'; import { defaultConfigProvider } from '../config-provider'; @@ -24,7 +24,7 @@ export default defineComponent({ * if overlay is have * Wrap a DropDown */ - renderBreadcrumbNode(breadcrumbItem: HTMLAttributes, prefixCls: string) { + renderBreadcrumbNode(breadcrumbItem: JSX.Element, prefixCls: string) { const overlay = getComponent(this, 'overlay'); if (overlay) { return ( @@ -45,7 +45,7 @@ export default defineComponent({ const prefixCls = getPrefixCls('breadcrumb', customizePrefixCls); const separator = getComponent(this, 'separator'); const children = getSlot(this); - let link: HTMLAttributes; + let link: JSX.Element; if (hasProp(this, 'href')) { link = {children}; } else { diff --git a/components/modal/Modal.tsx b/components/modal/Modal.tsx index 2136730f4..a7f11b87e 100644 --- a/components/modal/Modal.tsx +++ b/components/modal/Modal.tsx @@ -13,7 +13,7 @@ import addEventListener from '../vc-util/Dom/addEventListener'; import { getConfirmLocale } from './locale'; import CloseOutlined from '@ant-design/icons-vue/CloseOutlined'; import Button from '../button'; -import buttonTypes, { ButtonType, ButtonProps } from '../button/buttonTypes'; +import buttonTypes, { ButtonType, ButtonProps as ButtonPropsType } from '../button/buttonTypes'; import LocaleReceiver from '../locale-provider/LocaleReceiver'; import { getComponent, getSlot } from '../_util/props-util'; import initDefaultProps from '../_util/props-util/initDefaultProps'; @@ -79,8 +79,8 @@ const modalProps = { maskClosable: PropTypes.looseBool, /** 强制渲染 Modal*/ forceRender: PropTypes.looseBool, - okButtonProps: PropTypes.shape(ButtonProps), - cancelButtonProps: PropTypes.shape(ButtonProps), + okButtonProps: PropTypes.shape(buttonTypes), + cancelButtonProps: PropTypes.shape(buttonTypes), destroyOnClose: PropTypes.looseBool, wrapClassName: PropTypes.string, maskTransitionName: PropTypes.string, @@ -107,8 +107,8 @@ export interface ModalFuncProps { // TODO: find out exact types onOk?: (...args: any[]) => any; onCancel?: (...args: any[]) => any; - okButtonProps?: ButtonProps; - cancelButtonProps?: ButtonProps; + okButtonProps?: ButtonPropsType; + cancelButtonProps?: ButtonPropsType; centered?: boolean; width?: string | number; okText?: VNodeTypes; @@ -194,6 +194,7 @@ export default defineComponent({ loading: confirmLoading, ...(this.okButtonProps || {}), }; + return (