From 2119bc09011db822e64053f4ee95e2be038cd6f6 Mon Sep 17 00:00:00 2001 From: M-ZubairAhmed Date: Sun, 16 Apr 2023 05:19:08 +0530 Subject: [PATCH] MM-51974 : Unify "react-intl" related dependencies versions across products (#22894) Picks out formatjs-eslint-plugin to webapp root. Updates react-intl to 6.3.2 in all products. Executed i18n-extract and checked if any translations got changed. Although it was a major version update, the only breaking change was for a vue peer dependency. Adds "*" to take whatever dependency rule to products and declare the react-intl as the root package. Fixes a few lint and type errors cropped in due to the update No-ID rule removed from playbooks in preparation for unifying practices across products. Lastly, a few missing translations in Playbooks added --- webapp/boards/.eslintrc.json | 6 +- webapp/boards/package.json | 5 +- .../boardSwitcherDialog.tsx | 2 +- .../shareBoard/teamPermissionsRow.tsx | 4 +- .../components/sidebar/sidebarCategory.tsx | 3 +- webapp/channels/.eslintrc.json | 2 +- webapp/channels/package.json | 3 +- .../formatted_markdown_message.test.tsx.snap | 10 + .../__snapshots__/team_profile.test.tsx.snap | 12 + .../configuration_bar/configuration_bar.tsx | 4 +- .../__snapshots__/error.test.tsx.snap | 3 + .../__snapshots__/success.test.tsx.snap | 3 + .../__snapshots__/code_block.test.tsx.snap | 15 + .../__snapshots__/panel_body.test.tsx.snap | 12 + .../plugin_marketplace/marketplace_modal.tsx | 4 +- .../profile_popover.test.tsx.snap | 9 + .../at_mention_suggestion.test.tsx.snap | 6 + .../__snapshots__/thread_footer.test.tsx.snap | 51 + .../global_threads/global_threads.tsx | 4 +- .../crt_threads_pane_tutorial_tip.tsx | 4 +- .../crt_tour/crt_unread_tutorial_tip.tsx | 4 +- .../user_group_popover.test.tsx.snap | 15 + .../group_member_list.test.tsx.snap | 15 + .../widgets/menu/menu_items/useWords.tsx | 6 +- .../__snapshots__/avatars.test.tsx.snap | 60 + .../channel_header_plug.test.tsx.snap | 60 + .../mobile_channel_header_plug.test.tsx.snap | 30 + webapp/package-lock.json | 1771 ++++------------- webapp/package.json | 4 + webapp/platform/components/package.json | 4 +- webapp/platform/types/package.json | 4 +- webapp/playbooks/.eslintrc.json | 3 +- webapp/playbooks/i18n/en.json | 3 + webapp/playbooks/package.json | 5 +- .../backstage/metrics/metrics_card.tsx | 4 + .../components/backstage/playbook_list.tsx | 4 +- .../backstage/playbook_list_row.tsx | 3 +- .../playbook_run/rhs_info_metrics.tsx | 1 + .../playbook_run/status_update.tsx | 4 +- .../components/backstage/runs_list/row.tsx | 7 +- .../src/components/checklist_item/command.tsx | 2 +- .../components/modals/run_playbook_modal.tsx | 1 + .../modals/update_run_status_modal.tsx | 9 +- .../src/components/playbooks_selector.tsx | 2 +- .../src/components/sidebar/sidebar.tsx | 9 +- .../components/widgets/menu/menu_wrapper.tsx | 1 + 46 files changed, 739 insertions(+), 1454 deletions(-) diff --git a/webapp/boards/.eslintrc.json b/webapp/boards/.eslintrc.json index 38051b75e8..f31eeaf6c1 100644 --- a/webapp/boards/.eslintrc.json +++ b/webapp/boards/.eslintrc.json @@ -91,9 +91,6 @@ "error", { "allowSameFolder": true, "rootDir": "webapp/boards"} ], - /* "no-restricted-imports": ["error", { - "patterns": ["..*"] - }], */ "import-newlines/enforce": [ 2, 3 @@ -101,7 +98,8 @@ "object-curly-spacing": [ 2, "never" - ] + ], + "formatjs/no-multiple-whitespaces": 2 }, "overrides": [ { diff --git a/webapp/boards/package.json b/webapp/boards/package.json index da149e9f85..4ec669e8bf 100644 --- a/webapp/boards/package.json +++ b/webapp/boards/package.json @@ -4,7 +4,7 @@ "private": true, "description": "", "scripts": { - "i18n-extract": "formatjs extract \"src/**/*.{ts,tsx}\" --ignore \"**/*.d.ts\" \"../**/*.d.ts\" --out-file i18n/tmp.json && formatjs compile i18n/tmp.json --out-file i18n/en.json && npx rimraf i18n/tmp.json", + "i18n-extract": "formatjs extract \"src/**/*.{ts,tsx}\" --ignore \"**/*.d.ts\" --out-file i18n/tmp.json && formatjs compile i18n/tmp.json --out-file i18n/en.json && npx rimraf i18n/tmp.json", "build": "webpack --mode=production", "build:watch": "webpack --mode=production --watch", "start:product": "webpack serve --mode=development", @@ -58,7 +58,7 @@ "react-dom": "17.0.2", "react-hot-keys": "^2.7.1", "react-hotkeys-hook": "^3.4.4", - "react-intl": "^5.20.0", + "react-intl": "*", "react-redux": "^7.2.1", "react-router-dom": "^5.2.0", "react-select": "5.5.9", @@ -106,7 +106,6 @@ "css-loader": "6.7.1", "eslint-import-resolver-webpack": "0.13.2", "eslint-plugin-babel": "^5.3.1", - "eslint-plugin-formatjs": "4.9.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.25.4", "eslint-plugin-import-newlines": "1.3.1", diff --git a/webapp/boards/src/components/boardsSwitcherDialog/boardSwitcherDialog.tsx b/webapp/boards/src/components/boardsSwitcherDialog/boardSwitcherDialog.tsx index f0325bf586..c45d87e5d0 100644 --- a/webapp/boards/src/components/boardsSwitcherDialog/boardSwitcherDialog.tsx +++ b/webapp/boards/src/components/boardsSwitcherDialog/boardSwitcherDialog.tsx @@ -39,7 +39,7 @@ const BoardSwitcherDialog = (props: Props): JSX.Element => { const team = useAppSelector(getCurrentTeam) const me = useAppSelector(getMe) const title = intl.formatMessage({id: 'FindBoardsDialog.Title', defaultMessage: 'Find Boards'}) - const subTitle = intl.formatMessage( + const subTitle = intl.formatMessage( { id: 'FindBoardsDialog.SubTitle', defaultMessage: 'Type to find a board. Use UP/DOWN to browse. ENTER to select, ESC to dismiss', diff --git a/webapp/boards/src/components/shareBoard/teamPermissionsRow.tsx b/webapp/boards/src/components/shareBoard/teamPermissionsRow.tsx index 1f7c1a5822..25a5a8a6c0 100644 --- a/webapp/boards/src/components/shareBoard/teamPermissionsRow.tsx +++ b/webapp/boards/src/components/shareBoard/teamPermissionsRow.tsx @@ -1,7 +1,7 @@ // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. -import React, {useState} from 'react' +import React, {ReactNode, useState} from 'react' import {useIntl} from 'react-intl' import MenuWrapper from 'src/widgets/menuWrapper' @@ -77,7 +77,7 @@ const TeamPermissionsRow = (): JSX.Element => { id: 'shareBoard.confirm-change-team-role.title', defaultMessage: 'Change minimum board role', }), - subText: intl.formatMessage({ + subText: intl.formatMessage({ id: 'shareBoard.confirm-change-team-role.body', defaultMessage: 'Everyone on this board with a lower permission than the "{role}" role will now be promoted to {role}. Are you sure you want to change the minimum role for the board?', }, { diff --git a/webapp/boards/src/components/sidebar/sidebarCategory.tsx b/webapp/boards/src/components/sidebar/sidebarCategory.tsx index dc036fc180..5b54c8c7a9 100644 --- a/webapp/boards/src/components/sidebar/sidebarCategory.tsx +++ b/webapp/boards/src/components/sidebar/sidebarCategory.tsx @@ -1,6 +1,7 @@ // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. import React, { + ReactNode, useCallback, useEffect, useMemo, @@ -167,7 +168,7 @@ const SidebarCategory = (props: Props) => { id: 'SidebarCategories.CategoryMenu.DeleteModal.Title', defaultMessage: 'Delete this category?', }), - subText: intl.formatMessage( + subText: intl.formatMessage( { id: 'SidebarCategories.CategoryMenu.DeleteModal.Body', defaultMessage: 'Boards in {categoryName} will move back to the Boards categories. You\'re not removed from any boards.', diff --git a/webapp/channels/.eslintrc.json b/webapp/channels/.eslintrc.json index cdc3b7bf18..644947847a 100644 --- a/webapp/channels/.eslintrc.json +++ b/webapp/channels/.eslintrc.json @@ -97,7 +97,7 @@ } ], "max-lines": ["warn", {"max": 800, "skipBlankLines": true, "skipComments": true}], - "formatjs/no-multiple-whitespaces": ["error"] + "formatjs/no-multiple-whitespaces": 2 }, "overrides": [ { diff --git a/webapp/channels/package.json b/webapp/channels/package.json index 12beb235e3..c2f702aa9b 100644 --- a/webapp/channels/package.json +++ b/webapp/channels/package.json @@ -70,7 +70,7 @@ "react-day-picker": "8.3.6", "react-dom": "17.0.2", "react-hot-loader": "4.13.0", - "react-intl": "5.20.10", + "react-intl": "*", "react-is": "17.0.2", "react-overlays": "0.9.3", "react-popper": "2.3.0", @@ -162,7 +162,6 @@ "enzyme-adapter-react-17-updated": "1.0.2", "enzyme-to-json": "3.6.2", "eslint-import-resolver-webpack": "0.13.2", - "eslint-plugin-formatjs": "4.9.1", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.27.5", "eslint-plugin-mattermost": "github:mattermost/eslint-plugin-mattermost#5b0c972eacf19286e4c66221b39113bf8728a99e", diff --git a/webapp/channels/src/components/__snapshots__/formatted_markdown_message.test.tsx.snap b/webapp/channels/src/components/__snapshots__/formatted_markdown_message.test.tsx.snap index 4c65f52555..07a4830b20 100644 --- a/webapp/channels/src/components/__snapshots__/formatted_markdown_message.test.tsx.snap +++ b/webapp/channels/src/components/__snapshots__/formatted_markdown_message.test.tsx.snap @@ -4,6 +4,7 @@ exports[`components/FormattedMarkdownMessage should allow to disable links 1`] = { defaultMessage = 'Please configure your site URL on the System Console.'; } - const values = { + const values: Record = { linkSite: (msg: string) => ( { id="copyButton" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -321,6 +330,7 @@ const myFunction = () => { "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": Symbol(react.fragment), "timeZone": undefined, "wrapRichTextChunksInFragment": undefined, @@ -452,10 +462,12 @@ exports[`codeBlock should render unknown language after syntax highlighting 1`] ( +const linkConsole = (msg: string): ReactNode => ( {msg} diff --git a/webapp/channels/src/components/profile_popover/__snapshots__/profile_popover.test.tsx.snap b/webapp/channels/src/components/profile_popover/__snapshots__/profile_popover.test.tsx.snap index fc0a51d05a..aba8e516d7 100644 --- a/webapp/channels/src/components/profile_popover/__snapshots__/profile_popover.test.tsx.snap +++ b/webapp/channels/src/components/profile_popover/__snapshots__/profile_popover.test.tsx.snap @@ -3491,9 +3491,11 @@ exports[`components/ProfilePopover should show the start call button when isCall hide={[MockFunction]} intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -3520,6 +3522,7 @@ exports[`components/ProfilePopover should show the start call button when isCall "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -3804,9 +3807,11 @@ exports[`components/ProfilePopover should show the start call button when isCall hourCycle="h12" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -3833,6 +3838,7 @@ exports[`components/ProfilePopover should show the start call button when isCall "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -4076,9 +4082,11 @@ exports[`components/ProfilePopover should show the start call button when isCall id="addToChannelTooltip" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -4105,6 +4113,7 @@ exports[`components/ProfilePopover should show the start call button when isCall "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, diff --git a/webapp/channels/src/components/suggestion/at_mention_provider/__snapshots__/at_mention_suggestion.test.tsx.snap b/webapp/channels/src/components/suggestion/at_mention_provider/__snapshots__/at_mention_suggestion.test.tsx.snap index a3c6df367c..5e338d7941 100644 --- a/webapp/channels/src/components/suggestion/at_mention_provider/__snapshots__/at_mention_suggestion.test.tsx.snap +++ b/webapp/channels/src/components/suggestion/at_mention_provider/__snapshots__/at_mention_suggestion.test.tsx.snap @@ -4,9 +4,11 @@ exports[`at mention suggestion Should display nick name of non signed in user 1` { id: 'globalThreads.threadPane.unselectedTitle', defaultMessage: '{numUnread, plural, =0 {Looks like you’re all caught up} other {Catch up on your threads}}', }, {numUnread})} - subtitle={formatMessage({ + subtitle={formatMessage({ id: 'globalThreads.threadPane.unreadMessageLink', defaultMessage: 'You have {numUnread, plural, =0 {no unread threads} =1 {{numUnread} thread} other {{numUnread} threads}} {numUnread, plural, =0 {} other {with unread messages}}', }, { diff --git a/webapp/channels/src/components/tours/crt_tour/crt_threads_pane_tutorial_tip.tsx b/webapp/channels/src/components/tours/crt_tour/crt_threads_pane_tutorial_tip.tsx index 907966e23f..549bdd2521 100644 --- a/webapp/channels/src/components/tours/crt_tour/crt_threads_pane_tutorial_tip.tsx +++ b/webapp/channels/src/components/tours/crt_tour/crt_threads_pane_tutorial_tip.tsx @@ -1,7 +1,7 @@ // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. -import React from 'react'; +import React, {ReactNode} from 'react'; import {FormattedMessage, useIntl} from 'react-intl'; import {useDispatch, useSelector} from 'react-redux'; @@ -29,7 +29,7 @@ const CRTThreadsPaneTutorialTip = () => { const screen = (

- {formatMessage( + {formatMessage( { id: 'tutorial_threads.threads_pane.description', defaultMessage: 'Click the Follow button to be notified about replies and see it in your Threads view. Within a thread, the New Messages line shows you where you left off.', diff --git a/webapp/channels/src/components/tours/crt_tour/crt_unread_tutorial_tip.tsx b/webapp/channels/src/components/tours/crt_tour/crt_unread_tutorial_tip.tsx index 37b3d2e8c7..f86d207528 100644 --- a/webapp/channels/src/components/tours/crt_tour/crt_unread_tutorial_tip.tsx +++ b/webapp/channels/src/components/tours/crt_tour/crt_unread_tutorial_tip.tsx @@ -1,7 +1,7 @@ // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. -import React from 'react'; +import React, {ReactNode} from 'react'; import {FormattedMessage, useIntl} from 'react-intl'; import {useMeasurePunchouts} from '@mattermost/components'; @@ -19,7 +19,7 @@ const CRTUnreadTutorialTip = () => { const screen = (

- {formatMessage( + {formatMessage( { id: 'tutorial_threads.unread.description', defaultMessage: 'You can switch to Unreads to show only threads that are unread.', diff --git a/webapp/channels/src/components/user_group_popover/__snapshots__/user_group_popover.test.tsx.snap b/webapp/channels/src/components/user_group_popover/__snapshots__/user_group_popover.test.tsx.snap index bada1bc768..bb7813eb26 100644 --- a/webapp/channels/src/components/user_group_popover/__snapshots__/user_group_popover.test.tsx.snap +++ b/webapp/channels/src/components/user_group_popover/__snapshots__/user_group_popover.test.tsx.snap @@ -1177,9 +1177,11 @@ exports[`component/user_group_popover should match snapshot 1`] = ` id="name-id0" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1206,6 +1208,7 @@ exports[`component/user_group_popover should match snapshot 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1393,9 +1396,11 @@ exports[`component/user_group_popover should match snapshot 1`] = ` id="name-id1" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1422,6 +1427,7 @@ exports[`component/user_group_popover should match snapshot 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1609,9 +1615,11 @@ exports[`component/user_group_popover should match snapshot 1`] = ` id="name-id10" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1638,6 +1646,7 @@ exports[`component/user_group_popover should match snapshot 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1825,9 +1834,11 @@ exports[`component/user_group_popover should match snapshot 1`] = ` id="name-id11" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1854,6 +1865,7 @@ exports[`component/user_group_popover should match snapshot 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -2041,9 +2053,11 @@ exports[`component/user_group_popover should match snapshot 1`] = ` id="name-id12" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -2070,6 +2084,7 @@ exports[`component/user_group_popover should match snapshot 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, diff --git a/webapp/channels/src/components/user_group_popover/group_member_list/__snapshots__/group_member_list.test.tsx.snap b/webapp/channels/src/components/user_group_popover/group_member_list/__snapshots__/group_member_list.test.tsx.snap index 2af3bd35f5..5b176b147b 100644 --- a/webapp/channels/src/components/user_group_popover/group_member_list/__snapshots__/group_member_list.test.tsx.snap +++ b/webapp/channels/src/components/user_group_popover/group_member_list/__snapshots__/group_member_list.test.tsx.snap @@ -457,9 +457,11 @@ exports[`component/user_group_popover/group_member_list should match snapshot 1` id="name-id0" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -486,6 +488,7 @@ exports[`component/user_group_popover/group_member_list should match snapshot 1` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -673,9 +676,11 @@ exports[`component/user_group_popover/group_member_list should match snapshot 1` id="name-id1" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -702,6 +707,7 @@ exports[`component/user_group_popover/group_member_list should match snapshot 1` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -889,9 +895,11 @@ exports[`component/user_group_popover/group_member_list should match snapshot 1` id="name-id2" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -918,6 +926,7 @@ exports[`component/user_group_popover/group_member_list should match snapshot 1` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1105,9 +1114,11 @@ exports[`component/user_group_popover/group_member_list should match snapshot 1` id="name-id3" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1134,6 +1145,7 @@ exports[`component/user_group_popover/group_member_list should match snapshot 1` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1321,9 +1333,11 @@ exports[`component/user_group_popover/group_member_list should match snapshot 1` id="name-id4" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1350,6 +1364,7 @@ exports[`component/user_group_popover/group_member_list should match snapshot 1` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, diff --git a/webapp/channels/src/components/widgets/menu/menu_items/useWords.tsx b/webapp/channels/src/components/widgets/menu/menu_items/useWords.tsx index b6834ce9f8..2f0c19edda 100644 --- a/webapp/channels/src/components/widgets/menu/menu_items/useWords.tsx +++ b/webapp/channels/src/components/widgets/menu/menu_items/useWords.tsx @@ -1,7 +1,7 @@ // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. -import React from 'react'; +import React, {ReactNode} from 'react'; import {useIntl} from 'react-intl'; import {PrimitiveType, FormatXMLElementFn} from 'intl-messageformat'; @@ -118,7 +118,7 @@ export default function useWords(highestLimit: LimitSummary | false, isAdminUser id: 'workspace_limits.menu_limit.messages', defaultMessage: 'Total messages', }), - description: intl.formatMessage( + description: intl.formatMessage( { id, defaultMessage, @@ -150,7 +150,7 @@ export default function useWords(highestLimit: LimitSummary | false, isAdminUser id: 'workspace_limits.menu_limit.file_storage', defaultMessage: 'File storage limit', }), - description: intl.formatMessage( + description: intl.formatMessage( { id, defaultMessage, diff --git a/webapp/channels/src/components/widgets/users/avatars/__snapshots__/avatars.test.tsx.snap b/webapp/channels/src/components/widgets/users/avatars/__snapshots__/avatars.test.tsx.snap index 251977f749..c60ea6c672 100644 --- a/webapp/channels/src/components/widgets/users/avatars/__snapshots__/avatars.test.tsx.snap +++ b/webapp/channels/src/components/widgets/users/avatars/__snapshots__/avatars.test.tsx.snap @@ -59,9 +59,11 @@ exports[`components/widgets/users/Avatars should fetch missing users 1`] = ` hide={[Function]} intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -88,6 +90,7 @@ exports[`components/widgets/users/Avatars should fetch missing users 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -143,9 +146,11 @@ exports[`components/widgets/users/Avatars should fetch missing users 1`] = ` id="name-1" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -172,6 +177,7 @@ exports[`components/widgets/users/Avatars should fetch missing users 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -279,9 +285,11 @@ exports[`components/widgets/users/Avatars should fetch missing users 1`] = ` hide={[Function]} intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -308,6 +316,7 @@ exports[`components/widgets/users/Avatars should fetch missing users 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -363,9 +372,11 @@ exports[`components/widgets/users/Avatars should fetch missing users 1`] = ` id="name-6" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -392,6 +403,7 @@ exports[`components/widgets/users/Avatars should fetch missing users 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -499,9 +511,11 @@ exports[`components/widgets/users/Avatars should fetch missing users 1`] = ` hide={[Function]} intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -528,6 +542,7 @@ exports[`components/widgets/users/Avatars should fetch missing users 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -583,9 +598,11 @@ exports[`components/widgets/users/Avatars should fetch missing users 1`] = ` id="name-7" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -612,6 +629,7 @@ exports[`components/widgets/users/Avatars should fetch missing users 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -717,9 +735,11 @@ exports[`components/widgets/users/Avatars should fetch missing users 1`] = ` id="names-overflow" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -746,6 +766,7 @@ exports[`components/widgets/users/Avatars should fetch missing users 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -860,9 +881,11 @@ exports[`components/widgets/users/Avatars should properly count overflow 1`] = ` hide={[Function]} intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -889,6 +912,7 @@ exports[`components/widgets/users/Avatars should properly count overflow 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -944,9 +968,11 @@ exports[`components/widgets/users/Avatars should properly count overflow 1`] = ` id="name-1" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -973,6 +999,7 @@ exports[`components/widgets/users/Avatars should properly count overflow 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1080,9 +1107,11 @@ exports[`components/widgets/users/Avatars should properly count overflow 1`] = ` hide={[Function]} intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1109,6 +1138,7 @@ exports[`components/widgets/users/Avatars should properly count overflow 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1164,9 +1194,11 @@ exports[`components/widgets/users/Avatars should properly count overflow 1`] = ` id="name-2" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1193,6 +1225,7 @@ exports[`components/widgets/users/Avatars should properly count overflow 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1300,9 +1333,11 @@ exports[`components/widgets/users/Avatars should properly count overflow 1`] = ` hide={[Function]} intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1329,6 +1364,7 @@ exports[`components/widgets/users/Avatars should properly count overflow 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1384,9 +1420,11 @@ exports[`components/widgets/users/Avatars should properly count overflow 1`] = ` id="name-3" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1413,6 +1451,7 @@ exports[`components/widgets/users/Avatars should properly count overflow 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1518,9 +1557,11 @@ exports[`components/widgets/users/Avatars should properly count overflow 1`] = ` id="names-overflow" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1547,6 +1588,7 @@ exports[`components/widgets/users/Avatars should properly count overflow 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1659,9 +1701,11 @@ exports[`components/widgets/users/Avatars should support userIds 1`] = ` hide={[Function]} intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1688,6 +1732,7 @@ exports[`components/widgets/users/Avatars should support userIds 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1743,9 +1788,11 @@ exports[`components/widgets/users/Avatars should support userIds 1`] = ` id="name-1" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1772,6 +1819,7 @@ exports[`components/widgets/users/Avatars should support userIds 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1879,9 +1927,11 @@ exports[`components/widgets/users/Avatars should support userIds 1`] = ` hide={[Function]} intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1908,6 +1958,7 @@ exports[`components/widgets/users/Avatars should support userIds 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1963,9 +2014,11 @@ exports[`components/widgets/users/Avatars should support userIds 1`] = ` id="name-2" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1992,6 +2045,7 @@ exports[`components/widgets/users/Avatars should support userIds 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -2099,9 +2153,11 @@ exports[`components/widgets/users/Avatars should support userIds 1`] = ` hide={[Function]} intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -2128,6 +2184,7 @@ exports[`components/widgets/users/Avatars should support userIds 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -2183,9 +2240,11 @@ exports[`components/widgets/users/Avatars should support userIds 1`] = ` id="name-3" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -2212,6 +2271,7 @@ exports[`components/widgets/users/Avatars should support userIds 1`] = ` "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, diff --git a/webapp/channels/src/plugins/channel_header_plug/__snapshots__/channel_header_plug.test.tsx.snap b/webapp/channels/src/plugins/channel_header_plug/__snapshots__/channel_header_plug.test.tsx.snap index af45331634..1f86fdb0ad 100644 --- a/webapp/channels/src/plugins/channel_header_plug/__snapshots__/channel_header_plug.test.tsx.snap +++ b/webapp/channels/src/plugins/channel_header_plug/__snapshots__/channel_header_plug.test.tsx.snap @@ -59,9 +59,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot when the App Bar is vis } intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -88,6 +90,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot when the App Bar is vis "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", } @@ -114,9 +117,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with no extended compon components={Array []} intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -143,6 +148,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with no extended compon "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", } @@ -182,9 +188,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with one extended compo } intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -211,6 +219,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with one extended compo "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", } @@ -264,9 +273,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with one extended compo id="pluginTooltip" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -293,6 +304,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with one extended compo "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -501,9 +513,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo } intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -530,6 +544,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", } @@ -583,9 +598,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo id="pluginTooltip" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -612,6 +629,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -693,9 +711,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo id="pluginTooltip" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -722,6 +742,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -803,9 +824,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo id="pluginTooltip" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -832,6 +855,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -913,9 +937,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo id="pluginTooltip" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -942,6 +968,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1023,9 +1050,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo id="pluginTooltip" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1052,6 +1081,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1133,9 +1163,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo id="pluginTooltip" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1162,6 +1194,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1243,9 +1276,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo id="pluginTooltip" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1272,6 +1307,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1353,9 +1389,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo id="pluginTooltip" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1382,6 +1420,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1463,9 +1502,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo id="pluginTooltip" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1492,6 +1533,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1573,9 +1615,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo id="pluginTooltip" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1602,6 +1646,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1683,9 +1728,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo id="pluginTooltip" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1712,6 +1759,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1793,9 +1841,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo id="pluginTooltip" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1822,6 +1872,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -1903,9 +1954,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo id="pluginTooltip" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -1932,6 +1985,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -2013,9 +2067,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo id="pluginTooltip" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -2042,6 +2098,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, @@ -2123,9 +2180,11 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo id="pluginTooltip" intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -2152,6 +2211,7 @@ exports[`plugins/ChannelHeaderPlug should match snapshot with six extended compo "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", "wrapRichTextChunksInFragment": undefined, diff --git a/webapp/channels/src/plugins/mobile_channel_header_plug/__snapshots__/mobile_channel_header_plug.test.tsx.snap b/webapp/channels/src/plugins/mobile_channel_header_plug/__snapshots__/mobile_channel_header_plug.test.tsx.snap index cbf9f0b2c0..81c46341e7 100644 --- a/webapp/channels/src/plugins/mobile_channel_header_plug/__snapshots__/mobile_channel_header_plug.test.tsx.snap +++ b/webapp/channels/src/plugins/mobile_channel_header_plug/__snapshots__/mobile_channel_header_plug.test.tsx.snap @@ -16,9 +16,11 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with no binding, components={Array []} intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -45,6 +47,7 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with no binding, "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", } @@ -70,9 +73,11 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with no bindings components={Array []} intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -99,6 +104,7 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with no bindings "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", } @@ -124,9 +130,11 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with no extended components={Array []} intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -153,6 +161,7 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with no extended "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", } @@ -178,9 +187,11 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with no extended components={Array []} intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -207,6 +218,7 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with no extended "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", } @@ -306,9 +318,11 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with one binding, components={Array []} intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -335,6 +349,7 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with one binding, "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", } @@ -454,9 +469,11 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with one extended } intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -483,6 +500,7 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with one extended "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", } @@ -547,9 +565,11 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with one extended } intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -576,6 +596,7 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with one extended "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", } @@ -642,9 +663,11 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with one extended } intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -671,6 +694,7 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with one extended "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", } @@ -723,9 +747,11 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with two bindings components={Array []} intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -752,6 +778,7 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with two bindings "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", } @@ -876,9 +903,11 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with two extended } intl={ Object { + "$t": [Function], "defaultFormats": Object {}, "defaultLocale": "en", "defaultRichTextElements": undefined, + "fallbackOnEmptyString": true, "formatDate": [Function], "formatDateTimeRange": [Function], "formatDateToParts": [Function], @@ -905,6 +934,7 @@ exports[`plugins/MobileChannelHeaderPlug should match snapshot with two extended "locale": "en", "messages": Object {}, "onError": [Function], + "onWarn": [Function], "textComponent": "span", "timeZone": "Etc/UTC", } diff --git a/webapp/package-lock.json b/webapp/package-lock.json index b666571cc3..446d433da2 100644 --- a/webapp/package-lock.json +++ b/webapp/package-lock.json @@ -15,12 +15,16 @@ "playbooks", "boards" ], + "dependencies": { + "react-intl": "6.3.2" + }, "devDependencies": { "blessed": "0.1.81", "chalk": "4.1.2", "concurrently": "7.6.0", "cross-env": "7.0.3", "eslint": "8.37.0", + "eslint-plugin-formatjs": "4.9.1", "strip-ansi": "6.0.1" }, "engines": { @@ -62,7 +66,7 @@ "react-dom": "17.0.2", "react-hot-keys": "^2.7.1", "react-hotkeys-hook": "^3.4.4", - "react-intl": "^5.20.0", + "react-intl": "*", "react-redux": "^7.2.1", "react-router-dom": "^5.2.0", "react-select": "5.5.9", @@ -110,7 +114,6 @@ "css-loader": "6.7.1", "eslint-import-resolver-webpack": "0.13.2", "eslint-plugin-babel": "^5.3.1", - "eslint-plugin-formatjs": "4.9.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.25.4", "eslint-plugin-import-newlines": "1.3.1", @@ -1561,138 +1564,6 @@ "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "boards/node_modules/eslint-plugin-formatjs": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.9.0.tgz", - "integrity": "sha512-U3u8TI/Mogo3sunTHDh24mc3p1zWAz/VaYjSkGhuYcLmqfkqEr3BmGUNQ8NTDvZviYHNTkhjHWuXQnUkh81grQ==", - "dev": true, - "dependencies": { - "@formatjs/icu-messageformat-parser": "2.3.0", - "@formatjs/ts-transformer": "3.12.0", - "@types/eslint": "7 || 8", - "@types/picomatch": "^2.3.0", - "@typescript-eslint/typescript-estree": "5.45.0", - "emoji-regex": "^10.2.1", - "magic-string": "^0.29.0", - "picomatch": "^2.3.1", - "tslib": "2.4.0", - "typescript": "^4.7", - "unicode-emoji-utils": "^1.1.1" - }, - "peerDependencies": { - "eslint": "7 || 8" - } - }, - "boards/node_modules/eslint-plugin-formatjs/node_modules/@formatjs/ecma402-abstract": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz", - "integrity": "sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==", - "dev": true, - "dependencies": { - "@formatjs/intl-localematcher": "0.2.32", - "tslib": "^2.4.0" - } - }, - "boards/node_modules/eslint-plugin-formatjs/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.3.0.tgz", - "integrity": "sha512-xqtlqYAbfJDF4b6e4O828LBNOWXrFcuYadqAbYORlDRwhyJ2bH+xpUBPldZbzRGUN2mxlZ4Ykhm7jvERtmI8NQ==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.14.3", - "@formatjs/icu-skeleton-parser": "1.3.18", - "tslib": "^2.4.0" - } - }, - "boards/node_modules/eslint-plugin-formatjs/node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.3.18", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz", - "integrity": "sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.14.3", - "tslib": "^2.4.0" - } - }, - "boards/node_modules/eslint-plugin-formatjs/node_modules/@formatjs/intl-localematcher": { - "version": "0.2.32", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz", - "integrity": "sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==", - "dev": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "boards/node_modules/eslint-plugin-formatjs/node_modules/@typescript-eslint/types": { - "version": "5.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.45.0.tgz", - "integrity": "sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "boards/node_modules/eslint-plugin-formatjs/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.45.0.tgz", - "integrity": "sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.45.0", - "@typescript-eslint/visitor-keys": "5.45.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "boards/node_modules/eslint-plugin-formatjs/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.45.0.tgz", - "integrity": "sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.45.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "boards/node_modules/eslint-plugin-formatjs/node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, "boards/node_modules/eslint-plugin-import": { "version": "2.25.4", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz", @@ -2867,18 +2738,6 @@ "integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==", "dev": true }, - "boards/node_modules/magic-string": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz", - "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, "boards/node_modules/marked": { "version": "4.0.17", "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.17.tgz", @@ -3288,12 +3147,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "boards/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true - }, "boards/node_modules/typescript": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz", @@ -3616,7 +3469,7 @@ "react-day-picker": "8.3.6", "react-dom": "17.0.2", "react-hot-loader": "4.13.0", - "react-intl": "5.20.10", + "react-intl": "*", "react-is": "17.0.2", "react-overlays": "0.9.3", "react-popper": "2.3.0", @@ -3708,7 +3561,6 @@ "enzyme-adapter-react-17-updated": "1.0.2", "enzyme-to-json": "3.6.2", "eslint-import-resolver-webpack": "0.13.2", - "eslint-plugin-formatjs": "4.9.1", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.27.5", "eslint-plugin-mattermost": "github:mattermost/eslint-plugin-mattermost#5b0c972eacf19286e4c66221b39113bf8728a99e", @@ -3780,69 +3632,6 @@ "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "channels/node_modules/@formatjs/ecma402-abstract": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz", - "integrity": "sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==", - "dev": true, - "dependencies": { - "@formatjs/intl-localematcher": "0.2.32", - "tslib": "^2.4.0" - } - }, - "channels/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.3.0.tgz", - "integrity": "sha512-xqtlqYAbfJDF4b6e4O828LBNOWXrFcuYadqAbYORlDRwhyJ2bH+xpUBPldZbzRGUN2mxlZ4Ykhm7jvERtmI8NQ==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.14.3", - "@formatjs/icu-skeleton-parser": "1.3.18", - "tslib": "^2.4.0" - } - }, - "channels/node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.3.18", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz", - "integrity": "sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.14.3", - "tslib": "^2.4.0" - } - }, - "channels/node_modules/@formatjs/intl-localematcher": { - "version": "0.2.32", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz", - "integrity": "sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==", - "dev": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "channels/node_modules/@formatjs/ts-transformer": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.12.0.tgz", - "integrity": "sha512-/jEpXcqA6y/vdijgkxSoKGfkGR5VcClJeI8hnpJ2PBCHfrc4ywFMyoZqRAakKW3IJVttaDo7mGvBAIDxV1F4Qg==", - "dev": true, - "dependencies": { - "@formatjs/icu-messageformat-parser": "2.3.0", - "@types/json-stable-stringify": "^1.0.32", - "@types/node": "14 || 16 || 17", - "chalk": "^4.0.0", - "json-stable-stringify": "^1.0.1", - "tslib": "^2.4.0", - "typescript": "^4.7" - }, - "peerDependencies": { - "ts-jest": ">=27" - }, - "peerDependenciesMeta": { - "ts-jest": { - "optional": true - } - } - }, "channels/node_modules/@testing-library/user-event": { "version": "12.1.4", "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-12.1.4.tgz", @@ -4097,85 +3886,6 @@ "ms": "^2.1.1" } }, - "channels/node_modules/eslint-plugin-formatjs": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.9.1.tgz", - "integrity": "sha512-e6A7v84y6/RgXRYWqIQHJSHKutXGsQVdkYkzL7pgw5cJGEao0YVFqrbYu8ckbQsxQWfq8Dai4w0A/531F0mm2A==", - "dev": true, - "dependencies": { - "@formatjs/icu-messageformat-parser": "2.3.0", - "@formatjs/ts-transformer": "3.12.0", - "@types/eslint": "7 || 8", - "@types/picomatch": "^2.3.0", - "@typescript-eslint/typescript-estree": "5.45.0", - "emoji-regex": "^10.2.1", - "magic-string": "^0.29.0", - "picomatch": "^2.3.1", - "tslib": "2.4.0", - "typescript": "^4.7", - "unicode-emoji-utils": "^1.1.1" - }, - "peerDependencies": { - "eslint": "7 || 8" - } - }, - "channels/node_modules/eslint-plugin-formatjs/node_modules/@typescript-eslint/types": { - "version": "5.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.45.0.tgz", - "integrity": "sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "channels/node_modules/eslint-plugin-formatjs/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.45.0.tgz", - "integrity": "sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.45.0", - "@typescript-eslint/visitor-keys": "5.45.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "channels/node_modules/eslint-plugin-formatjs/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.45.0.tgz", - "integrity": "sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.45.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, "channels/node_modules/eslint-plugin-import": { "version": "2.27.5", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", @@ -4382,18 +4092,6 @@ } } }, - "channels/node_modules/magic-string": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz", - "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, "channels/node_modules/natural-compare-lite": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", @@ -4452,12 +4150,6 @@ "react-dom": ">=15.0.0" } }, - "channels/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true - }, "node_modules/@adobe/css-tools": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz", @@ -7343,57 +7035,56 @@ } }, "node_modules/@formatjs/ecma402-abstract": { - "version": "1.9.8", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.9.8.tgz", - "integrity": "sha512-2U4n11bLmTij/k4ePCEFKJILPYwdMcJTdnKVBi+JMWBgu5O1N+XhCazlE6QXqVO1Agh2Doh0b/9Jf1mSmSVfhA==", + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz", + "integrity": "sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==", "dependencies": { - "@formatjs/intl-localematcher": "0.2.20", - "tslib": "^2.1.0" + "@formatjs/intl-localematcher": "0.2.32", + "tslib": "^2.4.0" } }, "node_modules/@formatjs/fast-memoize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.0.tgz", - "integrity": "sha512-fObitP9Tlc31SKrPHgkPgQpGo4+4yXfQQITTCNH8AZdEqB7Mq4nPrjpUL/tNGN3lEeJcFxDbi0haX8HM7QvQ8w==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.0.1.tgz", + "integrity": "sha512-M2GgV+qJn5WJQAYewz7q2Cdl6fobQa69S1AzSM2y0P68ZDbK5cWrJIcPCO395Of1ksftGZoOt4LYCO/j9BKBSA==", "dependencies": { - "tslib": "^2.1.0" + "tslib": "^2.4.0" } }, "node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.0.11.tgz", - "integrity": "sha512-5mWb8U8aulYGwnDZWrr+vdgn5PilvtrqQYQ1pvpgzQes/osi85TwmL2GqTGLlKIvBKD2XNA61kAqXYY95w4LWg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.3.0.tgz", + "integrity": "sha512-xqtlqYAbfJDF4b6e4O828LBNOWXrFcuYadqAbYORlDRwhyJ2bH+xpUBPldZbzRGUN2mxlZ4Ykhm7jvERtmI8NQ==", "dependencies": { - "@formatjs/ecma402-abstract": "1.9.8", - "@formatjs/icu-skeleton-parser": "1.2.12", - "tslib": "^2.1.0" + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/icu-skeleton-parser": "1.3.18", + "tslib": "^2.4.0" } }, "node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.2.12.tgz", - "integrity": "sha512-DTFxWmEA02ZNW6fsYjGYSADvtrqqjCYF7DSgCmMfaaE0gLP4pCdAgOPE+lkXXU+jP8iCw/YhMT2Seyk/C5lBWg==", + "version": "1.3.18", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz", + "integrity": "sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==", "dependencies": { - "@formatjs/ecma402-abstract": "1.9.8", - "tslib": "^2.1.0" + "@formatjs/ecma402-abstract": "1.14.3", + "tslib": "^2.4.0" } }, "node_modules/@formatjs/intl": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-1.14.1.tgz", - "integrity": "sha512-mtL8oBgFwTu0GHFnxaF93fk/zNzNkPzl+27Fwg5AZ88pWHWb7037dpODzoCBnaIVk4FBO5emUn/6jI9Byj8hOw==", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.6.9.tgz", + "integrity": "sha512-EtcMZ9O24YSASu/jGOaTQtArx7XROjlKiO4KmkxJ/3EyAQLCr5hrS+KKvNud0a7GIwBucOb3IFrZ7WiSm2A/Cw==", "dependencies": { - "@formatjs/ecma402-abstract": "1.9.8", - "@formatjs/fast-memoize": "1.2.0", - "@formatjs/icu-messageformat-parser": "2.0.11", - "@formatjs/intl-displaynames": "5.2.3", - "@formatjs/intl-listformat": "6.3.3", - "intl-messageformat": "9.9.1", - "tslib": "^2.1.0" + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/fast-memoize": "2.0.1", + "@formatjs/icu-messageformat-parser": "2.3.0", + "@formatjs/intl-displaynames": "6.2.6", + "@formatjs/intl-listformat": "7.1.9", + "intl-messageformat": "10.3.3", + "tslib": "^2.4.0" }, "peerDependencies": { - "@types/node": "14 || 16", - "typescript": "^4.2" + "typescript": "^4.7" }, "peerDependenciesMeta": { "typescript": { @@ -7402,31 +7093,31 @@ } }, "node_modules/@formatjs/intl-displaynames": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-5.2.3.tgz", - "integrity": "sha512-5BmhSurLbfgdeo0OBcNPPkIS8ikMMYaHe2NclxEQZqcMvrnQzNMNnUE2dDF5vZx+mkvKq77aQYzpc8RfqVsRCQ==", + "version": "6.2.6", + "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.2.6.tgz", + "integrity": "sha512-scf5AQTk9EjpvPhboo5sizVOvidTdMOnajv9z+0cejvl7JNl9bl/aMrNBgC72UH+bP3l45usPUKAGskV6sNIrA==", "dependencies": { - "@formatjs/ecma402-abstract": "1.9.8", - "@formatjs/intl-localematcher": "0.2.20", - "tslib": "^2.1.0" + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/intl-localematcher": "0.2.32", + "tslib": "^2.4.0" } }, "node_modules/@formatjs/intl-listformat": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-6.3.3.tgz", - "integrity": "sha512-3nzAKgVS5rePDa5HiH0OwZgAhqxLtzlMc9Pg4QgajRHSP1TqFiMmQnnn52wd3+xVTb7cjZVm3JBnTv51/MhTOg==", + "version": "7.1.9", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.1.9.tgz", + "integrity": "sha512-5YikxwRqRXTVWVujhswDOTCq6gs+m9IcNbNZLa6FLtyBStAjEsuE2vAU+lPsbz9ZTST57D5fodjIh2JXT6sMWQ==", "dependencies": { - "@formatjs/ecma402-abstract": "1.9.8", - "@formatjs/intl-localematcher": "0.2.20", - "tslib": "^2.1.0" + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/intl-localematcher": "0.2.32", + "tslib": "^2.4.0" } }, "node_modules/@formatjs/intl-localematcher": { - "version": "0.2.20", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.20.tgz", - "integrity": "sha512-/Ro85goRZnCojzxOegANFYL0LaDIpdPjAukR7xMTjOtRx+3yyjR0ifGTOW3/Kjhmab3t6GnyHBYWZSudxEOxPA==", + "version": "0.2.32", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz", + "integrity": "sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==", "dependencies": { - "tslib": "^2.1.0" + "tslib": "^2.4.0" } }, "node_modules/@formatjs/ts-transformer": { @@ -12135,6 +11826,75 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, + "node_modules/@typescript-eslint/types": { + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.45.0.tgz", + "integrity": "sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.45.0.tgz", + "integrity": "sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.45.0", + "@typescript-eslint/visitor-keys": "5.45.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.45.0.tgz", + "integrity": "sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.45.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", + "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/@vue/compiler-core": { "version": "3.2.47", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", @@ -17856,6 +17616,69 @@ "eslint": ">=4.0.0" } }, + "node_modules/eslint-plugin-formatjs": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.9.1.tgz", + "integrity": "sha512-e6A7v84y6/RgXRYWqIQHJSHKutXGsQVdkYkzL7pgw5cJGEao0YVFqrbYu8ckbQsxQWfq8Dai4w0A/531F0mm2A==", + "dev": true, + "dependencies": { + "@formatjs/icu-messageformat-parser": "2.3.0", + "@formatjs/ts-transformer": "3.12.0", + "@types/eslint": "7 || 8", + "@types/picomatch": "^2.3.0", + "@typescript-eslint/typescript-estree": "5.45.0", + "emoji-regex": "^10.2.1", + "magic-string": "^0.29.0", + "picomatch": "^2.3.1", + "tslib": "2.4.0", + "typescript": "^4.7", + "unicode-emoji-utils": "^1.1.1" + }, + "peerDependencies": { + "eslint": "7 || 8" + } + }, + "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/ts-transformer": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.12.0.tgz", + "integrity": "sha512-/jEpXcqA6y/vdijgkxSoKGfkGR5VcClJeI8hnpJ2PBCHfrc4ywFMyoZqRAakKW3IJVttaDo7mGvBAIDxV1F4Qg==", + "dev": true, + "dependencies": { + "@formatjs/icu-messageformat-parser": "2.3.0", + "@types/json-stable-stringify": "^1.0.32", + "@types/node": "14 || 16 || 17", + "chalk": "^4.0.0", + "json-stable-stringify": "^1.0.1", + "tslib": "^2.4.0", + "typescript": "^4.7" + }, + "peerDependencies": { + "ts-jest": ">=27" + }, + "peerDependenciesMeta": { + "ts-jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-formatjs/node_modules/magic-string": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz", + "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/eslint-plugin-formatjs/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "dev": true + }, "node_modules/eslint-plugin-header": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz", @@ -21416,13 +21239,14 @@ } }, "node_modules/intl-messageformat": { - "version": "9.9.1", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.9.1.tgz", - "integrity": "sha512-cuzS/XKHn//hvKka77JKU2dseiVY2dofQjIOZv6ZFxFt4Z9sPXnZ7KQ9Ak2r+4XBCjI04MqJ1PhKs/3X22AkfA==", + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.3.tgz", + "integrity": "sha512-un/f07/g2e/3Q8e1ghDKET+el22Bi49M7O/rHxd597R+oLpPOMykSv5s51cABVfu3FZW+fea4hrzf2MHu1W4hw==", "dependencies": { - "@formatjs/fast-memoize": "1.2.0", - "@formatjs/icu-messageformat-parser": "2.0.11", - "tslib": "^2.1.0" + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/fast-memoize": "2.0.1", + "@formatjs/icu-messageformat-parser": "2.3.0", + "tslib": "^2.4.0" } }, "node_modules/into-stream": { @@ -24803,72 +24627,6 @@ "mmjstool": "bin/mmjstool" } }, - "node_modules/mmjstool/node_modules/@typescript-eslint/types": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.44.0.tgz", - "integrity": "sha512-Tp+zDnHmGk4qKR1l+Y1rBvpjpm5tGXX339eAlRBDg+kgZkz9Bw+pqi4dyseOZMsGuSH69fYfPJCBKBrbPCxYFQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/mmjstool/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.44.0.tgz", - "integrity": "sha512-M6Jr+RM7M5zeRj2maSfsZK2660HKAJawv4Ud0xT+yauyvgrsHu276VtXlKDFnEmhG+nVEd0fYZNXGoAgxwDWJw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.44.0", - "@typescript-eslint/visitor-keys": "5.44.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/mmjstool/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.44.0.tgz", - "integrity": "sha512-a48tLG8/4m62gPFbJ27FxwCOqPKxsb8KC3HkmYoq2As/4YyjQl1jDbRr1s63+g4FS/iIehjmN3L5UjmKva1HzQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.44.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/mmjstool/node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, "node_modules/mmjstool/node_modules/yargs": { "version": "17.3.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", @@ -27738,24 +27496,24 @@ } }, "node_modules/react-intl": { - "version": "5.20.10", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-5.20.10.tgz", - "integrity": "sha512-zy0ZQhpjkGsKcK1BFo2HbGM/q8GBVovzoXZGQ76DowR0yr6UzQuPLkrlIrObL2zxIYiDaxaz+hUJaoa2a1xqOQ==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.3.2.tgz", + "integrity": "sha512-NT03zOHRAFGcZdTx4cXcVKZtnWBOM6RfLPK8Q67eA+Ba+pHdYb+cmrahncqAnevZKgO1r/nEauiVFKwQeudLIw==", "dependencies": { - "@formatjs/ecma402-abstract": "1.9.8", - "@formatjs/icu-messageformat-parser": "2.0.11", - "@formatjs/intl": "1.14.1", - "@formatjs/intl-displaynames": "5.2.3", - "@formatjs/intl-listformat": "6.3.3", + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/icu-messageformat-parser": "2.3.0", + "@formatjs/intl": "2.6.9", + "@formatjs/intl-displaynames": "6.2.6", + "@formatjs/intl-listformat": "7.1.9", "@types/hoist-non-react-statics": "^3.3.1", - "@types/react": "17", + "@types/react": "16 || 17 || 18", "hoist-non-react-statics": "^3.3.2", - "intl-messageformat": "9.9.1", - "tslib": "^2.1.0" + "intl-messageformat": "10.3.3", + "tslib": "^2.4.0" }, "peerDependencies": { - "react": "^16.3.0 || 17", - "typescript": "^4.2" + "react": "^16.6.0 || 17 || 18", + "typescript": "^4.7" }, "peerDependenciesMeta": { "typescript": { @@ -33609,7 +33367,7 @@ "react": "^17.0.2", "react-bootstrap": "github:mattermost/react-bootstrap#d821e2b1db1059bd36112d7587fd1b0912b27626", "react-dom": "^17.0.2", - "react-intl": "^5.20.0", + "react-intl": "^6.3.2", "shallow-equals": "^1.0.0", "styled-components": "^5.3.5", "tippy.js": "^6.3.7" @@ -34027,7 +33785,7 @@ "react-dom": "^17.0.2", "react-infinite-scroll-component": "^6.1.0", "react-infinite-scroller": "1.2.6", - "react-intl": "5.24.1", + "react-intl": "*", "react-redux": "7.2.6", "react-router-dom": "5.3.4", "react-router-hash-link": "2.4.3", @@ -34084,7 +33842,6 @@ "classnames": "2.3.1", "css-loader": "6.5.1", "eslint-import-resolver-webpack": "0.13.2", - "eslint-plugin-formatjs": "4.0.2", "eslint-plugin-import": "2.25.4", "eslint-plugin-import-newlines": "1.3.0", "eslint-plugin-no-relative-import-paths": "1.5.0", @@ -34428,189 +34185,6 @@ "react-dom": ">=16.8.0" } }, - "playbooks/node_modules/@formatjs/ecma402-abstract": { - "version": "1.11.8", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.8.tgz", - "integrity": "sha512-fgLqyWlwmTEuqV/TSLEL/t9JOmHNLFvCdgzXB0jc2w+WOItPCOJ1T0eyN6fQBQKRPfSqqNlu+kWj7ijcOVTVVQ==", - "dev": true, - "dependencies": { - "@formatjs/intl-localematcher": "0.2.28", - "tslib": "2.4.0" - } - }, - "playbooks/node_modules/@formatjs/fast-memoize": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.1.tgz", - "integrity": "sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "playbooks/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.4.tgz", - "integrity": "sha512-3PqMvKWV1oyok0BuiXUAHIaotdhdTJw6OICqCZbfUgKT+ZRwRWO4IlCgvXJeCITaKS5p+PY0XXKjf/vUyIpWjQ==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.11.8", - "@formatjs/icu-skeleton-parser": "1.3.10", - "tslib": "2.4.0" - } - }, - "playbooks/node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.3.10", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.10.tgz", - "integrity": "sha512-kXJmtLDqFF5aLTf8IxdJXnhrIX1Qb4Qp3a9jqRecGDYfzOa9hMhi9U0nKyhrJJ4cXxBzptcgb+LWkyeHL6nlBQ==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.11.8", - "tslib": "2.4.0" - } - }, - "playbooks/node_modules/@formatjs/intl": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-1.18.1.tgz", - "integrity": "sha512-xmkefWqqiCWNUbGvMwykNG+kRs2o9DsEBTulimRKTUtdA9+OfIWDtg6XFZop5aWsMIpNQqnL2uW3IzWFidWgrQ==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.11.1", - "@formatjs/fast-memoize": "1.2.1", - "@formatjs/icu-messageformat-parser": "2.0.16", - "@formatjs/intl-displaynames": "5.3.1", - "@formatjs/intl-listformat": "6.4.1", - "intl-messageformat": "9.11.1", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "typescript": "^4.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "playbooks/node_modules/@formatjs/intl-displaynames": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-5.3.1.tgz", - "integrity": "sha512-VJ9Aol+mxxYVFVuix06fEbz+SR3uneZltrjGoG16hh83rF5Pjgb5BN6yAQXSvZwUvr+npk62uqKrjajOga4M6g==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.11.1", - "@formatjs/intl-localematcher": "0.2.22", - "tslib": "^2.1.0" - } - }, - "playbooks/node_modules/@formatjs/intl-displaynames/node_modules/@formatjs/ecma402-abstract": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.1.tgz", - "integrity": "sha512-tgtNODZUGuUI6PAcnvaLZpGrZLVkXnnAvgzOiueYMzFdOdcOw4iH1WKhCe3+r6VR8rHKToJ2HksUGNCB+zt/bg==", - "dependencies": { - "@formatjs/intl-localematcher": "0.2.22", - "tslib": "^2.1.0" - } - }, - "playbooks/node_modules/@formatjs/intl-displaynames/node_modules/@formatjs/intl-localematcher": { - "version": "0.2.22", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.22.tgz", - "integrity": "sha512-z+TvbHW8Q/g2l7/PnfUl0mV9gWxV4d0HT6GQyzkO5QI6QjCvCZGiztnmLX7zoyS16uSMvZ2PoMDfSK9xvZkRRA==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "playbooks/node_modules/@formatjs/intl-listformat": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-6.4.1.tgz", - "integrity": "sha512-vQeTRBwRoTDcXAkJ3WGk+ReA0sKq8ldYFwKvf/J3PCd98BlZwuxPaXhTsl1iqKEh0mTdHl8zZ9iohIJTi/u1cg==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.11.1", - "@formatjs/intl-localematcher": "0.2.22", - "tslib": "^2.1.0" - } - }, - "playbooks/node_modules/@formatjs/intl-listformat/node_modules/@formatjs/ecma402-abstract": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.1.tgz", - "integrity": "sha512-tgtNODZUGuUI6PAcnvaLZpGrZLVkXnnAvgzOiueYMzFdOdcOw4iH1WKhCe3+r6VR8rHKToJ2HksUGNCB+zt/bg==", - "dependencies": { - "@formatjs/intl-localematcher": "0.2.22", - "tslib": "^2.1.0" - } - }, - "playbooks/node_modules/@formatjs/intl-listformat/node_modules/@formatjs/intl-localematcher": { - "version": "0.2.22", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.22.tgz", - "integrity": "sha512-z+TvbHW8Q/g2l7/PnfUl0mV9gWxV4d0HT6GQyzkO5QI6QjCvCZGiztnmLX7zoyS16uSMvZ2PoMDfSK9xvZkRRA==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "playbooks/node_modules/@formatjs/intl-localematcher": { - "version": "0.2.28", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.28.tgz", - "integrity": "sha512-FLsc6Gifs1np/8HnCn/7Q+lHMmenrD5fuDhRT82yj0gi9O19kfaFwjQUw1gZsyILuRyT93GuzdifHj7TKRhBcw==", - "dev": true, - "dependencies": { - "tslib": "2.4.0" - } - }, - "playbooks/node_modules/@formatjs/intl/node_modules/@formatjs/ecma402-abstract": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.1.tgz", - "integrity": "sha512-tgtNODZUGuUI6PAcnvaLZpGrZLVkXnnAvgzOiueYMzFdOdcOw4iH1WKhCe3+r6VR8rHKToJ2HksUGNCB+zt/bg==", - "dependencies": { - "@formatjs/intl-localematcher": "0.2.22", - "tslib": "^2.1.0" - } - }, - "playbooks/node_modules/@formatjs/intl/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.0.16.tgz", - "integrity": "sha512-sYg0ImXsAqBbjU/LotoCD9yKC5nUpWVy3s4DwWerHXD4sm62FcjMF8mekwudRk3eZLHqSO+M21MpFUUjDQ+Q5Q==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.11.1", - "@formatjs/icu-skeleton-parser": "1.3.3", - "tslib": "^2.1.0" - } - }, - "playbooks/node_modules/@formatjs/intl/node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.3.tgz", - "integrity": "sha512-ifWnzjmHPHUF89UpCvClTP66sXYFc8W/qg7Qt+qtTUB9BqRWlFeUsevAzaMYDJsRiOy4S2WJFrJoZgRKUFfPGQ==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.11.1", - "tslib": "^2.1.0" - } - }, - "playbooks/node_modules/@formatjs/intl/node_modules/@formatjs/intl-localematcher": { - "version": "0.2.22", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.22.tgz", - "integrity": "sha512-z+TvbHW8Q/g2l7/PnfUl0mV9gWxV4d0HT6GQyzkO5QI6QjCvCZGiztnmLX7zoyS16uSMvZ2PoMDfSK9xvZkRRA==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "playbooks/node_modules/@formatjs/ts-transformer": { - "version": "3.9.9", - "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.9.9.tgz", - "integrity": "sha512-V5BDpn5XW1wWBkpDn5SFHRH4Ndf3oyjxmuqWMxe2EwOKkV4XJvzZI73k3p/Hut3Xg55AxBQQmkFK9hyeBJPyIg==", - "dev": true, - "dependencies": { - "@formatjs/icu-messageformat-parser": "2.1.4", - "@types/json-stable-stringify": "^1.0.32", - "@types/node": "14 || 16 || 17", - "chalk": "^4.0.0", - "json-stable-stringify": "^1.0.1", - "tslib": "2.4.0", - "typescript": "^4.5" - }, - "peerDependencies": { - "ts-jest": "27 || 28" - }, - "peerDependenciesMeta": { - "ts-jest": { - "optional": true - } - } - }, "playbooks/node_modules/@mattermost/compass-icons": { "version": "0.1.32", "resolved": "https://registry.npmjs.org/@mattermost/compass-icons/-/compass-icons-0.1.32.tgz", @@ -35069,26 +34643,6 @@ "node": ">=10.13.0" } }, - "playbooks/node_modules/eslint-plugin-formatjs": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.0.2.tgz", - "integrity": "sha512-6tEtLtH4N39pnYp5MjelxHDdohU6yMp5fmXqQq4Uu8MAbkAWAiufNKXfFdLSjuPa0lY5x/ExXKJHr1NJsZtzVA==", - "dev": true, - "dependencies": { - "@formatjs/icu-messageformat-parser": "2.1.4", - "@formatjs/ts-transformer": "3.9.9", - "@types/eslint": "7 || 8", - "@types/picomatch": "^2.3.0", - "@typescript-eslint/typescript-estree": "^5.9.1", - "emoji-regex": "^10.0.0", - "picomatch": "^2.3.1", - "tslib": "2.4.0", - "typescript": "^4.5" - }, - "peerDependencies": { - "eslint": "7 || 8" - } - }, "playbooks/node_modules/eslint-plugin-import": { "version": "2.25.4", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz", @@ -35268,53 +34822,6 @@ "node": ">= 0.10" } }, - "playbooks/node_modules/intl-messageformat": { - "version": "9.11.1", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.11.1.tgz", - "integrity": "sha512-kT0i8AIa1Aez8jGn1i9Xva/sdbjOPY15abR82qnU4jnESjxtynHLW1CBh9ehs13sPA8cE/4A2d6LEne91oDp4w==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.11.1", - "@formatjs/fast-memoize": "1.2.1", - "@formatjs/icu-messageformat-parser": "2.0.16", - "tslib": "^2.1.0" - } - }, - "playbooks/node_modules/intl-messageformat/node_modules/@formatjs/ecma402-abstract": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.1.tgz", - "integrity": "sha512-tgtNODZUGuUI6PAcnvaLZpGrZLVkXnnAvgzOiueYMzFdOdcOw4iH1WKhCe3+r6VR8rHKToJ2HksUGNCB+zt/bg==", - "dependencies": { - "@formatjs/intl-localematcher": "0.2.22", - "tslib": "^2.1.0" - } - }, - "playbooks/node_modules/intl-messageformat/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.0.16.tgz", - "integrity": "sha512-sYg0ImXsAqBbjU/LotoCD9yKC5nUpWVy3s4DwWerHXD4sm62FcjMF8mekwudRk3eZLHqSO+M21MpFUUjDQ+Q5Q==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.11.1", - "@formatjs/icu-skeleton-parser": "1.3.3", - "tslib": "^2.1.0" - } - }, - "playbooks/node_modules/intl-messageformat/node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.3.tgz", - "integrity": "sha512-ifWnzjmHPHUF89UpCvClTP66sXYFc8W/qg7Qt+qtTUB9BqRWlFeUsevAzaMYDJsRiOy4S2WJFrJoZgRKUFfPGQ==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.11.1", - "tslib": "^2.1.0" - } - }, - "playbooks/node_modules/intl-messageformat/node_modules/@formatjs/intl-localematcher": { - "version": "0.2.22", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.22.tgz", - "integrity": "sha512-z+TvbHW8Q/g2l7/PnfUl0mV9gWxV4d0HT6GQyzkO5QI6QjCvCZGiztnmLX7zoyS16uSMvZ2PoMDfSK9xvZkRRA==", - "dependencies": { - "tslib": "^2.1.0" - } - }, "playbooks/node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -35506,68 +35013,6 @@ "react-dom": ">=16.8.0" } }, - "playbooks/node_modules/react-intl": { - "version": "5.24.1", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-5.24.1.tgz", - "integrity": "sha512-GP9ZP4UlWPGjleY2Yu0wJggz4/14VsjGaTduq+jGGsLBsuAVq6Gxa+K58mbn5rRU9E10sHxH75Q73oJMqiGBiw==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.11.1", - "@formatjs/icu-messageformat-parser": "2.0.16", - "@formatjs/intl": "1.18.1", - "@formatjs/intl-displaynames": "5.3.1", - "@formatjs/intl-listformat": "6.4.1", - "@types/hoist-non-react-statics": "^3.3.1", - "@types/react": "16 || 17", - "hoist-non-react-statics": "^3.3.2", - "intl-messageformat": "9.11.1", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "react": "^16.3.0 || 17", - "typescript": "^4.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "playbooks/node_modules/react-intl/node_modules/@formatjs/ecma402-abstract": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.1.tgz", - "integrity": "sha512-tgtNODZUGuUI6PAcnvaLZpGrZLVkXnnAvgzOiueYMzFdOdcOw4iH1WKhCe3+r6VR8rHKToJ2HksUGNCB+zt/bg==", - "dependencies": { - "@formatjs/intl-localematcher": "0.2.22", - "tslib": "^2.1.0" - } - }, - "playbooks/node_modules/react-intl/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.0.16.tgz", - "integrity": "sha512-sYg0ImXsAqBbjU/LotoCD9yKC5nUpWVy3s4DwWerHXD4sm62FcjMF8mekwudRk3eZLHqSO+M21MpFUUjDQ+Q5Q==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.11.1", - "@formatjs/icu-skeleton-parser": "1.3.3", - "tslib": "^2.1.0" - } - }, - "playbooks/node_modules/react-intl/node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.3.tgz", - "integrity": "sha512-ifWnzjmHPHUF89UpCvClTP66sXYFc8W/qg7Qt+qtTUB9BqRWlFeUsevAzaMYDJsRiOy4S2WJFrJoZgRKUFfPGQ==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.11.1", - "tslib": "^2.1.0" - } - }, - "playbooks/node_modules/react-intl/node_modules/@formatjs/intl-localematcher": { - "version": "0.2.22", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.22.tgz", - "integrity": "sha512-z+TvbHW8Q/g2l7/PnfUl0mV9gWxV4d0HT6GQyzkO5QI6QjCvCZGiztnmLX7zoyS16uSMvZ2PoMDfSK9xvZkRRA==", - "dependencies": { - "tslib": "^2.1.0" - } - }, "playbooks/node_modules/react-overlays": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/react-overlays/-/react-overlays-5.2.1.tgz", @@ -35800,11 +35245,6 @@ "node": ">=6" } }, - "playbooks/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, "playbooks/node_modules/uncontrollable": { "version": "7.2.1", "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz", @@ -38204,81 +37644,81 @@ } }, "@formatjs/ecma402-abstract": { - "version": "1.9.8", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.9.8.tgz", - "integrity": "sha512-2U4n11bLmTij/k4ePCEFKJILPYwdMcJTdnKVBi+JMWBgu5O1N+XhCazlE6QXqVO1Agh2Doh0b/9Jf1mSmSVfhA==", + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz", + "integrity": "sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==", "requires": { - "@formatjs/intl-localematcher": "0.2.20", - "tslib": "^2.1.0" + "@formatjs/intl-localematcher": "0.2.32", + "tslib": "^2.4.0" } }, "@formatjs/fast-memoize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.0.tgz", - "integrity": "sha512-fObitP9Tlc31SKrPHgkPgQpGo4+4yXfQQITTCNH8AZdEqB7Mq4nPrjpUL/tNGN3lEeJcFxDbi0haX8HM7QvQ8w==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.0.1.tgz", + "integrity": "sha512-M2GgV+qJn5WJQAYewz7q2Cdl6fobQa69S1AzSM2y0P68ZDbK5cWrJIcPCO395Of1ksftGZoOt4LYCO/j9BKBSA==", "requires": { - "tslib": "^2.1.0" + "tslib": "^2.4.0" } }, "@formatjs/icu-messageformat-parser": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.0.11.tgz", - "integrity": "sha512-5mWb8U8aulYGwnDZWrr+vdgn5PilvtrqQYQ1pvpgzQes/osi85TwmL2GqTGLlKIvBKD2XNA61kAqXYY95w4LWg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.3.0.tgz", + "integrity": "sha512-xqtlqYAbfJDF4b6e4O828LBNOWXrFcuYadqAbYORlDRwhyJ2bH+xpUBPldZbzRGUN2mxlZ4Ykhm7jvERtmI8NQ==", "requires": { - "@formatjs/ecma402-abstract": "1.9.8", - "@formatjs/icu-skeleton-parser": "1.2.12", - "tslib": "^2.1.0" + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/icu-skeleton-parser": "1.3.18", + "tslib": "^2.4.0" } }, "@formatjs/icu-skeleton-parser": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.2.12.tgz", - "integrity": "sha512-DTFxWmEA02ZNW6fsYjGYSADvtrqqjCYF7DSgCmMfaaE0gLP4pCdAgOPE+lkXXU+jP8iCw/YhMT2Seyk/C5lBWg==", + "version": "1.3.18", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz", + "integrity": "sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==", "requires": { - "@formatjs/ecma402-abstract": "1.9.8", - "tslib": "^2.1.0" + "@formatjs/ecma402-abstract": "1.14.3", + "tslib": "^2.4.0" } }, "@formatjs/intl": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-1.14.1.tgz", - "integrity": "sha512-mtL8oBgFwTu0GHFnxaF93fk/zNzNkPzl+27Fwg5AZ88pWHWb7037dpODzoCBnaIVk4FBO5emUn/6jI9Byj8hOw==", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.6.9.tgz", + "integrity": "sha512-EtcMZ9O24YSASu/jGOaTQtArx7XROjlKiO4KmkxJ/3EyAQLCr5hrS+KKvNud0a7GIwBucOb3IFrZ7WiSm2A/Cw==", "requires": { - "@formatjs/ecma402-abstract": "1.9.8", - "@formatjs/fast-memoize": "1.2.0", - "@formatjs/icu-messageformat-parser": "2.0.11", - "@formatjs/intl-displaynames": "5.2.3", - "@formatjs/intl-listformat": "6.3.3", - "intl-messageformat": "9.9.1", - "tslib": "^2.1.0" + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/fast-memoize": "2.0.1", + "@formatjs/icu-messageformat-parser": "2.3.0", + "@formatjs/intl-displaynames": "6.2.6", + "@formatjs/intl-listformat": "7.1.9", + "intl-messageformat": "10.3.3", + "tslib": "^2.4.0" } }, "@formatjs/intl-displaynames": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-5.2.3.tgz", - "integrity": "sha512-5BmhSurLbfgdeo0OBcNPPkIS8ikMMYaHe2NclxEQZqcMvrnQzNMNnUE2dDF5vZx+mkvKq77aQYzpc8RfqVsRCQ==", + "version": "6.2.6", + "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.2.6.tgz", + "integrity": "sha512-scf5AQTk9EjpvPhboo5sizVOvidTdMOnajv9z+0cejvl7JNl9bl/aMrNBgC72UH+bP3l45usPUKAGskV6sNIrA==", "requires": { - "@formatjs/ecma402-abstract": "1.9.8", - "@formatjs/intl-localematcher": "0.2.20", - "tslib": "^2.1.0" + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/intl-localematcher": "0.2.32", + "tslib": "^2.4.0" } }, "@formatjs/intl-listformat": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-6.3.3.tgz", - "integrity": "sha512-3nzAKgVS5rePDa5HiH0OwZgAhqxLtzlMc9Pg4QgajRHSP1TqFiMmQnnn52wd3+xVTb7cjZVm3JBnTv51/MhTOg==", + "version": "7.1.9", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.1.9.tgz", + "integrity": "sha512-5YikxwRqRXTVWVujhswDOTCq6gs+m9IcNbNZLa6FLtyBStAjEsuE2vAU+lPsbz9ZTST57D5fodjIh2JXT6sMWQ==", "requires": { - "@formatjs/ecma402-abstract": "1.9.8", - "@formatjs/intl-localematcher": "0.2.20", - "tslib": "^2.1.0" + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/intl-localematcher": "0.2.32", + "tslib": "^2.4.0" } }, "@formatjs/intl-localematcher": { - "version": "0.2.20", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.20.tgz", - "integrity": "sha512-/Ro85goRZnCojzxOegANFYL0LaDIpdPjAukR7xMTjOtRx+3yyjR0ifGTOW3/Kjhmab3t6GnyHBYWZSudxEOxPA==", + "version": "0.2.32", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz", + "integrity": "sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==", "requires": { - "tslib": "^2.1.0" + "tslib": "^2.4.0" } }, "@formatjs/ts-transformer": { @@ -42319,6 +41759,45 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, + "@typescript-eslint/types": { + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.45.0.tgz", + "integrity": "sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.45.0.tgz", + "integrity": "sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.45.0", + "@typescript-eslint/visitor-keys": "5.45.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.45.0.tgz", + "integrity": "sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.45.0", + "eslint-visitor-keys": "^3.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", + "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", + "dev": true + } + } + }, "@vue/compiler-core": { "version": "3.2.47", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", @@ -44041,7 +43520,6 @@ "emoji-mart": "^3.0.1", "eslint-import-resolver-webpack": "0.13.2", "eslint-plugin-babel": "^5.3.1", - "eslint-plugin-formatjs": "4.9.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.25.4", "eslint-plugin-import-newlines": "1.3.1", @@ -44084,7 +43562,7 @@ "react-dom": "17.0.2", "react-hot-keys": "^2.7.1", "react-hotkeys-hook": "^3.4.4", - "react-intl": "^5.20.0", + "react-intl": "*", "react-redux": "^7.2.1", "react-router-dom": "^5.2.0", "react-select": "5.5.9", @@ -45186,104 +44664,6 @@ "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true }, - "eslint-plugin-formatjs": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.9.0.tgz", - "integrity": "sha512-U3u8TI/Mogo3sunTHDh24mc3p1zWAz/VaYjSkGhuYcLmqfkqEr3BmGUNQ8NTDvZviYHNTkhjHWuXQnUkh81grQ==", - "dev": true, - "requires": { - "@formatjs/icu-messageformat-parser": "2.3.0", - "@formatjs/ts-transformer": "3.12.0", - "@types/eslint": "7 || 8", - "@types/picomatch": "^2.3.0", - "@typescript-eslint/typescript-estree": "5.45.0", - "emoji-regex": "^10.2.1", - "magic-string": "^0.29.0", - "picomatch": "^2.3.1", - "tslib": "2.4.0", - "typescript": "^4.7", - "unicode-emoji-utils": "^1.1.1" - }, - "dependencies": { - "@formatjs/ecma402-abstract": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz", - "integrity": "sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==", - "dev": true, - "requires": { - "@formatjs/intl-localematcher": "0.2.32", - "tslib": "^2.4.0" - } - }, - "@formatjs/icu-messageformat-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.3.0.tgz", - "integrity": "sha512-xqtlqYAbfJDF4b6e4O828LBNOWXrFcuYadqAbYORlDRwhyJ2bH+xpUBPldZbzRGUN2mxlZ4Ykhm7jvERtmI8NQ==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.14.3", - "@formatjs/icu-skeleton-parser": "1.3.18", - "tslib": "^2.4.0" - } - }, - "@formatjs/icu-skeleton-parser": { - "version": "1.3.18", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz", - "integrity": "sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.14.3", - "tslib": "^2.4.0" - } - }, - "@formatjs/intl-localematcher": { - "version": "0.2.32", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz", - "integrity": "sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==", - "dev": true, - "requires": { - "tslib": "^2.4.0" - } - }, - "@typescript-eslint/types": { - "version": "5.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.45.0.tgz", - "integrity": "sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.45.0.tgz", - "integrity": "sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.45.0", - "@typescript-eslint/visitor-keys": "5.45.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.45.0.tgz", - "integrity": "sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.45.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true - } - } - }, "eslint-plugin-import": { "version": "2.25.4", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz", @@ -46178,15 +45558,6 @@ "integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==", "dev": true }, - "magic-string": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz", - "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==", - "dev": true, - "requires": { - "@jridgewell/sourcemap-codec": "^1.4.13" - } - }, "marked": { "version": "4.0.17", "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.17.tgz", @@ -46439,12 +45810,6 @@ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.0.2.tgz", "integrity": "sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew==" }, - "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true - }, "typescript": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz", @@ -49691,6 +49056,57 @@ "eslint-rule-composer": "^0.3.0" } }, + "eslint-plugin-formatjs": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.9.1.tgz", + "integrity": "sha512-e6A7v84y6/RgXRYWqIQHJSHKutXGsQVdkYkzL7pgw5cJGEao0YVFqrbYu8ckbQsxQWfq8Dai4w0A/531F0mm2A==", + "dev": true, + "requires": { + "@formatjs/icu-messageformat-parser": "2.3.0", + "@formatjs/ts-transformer": "3.12.0", + "@types/eslint": "7 || 8", + "@types/picomatch": "^2.3.0", + "@typescript-eslint/typescript-estree": "5.45.0", + "emoji-regex": "^10.2.1", + "magic-string": "^0.29.0", + "picomatch": "^2.3.1", + "tslib": "2.4.0", + "typescript": "^4.7", + "unicode-emoji-utils": "^1.1.1" + }, + "dependencies": { + "@formatjs/ts-transformer": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.12.0.tgz", + "integrity": "sha512-/jEpXcqA6y/vdijgkxSoKGfkGR5VcClJeI8hnpJ2PBCHfrc4ywFMyoZqRAakKW3IJVttaDo7mGvBAIDxV1F4Qg==", + "dev": true, + "requires": { + "@formatjs/icu-messageformat-parser": "2.3.0", + "@types/json-stable-stringify": "^1.0.32", + "@types/node": "14 || 16 || 17", + "chalk": "^4.0.0", + "json-stable-stringify": "^1.0.1", + "tslib": "^2.4.0", + "typescript": "^4.7" + } + }, + "magic-string": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz", + "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + }, + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "dev": true + } + } + }, "eslint-plugin-header": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz", @@ -52227,13 +51643,14 @@ "dev": true }, "intl-messageformat": { - "version": "9.9.1", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.9.1.tgz", - "integrity": "sha512-cuzS/XKHn//hvKka77JKU2dseiVY2dofQjIOZv6ZFxFt4Z9sPXnZ7KQ9Ak2r+4XBCjI04MqJ1PhKs/3X22AkfA==", + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.3.tgz", + "integrity": "sha512-un/f07/g2e/3Q8e1ghDKET+el22Bi49M7O/rHxd597R+oLpPOMykSv5s51cABVfu3FZW+fea4hrzf2MHu1W4hw==", "requires": { - "@formatjs/fast-memoize": "1.2.0", - "@formatjs/icu-messageformat-parser": "2.0.11", - "tslib": "^2.1.0" + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/fast-memoize": "2.0.1", + "@formatjs/icu-messageformat-parser": "2.3.0", + "tslib": "^2.4.0" } }, "into-stream": { @@ -54480,7 +53897,6 @@ "enzyme-adapter-react-17-updated": "1.0.2", "enzyme-to-json": "3.6.2", "eslint-import-resolver-webpack": "0.13.2", - "eslint-plugin-formatjs": "4.9.1", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.27.5", "eslint-plugin-mattermost": "github:mattermost/eslint-plugin-mattermost#5b0c972eacf19286e4c66221b39113bf8728a99e", @@ -54538,7 +53954,7 @@ "react-day-picker": "8.3.6", "react-dom": "17.0.2", "react-hot-loader": "4.13.0", - "react-intl": "5.20.10", + "react-intl": "*", "react-is": "17.0.2", "react-overlays": "0.9.3", "react-popper": "2.3.0", @@ -54607,61 +54023,6 @@ "integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==", "dev": true }, - "@formatjs/ecma402-abstract": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz", - "integrity": "sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==", - "dev": true, - "requires": { - "@formatjs/intl-localematcher": "0.2.32", - "tslib": "^2.4.0" - } - }, - "@formatjs/icu-messageformat-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.3.0.tgz", - "integrity": "sha512-xqtlqYAbfJDF4b6e4O828LBNOWXrFcuYadqAbYORlDRwhyJ2bH+xpUBPldZbzRGUN2mxlZ4Ykhm7jvERtmI8NQ==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.14.3", - "@formatjs/icu-skeleton-parser": "1.3.18", - "tslib": "^2.4.0" - } - }, - "@formatjs/icu-skeleton-parser": { - "version": "1.3.18", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz", - "integrity": "sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.14.3", - "tslib": "^2.4.0" - } - }, - "@formatjs/intl-localematcher": { - "version": "0.2.32", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz", - "integrity": "sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==", - "dev": true, - "requires": { - "tslib": "^2.4.0" - } - }, - "@formatjs/ts-transformer": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.12.0.tgz", - "integrity": "sha512-/jEpXcqA6y/vdijgkxSoKGfkGR5VcClJeI8hnpJ2PBCHfrc4ywFMyoZqRAakKW3IJVttaDo7mGvBAIDxV1F4Qg==", - "dev": true, - "requires": { - "@formatjs/icu-messageformat-parser": "2.3.0", - "@types/json-stable-stringify": "^1.0.32", - "@types/node": "14 || 16 || 17", - "chalk": "^4.0.0", - "json-stable-stringify": "^1.0.1", - "tslib": "^2.4.0", - "typescript": "^4.7" - } - }, "@testing-library/user-event": { "version": "12.1.4", "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-12.1.4.tgz", @@ -54824,58 +54185,6 @@ } } }, - "eslint-plugin-formatjs": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.9.1.tgz", - "integrity": "sha512-e6A7v84y6/RgXRYWqIQHJSHKutXGsQVdkYkzL7pgw5cJGEao0YVFqrbYu8ckbQsxQWfq8Dai4w0A/531F0mm2A==", - "dev": true, - "requires": { - "@formatjs/icu-messageformat-parser": "2.3.0", - "@formatjs/ts-transformer": "3.12.0", - "@types/eslint": "7 || 8", - "@types/picomatch": "^2.3.0", - "@typescript-eslint/typescript-estree": "5.45.0", - "emoji-regex": "^10.2.1", - "magic-string": "^0.29.0", - "picomatch": "^2.3.1", - "tslib": "2.4.0", - "typescript": "^4.7", - "unicode-emoji-utils": "^1.1.1" - }, - "dependencies": { - "@typescript-eslint/types": { - "version": "5.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.45.0.tgz", - "integrity": "sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.45.0.tgz", - "integrity": "sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.45.0", - "@typescript-eslint/visitor-keys": "5.45.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.45.0.tgz", - "integrity": "sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.45.0", - "eslint-visitor-keys": "^3.3.0" - } - } - } - }, "eslint-plugin-import": { "version": "2.27.5", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", @@ -55019,15 +54328,6 @@ "yargs": "^16.0.3" } }, - "magic-string": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz", - "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==", - "dev": true, - "requires": { - "@jridgewell/sourcemap-codec": "^1.4.13" - } - }, "natural-compare-lite": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", @@ -55076,12 +54376,6 @@ } } } - }, - "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true } } }, @@ -55507,43 +54801,6 @@ "yargs": "^17.3.1" }, "dependencies": { - "@typescript-eslint/types": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.44.0.tgz", - "integrity": "sha512-Tp+zDnHmGk4qKR1l+Y1rBvpjpm5tGXX339eAlRBDg+kgZkz9Bw+pqi4dyseOZMsGuSH69fYfPJCBKBrbPCxYFQ==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.44.0.tgz", - "integrity": "sha512-M6Jr+RM7M5zeRj2maSfsZK2660HKAJawv4Ud0xT+yauyvgrsHu276VtXlKDFnEmhG+nVEd0fYZNXGoAgxwDWJw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.44.0", - "@typescript-eslint/visitor-keys": "5.44.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.44.0.tgz", - "integrity": "sha512-a48tLG8/4m62gPFbJ27FxwCOqPKxsb8KC3HkmYoq2As/4YyjQl1jDbRr1s63+g4FS/iIehjmN3L5UjmKva1HzQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.44.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true - }, "yargs": { "version": "17.3.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", @@ -56715,7 +55972,6 @@ "css-loader": "6.5.1", "debounce": "1.2.1", "eslint-import-resolver-webpack": "0.13.2", - "eslint-plugin-formatjs": "4.0.2", "eslint-plugin-import": "2.25.4", "eslint-plugin-import-newlines": "1.3.0", "eslint-plugin-no-relative-import-paths": "1.5.0", @@ -56741,7 +55997,7 @@ "react-dom": "^17.0.2", "react-infinite-scroll-component": "^6.1.0", "react-infinite-scroller": "1.2.6", - "react-intl": "5.24.1", + "react-intl": "*", "react-redux": "7.2.6", "react-refresh": "0.11.0", "react-router-dom": "5.3.4", @@ -57017,179 +56273,6 @@ "use-isomorphic-layout-effect": "^1.1.1" } }, - "@formatjs/ecma402-abstract": { - "version": "1.11.8", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.8.tgz", - "integrity": "sha512-fgLqyWlwmTEuqV/TSLEL/t9JOmHNLFvCdgzXB0jc2w+WOItPCOJ1T0eyN6fQBQKRPfSqqNlu+kWj7ijcOVTVVQ==", - "dev": true, - "requires": { - "@formatjs/intl-localematcher": "0.2.28", - "tslib": "2.4.0" - } - }, - "@formatjs/fast-memoize": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.1.tgz", - "integrity": "sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==", - "requires": { - "tslib": "^2.1.0" - } - }, - "@formatjs/icu-messageformat-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.4.tgz", - "integrity": "sha512-3PqMvKWV1oyok0BuiXUAHIaotdhdTJw6OICqCZbfUgKT+ZRwRWO4IlCgvXJeCITaKS5p+PY0XXKjf/vUyIpWjQ==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.11.8", - "@formatjs/icu-skeleton-parser": "1.3.10", - "tslib": "2.4.0" - } - }, - "@formatjs/icu-skeleton-parser": { - "version": "1.3.10", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.10.tgz", - "integrity": "sha512-kXJmtLDqFF5aLTf8IxdJXnhrIX1Qb4Qp3a9jqRecGDYfzOa9hMhi9U0nKyhrJJ4cXxBzptcgb+LWkyeHL6nlBQ==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.11.8", - "tslib": "2.4.0" - } - }, - "@formatjs/intl": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-1.18.1.tgz", - "integrity": "sha512-xmkefWqqiCWNUbGvMwykNG+kRs2o9DsEBTulimRKTUtdA9+OfIWDtg6XFZop5aWsMIpNQqnL2uW3IzWFidWgrQ==", - "requires": { - "@formatjs/ecma402-abstract": "1.11.1", - "@formatjs/fast-memoize": "1.2.1", - "@formatjs/icu-messageformat-parser": "2.0.16", - "@formatjs/intl-displaynames": "5.3.1", - "@formatjs/intl-listformat": "6.4.1", - "intl-messageformat": "9.11.1", - "tslib": "^2.1.0" - }, - "dependencies": { - "@formatjs/ecma402-abstract": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.1.tgz", - "integrity": "sha512-tgtNODZUGuUI6PAcnvaLZpGrZLVkXnnAvgzOiueYMzFdOdcOw4iH1WKhCe3+r6VR8rHKToJ2HksUGNCB+zt/bg==", - "requires": { - "@formatjs/intl-localematcher": "0.2.22", - "tslib": "^2.1.0" - } - }, - "@formatjs/icu-messageformat-parser": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.0.16.tgz", - "integrity": "sha512-sYg0ImXsAqBbjU/LotoCD9yKC5nUpWVy3s4DwWerHXD4sm62FcjMF8mekwudRk3eZLHqSO+M21MpFUUjDQ+Q5Q==", - "requires": { - "@formatjs/ecma402-abstract": "1.11.1", - "@formatjs/icu-skeleton-parser": "1.3.3", - "tslib": "^2.1.0" - } - }, - "@formatjs/icu-skeleton-parser": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.3.tgz", - "integrity": "sha512-ifWnzjmHPHUF89UpCvClTP66sXYFc8W/qg7Qt+qtTUB9BqRWlFeUsevAzaMYDJsRiOy4S2WJFrJoZgRKUFfPGQ==", - "requires": { - "@formatjs/ecma402-abstract": "1.11.1", - "tslib": "^2.1.0" - } - }, - "@formatjs/intl-localematcher": { - "version": "0.2.22", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.22.tgz", - "integrity": "sha512-z+TvbHW8Q/g2l7/PnfUl0mV9gWxV4d0HT6GQyzkO5QI6QjCvCZGiztnmLX7zoyS16uSMvZ2PoMDfSK9xvZkRRA==", - "requires": { - "tslib": "^2.1.0" - } - } - } - }, - "@formatjs/intl-displaynames": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-5.3.1.tgz", - "integrity": "sha512-VJ9Aol+mxxYVFVuix06fEbz+SR3uneZltrjGoG16hh83rF5Pjgb5BN6yAQXSvZwUvr+npk62uqKrjajOga4M6g==", - "requires": { - "@formatjs/ecma402-abstract": "1.11.1", - "@formatjs/intl-localematcher": "0.2.22", - "tslib": "^2.1.0" - }, - "dependencies": { - "@formatjs/ecma402-abstract": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.1.tgz", - "integrity": "sha512-tgtNODZUGuUI6PAcnvaLZpGrZLVkXnnAvgzOiueYMzFdOdcOw4iH1WKhCe3+r6VR8rHKToJ2HksUGNCB+zt/bg==", - "requires": { - "@formatjs/intl-localematcher": "0.2.22", - "tslib": "^2.1.0" - } - }, - "@formatjs/intl-localematcher": { - "version": "0.2.22", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.22.tgz", - "integrity": "sha512-z+TvbHW8Q/g2l7/PnfUl0mV9gWxV4d0HT6GQyzkO5QI6QjCvCZGiztnmLX7zoyS16uSMvZ2PoMDfSK9xvZkRRA==", - "requires": { - "tslib": "^2.1.0" - } - } - } - }, - "@formatjs/intl-listformat": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-6.4.1.tgz", - "integrity": "sha512-vQeTRBwRoTDcXAkJ3WGk+ReA0sKq8ldYFwKvf/J3PCd98BlZwuxPaXhTsl1iqKEh0mTdHl8zZ9iohIJTi/u1cg==", - "requires": { - "@formatjs/ecma402-abstract": "1.11.1", - "@formatjs/intl-localematcher": "0.2.22", - "tslib": "^2.1.0" - }, - "dependencies": { - "@formatjs/ecma402-abstract": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.1.tgz", - "integrity": "sha512-tgtNODZUGuUI6PAcnvaLZpGrZLVkXnnAvgzOiueYMzFdOdcOw4iH1WKhCe3+r6VR8rHKToJ2HksUGNCB+zt/bg==", - "requires": { - "@formatjs/intl-localematcher": "0.2.22", - "tslib": "^2.1.0" - } - }, - "@formatjs/intl-localematcher": { - "version": "0.2.22", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.22.tgz", - "integrity": "sha512-z+TvbHW8Q/g2l7/PnfUl0mV9gWxV4d0HT6GQyzkO5QI6QjCvCZGiztnmLX7zoyS16uSMvZ2PoMDfSK9xvZkRRA==", - "requires": { - "tslib": "^2.1.0" - } - } - } - }, - "@formatjs/intl-localematcher": { - "version": "0.2.28", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.28.tgz", - "integrity": "sha512-FLsc6Gifs1np/8HnCn/7Q+lHMmenrD5fuDhRT82yj0gi9O19kfaFwjQUw1gZsyILuRyT93GuzdifHj7TKRhBcw==", - "dev": true, - "requires": { - "tslib": "2.4.0" - } - }, - "@formatjs/ts-transformer": { - "version": "3.9.9", - "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.9.9.tgz", - "integrity": "sha512-V5BDpn5XW1wWBkpDn5SFHRH4Ndf3oyjxmuqWMxe2EwOKkV4XJvzZI73k3p/Hut3Xg55AxBQQmkFK9hyeBJPyIg==", - "dev": true, - "requires": { - "@formatjs/icu-messageformat-parser": "2.1.4", - "@types/json-stable-stringify": "^1.0.32", - "@types/node": "14 || 16 || 17", - "chalk": "^4.0.0", - "json-stable-stringify": "^1.0.1", - "tslib": "2.4.0", - "typescript": "^4.5" - } - }, "@mattermost/compass-icons": { "version": "0.1.32", "resolved": "https://registry.npmjs.org/@mattermost/compass-icons/-/compass-icons-0.1.32.tgz", @@ -57494,23 +56577,6 @@ "tapable": "^2.2.0" } }, - "eslint-plugin-formatjs": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.0.2.tgz", - "integrity": "sha512-6tEtLtH4N39pnYp5MjelxHDdohU6yMp5fmXqQq4Uu8MAbkAWAiufNKXfFdLSjuPa0lY5x/ExXKJHr1NJsZtzVA==", - "dev": true, - "requires": { - "@formatjs/icu-messageformat-parser": "2.1.4", - "@formatjs/ts-transformer": "3.9.9", - "@types/eslint": "7 || 8", - "@types/picomatch": "^2.3.0", - "@typescript-eslint/typescript-estree": "^5.9.1", - "emoji-regex": "^10.0.0", - "picomatch": "^2.3.1", - "tslib": "2.4.0", - "typescript": "^4.5" - } - }, "eslint-plugin-import": { "version": "2.25.4", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz", @@ -57643,55 +56709,6 @@ "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true }, - "intl-messageformat": { - "version": "9.11.1", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.11.1.tgz", - "integrity": "sha512-kT0i8AIa1Aez8jGn1i9Xva/sdbjOPY15abR82qnU4jnESjxtynHLW1CBh9ehs13sPA8cE/4A2d6LEne91oDp4w==", - "requires": { - "@formatjs/ecma402-abstract": "1.11.1", - "@formatjs/fast-memoize": "1.2.1", - "@formatjs/icu-messageformat-parser": "2.0.16", - "tslib": "^2.1.0" - }, - "dependencies": { - "@formatjs/ecma402-abstract": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.1.tgz", - "integrity": "sha512-tgtNODZUGuUI6PAcnvaLZpGrZLVkXnnAvgzOiueYMzFdOdcOw4iH1WKhCe3+r6VR8rHKToJ2HksUGNCB+zt/bg==", - "requires": { - "@formatjs/intl-localematcher": "0.2.22", - "tslib": "^2.1.0" - } - }, - "@formatjs/icu-messageformat-parser": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.0.16.tgz", - "integrity": "sha512-sYg0ImXsAqBbjU/LotoCD9yKC5nUpWVy3s4DwWerHXD4sm62FcjMF8mekwudRk3eZLHqSO+M21MpFUUjDQ+Q5Q==", - "requires": { - "@formatjs/ecma402-abstract": "1.11.1", - "@formatjs/icu-skeleton-parser": "1.3.3", - "tslib": "^2.1.0" - } - }, - "@formatjs/icu-skeleton-parser": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.3.tgz", - "integrity": "sha512-ifWnzjmHPHUF89UpCvClTP66sXYFc8W/qg7Qt+qtTUB9BqRWlFeUsevAzaMYDJsRiOy4S2WJFrJoZgRKUFfPGQ==", - "requires": { - "@formatjs/ecma402-abstract": "1.11.1", - "tslib": "^2.1.0" - } - }, - "@formatjs/intl-localematcher": { - "version": "0.2.22", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.22.tgz", - "integrity": "sha512-z+TvbHW8Q/g2l7/PnfUl0mV9gWxV4d0HT6GQyzkO5QI6QjCvCZGiztnmLX7zoyS16uSMvZ2PoMDfSK9xvZkRRA==", - "requires": { - "tslib": "^2.1.0" - } - } - } - }, "is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -57834,61 +56851,6 @@ "warning": "^4.0.3" } }, - "react-intl": { - "version": "5.24.1", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-5.24.1.tgz", - "integrity": "sha512-GP9ZP4UlWPGjleY2Yu0wJggz4/14VsjGaTduq+jGGsLBsuAVq6Gxa+K58mbn5rRU9E10sHxH75Q73oJMqiGBiw==", - "requires": { - "@formatjs/ecma402-abstract": "1.11.1", - "@formatjs/icu-messageformat-parser": "2.0.16", - "@formatjs/intl": "1.18.1", - "@formatjs/intl-displaynames": "5.3.1", - "@formatjs/intl-listformat": "6.4.1", - "@types/hoist-non-react-statics": "^3.3.1", - "@types/react": "16 || 17", - "hoist-non-react-statics": "^3.3.2", - "intl-messageformat": "9.11.1", - "tslib": "^2.1.0" - }, - "dependencies": { - "@formatjs/ecma402-abstract": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.1.tgz", - "integrity": "sha512-tgtNODZUGuUI6PAcnvaLZpGrZLVkXnnAvgzOiueYMzFdOdcOw4iH1WKhCe3+r6VR8rHKToJ2HksUGNCB+zt/bg==", - "requires": { - "@formatjs/intl-localematcher": "0.2.22", - "tslib": "^2.1.0" - } - }, - "@formatjs/icu-messageformat-parser": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.0.16.tgz", - "integrity": "sha512-sYg0ImXsAqBbjU/LotoCD9yKC5nUpWVy3s4DwWerHXD4sm62FcjMF8mekwudRk3eZLHqSO+M21MpFUUjDQ+Q5Q==", - "requires": { - "@formatjs/ecma402-abstract": "1.11.1", - "@formatjs/icu-skeleton-parser": "1.3.3", - "tslib": "^2.1.0" - } - }, - "@formatjs/icu-skeleton-parser": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.3.tgz", - "integrity": "sha512-ifWnzjmHPHUF89UpCvClTP66sXYFc8W/qg7Qt+qtTUB9BqRWlFeUsevAzaMYDJsRiOy4S2WJFrJoZgRKUFfPGQ==", - "requires": { - "@formatjs/ecma402-abstract": "1.11.1", - "tslib": "^2.1.0" - } - }, - "@formatjs/intl-localematcher": { - "version": "0.2.22", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.22.tgz", - "integrity": "sha512-z+TvbHW8Q/g2l7/PnfUl0mV9gWxV4d0HT6GQyzkO5QI6QjCvCZGiztnmLX7zoyS16uSMvZ2PoMDfSK9xvZkRRA==", - "requires": { - "tslib": "^2.1.0" - } - } - } - }, "react-overlays": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/react-overlays/-/react-overlays-5.2.1.tgz", @@ -58033,11 +56995,6 @@ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true }, - "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, "uncontrollable": { "version": "7.2.1", "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz", @@ -59270,20 +58227,20 @@ } }, "react-intl": { - "version": "5.20.10", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-5.20.10.tgz", - "integrity": "sha512-zy0ZQhpjkGsKcK1BFo2HbGM/q8GBVovzoXZGQ76DowR0yr6UzQuPLkrlIrObL2zxIYiDaxaz+hUJaoa2a1xqOQ==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.3.2.tgz", + "integrity": "sha512-NT03zOHRAFGcZdTx4cXcVKZtnWBOM6RfLPK8Q67eA+Ba+pHdYb+cmrahncqAnevZKgO1r/nEauiVFKwQeudLIw==", "requires": { - "@formatjs/ecma402-abstract": "1.9.8", - "@formatjs/icu-messageformat-parser": "2.0.11", - "@formatjs/intl": "1.14.1", - "@formatjs/intl-displaynames": "5.2.3", - "@formatjs/intl-listformat": "6.3.3", + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/icu-messageformat-parser": "2.3.0", + "@formatjs/intl": "2.6.9", + "@formatjs/intl-displaynames": "6.2.6", + "@formatjs/intl-listformat": "7.1.9", "@types/hoist-non-react-statics": "^3.3.1", - "@types/react": "17", + "@types/react": "16 || 17 || 18", "hoist-non-react-statics": "^3.3.2", - "intl-messageformat": "9.9.1", - "tslib": "^2.1.0" + "intl-messageformat": "10.3.3", + "tslib": "^2.4.0" } }, "react-is": { diff --git a/webapp/package.json b/webapp/package.json index 1127b9407f..71a78d45a2 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -16,12 +16,16 @@ "check-types": "npm run check-types --workspaces --if-present", "clean": "npm run clean --workspaces --if-present" }, + "dependencies": { + "react-intl": "6.3.2" + }, "devDependencies": { "blessed": "0.1.81", "chalk": "4.1.2", "concurrently": "7.6.0", "cross-env": "7.0.3", "eslint": "8.37.0", + "eslint-plugin-formatjs": "4.9.1", "strip-ansi": "6.0.1" }, "workspaces": [ diff --git a/webapp/platform/components/package.json b/webapp/platform/components/package.json index 5f06ac80d4..21de3a2762 100644 --- a/webapp/platform/components/package.json +++ b/webapp/platform/components/package.json @@ -7,7 +7,7 @@ "scripts": { "build": "rollup -c", "run": "rollup -c --watch", - "clean": "rm -rf dist node_modules tsconfig.tsbuildinfo" + "clean": "rm -rf dist node_modules tsconfig.tsbuildinfo .rollup.cache" }, "devDependencies": { "@babel/cli": "^7.17.6", @@ -53,7 +53,7 @@ "react": "^17.0.2", "react-bootstrap": "github:mattermost/react-bootstrap#d821e2b1db1059bd36112d7587fd1b0912b27626", "react-dom": "^17.0.2", - "react-intl": "^5.20.0", + "react-intl": "^6.3.2", "shallow-equals": "^1.0.0", "styled-components": "^5.3.5", "tippy.js": "^6.3.7" diff --git a/webapp/platform/types/package.json b/webapp/platform/types/package.json index 8cced94898..280f796605 100644 --- a/webapp/platform/types/package.json +++ b/webapp/platform/types/package.json @@ -15,7 +15,9 @@ }, "typesVersions": { ">=3.1": { - "*": ["./lib/*.d.ts"] + "*": [ + "./lib/*.d.ts" + ] } }, "repository": { diff --git a/webapp/playbooks/.eslintrc.json b/webapp/playbooks/.eslintrc.json index d38c4a2da4..981cb77baa 100644 --- a/webapp/playbooks/.eslintrc.json +++ b/webapp/playbooks/.eslintrc.json @@ -630,9 +630,8 @@ "onlyEquality": false } ], - "formatjs/no-id": 2, + "formatjs/no-multiple-whitespaces": 2, "formatjs/enforce-default-message": 2, - "formatjs/no-multiple-whitespaces": 1, "formatjs/no-multiple-plurals": 2, "formatjs/enforce-placeholders": 2, "formatjs/no-literal-string-in-jsx": 2, diff --git a/webapp/playbooks/i18n/en.json b/webapp/playbooks/i18n/en.json index f0d4c3f9c0..98383c74e6 100644 --- a/webapp/playbooks/i18n/en.json +++ b/webapp/playbooks/i18n/en.json @@ -95,6 +95,7 @@ "9M92On": "Select channels", "9Obw6C": "Filter", "9PXW6Q": "Duration / Started on", + "9S+ZiL": "No team is selected", "9SIW2x": "Target value for each run", "9TTfXU": "Your System Admin has been notified.", "9X3jwi": "{icon} Cost", @@ -142,6 +143,7 @@ "DXACD6": "Publish retrospective report and access the timeline", "DaHpK1": "Search for a channel", "DnBhRg": "Add People", + "DoskyC": "All Teams", "DqTQOp": "Once", "DtCplA": "{numParticipants, plural, =1 {# participant} other {# participants}}", "EQpfkS": "Finished", @@ -222,6 +224,7 @@ "MyIJbr": "Contents", "N1U/QR": "Task state changes", "N2IrpM": "Confirm", + "N7Ln74": "Rerun", "NFyWnZ": "Work more effectively", "NGKqOC": "Also add me to the channel linked to this run", "NJ9uPu": "Key metrics", diff --git a/webapp/playbooks/package.json b/webapp/playbooks/package.json index f604532cba..9de10ef9bb 100644 --- a/webapp/playbooks/package.json +++ b/webapp/playbooks/package.json @@ -28,7 +28,7 @@ "react-dom": "^17.0.2", "react-infinite-scroll-component": "^6.1.0", "react-infinite-scroller": "1.2.6", - "react-intl": "5.24.1", + "react-intl": "*", "react-redux": "7.2.6", "react-router-dom": "5.3.4", "react-router-hash-link": "2.4.3", @@ -85,7 +85,6 @@ "classnames": "2.3.1", "css-loader": "6.5.1", "eslint-import-resolver-webpack": "0.13.2", - "eslint-plugin-formatjs": "4.0.2", "eslint-plugin-import": "2.25.4", "eslint-plugin-import-newlines": "1.3.0", "eslint-plugin-no-relative-import-paths": "1.5.0", @@ -125,7 +124,7 @@ "test:debug": "cross-env TZ=Etc/UTC jest --forceExit --detectOpenHandles --verbose", "test-ci": "cross-env TZ=Etc/UTC jest --ci --maxWorkers=100%", "check-types": "tsc -b", - "extract": "formatjs extract 'src/**/*.{ts,tsx}' --out-file i18n/temp.json --id-interpolation-pattern '[sha512:contenthash:base64:6]' && formatjs compile 'i18n/temp.json' --out-file i18n/en.json && rm i18n/temp.json", + "extract": "formatjs extract 'src/**/*.{ts,tsx}' --ignore \"**/*.d.ts\" --out-file i18n/temp.json --id-interpolation-pattern '[sha512:contenthash:base64:6]' && formatjs compile 'i18n/temp.json' --out-file i18n/en.json && rm i18n/temp.json", "graphql": "graphql-codegen --config graphql_gen.ts", "report-unused-exports": "ts-prune", "build:product": "webpack --mode=production", diff --git a/webapp/playbooks/src/components/backstage/metrics/metrics_card.tsx b/webapp/playbooks/src/components/backstage/metrics/metrics_card.tsx index 8785373bfa..a5c304bdf4 100644 --- a/webapp/playbooks/src/components/backstage/metrics/metrics_card.tsx +++ b/webapp/playbooks/src/components/backstage/metrics/metrics_card.tsx @@ -55,11 +55,13 @@ const MetricsCard = ({playbookMetrics, playbookStats, index}: Props) => { {formatMessage({defaultMessage: 'Average value'})} + {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} {stats.average === null ? '-' : transformFn(stats.average)} {formatMessage({defaultMessage: '10-run average value'})} + {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} {stats.rolling_average === null ? '-' : transformFn(stats.rolling_average)} {percentageChange(stats.rolling_average_change)} @@ -67,9 +69,11 @@ const MetricsCard = ({playbookMetrics, playbookStats, index}: Props) => { {formatMessage({defaultMessage: 'Value range'})} + {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} {stats.value_range[0] === null ? '-' : valueTransformFn(stats.value_range[0])} {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} {' ' + formatMessage({defaultMessage: 'to'}) + ' '} + {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} {stats.value_range[1] === null ? '-' : valueTransformFn(stats.value_range[1])} diff --git a/webapp/playbooks/src/components/backstage/playbook_list.tsx b/webapp/playbooks/src/components/backstage/playbook_list.tsx index 095fc566cc..e01ea8f2c3 100644 --- a/webapp/playbooks/src/components/backstage/playbook_list.tsx +++ b/webapp/playbooks/src/components/backstage/playbook_list.tsx @@ -2,7 +2,7 @@ // See LICENSE.txt for license information. import {getCurrentTeamId} from 'mattermost-redux/selectors/entities/teams'; -import React, {PropsWithChildren, useRef} from 'react'; +import React, {PropsWithChildren, ReactNode, useRef} from 'react'; import {FormattedMessage, useIntl} from 'react-intl'; import {useDispatch, useSelector} from 'react-redux'; import styled from 'styled-components'; @@ -350,7 +350,7 @@ const PlaybookList = (props: { firstTimeUserExperience?: boolean }) => { {formatMessage({defaultMessage: 'Choose a template'})} - {formatMessage({defaultMessage: 'or Import a playbook'}, { + {formatMessage({defaultMessage: 'or Import a playbook'}, { ImportPlaybookButton: (chunks) => ( { {infos.map((info, i) => ( + {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} {i > 0 && ' - '} {info} ))} @@ -204,7 +205,7 @@ const PlaybookListRow = (props: Props) => { value={props.playbook.last_run_at} /> ) : ( - '-' + '-' // eslint-disable-line formatjs/no-literal-string-in-jsx )} {props.playbook.active_runs} diff --git a/webapp/playbooks/src/components/backstage/playbook_runs/playbook_run/rhs_info_metrics.tsx b/webapp/playbooks/src/components/backstage/playbook_runs/playbook_run/rhs_info_metrics.tsx index 12ec609903..d27d14b73d 100644 --- a/webapp/playbooks/src/components/backstage/playbook_runs/playbook_run/rhs_info_metrics.tsx +++ b/webapp/playbooks/src/components/backstage/playbook_runs/playbook_run/rhs_info_metrics.tsx @@ -122,6 +122,7 @@ const Value = ({metricValue, metricType, editable}: ValueProps) => { if (metricValue === null) { return ( + {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} {editable ? formatMessage({defaultMessage: 'Add value...'}) : '-'} ); diff --git a/webapp/playbooks/src/components/backstage/playbook_runs/playbook_run/status_update.tsx b/webapp/playbooks/src/components/backstage/playbook_runs/playbook_run/status_update.tsx index 6bd98acae3..f15a474f4f 100644 --- a/webapp/playbooks/src/components/backstage/playbook_runs/playbook_run/status_update.tsx +++ b/webapp/playbooks/src/components/backstage/playbook_runs/playbook_run/status_update.tsx @@ -1,7 +1,7 @@ // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. -import React, {useState} from 'react'; +import React, {ReactNode, useState} from 'react'; import {useDispatch} from 'react-redux'; import styled from 'styled-components'; import {FormattedMessage, useIntl} from 'react-intl'; @@ -425,7 +425,7 @@ const useRequestUpdateButton = ({type, onClick, disabled = false}: {disabled: bo ( {defaultMessage: 'Professional feature\nThis is a paid feature, available with a free 30-day trial'}, { title: (el) =>

{el}
, diff --git a/webapp/playbooks/src/components/backstage/runs_list/row.tsx b/webapp/playbooks/src/components/backstage/runs_list/row.tsx index b3be46f5b6..b8d5a7d2fa 100644 --- a/webapp/playbooks/src/components/backstage/runs_list/row.tsx +++ b/webapp/playbooks/src/components/backstage/runs_list/row.tsx @@ -94,7 +94,12 @@ const Row = (props: Props) => { let infoLine: React.ReactNode = null; if (!props.fixedTeam) { - infoLine = {playbookName ? teamName + ' • ' + playbookName : teamName}; + infoLine = ( + + {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} + {playbookName ? teamName + ' • ' + playbookName : teamName} + + ); } function openPlaybookRunDetails(playbookRun: PlaybookRun) { diff --git a/webapp/playbooks/src/components/checklist_item/command.tsx b/webapp/playbooks/src/components/checklist_item/command.tsx index 708af31469..248619dda4 100644 --- a/webapp/playbooks/src/components/checklist_item/command.tsx +++ b/webapp/playbooks/src/components/checklist_item/command.tsx @@ -79,7 +79,7 @@ const Command = (props: CommandProps) => { } }} > - {props.command_last_run ? 'Rerun' : 'Run'} + {props.command_last_run ? formatMessage({defaultMessage: 'Rerun'}) : formatMessage({defaultMessage: 'Run'})} ); diff --git a/webapp/playbooks/src/components/modals/run_playbook_modal.tsx b/webapp/playbooks/src/components/modals/run_playbook_modal.tsx index 581c318f39..5652702fab 100644 --- a/webapp/playbooks/src/components/modals/run_playbook_modal.tsx +++ b/webapp/playbooks/src/components/modals/run_playbook_modal.tsx @@ -284,6 +284,7 @@ const RunNameSection = ({runName, onSetRunName}: runNameProps) => { return (<> + {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} {formatMessage({defaultMessage: 'Run name'})}{error ? ' *' : ''} ( + const OverviewLink = (...chunks: string[]): ReactNode => ( { return props.searchTerm === '' ? ( - {formatMessage({defaultMessage: 'Get started with Playbooks'}, {searchTerm: props.searchTerm})} + {formatMessage({defaultMessage: 'Get started with Playbooks'})} {formatMessage({defaultMessage: 'Playbooks are configurable checklists that define a repeatable process for teams to achieve specific and predictable outcomes'})} diff --git a/webapp/playbooks/src/components/sidebar/sidebar.tsx b/webapp/playbooks/src/components/sidebar/sidebar.tsx index b7f241e079..de39393db2 100644 --- a/webapp/playbooks/src/components/sidebar/sidebar.tsx +++ b/webapp/playbooks/src/components/sidebar/sidebar.tsx @@ -6,6 +6,7 @@ import {useSelector} from 'react-redux'; import {Team} from '@mattermost/types/teams'; import {OverlayTrigger, Tooltip} from 'react-bootstrap'; import Scrollbars from 'react-custom-scrollbars'; +import {useIntl} from 'react-intl'; import {OVERLAY_DELAY} from 'src/constants'; @@ -43,6 +44,8 @@ const teamNameSelector = (teamId: string) => (state: GlobalState): Team => getTe const Sidebar = (props: SidebarProps) => { const team = useSelector(teamNameSelector(props.team_id)); + const {formatMessage} = useIntl(); + return (
@@ -51,11 +54,13 @@ const Sidebar = (props: SidebarProps) => { delay={OVERLAY_DELAY} shouldUpdatePosition={true} overlay={ - {team?.description?.length ? team.description : 'No team is selected'} + + {team?.description?.length ? team.description : formatMessage({defaultMessage: 'No team is selected'})} + } > - {team?.display_name?.length ? team.display_name : 'All Teams'} + {team?.display_name?.length ? team.display_name : formatMessage({defaultMessage: 'All Teams'})} {props.headerDropdown} diff --git a/webapp/playbooks/src/components/widgets/menu/menu_wrapper.tsx b/webapp/playbooks/src/components/widgets/menu/menu_wrapper.tsx index 9fa298e2b3..bffd28c3d9 100644 --- a/webapp/playbooks/src/components/widgets/menu/menu_wrapper.tsx +++ b/webapp/playbooks/src/components/widgets/menu/menu_wrapper.tsx @@ -90,6 +90,7 @@ const MenuWrapper = (props: Props) => { return (