MM-51831 : Add ESLint rule to "channels/components" to error out if "compass-components" package is used (#22754)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
2ad37a731d
Коммит
b7175560da
@@ -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';
|
||||||
|
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user