MM-51831 : Add ESLint rule to "channels/components" to error out if "compass-components" package is used (#22754)

Этот коммит содержится в:
M-ZubairAhmed
2023-04-08 06:13:06 +05:30
коммит произвёл GitHub
родитель 2ad37a731d
Коммит b7175560da
30 изменённых файлов: 50 добавлений и 39 удалений

Просмотреть файл

@@ -80,11 +80,22 @@
"react/style-prop-object": [2, {
"allow": ["Timestamp"]
}],
"no-restricted-imports": ["error", {
"paths": [
{"name": "react-bootstrap", "importNames": ["OverlayTrigger"], "message": "Please use OverlayTrigger from '/components/overlay_trigger' instead"}
]
}],
"no-restricted-imports": [
"error",
{
"patterns": [
{
"group": ["react-bootstrap"],
"importNames": ["OverlayTrigger"],
"message": "Please use OverlayTrigger from '/components/overlay_trigger' instead."
},
{
"group": ["@mattermost/compass-components/*"],
"message": "compass-components is now archived"
}
]
}
],
"max-lines": ["warn", {"max": 800, "skipBlankLines": true, "skipComments": true}],
"formatjs/no-multiple-whitespaces": ["error"]
},

Просмотреть файл

@@ -6,7 +6,7 @@ import {Link, useRouteMatch, useLocation, matchPath} from 'react-router-dom';
import {useIntl} from 'react-intl';
import {useDispatch, useSelector} from 'react-redux';
import classNames from 'classnames';
import Icon from '@mattermost/compass-components/foundations/icon';
import Icon from '@mattermost/compass-components/foundations/icon'; // eslint-disable-line no-restricted-imports
import {insightsAreEnabled} from 'mattermost-redux/selectors/entities/preferences';
import {getIsRhsOpen, getRhsState} from 'selectors/rhs';

Просмотреть файл

@@ -5,7 +5,7 @@ import React, {memo, useCallback} from 'react';
import ReactSelect, {ValueType} from 'react-select';
import Icon from '@mattermost/compass-components/foundations/icon/Icon';
import Icon from '@mattermost/compass-components/foundations/icon/Icon'; // eslint-disable-line no-restricted-imports
import {trackEvent} from 'actions/telemetry_actions';

Просмотреть файл

@@ -6,7 +6,7 @@ import {useDispatch} from 'react-redux';
import {useIntl} from 'react-intl';
import {Tooltip} from 'react-bootstrap';
import Icon from '@mattermost/compass-components/foundations/icon';
import Icon from '@mattermost/compass-components/foundations/icon'; // eslint-disable-line no-restricted-imports
import {openModal} from 'actions/views/modals';

Просмотреть файл

@@ -3,7 +3,7 @@
import React, {useState, useEffect} from 'react';
import ThemeProvider, {lightTheme} from '@mattermost/compass-components/utilities/theme';
import ThemeProvider, {lightTheme} from '@mattermost/compass-components/utilities/theme'; // eslint-disable-line no-restricted-imports
import {Theme} from 'mattermost-redux/selectors/entities/preferences';

Просмотреть файл

@@ -9,7 +9,7 @@ import {DateTime} from 'luxon';
import moment, {Moment} from 'moment-timezone';
import IconButton from '@mattermost/compass-components/components/icon-button';
import IconButton from '@mattermost/compass-components/components/icon-button'; // eslint-disable-line no-restricted-imports
import MenuWrapper from 'components/widgets/menu/menu_wrapper';
import Input from 'components/widgets/inputs/input/input';

Просмотреть файл

@@ -5,7 +5,7 @@ import React from 'react';
import {FormattedMessage} from 'react-intl';
import {DayPickerProps} from 'react-day-picker';
import IconButton from '@mattermost/compass-components/components/icon-button';
import IconButton from '@mattermost/compass-components/components/icon-button'; // eslint-disable-line no-restricted-imports
import classNames from 'classnames';

Просмотреть файл

@@ -4,7 +4,7 @@
import React, {useEffect} from 'react';
import {useDispatch, useSelector} from 'react-redux';
import Flex from '@mattermost/compass-components/utilities/layout/Flex';
import Flex from '@mattermost/compass-components/utilities/layout/Flex'; // eslint-disable-line no-restricted-imports
import {closeRightHandSide, showMentions} from 'actions/views/rhs';
import Search from 'components/search';

Просмотреть файл

@@ -3,7 +3,7 @@
import React from 'react';
import {FormattedMessage, injectIntl, WrappedComponentProps} from 'react-intl';
import IconButton from '@mattermost/compass-components/components/icon-button';
import IconButton from '@mattermost/compass-components/components/icon-button'; // eslint-disable-line no-restricted-imports
import {trackEvent} from 'actions/telemetry_actions';

Просмотреть файл

@@ -5,7 +5,7 @@ import React, {useEffect, useState, useCallback} from 'react';
import {useHistory} from 'react-router-dom';
import styled from 'styled-components';
import IconButton from '@mattermost/compass-components/components/icon-button';
import IconButton from '@mattermost/compass-components/components/icon-button'; // eslint-disable-line no-restricted-imports
import {trackEvent} from 'actions/telemetry_actions';
import * as Utils from 'utils/utils';

Просмотреть файл

@@ -3,7 +3,7 @@
import React from 'react';
import {shallow} from 'enzyme';
import Icon from '@mattermost/compass-components/foundations/icon';
import Icon from '@mattermost/compass-components/foundations/icon'; // eslint-disable-line no-restricted-imports
import {TopLevelProducts} from 'utils/constants';

Просмотреть файл

@@ -3,8 +3,8 @@
import React from 'react';
import styled from 'styled-components';
import Icon from '@mattermost/compass-components/foundations/icon';
import Heading from '@mattermost/compass-components/components/heading';
import Icon from '@mattermost/compass-components/foundations/icon'; // eslint-disable-line no-restricted-imports
import Heading from '@mattermost/compass-components/components/heading'; // eslint-disable-line no-restricted-imports
import {useCurrentProduct} from 'utils/products';

Просмотреть файл

@@ -6,7 +6,7 @@ import {useIntl} from 'react-intl';
import styled from 'styled-components';
import {useDispatch, useSelector} from 'react-redux';
import IconButton from '@mattermost/compass-components/components/icon-button';
import IconButton from '@mattermost/compass-components/components/icon-button'; // eslint-disable-line no-restricted-imports
import {getConfig} from 'mattermost-redux/selectors/entities/general';
import {getCurrentUserId} from 'mattermost-redux/selectors/entities/users';

Просмотреть файл

@@ -7,7 +7,7 @@ import {Link} from 'react-router-dom';
import styled from 'styled-components';
import Icon, {TIconGlyph} from '@mattermost/compass-components/foundations/icon';
import Icon, {TIconGlyph} from '@mattermost/compass-components/foundations/icon'; // eslint-disable-line no-restricted-imports
export interface ProductMenuItemProps {
destination: string;

Просмотреть файл

@@ -4,7 +4,7 @@
import React, {useEffect} from 'react';
import {useIntl} from 'react-intl';
import Icon from '@mattermost/compass-components/foundations/icon';
import Icon from '@mattermost/compass-components/foundations/icon'; // eslint-disable-line no-restricted-imports
import {Permissions} from 'mattermost-redux/constants';

Просмотреть файл

@@ -4,7 +4,7 @@
import React from 'react';
import {shallow} from 'enzyme';
import IconButton from '@mattermost/compass-components/components/icon-button';
import IconButton from '@mattermost/compass-components/components/icon-button'; // eslint-disable-line no-restricted-imports
import {GlobalState} from 'types/store';

Просмотреть файл

@@ -4,7 +4,7 @@
import React from 'react';
import {FormattedMessage, useIntl} from 'react-intl';
import {useDispatch, useSelector} from 'react-redux';
import IconButton from '@mattermost/compass-components/components/icon-button';
import IconButton from '@mattermost/compass-components/components/icon-button'; // eslint-disable-line no-restricted-imports
import {closeRightHandSide, showMentions} from 'actions/views/rhs';
import OverlayTrigger from 'components/overlay_trigger';

Просмотреть файл

@@ -4,7 +4,7 @@
import React from 'react';
import {shallow} from 'enzyme';
import IconButton from '@mattermost/compass-components/components/icon-button';
import IconButton from '@mattermost/compass-components/components/icon-button'; // eslint-disable-line no-restricted-imports
import {GlobalState} from 'types/store';

Просмотреть файл

@@ -5,7 +5,7 @@ import React from 'react';
import {FormattedMessage, useIntl} from 'react-intl';
import {useDispatch, useSelector} from 'react-redux';
import IconButton from '@mattermost/compass-components/components/icon-button';
import IconButton from '@mattermost/compass-components/components/icon-button'; // eslint-disable-line no-restricted-imports
import {closeRightHandSide, showFlaggedPosts} from 'actions/views/rhs';
import OverlayTrigger from 'components/overlay_trigger';

Просмотреть файл

@@ -4,7 +4,7 @@
import React from 'react';
import {FormattedMessage, useIntl} from 'react-intl';
import IconButton from '@mattermost/compass-components/components/icon-button';
import IconButton from '@mattermost/compass-components/components/icon-button'; // eslint-disable-line no-restricted-imports
import OverlayTrigger from 'components/overlay_trigger';
import Tooltip from 'components/tooltip';

Просмотреть файл

@@ -6,7 +6,7 @@ import classNames from 'classnames';
import {CSSTransition} from 'react-transition-group';
import {useIntl} from 'react-intl';
import IconButton from '@mattermost/compass-components/components/icon-button';
import IconButton from '@mattermost/compass-components/components/icon-button'; // eslint-disable-line no-restricted-imports
import './info_toast.scss';
type Props = {

Просмотреть файл

@@ -5,7 +5,7 @@ import React, {useRef, useCallback, useEffect, useState} from 'react';
import {useDispatch, useSelector} from 'react-redux';
import styled, {css} from 'styled-components';
import Icon from '@mattermost/compass-components/foundations/icon/Icon';
import Icon from '@mattermost/compass-components/foundations/icon/Icon'; // eslint-disable-line no-restricted-imports
import {FormattedMessage} from 'react-intl';

Просмотреть файл

@@ -3,7 +3,7 @@
import React from 'react';
import styled from 'styled-components';
import StatusIcon from '@mattermost/compass-components/components/status-icon';
import StatusIcon from '@mattermost/compass-components/components/status-icon'; // eslint-disable-line no-restricted-imports
const Animation = styled.div`
position: absolute;

Просмотреть файл

@@ -6,7 +6,7 @@ import React, {memo, useCallback, useState} from 'react';
import {defineMessages, useIntl} from 'react-intl';
import classNames from 'classnames';
import IconButton from '@mattermost/compass-components/components/icon-button';
import IconButton from '@mattermost/compass-components/components/icon-button'; // eslint-disable-line no-restricted-imports
import {CheckIcon} from '@mattermost/compass-icons/components';
import {Post} from '@mattermost/types/posts';

Просмотреть файл

@@ -3,7 +3,7 @@
import React, {MouseEvent} from 'react';
import {useIntl} from 'react-intl';
import Icon from '@mattermost/compass-components/foundations/icon';
import Icon from '@mattermost/compass-components/foundations/icon'; // eslint-disable-line no-restricted-imports
import {getDateForTimezone} from 'mattermost-redux/utils/timezone_utils';
import {isSameDay, isWithinLastWeek, isYesterday} from 'utils/datetime';

Просмотреть файл

@@ -3,7 +3,7 @@
import React from 'react';
import {shallow} from 'enzyme';
import IconButton from '@mattermost/compass-components/components/icon-button';
import IconButton from '@mattermost/compass-components/components/icon-button'; // eslint-disable-line no-restricted-imports
import {FileSizes} from 'utils/file_utils';
import {CloudProducts} from 'utils/constants';

Просмотреть файл

@@ -5,8 +5,8 @@ import React, {useCallback, useState} from 'react';
import {useDispatch, useSelector} from 'react-redux';
import styled from 'styled-components';
import Flex from '@mattermost/compass-components/utilities/layout/Flex';
import Heading from '@mattermost/compass-components/components/heading';
import Flex from '@mattermost/compass-components/utilities/layout/Flex'; // eslint-disable-line no-restricted-imports
import Heading from '@mattermost/compass-components/components/heading'; // eslint-disable-line no-restricted-imports
import {getCurrentTeam} from 'mattermost-redux/selectors/entities/teams';
import {GlobalState} from 'types/store';

Просмотреть файл

@@ -5,10 +5,10 @@ import React, {ReactNode} from 'react';
import {IntlShape, injectIntl, FormattedDate, FormattedMessage, FormattedTime} from 'react-intl';
import classNames from 'classnames';
import StatusIcon from '@mattermost/compass-components/components/status-icon';
import Text from '@mattermost/compass-components/components/text';
import Icon from '@mattermost/compass-components/foundations/icon/Icon';
import {TUserStatus} from '@mattermost/compass-components/shared';
import StatusIcon from '@mattermost/compass-components/components/status-icon'; // eslint-disable-line no-restricted-imports
import Text from '@mattermost/compass-components/components/text'; // eslint-disable-line no-restricted-imports
import Icon from '@mattermost/compass-components/foundations/icon/Icon'; // eslint-disable-line no-restricted-imports
import {TUserStatus} from '@mattermost/compass-components/shared'; // eslint-disable-line no-restricted-imports
import {ActionFunc} from 'mattermost-redux/types/actions';

Просмотреть файл

@@ -5,7 +5,7 @@ import React from 'react';
import {Store} from 'redux';
import Icon from '@mattermost/compass-components/foundations/icon/Icon';
import Icon from '@mattermost/compass-components/foundations/icon/Icon'; // eslint-disable-line no-restricted-imports
import {Client4} from 'mattermost-redux/client';
import {appsEnabled} from 'mattermost-redux/selectors/entities/apps';

Просмотреть файл

@@ -3,7 +3,7 @@
import React from 'react';
import {TIconGlyph} from '@mattermost/compass-components/foundations/icon';
import {TIconGlyph} from '@mattermost/compass-components/foundations/icon'; // eslint-disable-line no-restricted-imports
import {ProductScope} from '@mattermost/types/products';