From f6c235462ee0fad30e1dd9990d6f5911b89187fb Mon Sep 17 00:00:00 2001 From: lijianan <574980606@qq.com> Date: Tue, 21 Mar 2023 13:08:43 +0800 Subject: [PATCH] chore: Remove locale-provider (#41289) * chore: rm locale-receiver * chore: export useLocale in locale * chore: comment * chore: rm locale-provider dir * docs: rm locale-provider in migration document * chore: fix regexp --------- Co-authored-by: MadCcc <1075746765@qq.com> --- components/calendar/generateCalendar.tsx | 2 +- components/date-picker/__tests__/other.test.tsx | 5 ++--- .../date-picker/generatePicker/generateRangePicker.tsx | 2 +- .../date-picker/generatePicker/generateSinglePicker.tsx | 2 +- components/empty/index.tsx | 2 +- components/form/FormItemLabel.tsx | 2 +- components/locale-provider/LocaleReceiver.ts | 6 ------ components/locale-provider/index.ts | 6 ------ .../__tests__/__snapshots__/index.test.tsx.snap | 0 .../__tests__/cached-context.test.tsx | 4 ++-- .../{locale-provider => locale}/__tests__/config.test.tsx | 2 +- .../{locale-provider => locale}/__tests__/index.test.tsx | 4 ++-- components/locale/index.tsx | 2 ++ components/locale/my_MM.ts | 1 - components/modal/ConfirmDialog.tsx | 2 +- components/modal/PurePanel.tsx | 2 +- components/pagination/Pagination.tsx | 2 +- components/popconfirm/PurePanel.tsx | 2 +- components/qrcode/index.tsx | 2 +- components/time-picker/locale/my_MM.ts | 2 +- components/tour/panelRender.tsx | 2 +- components/transfer/ListItem.tsx | 2 +- components/transfer/index.tsx | 2 +- components/upload/Upload.tsx | 2 +- docs/react/i18n.zh-CN.md | 2 +- docs/react/migration-v5.en-US.md | 1 + docs/react/migration-v5.zh-CN.md | 1 + index-with-locales.js | 2 +- scripts/check-cssinjs.js | 2 +- scripts/collect-token-statistic.js | 2 +- 30 files changed, 30 insertions(+), 40 deletions(-) delete mode 100644 components/locale-provider/LocaleReceiver.ts delete mode 100644 components/locale-provider/index.ts rename components/{locale-provider => locale}/__tests__/__snapshots__/index.test.tsx.snap (100%) rename components/{locale-provider => locale}/__tests__/cached-context.test.tsx (91%) rename components/{locale-provider => locale}/__tests__/config.test.tsx (97%) rename components/{locale-provider => locale}/__tests__/index.test.tsx (98%) diff --git a/components/calendar/generateCalendar.tsx b/components/calendar/generateCalendar.tsx index 1f0834398b..ae8fbe595e 100644 --- a/components/calendar/generateCalendar.tsx +++ b/components/calendar/generateCalendar.tsx @@ -10,7 +10,7 @@ import type { import useMergedState from 'rc-util/lib/hooks/useMergedState'; import * as React from 'react'; import { ConfigContext } from '../config-provider'; -import useLocale from '../locale/useLocale'; +import { useLocale } from '../locale'; import CalendarHeader from './Header'; import enUS from './locale/en_US'; diff --git a/components/date-picker/__tests__/other.test.tsx b/components/date-picker/__tests__/other.test.tsx index 7af93c50a3..e4c0edeff1 100644 --- a/components/date-picker/__tests__/other.test.tsx +++ b/components/date-picker/__tests__/other.test.tsx @@ -5,7 +5,6 @@ import React from 'react'; import DatePicker from '..'; import ConfigProvider from '../../config-provider'; import type { Locale } from '../../locale'; -import LocaleProvider from '../../locale'; import locale from '../../locale/zh_CN'; import jaJP from '../../locale/ja_JP'; import zhTW from '../locale/zh_TW'; @@ -31,9 +30,9 @@ describe('Picker format by locale', () => { function matchPicker(name: string, Picker: typeof MonthPicker | typeof WeekPicker, props?: any) { it(name, () => { const { container } = render( - + - , + , ); expect(container.firstChild).toMatchSnapshot(); }); diff --git a/components/date-picker/generatePicker/generateRangePicker.tsx b/components/date-picker/generatePicker/generateRangePicker.tsx index c60c550071..a6bd7e6fc5 100644 --- a/components/date-picker/generatePicker/generateRangePicker.tsx +++ b/components/date-picker/generatePicker/generateRangePicker.tsx @@ -13,7 +13,7 @@ import { ConfigContext } from '../../config-provider'; import DisabledContext from '../../config-provider/DisabledContext'; import SizeContext from '../../config-provider/SizeContext'; import { FormItemInputContext } from '../../form/context'; -import useLocale from '../../locale/useLocale'; +import { useLocale } from '../../locale'; import { useCompactItemContext } from '../../space/Compact'; import { getMergedStatus, getStatusClassNames } from '../../_util/statusUtils'; import warning from '../../_util/warning'; diff --git a/components/date-picker/generatePicker/generateSinglePicker.tsx b/components/date-picker/generatePicker/generateSinglePicker.tsx index b3a8ffb0d7..ae755cfa3c 100644 --- a/components/date-picker/generatePicker/generateSinglePicker.tsx +++ b/components/date-picker/generatePicker/generateSinglePicker.tsx @@ -13,7 +13,7 @@ import { ConfigContext } from '../../config-provider'; import DisabledContext from '../../config-provider/DisabledContext'; import SizeContext from '../../config-provider/SizeContext'; import { FormItemInputContext } from '../../form/context'; -import useLocale from '../../locale/useLocale'; +import { useLocale } from '../../locale'; import { useCompactItemContext } from '../../space/Compact'; import type { InputStatus } from '../../_util/statusUtils'; import { getMergedStatus, getStatusClassNames } from '../../_util/statusUtils'; diff --git a/components/empty/index.tsx b/components/empty/index.tsx index f2a5c1f32f..56e7628e76 100644 --- a/components/empty/index.tsx +++ b/components/empty/index.tsx @@ -1,7 +1,7 @@ import classNames from 'classnames'; import * as React from 'react'; import { ConfigContext } from '../config-provider'; -import useLocale from '../locale/useLocale'; +import { useLocale } from '../locale'; import DefaultEmptyImg from './empty'; import SimpleEmptyImg from './simple'; diff --git a/components/form/FormItemLabel.tsx b/components/form/FormItemLabel.tsx index 1ec42e1767..89f01ab0b8 100644 --- a/components/form/FormItemLabel.tsx +++ b/components/form/FormItemLabel.tsx @@ -4,7 +4,7 @@ import * as React from 'react'; import type { ColProps } from '../grid/col'; import Col from '../grid/col'; import defaultLocale from '../locale/en_US'; -import useLocale from '../locale/useLocale'; +import { useLocale } from '../locale'; import type { TooltipProps } from '../tooltip'; import Tooltip from '../tooltip'; import type { FormContextProps } from './context'; diff --git a/components/locale-provider/LocaleReceiver.ts b/components/locale-provider/LocaleReceiver.ts deleted file mode 100644 index fd15dc9552..0000000000 --- a/components/locale-provider/LocaleReceiver.ts +++ /dev/null @@ -1,6 +0,0 @@ -// locale-provider 文件夹的移除需要修改 @ant-design/tools 和 antd-img-crop -import useLocale from '../locale/useLocale'; - -export * from '../locale/useLocale'; - -export default useLocale; diff --git a/components/locale-provider/index.ts b/components/locale-provider/index.ts deleted file mode 100644 index 391dae433c..0000000000 --- a/components/locale-provider/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -// locale-provider 文件夹的移除需要修改 @ant-design/tools 和 antd-img-crop -import locale from '../locale'; - -export * from '../locale'; - -export default locale; diff --git a/components/locale-provider/__tests__/__snapshots__/index.test.tsx.snap b/components/locale/__tests__/__snapshots__/index.test.tsx.snap similarity index 100% rename from components/locale-provider/__tests__/__snapshots__/index.test.tsx.snap rename to components/locale/__tests__/__snapshots__/index.test.tsx.snap diff --git a/components/locale-provider/__tests__/cached-context.test.tsx b/components/locale/__tests__/cached-context.test.tsx similarity index 91% rename from components/locale-provider/__tests__/cached-context.test.tsx rename to components/locale/__tests__/cached-context.test.tsx index b690de29bb..c9a9406e66 100644 --- a/components/locale-provider/__tests__/cached-context.test.tsx +++ b/components/locale/__tests__/cached-context.test.tsx @@ -1,7 +1,7 @@ import React, { memo, useContext } from 'react'; import { fireEvent, pureRender } from '../../../tests/utils'; -import LocaleProvider from '../../locale'; -import LocaleContext from '../../locale/context'; +import LocaleProvider from '..'; +import LocaleContext from '../context'; let innerCount = 0; let outerCount = 0; diff --git a/components/locale-provider/__tests__/config.test.tsx b/components/locale/__tests__/config.test.tsx similarity index 97% rename from components/locale-provider/__tests__/config.test.tsx rename to components/locale/__tests__/config.test.tsx index 70c5b8ad1e..886db210d8 100644 --- a/components/locale-provider/__tests__/config.test.tsx +++ b/components/locale/__tests__/config.test.tsx @@ -2,7 +2,7 @@ import React, { useEffect } from 'react'; import { Modal } from '../..'; import { waitFakeTimer, render, fireEvent } from '../../../tests/utils'; import ConfigProvider from '../../config-provider'; -import zhCN from '../../locale/zh_CN'; +import zhCN from '../zh_CN'; const Demo: React.FC<{ type: string }> = ({ type }) => { useEffect(() => { diff --git a/components/locale-provider/__tests__/index.test.tsx b/components/locale/__tests__/index.test.tsx similarity index 98% rename from components/locale-provider/__tests__/index.test.tsx rename to components/locale/__tests__/index.test.tsx index 5607adc4b5..b64d118f0d 100644 --- a/components/locale-provider/__tests__/index.test.tsx +++ b/components/locale/__tests__/index.test.tsx @@ -68,8 +68,8 @@ import preParsePostFormat from 'dayjs/plugin/preParsePostFormat'; import MockDate from 'mockdate'; import React from 'react'; import { render } from '../../../tests/utils'; -import type { Locale } from '../../locale'; -import LocaleProvider from '../../locale'; +import type { Locale } from '..'; +import LocaleProvider from '..'; import { Calendar, DatePicker, diff --git a/components/locale/index.tsx b/components/locale/index.tsx index 9e6cfe315c..34f75c9a26 100644 --- a/components/locale/index.tsx +++ b/components/locale/index.tsx @@ -14,6 +14,8 @@ import type { UploadLocale } from '../upload/interface'; import type { LocaleContextProps } from './context'; import LocaleContext from './context'; +export { default as useLocale } from './useLocale'; + export const ANT_MARK = 'internalMark'; export interface Locale { diff --git a/components/locale/my_MM.ts b/components/locale/my_MM.ts index a8ae3b1565..57f30dccc9 100644 --- a/components/locale/my_MM.ts +++ b/components/locale/my_MM.ts @@ -5,7 +5,6 @@ import DatePicker from '../date-picker/locale/my_MM'; import type { Locale } from '.'; import TimePicker from '../time-picker/locale/my_MM'; - const typeTemplate = '${label} သည် တရားဝင် ${type} မဟုတ်ပါ'; const localeValues: Locale = { diff --git a/components/modal/ConfirmDialog.tsx b/components/modal/ConfirmDialog.tsx index 54c0e9686a..84f36b22d2 100644 --- a/components/modal/ConfirmDialog.tsx +++ b/components/modal/ConfirmDialog.tsx @@ -5,7 +5,7 @@ import InfoCircleFilled from '@ant-design/icons/InfoCircleFilled'; import classNames from 'classnames'; import * as React from 'react'; import ConfigProvider from '../config-provider'; -import useLocale from '../locale/useLocale'; +import { useLocale } from '../locale'; import ActionButton from '../_util/ActionButton'; import { getTransitionName } from '../_util/motion'; import warning from '../_util/warning'; diff --git a/components/modal/PurePanel.tsx b/components/modal/PurePanel.tsx index 55a38831bf..fe8c085e5d 100644 --- a/components/modal/PurePanel.tsx +++ b/components/modal/PurePanel.tsx @@ -7,7 +7,7 @@ import * as React from 'react'; import Button from '../button'; import { convertLegacyProps } from '../button/button'; import { ConfigContext } from '../config-provider'; -import useLocale from '../locale/useLocale'; +import { useLocale } from '../locale'; import { ConfirmContent } from './ConfirmDialog'; import { getConfirmLocale } from './locale'; import type { ModalFuncProps, ModalProps } from './Modal'; diff --git a/components/pagination/Pagination.tsx b/components/pagination/Pagination.tsx index 4cf2724e84..611acc09db 100644 --- a/components/pagination/Pagination.tsx +++ b/components/pagination/Pagination.tsx @@ -9,7 +9,7 @@ import enUS from 'rc-pagination/lib/locale/en_US'; import * as React from 'react'; import { ConfigContext } from '../config-provider'; import useBreakpoint from '../grid/hooks/useBreakpoint'; -import useLocale from '../locale/useLocale'; +import { useLocale } from '../locale'; import { MiddleSelect, MiniSelect } from './Select'; import useStyle from './style'; diff --git a/components/popconfirm/PurePanel.tsx b/components/popconfirm/PurePanel.tsx index 8b006d65bd..52b21eaaf6 100644 --- a/components/popconfirm/PurePanel.tsx +++ b/components/popconfirm/PurePanel.tsx @@ -6,7 +6,7 @@ import Button from '../button'; import { convertLegacyProps } from '../button/button'; import { ConfigContext } from '../config-provider'; import defaultLocale from '../locale/en_US'; -import useLocale from '../locale/useLocale'; +import { useLocale } from '../locale'; import PopoverPurePanel from '../popover/PurePanel'; import ActionButton from '../_util/ActionButton'; import { getRenderPropValue } from '../_util/getRenderPropValue'; diff --git a/components/qrcode/index.tsx b/components/qrcode/index.tsx index 64f4e38b36..cc0e1051e9 100644 --- a/components/qrcode/index.tsx +++ b/components/qrcode/index.tsx @@ -6,7 +6,7 @@ import warning from '../_util/warning'; import Button from '../button'; import type { ConfigConsumerProps } from '../config-provider'; import { ConfigContext } from '../config-provider'; -import useLocale from '../locale/useLocale'; +import { useLocale } from '../locale'; import Spin from '../spin'; import theme from '../theme'; import type { QRCodeProps, QRPropsCanvas } from './interface'; diff --git a/components/time-picker/locale/my_MM.ts b/components/time-picker/locale/my_MM.ts index 581d4035b4..828136654b 100644 --- a/components/time-picker/locale/my_MM.ts +++ b/components/time-picker/locale/my_MM.ts @@ -5,4 +5,4 @@ const locale: TimePickerLocale = { rangePlaceholder: ['စတင်ချိန်', 'ကုန်ဆုံးချိန်'], }; -export default locale; \ No newline at end of file +export default locale; diff --git a/components/tour/panelRender.tsx b/components/tour/panelRender.tsx index 0176a58c3b..94e31028cf 100644 --- a/components/tour/panelRender.tsx +++ b/components/tour/panelRender.tsx @@ -5,7 +5,7 @@ import React from 'react'; import type { ButtonProps } from '../button'; import Button from '../button'; import defaultLocale from '../locale/en_US'; -import useLocale from '../locale/useLocale'; +import { useLocale } from '../locale'; import type { TourStepProps } from './interface'; function isValidNode(node: ReactNode): boolean { diff --git a/components/transfer/ListItem.tsx b/components/transfer/ListItem.tsx index d031e76e9e..0bca1a22ff 100644 --- a/components/transfer/ListItem.tsx +++ b/components/transfer/ListItem.tsx @@ -4,7 +4,7 @@ import * as React from 'react'; import type { KeyWiseTransferItem } from '.'; import Checkbox from '../checkbox'; import defaultLocale from '../locale/en_US'; -import useLocale from '../locale/useLocale'; +import { useLocale } from '../locale'; import TransButton from '../_util/transButton'; type ListItemProps = { diff --git a/components/transfer/index.tsx b/components/transfer/index.tsx index 030a328a1d..32be292515 100644 --- a/components/transfer/index.tsx +++ b/components/transfer/index.tsx @@ -11,7 +11,7 @@ import DefaultRenderEmpty from '../config-provider/defaultRenderEmpty'; import type { FormItemStatusContextProps } from '../form/context'; import { FormItemInputContext } from '../form/context'; import defaultLocale from '../locale/en_US'; -import useLocale from '../locale/useLocale'; +import { useLocale } from '../locale'; import type { PaginationType } from './interface'; import type { TransferListProps } from './list'; import List from './list'; diff --git a/components/upload/Upload.tsx b/components/upload/Upload.tsx index d3aeb256b1..0e5e0b52ba 100644 --- a/components/upload/Upload.tsx +++ b/components/upload/Upload.tsx @@ -7,7 +7,7 @@ import { flushSync } from 'react-dom'; import { ConfigContext } from '../config-provider'; import DisabledContext from '../config-provider/DisabledContext'; import defaultLocale from '../locale/en_US'; -import useLocale from '../locale/useLocale'; +import { useLocale } from '../locale'; import warning from '../_util/warning'; import type { RcFile, ShowUploadListInterface, UploadChangeParam, UploadFile } from './interface'; import { UploadProps } from './interface'; diff --git a/docs/react/i18n.zh-CN.md b/docs/react/i18n.zh-CN.md index 942b67f792..5c04ef6527 100644 --- a/docs/react/i18n.zh-CN.md +++ b/docs/react/i18n.zh-CN.md @@ -94,7 +94,7 @@ return ( | 简体中文 | zh_CN | | 繁体中文(中国香港) | zh_HK | | 繁体中文(中国台湾) | zh_TW | -| 缅甸语 | my_MM | +| 缅甸语 | my_MM | 具体的使用方法请参考 [ConfigProvider 文档](/components/config-provider-cn)。 diff --git a/docs/react/migration-v5.en-US.md b/docs/react/migration-v5.en-US.md index 96c32548a7..38a4bf11b9 100644 --- a/docs/react/migration-v5.en-US.md +++ b/docs/react/migration-v5.en-US.md @@ -122,6 +122,7 @@ This document will help you upgrade from antd `4.x` version to antd `5.x` versio #### Component refactoring and removal +- Remove `locale-provider` Directory. `LocaleProvider` was removed in v4, please use `ConfigProvider` instead. - Move Comment component into `@ant-design/compatible`. - Move PageHeader component into `@ant-design/pro-components`. diff --git a/docs/react/migration-v5.zh-CN.md b/docs/react/migration-v5.zh-CN.md index dd29fed635..b84c9c08b2 100644 --- a/docs/react/migration-v5.zh-CN.md +++ b/docs/react/migration-v5.zh-CN.md @@ -114,6 +114,7 @@ title: 从 v4 到 v5 #### 组件重构与移除 +- 移除 `locale-provider` 目录。`LocaleProvider` 在 v4 中已移除,请使用 `ConfigProvider` 替代。 - 移除 Comment 组件,移至 `@ant-design/compatible` 中维护。 - 移除 PageHeader 组件,移至 `@ant-design/pro-components` 中维护。 diff --git a/index-with-locales.js b/index-with-locales.js index 16ef9d660e..173bfb7d9f 100644 --- a/index-with-locales.js +++ b/index-with-locales.js @@ -1,6 +1,6 @@ const antd = require('./components'); -const req = require.context('./components', true, /^\.\/locale\/.+_.+\.tsx?$/); +const req = require.context('./components', true, /^\.\/locale\/[A-Za-z]+_[A-Za-z]+\.tsx?$/); antd.locales = {}; diff --git a/scripts/check-cssinjs.js b/scripts/check-cssinjs.js index ff2a1f9be4..93feaa256c 100644 --- a/scripts/check-cssinjs.js +++ b/scripts/check-cssinjs.js @@ -30,7 +30,7 @@ const EmptyElement = React.createElement('div'); const styleFiles = glob.globSync( path.join( process.cwd(), - 'components/!(version|config-provider|icon|locale-provider|auto-complete|col|row|time-picker|)/style/index.?(ts|tsx)', + 'components/!(version|config-provider|icon|auto-complete|col|row|time-picker|)/style/index.?(ts|tsx)', ), ); diff --git a/scripts/collect-token-statistic.js b/scripts/collect-token-statistic.js index b127739192..7a204fe4ac 100644 --- a/scripts/collect-token-statistic.js +++ b/scripts/collect-token-statistic.js @@ -18,7 +18,7 @@ const EmptyElement = React.createElement('div'); const styleFiles = glob.globSync( path.join( process.cwd(), - 'components/!(version|config-provider|icon|locale-provider|auto-complete|col|row|time-picker|)/style/index.?(ts|tsx)', + 'components/!(version|config-provider|icon|auto-complete|col|row|time-picker|)/style/index.?(ts|tsx)', ), );