From fb52b3606722a7808a37785fbd797aadf52ae906 Mon Sep 17 00:00:00 2001 From: Carter Li Date: Wed, 2 Sep 2020 22:44:16 +0800 Subject: [PATCH] chore: use `lodash-es` to support vite (#2777) To fix error: `Uncaught (in promise) SyntaxError: The requested module '/@modules/lodash/isPlainObject.js' does not provide an export named 'default'` --- components/_util/moment-util.js | 2 +- components/_util/props-util.js | 2 +- components/_util/vue-types/index.js | 2 +- components/_util/vue-types/utils.js | 2 +- components/card/Card.jsx | 2 +- components/carousel/index.jsx | 2 +- components/color-picker/ColorPicker.jsx | 2 +- components/date-picker/createPicker.js | 2 +- components/form/Form.jsx | 4 ++-- components/form/FormItem.jsx | 4 ++-- components/input/Search.jsx | 2 +- components/spin/Spin.jsx | 2 +- components/statistic/Number.jsx | 2 +- components/statistic/utils.js | 2 +- components/tree/DirectoryTree.jsx | 2 +- components/upload/Upload.jsx | 4 ++-- components/vc-align/Align.jsx | 2 +- components/vc-calendar/src/Picker.jsx | 2 +- components/vc-lazy-load/src/LazyLoad.jsx | 4 ++-- components/vc-menu/util.js | 2 +- components/vc-slick/src/inner-slider.js | 2 +- components/vc-steps/Steps.jsx | 2 +- components/vc-table/src/Table.jsx | 2 +- components/vc-table/src/TableCell.jsx | 2 +- components/vc-tabs/src/ScrollableTabBarNode.jsx | 2 +- components/vc-upload/src/AjaxUploader.jsx | 2 +- package.json | 6 +++--- 27 files changed, 33 insertions(+), 33 deletions(-) diff --git a/components/_util/moment-util.js b/components/_util/moment-util.js index bef4bf250..002820474 100644 --- a/components/_util/moment-util.js +++ b/components/_util/moment-util.js @@ -1,7 +1,7 @@ import interopDefault from './interopDefault'; import moment from 'moment'; import warning from './warning'; -import isNil from 'lodash/isNil'; +import isNil from 'lodash-es/isNil'; export const TimeType = { validator(value) { diff --git a/components/_util/props-util.js b/components/_util/props-util.js index ad61e24e0..df28ca8c2 100644 --- a/components/_util/props-util.js +++ b/components/_util/props-util.js @@ -1,4 +1,4 @@ -import isPlainObject from 'lodash/isPlainObject'; +import isPlainObject from 'lodash-es/isPlainObject'; import classNames from './classNames'; import { isVNode, Fragment, Comment, Text, h } from 'vue'; import { camelize, hyphenate, isOn, resolvePropValue } from './util'; diff --git a/components/_util/vue-types/index.js b/components/_util/vue-types/index.js index c92958ef7..ec46f5087 100644 --- a/components/_util/vue-types/index.js +++ b/components/_util/vue-types/index.js @@ -1,4 +1,4 @@ -import isPlainObject from 'lodash/isPlainObject'; +import isPlainObject from 'lodash-es/isPlainObject'; import { toType, getType, isFunction, validateType, isInteger, isArray, warn } from './utils'; const VuePropTypes = { diff --git a/components/_util/vue-types/utils.js b/components/_util/vue-types/utils.js index b56acec0c..2247293c7 100644 --- a/components/_util/vue-types/utils.js +++ b/components/_util/vue-types/utils.js @@ -1,4 +1,4 @@ -import isPlainObject from 'lodash/isPlainObject'; +import isPlainObject from 'lodash-es/isPlainObject'; const ObjProto = Object.prototype; const toString = ObjProto.toString; diff --git a/components/card/Card.jsx b/components/card/Card.jsx index 578a730a7..c97775708 100644 --- a/components/card/Card.jsx +++ b/components/card/Card.jsx @@ -6,7 +6,7 @@ import PropTypes from '../_util/vue-types'; import { getComponent, getSlot, isEmptyElement } from '../_util/props-util'; import BaseMixin from '../_util/BaseMixin'; import { ConfigConsumerProps } from '../config-provider'; -import isPlainObject from 'lodash/isPlainObject'; +import isPlainObject from 'lodash-es/isPlainObject'; const { TabPane } = Tabs; export default { diff --git a/components/carousel/index.jsx b/components/carousel/index.jsx index 1925d4465..acd98abaf 100644 --- a/components/carousel/index.jsx +++ b/components/carousel/index.jsx @@ -1,6 +1,6 @@ import { inject } from 'vue'; import PropTypes from '../_util/vue-types'; -import debounce from 'lodash/debounce'; +import debounce from 'lodash-es/debounce'; import hasProp, { initDefaultProps, getComponent } from '../_util/props-util'; import { ConfigConsumerProps } from '../config-provider'; import warning from '../_util/warning'; diff --git a/components/color-picker/ColorPicker.jsx b/components/color-picker/ColorPicker.jsx index 33b6b266b..7c99a0565 100644 --- a/components/color-picker/ColorPicker.jsx +++ b/components/color-picker/ColorPicker.jsx @@ -5,7 +5,7 @@ import Pickr from '@simonwep/pickr/dist/pickr.es5.min'; import Icon from '../icon'; import LocaleReceiver from '../locale-provider/LocaleReceiver'; import enUS from './locale/en_US'; -import debounce from 'lodash/debounce'; +import debounce from 'lodash-es/debounce'; import { getOptionProps, findDOMNode } from '../_util/props-util'; let colors = '#194d33'; diff --git a/components/date-picker/createPicker.js b/components/date-picker/createPicker.js index f59427edc..547667eb4 100644 --- a/components/date-picker/createPicker.js +++ b/components/date-picker/createPicker.js @@ -1,6 +1,6 @@ import { inject } from 'vue'; import moment from 'moment'; -import omit from 'lodash/omit'; +import omit from 'lodash-es/omit'; import MonthCalendar from '../vc-calendar/src/MonthCalendar'; import VcDatePicker from '../vc-calendar/src/Picker'; import classNames from '../_util/classNames'; diff --git a/components/form/Form.jsx b/components/form/Form.jsx index c674ee4bf..eca955557 100755 --- a/components/form/Form.jsx +++ b/components/form/Form.jsx @@ -2,7 +2,7 @@ import { inject, provide } from 'vue'; import PropTypes from '../_util/vue-types'; import classNames from '../_util/classNames'; import { ColProps } from '../grid/Col'; -import isRegExp from 'lodash/isRegExp'; +import isRegExp from 'lodash-es/isRegExp'; import warning from '../_util/warning'; import FormItem from './FormItem'; import { initDefaultProps, getSlot } from '../_util/props-util'; @@ -11,7 +11,7 @@ import { getNamePath, containsNamePath } from './utils/valueUtil'; import { defaultValidateMessages } from './utils/messages'; import { allPromiseFinish } from './utils/asyncUtil'; import { toArray } from './utils/typeUtil'; -import isEqual from 'lodash/isEqual'; +import isEqual from 'lodash-es/isEqual'; import scrollIntoView from 'scroll-into-view-if-needed'; export const FormProps = { diff --git a/components/form/FormItem.jsx b/components/form/FormItem.jsx index 61656e485..61241a6d1 100644 --- a/components/form/FormItem.jsx +++ b/components/form/FormItem.jsx @@ -1,5 +1,5 @@ import { inject, provide, Transition } from 'vue'; -import cloneDeep from 'lodash/cloneDeep'; +import cloneDeep from 'lodash-es/cloneDeep'; import PropTypes from '../_util/vue-types'; import classNames from '../_util/classNames'; import getTransitionProps from '../_util/getTransitionProps'; @@ -25,7 +25,7 @@ import { validateRules } from './utils/validateUtil'; import { getNamePath } from './utils/valueUtil'; import { toArray } from './utils/typeUtil'; import { warning } from '../vc-util/warning'; -import find from 'lodash/find'; +import find from 'lodash-es/find'; const iconMap = { success: CheckCircleFilled, diff --git a/components/input/Search.jsx b/components/input/Search.jsx index 37e416170..efac9c7ad 100644 --- a/components/input/Search.jsx +++ b/components/input/Search.jsx @@ -10,7 +10,7 @@ import { cloneElement } from '../_util/vnode'; import PropTypes from '../_util/vue-types'; import { getOptionProps, getComponent } from '../_util/props-util'; import { ConfigConsumerProps } from '../config-provider'; -import isPlainObject from 'lodash/isPlainObject'; +import isPlainObject from 'lodash-es/isPlainObject'; export default { name: 'AInputSearch', diff --git a/components/spin/Spin.jsx b/components/spin/Spin.jsx index c293170c9..2e0f30fc4 100644 --- a/components/spin/Spin.jsx +++ b/components/spin/Spin.jsx @@ -1,5 +1,5 @@ import { inject, cloneVNode, isVNode } from 'vue'; -import debounce from 'lodash/debounce'; +import debounce from 'lodash-es/debounce'; import PropTypes from '../_util/vue-types'; import BaseMixin from '../_util/BaseMixin'; import { initDefaultProps, getComponent, getSlot } from '../_util/props-util'; diff --git a/components/statistic/Number.jsx b/components/statistic/Number.jsx index 74fb0ba13..1063d750a 100644 --- a/components/statistic/Number.jsx +++ b/components/statistic/Number.jsx @@ -1,4 +1,4 @@ -import padEnd from 'lodash/padEnd'; +import padEnd from 'lodash-es/padEnd'; import { createVNode } from 'vue'; const Number = (_, { attrs }) => { diff --git a/components/statistic/utils.js b/components/statistic/utils.js index 0bb971480..f553b3490 100644 --- a/components/statistic/utils.js +++ b/components/statistic/utils.js @@ -1,5 +1,5 @@ import moment from 'moment'; -import padStart from 'lodash/padStart'; +import padStart from 'lodash-es/padStart'; import interopDefault from '../_util/interopDefault'; diff --git a/components/tree/DirectoryTree.jsx b/components/tree/DirectoryTree.jsx index 883c35326..deed450a4 100644 --- a/components/tree/DirectoryTree.jsx +++ b/components/tree/DirectoryTree.jsx @@ -1,6 +1,6 @@ import { inject } from 'vue'; import omit from 'omit.js'; -import debounce from 'lodash/debounce'; +import debounce from 'lodash-es/debounce'; import FolderOpenOutlined from '@ant-design/icons-vue/FolderOpenOutlined'; import FolderOutlined from '@ant-design/icons-vue/FolderOutlined'; import FileOutlined from '@ant-design/icons-vue/FileOutlined'; diff --git a/components/upload/Upload.jsx b/components/upload/Upload.jsx index ccd6a004e..18564d44c 100644 --- a/components/upload/Upload.jsx +++ b/components/upload/Upload.jsx @@ -1,6 +1,6 @@ import classNames from '../_util/classNames'; -import uniqBy from 'lodash/uniqBy'; -import findIndex from 'lodash/findIndex'; +import uniqBy from 'lodash-es/uniqBy'; +import findIndex from 'lodash-es/findIndex'; import VcUpload from '../vc-upload'; import BaseMixin from '../_util/BaseMixin'; import { getOptionProps, initDefaultProps, hasProp, getSlot } from '../_util/props-util'; diff --git a/components/vc-align/Align.jsx b/components/vc-align/Align.jsx index a3959dd4f..88eaff6aa 100644 --- a/components/vc-align/Align.jsx +++ b/components/vc-align/Align.jsx @@ -4,7 +4,7 @@ import { alignElement, alignPoint } from 'dom-align'; import addEventListener from '../vc-util/Dom/addEventListener'; import { isWindow, buffer, isSamePoint, isSimilarValue, restoreFocus } from './util'; import { cloneElement } from '../_util/vnode.js'; -import clonedeep from 'lodash/cloneDeep'; +import clonedeep from 'lodash-es/cloneDeep'; import { getSlot, findDOMNode } from '../_util/props-util'; function getElement(func) { diff --git a/components/vc-calendar/src/Picker.jsx b/components/vc-calendar/src/Picker.jsx index fb8308e4a..fd55b26f2 100644 --- a/components/vc-calendar/src/Picker.jsx +++ b/components/vc-calendar/src/Picker.jsx @@ -7,7 +7,7 @@ import KeyCode from '../../_util/KeyCode'; import placements from './picker/placements'; import Trigger from '../../vc-trigger'; import moment from 'moment'; -import isNil from 'lodash/isNil'; +import isNil from 'lodash-es/isNil'; const TimeType = { validator(value) { if (Array.isArray(value)) { diff --git a/components/vc-lazy-load/src/LazyLoad.jsx b/components/vc-lazy-load/src/LazyLoad.jsx index 8542e6bb7..aec38dc6c 100644 --- a/components/vc-lazy-load/src/LazyLoad.jsx +++ b/components/vc-lazy-load/src/LazyLoad.jsx @@ -3,8 +3,8 @@ import BaseMixin from '../../_util/BaseMixin'; import addEventListener from '../../vc-util/Dom/addEventListener'; import { initDefaultProps, findDOMNode, getSlot } from '../../_util/props-util'; import warning from '../../_util/warning'; -import debounce from 'lodash/debounce'; -import throttle from 'lodash/throttle'; +import debounce from 'lodash-es/debounce'; +import throttle from 'lodash-es/throttle'; import parentScroll from './utils/parentScroll'; import inViewport from './utils/inViewport'; import { watchEffect } from 'vue'; diff --git a/components/vc-menu/util.js b/components/vc-menu/util.js index 2672b7bfa..e460618cc 100644 --- a/components/vc-menu/util.js +++ b/components/vc-menu/util.js @@ -1,5 +1,5 @@ import isMobile from './utils/isMobile'; -import isObject from 'lodash/isObject'; +import isObject from 'lodash-es/isObject'; export function noop() {} diff --git a/components/vc-slick/src/inner-slider.js b/components/vc-slick/src/inner-slider.js index 8767518ce..bedeec34f 100644 --- a/components/vc-slick/src/inner-slider.js +++ b/components/vc-slick/src/inner-slider.js @@ -1,4 +1,4 @@ -import debounce from 'lodash/debounce'; +import debounce from 'lodash-es/debounce'; import classnames from '../../_util/classNames'; import BaseMixin from '../../_util/BaseMixin'; import defaultProps from './default-props'; diff --git a/components/vc-steps/Steps.jsx b/components/vc-steps/Steps.jsx index 30b51bfa7..f638f1379 100644 --- a/components/vc-steps/Steps.jsx +++ b/components/vc-steps/Steps.jsx @@ -1,6 +1,6 @@ import PropTypes from '../_util/vue-types'; import BaseMixin from '../_util/BaseMixin'; -import debounce from 'lodash/debounce'; +import debounce from 'lodash-es/debounce'; import isFlexSupported from '../_util/isFlexSupported'; import { filterEmpty, getSlot, getPropsData } from '../_util/props-util'; import { cloneElement } from '../_util/vnode'; diff --git a/components/vc-table/src/Table.jsx b/components/vc-table/src/Table.jsx index 6acd60ff7..ccd604ea7 100644 --- a/components/vc-table/src/Table.jsx +++ b/components/vc-table/src/Table.jsx @@ -1,7 +1,7 @@ /* eslint-disable camelcase */ import { provide, markRaw } from 'vue'; import shallowequal from '../../_util/shallowequal'; -import merge from 'lodash/merge'; +import merge from 'lodash-es/merge'; import classes from 'component-classes'; import classNames from '../../_util/classNames'; import PropTypes from '../../_util/vue-types'; diff --git a/components/vc-table/src/TableCell.jsx b/components/vc-table/src/TableCell.jsx index f46e55709..ad5979c06 100644 --- a/components/vc-table/src/TableCell.jsx +++ b/components/vc-table/src/TableCell.jsx @@ -1,6 +1,6 @@ import { inject } from 'vue'; import PropTypes from '../../_util/vue-types'; -import get from 'lodash/get'; +import get from 'lodash-es/get'; import classNames from '../../_util/classNames'; import { isValidElement } from '../../_util/props-util'; diff --git a/components/vc-tabs/src/ScrollableTabBarNode.jsx b/components/vc-tabs/src/ScrollableTabBarNode.jsx index f34f85255..6eef57c91 100644 --- a/components/vc-tabs/src/ScrollableTabBarNode.jsx +++ b/components/vc-tabs/src/ScrollableTabBarNode.jsx @@ -1,4 +1,4 @@ -import debounce from 'lodash/debounce'; +import debounce from 'lodash-es/debounce'; import ResizeObserver from 'resize-observer-polyfill'; import PropTypes from '../../_util/vue-types'; import BaseMixin from '../../_util/BaseMixin'; diff --git a/components/vc-upload/src/AjaxUploader.jsx b/components/vc-upload/src/AjaxUploader.jsx index 8d7f3a872..f6893e442 100644 --- a/components/vc-upload/src/AjaxUploader.jsx +++ b/components/vc-upload/src/AjaxUploader.jsx @@ -1,6 +1,6 @@ import PropTypes from '../../_util/vue-types'; import BaseMixin from '../../_util/BaseMixin'; -import partition from 'lodash/partition'; +import partition from 'lodash-es/partition'; import classNames from '../../_util/classNames'; import defaultRequest from './request'; import getUid from './uid'; diff --git a/package.json b/package.json index bbb7852ef..7c0d0737b 100644 --- a/package.json +++ b/package.json @@ -57,8 +57,8 @@ }, "homepage": "https://www.antdv.com/", "peerDependencies": { - "vue": ">=3.0.0", - "@vue/compiler-sfc": ">=3.0.0" + "@vue/compiler-sfc": ">=3.0.0", + "vue": ">=3.0.0" }, "devDependencies": { "@ant-design-vue/babel-plugin-jsx": "^1.0.0-rc.1", @@ -200,7 +200,7 @@ "is-negative-zero": "^2.0.0", "ismobilejs": "^1.0.0", "json2mq": "^0.2.0", - "lodash": "^4.17.5", + "lodash-es": "^4.17.15", "moment": "^2.27.0", "node-emoji": "^1.10.0", "omit.js": "^2.0.0",