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, { "react/style-prop-object": [2, {
"allow": ["Timestamp"] "allow": ["Timestamp"]
}], }],
"no-restricted-imports": ["error", { "no-restricted-imports": [
"paths": [ "error",
{"name": "react-bootstrap", "importNames": ["OverlayTrigger"], "message": "Please use OverlayTrigger from '/components/overlay_trigger' instead"} {
] "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}], "max-lines": ["warn", {"max": 800, "skipBlankLines": true, "skipComments": true}],
"formatjs/no-multiple-whitespaces": ["error"] "formatjs/no-multiple-whitespaces": ["error"]
}, },

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

@@ -6,7 +6,7 @@ import {Link, useRouteMatch, useLocation, matchPath} from 'react-router-dom';
import {useIntl} from 'react-intl'; import {useIntl} from 'react-intl';
import {useDispatch, useSelector} from 'react-redux'; import {useDispatch, useSelector} from 'react-redux';
import classNames from 'classnames'; 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 {insightsAreEnabled} from 'mattermost-redux/selectors/entities/preferences';
import {getIsRhsOpen, getRhsState} from 'selectors/rhs'; import {getIsRhsOpen, getRhsState} from 'selectors/rhs';

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

@@ -5,7 +5,7 @@ import React, {memo, useCallback} from 'react';
import ReactSelect, {ValueType} from 'react-select'; 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'; import {trackEvent} from 'actions/telemetry_actions';

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

@@ -6,7 +6,7 @@ import {useDispatch} from 'react-redux';
import {useIntl} from 'react-intl'; import {useIntl} from 'react-intl';
import {Tooltip} from 'react-bootstrap'; 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'; import {openModal} from 'actions/views/modals';

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

@@ -3,7 +3,7 @@
import React, {useState, useEffect} from 'react'; 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'; import {Theme} from 'mattermost-redux/selectors/entities/preferences';

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

@@ -9,7 +9,7 @@ import {DateTime} from 'luxon';
import moment, {Moment} from 'moment-timezone'; 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 MenuWrapper from 'components/widgets/menu/menu_wrapper';
import Input from 'components/widgets/inputs/input/input'; import Input from 'components/widgets/inputs/input/input';

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

@@ -5,7 +5,7 @@ import React from 'react';
import {FormattedMessage} from 'react-intl'; import {FormattedMessage} from 'react-intl';
import {DayPickerProps} from 'react-day-picker'; 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'; import classNames from 'classnames';

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

@@ -4,7 +4,7 @@
import React, {useEffect} from 'react'; import React, {useEffect} from 'react';
import {useDispatch, useSelector} from 'react-redux'; 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 {closeRightHandSide, showMentions} from 'actions/views/rhs';
import Search from 'components/search'; import Search from 'components/search';

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

@@ -3,7 +3,7 @@
import React from 'react'; import React from 'react';
import {FormattedMessage, injectIntl, WrappedComponentProps} from 'react-intl'; 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'; import {trackEvent} from 'actions/telemetry_actions';

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

@@ -5,7 +5,7 @@ import React, {useEffect, useState, useCallback} from 'react';
import {useHistory} from 'react-router-dom'; import {useHistory} from 'react-router-dom';
import styled from 'styled-components'; 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 {trackEvent} from 'actions/telemetry_actions';
import * as Utils from 'utils/utils'; import * as Utils from 'utils/utils';

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

@@ -3,7 +3,7 @@
import React from 'react'; import React from 'react';
import {shallow} from 'enzyme'; 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'; import {TopLevelProducts} from 'utils/constants';

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

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

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

@@ -6,7 +6,7 @@ import {useIntl} from 'react-intl';
import styled from 'styled-components'; import styled from 'styled-components';
import {useDispatch, useSelector} from 'react-redux'; 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 {getConfig} from 'mattermost-redux/selectors/entities/general';
import {getCurrentUserId} from 'mattermost-redux/selectors/entities/users'; import {getCurrentUserId} from 'mattermost-redux/selectors/entities/users';

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

@@ -7,7 +7,7 @@ import {Link} from 'react-router-dom';
import styled from 'styled-components'; 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 { export interface ProductMenuItemProps {
destination: string; destination: string;

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

@@ -4,7 +4,7 @@
import React, {useEffect} from 'react'; import React, {useEffect} from 'react';
import {useIntl} from 'react-intl'; 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'; import {Permissions} from 'mattermost-redux/constants';

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

@@ -4,7 +4,7 @@
import React from 'react'; import React from 'react';
import {shallow} from 'enzyme'; 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'; import {GlobalState} from 'types/store';

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

@@ -4,7 +4,7 @@
import React from 'react'; import React from 'react';
import {FormattedMessage, useIntl} from 'react-intl'; import {FormattedMessage, useIntl} from 'react-intl';
import {useDispatch, useSelector} from 'react-redux'; 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 {closeRightHandSide, showMentions} from 'actions/views/rhs';
import OverlayTrigger from 'components/overlay_trigger'; import OverlayTrigger from 'components/overlay_trigger';

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

@@ -4,7 +4,7 @@
import React from 'react'; import React from 'react';
import {shallow} from 'enzyme'; 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'; import {GlobalState} from 'types/store';

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

@@ -5,7 +5,7 @@ import React from 'react';
import {FormattedMessage, useIntl} from 'react-intl'; import {FormattedMessage, useIntl} from 'react-intl';
import {useDispatch, useSelector} from 'react-redux'; 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 {closeRightHandSide, showFlaggedPosts} from 'actions/views/rhs';
import OverlayTrigger from 'components/overlay_trigger'; import OverlayTrigger from 'components/overlay_trigger';

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

@@ -4,7 +4,7 @@
import React from 'react'; import React from 'react';
import {FormattedMessage, useIntl} from 'react-intl'; 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 OverlayTrigger from 'components/overlay_trigger';
import Tooltip from 'components/tooltip'; import Tooltip from 'components/tooltip';

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

@@ -6,7 +6,7 @@ import classNames from 'classnames';
import {CSSTransition} from 'react-transition-group'; import {CSSTransition} from 'react-transition-group';
import {useIntl} from 'react-intl'; 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'; import './info_toast.scss';
type Props = { type Props = {

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

@@ -5,7 +5,7 @@ import React, {useRef, useCallback, useEffect, useState} from 'react';
import {useDispatch, useSelector} from 'react-redux'; import {useDispatch, useSelector} from 'react-redux';
import styled, {css} from 'styled-components'; 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'; import {FormattedMessage} from 'react-intl';

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

@@ -3,7 +3,7 @@
import React from 'react'; import React from 'react';
import styled from 'styled-components'; 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` const Animation = styled.div`
position: absolute; position: absolute;

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

@@ -6,7 +6,7 @@ import React, {memo, useCallback, useState} from 'react';
import {defineMessages, useIntl} from 'react-intl'; import {defineMessages, useIntl} from 'react-intl';
import classNames from 'classnames'; 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 {CheckIcon} from '@mattermost/compass-icons/components';
import {Post} from '@mattermost/types/posts'; import {Post} from '@mattermost/types/posts';

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

@@ -3,7 +3,7 @@
import React, {MouseEvent} from 'react'; import React, {MouseEvent} from 'react';
import {useIntl} from 'react-intl'; 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 {getDateForTimezone} from 'mattermost-redux/utils/timezone_utils';
import {isSameDay, isWithinLastWeek, isYesterday} from 'utils/datetime'; import {isSameDay, isWithinLastWeek, isYesterday} from 'utils/datetime';

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

@@ -3,7 +3,7 @@
import React from 'react'; import React from 'react';
import {shallow} from 'enzyme'; 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 {FileSizes} from 'utils/file_utils';
import {CloudProducts} from 'utils/constants'; import {CloudProducts} from 'utils/constants';

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

@@ -5,8 +5,8 @@ import React, {useCallback, useState} from 'react';
import {useDispatch, useSelector} from 'react-redux'; import {useDispatch, useSelector} from 'react-redux';
import styled from 'styled-components'; import styled from 'styled-components';
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 Heading from '@mattermost/compass-components/components/heading'; import Heading from '@mattermost/compass-components/components/heading'; // eslint-disable-line no-restricted-imports
import {getCurrentTeam} from 'mattermost-redux/selectors/entities/teams'; import {getCurrentTeam} from 'mattermost-redux/selectors/entities/teams';
import {GlobalState} from 'types/store'; import {GlobalState} from 'types/store';

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

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

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

@@ -5,7 +5,7 @@ import React from 'react';
import {Store} from 'redux'; 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 {Client4} from 'mattermost-redux/client';
import {appsEnabled} from 'mattermost-redux/selectors/entities/apps'; import {appsEnabled} from 'mattermost-redux/selectors/entities/apps';

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

@@ -3,7 +3,7 @@
import React from 'react'; 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'; import {ProductScope} from '@mattermost/types/products';