Mandate use of js-sdk/src/matrix import over js-sdk/src (#7933)

This commit is contained in:
Michael Telatynski 2022-03-01 20:42:05 +00:00 committed by GitHub
parent 5f51ba1592
commit f25e6813bb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
50 changed files with 79 additions and 49 deletions

View file

@ -40,6 +40,36 @@ module.exports = {
),
],
// Ban matrix-js-sdk/src imports in favour of matrix-js-sdk/src/matrix imports to prevent unleashing hell.
"no-restricted-imports": ["error", {
"paths": [{
"name": "matrix-js-sdk",
"message": "Please use matrix-js-sdk/src/matrix instead",
}, {
"name": "matrix-js-sdk/",
"message": "Please use matrix-js-sdk/src/matrix instead",
}, {
"name": "matrix-js-sdk/src",
"message": "Please use matrix-js-sdk/src/matrix instead",
}, {
"name": "matrix-js-sdk/src/",
"message": "Please use matrix-js-sdk/src/matrix instead",
}, {
"name": "matrix-js-sdk/src/index",
"message": "Please use matrix-js-sdk/src/matrix instead",
}, {
"name": "matrix-react-sdk",
"message": "Please use matrix-react-sdk/src/index instead",
}, {
"name": "matrix-react-sdk/",
"message": "Please use matrix-react-sdk/src/index instead",
}],
"patterns": [{
"group": ["matrix-js-sdk/lib", "matrix-js-sdk/lib/", "matrix-js-sdk/lib/**"],
"message": "Please use matrix-js-sdk/src/* instead",
}],
}],
// There are too many a11y violations to fix at once
// Turn violated rules off until they are fixed
"jsx-a11y/alt-text": "off",

View file

@ -16,7 +16,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import { IRequestMsisdnTokenResponse, IRequestTokenResponse } from "matrix-js-sdk/src";
import { IRequestMsisdnTokenResponse, IRequestTokenResponse } from "matrix-js-sdk/src/matrix";
import { MatrixClientPeg } from './MatrixClientPeg';
import Modal from './Modal';

View file

@ -24,7 +24,7 @@ import encrypt from "browser-encrypt-attachment";
import extractPngChunks from "png-chunks-extract";
import { IAbortablePromise, IImageInfo } from "matrix-js-sdk/src/@types/partials";
import { logger } from "matrix-js-sdk/src/logger";
import { IEventRelation, ISendEventResponse } from "matrix-js-sdk/src";
import { IEventRelation, ISendEventResponse } from "matrix-js-sdk/src/matrix";
import { IEncryptedFile, IMediaEventInfo } from "./customisations/models/IMediaEventContent";
import dis from './dispatcher/dispatcher';

View file

@ -20,7 +20,7 @@ import FileSaver from 'file-saver';
import { logger } from "matrix-js-sdk/src/logger";
import { IKeyBackupInfo } from "matrix-js-sdk/src/crypto/keybackup";
import { TrustInfo } from "matrix-js-sdk/src/crypto/backup";
import { CrossSigningKeys } from "matrix-js-sdk/src";
import { CrossSigningKeys } from "matrix-js-sdk/src/matrix";
import { IRecoveryKey } from "matrix-js-sdk/src/crypto/api";
import { CryptoEvent } from "matrix-js-sdk/src/crypto";

View file

@ -17,7 +17,7 @@ limitations under the License.
import React from 'react';
import { Room } from "matrix-js-sdk/src/models/room";
import filesize from "filesize";
import { IEventRelation } from 'matrix-js-sdk/src';
import { IEventRelation } from 'matrix-js-sdk/src/matrix';
import ContentMessages from '../../ContentMessages';
import dis from "../../dispatcher/dispatcher";

View file

@ -15,7 +15,7 @@ limitations under the License.
*/
import React, { useCallback, useEffect } from "react";
import { MatrixEvent } from "matrix-js-sdk/src";
import { MatrixEvent } from "matrix-js-sdk/src/matrix";
import { ButtonEvent } from "../elements/AccessibleButton";
import dis from '../../../dispatcher/dispatcher';

View file

@ -15,7 +15,7 @@ limitations under the License.
*/
import React, { useRef, useState, Dispatch, SetStateAction } from "react";
import { Room } from "matrix-js-sdk/src";
import { Room } from "matrix-js-sdk/src/matrix";
import { logger } from "matrix-js-sdk/src/logger";
import { _t } from "../../../languageHandler";

View file

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import { MatrixEvent } from "matrix-js-sdk/src";
import { MatrixEvent } from "matrix-js-sdk/src/matrix";
import React from "react";
import classNames from "classnames";

View file

@ -15,7 +15,7 @@ limitations under the License.
*/
import React from 'react';
import { MatrixEvent } from 'matrix-js-sdk/src';
import { MatrixEvent } from 'matrix-js-sdk/src/matrix';
import { logger } from "matrix-js-sdk/src/logger";
import { VerificationRequestEvent } from "matrix-js-sdk/src/crypto/verification/request/VerificationRequest";

View file

@ -16,7 +16,7 @@ limitations under the License.
*/
import React, { forwardRef } from "react";
import { MatrixEvent } from "matrix-js-sdk/src";
import { MatrixEvent } from "matrix-js-sdk/src/matrix";
interface IProps {
mxEvent: MatrixEvent;

View file

@ -15,7 +15,7 @@ limitations under the License.
*/
import React from 'react';
import { MatrixEvent, MatrixEventEvent } from 'matrix-js-sdk/src';
import { MatrixEvent, MatrixEventEvent } from 'matrix-js-sdk/src/matrix';
import classNames from 'classnames';
import { replaceableComponent } from "../../../utils/replaceableComponent";

View file

@ -15,7 +15,7 @@ limitations under the License.
*/
import React from 'react';
import { Room } from 'matrix-js-sdk/src';
import { Room } from 'matrix-js-sdk/src/matrix';
import classNames from 'classnames';
import dis from '../../../dispatcher/dispatcher';

View file

@ -18,7 +18,7 @@ limitations under the License.
import React from 'react';
import classNames from 'classnames';
import { throttle } from 'lodash';
import { MatrixEvent, Room, RoomStateEvent } from 'matrix-js-sdk/src';
import { MatrixEvent, Room, RoomStateEvent } from 'matrix-js-sdk/src/matrix';
import { CallType } from "matrix-js-sdk/src/webrtc/call";
import { _t } from '../../../languageHandler';

View file

@ -15,7 +15,7 @@ limitations under the License.
*/
import React from 'react';
import { ClientEvent, MatrixEvent } from 'matrix-js-sdk/src';
import { ClientEvent, MatrixEvent } from 'matrix-js-sdk/src/matrix';
import { logger } from "matrix-js-sdk/src/logger";
import { CryptoEvent } from "matrix-js-sdk/src/crypto";

View file

@ -19,7 +19,7 @@ import Skinner, { ISkinObject } from './Skinner';
// Import the js-sdk so the proper `request` object can be set. This does some
// magic with the browser injection to make all subsequent imports work fine.
import "matrix-js-sdk";
import "matrix-js-sdk/src/browser-index";
export function loadSkin(skinObject: ISkinObject): void {
Skinner.load(skinObject);

View file

@ -15,7 +15,7 @@ limitations under the License.
*/
import { IMatrixProfile, IEventWithRoomId as IMatrixEvent, IResultRoomEvents } from "matrix-js-sdk/src/@types/search";
import { Direction } from "matrix-js-sdk/src";
import { Direction } from "matrix-js-sdk/src/matrix";
// The following interfaces take their names and member names from seshat and the spec
/* eslint-disable camelcase */

View file

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import { IEventRelation } from "matrix-js-sdk/src";
import { IEventRelation } from "matrix-js-sdk/src/matrix";
import { IAbortablePromise } from "matrix-js-sdk/src/@types/partials";
export interface IUpload {

View file

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import { MatrixClient } from "matrix-js-sdk/src";
import { MatrixClient } from "matrix-js-sdk/src/matrix";
/**
* Decorates the given event content object with the "send start time". The

View file

@ -15,7 +15,7 @@ limitations under the License.
*/
import EventEmitter from 'events';
import { MatrixEvent, RoomStateEvent } from "matrix-js-sdk/src";
import { MatrixEvent, RoomStateEvent } from "matrix-js-sdk/src/matrix";
import { MatrixClientPeg } from '../MatrixClientPeg';
import { WidgetMessagingStore } from "./widgets/WidgetMessagingStore";

View file

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import { ClientEvent, MatrixEvent, MatrixEventEvent } from "matrix-js-sdk/src";
import { ClientEvent, MatrixEvent, MatrixEventEvent } from "matrix-js-sdk/src/matrix";
import { sleep } from "matrix-js-sdk/src/utils";
import { ISyncStateData, SyncState } from "matrix-js-sdk/src/sync";

View file

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import { MatrixEvent } from "matrix-js-sdk/src";
import { MatrixEvent } from "matrix-js-sdk/src/matrix";
import { EventType, MsgType } from "matrix-js-sdk/src/@types/event";
import { logger } from "matrix-js-sdk/src/logger";

View file

@ -16,7 +16,7 @@ limitations under the License.
import './skinned-sdk';
import { IProtocol } from 'matrix-js-sdk/src';
import { IProtocol } from 'matrix-js-sdk/src/matrix';
import { CallEvent, CallState, CallType } from 'matrix-js-sdk/src/webrtc/call';
import EventEmitter from 'events';

View file

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import { MatrixEvent } from 'matrix-js-sdk';
import { MatrixEvent } from 'matrix-js-sdk/src/matrix';
import './skinned-sdk'; // Must be first for skinning to work
import { DecryptionFailureTracker } from '../src/DecryptionFailureTracker';

View file

@ -17,7 +17,7 @@ limitations under the License.
import { EventEmitter } from "events";
import { mocked } from "jest-mock";
import { Room } from "matrix-js-sdk";
import { Room } from "matrix-js-sdk/src/matrix";
import './skinned-sdk';
import DeviceListener from "../src/DeviceListener";

View file

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import * as Matrix from 'matrix-js-sdk';
import * as Matrix from 'matrix-js-sdk/src/matrix';
import { startTermsFlow, Service } from '../src/Terms';
import { stubClient } from './test-utils';

View file

@ -1,6 +1,6 @@
import './skinned-sdk';
import { EventType, MatrixEvent } from "matrix-js-sdk";
import { EventType, MatrixEvent } from "matrix-js-sdk/src/matrix";
import TestRenderer from 'react-test-renderer';
import { getSenderName, textForEvent } from "../src/TextForEvent";

View file

@ -15,7 +15,7 @@ limitations under the License.
*/
import "../../skinned-sdk";
import { MatrixClient } from 'matrix-js-sdk';
import { MatrixClient } from 'matrix-js-sdk/src/matrix';
import { EventType } from "matrix-js-sdk/src/@types/event";
import { CallState } from "matrix-js-sdk/src/webrtc/call";

View file

@ -18,7 +18,7 @@ import React from 'react';
import ReactDOM from 'react-dom';
import ReactTestUtils from 'react-dom/test-utils';
import MockHttpBackend from 'matrix-mock-request';
import Matrix from 'matrix-js-sdk';
import * as Matrix from 'matrix-js-sdk/src/matrix';
import { MatrixClientPeg } from '../../../src/MatrixClientPeg';
import sdk from '../../skinned-sdk';

View file

@ -18,7 +18,7 @@ limitations under the License.
import React from 'react';
import ReactDOM from "react-dom";
import { EventEmitter } from "events";
import Matrix from 'matrix-js-sdk';
import * as Matrix from 'matrix-js-sdk/src/matrix';
import FakeTimers from '@sinonjs/fake-timers';
import { mount } from "enzyme";

View file

@ -22,7 +22,7 @@ import {
Room,
UNSTABLE_FILTER_RELATION_SENDERS,
UNSTABLE_FILTER_RELATION_TYPES,
} from 'matrix-js-sdk';
} from 'matrix-js-sdk/src/matrix';
import { mocked } from 'jest-mock';
import '../../skinned-sdk';

View file

@ -16,7 +16,7 @@ limitations under the License.
import React from 'react';
import { mount } from 'enzyme';
import { Room } from 'matrix-js-sdk';
import { Room } from 'matrix-js-sdk/src/matrix';
import { mocked } from 'jest-mock';
import { act } from 'react-dom/test-utils';

View file

@ -18,7 +18,7 @@ import React from 'react';
import { mount } from 'enzyme';
import { mocked } from 'jest-mock';
import { act } from "react-dom/test-utils";
import { Room } from 'matrix-js-sdk';
import { Room } from 'matrix-js-sdk/src/matrix';
import '../../../skinned-sdk';
import ExportDialog from '../../../../src/components/views/dialogs/ExportDialog';

View file

@ -18,7 +18,7 @@ import React from "react";
import ReactDOM from "react-dom";
import ReactTestUtils from "react-dom/test-utils";
import MockHttpBackend from "matrix-mock-request";
import Matrix from "matrix-js-sdk";
import * as Matrix from "matrix-js-sdk/src/matrix";
import { MatrixClientPeg } from "../../../../src/MatrixClientPeg";
import sdk from "../../../skinned-sdk";

View file

@ -2,7 +2,7 @@ import '../../../skinned-sdk'; // Must be first for skinning to work
import React from 'react';
import TestRenderer from 'react-test-renderer';
import { EventEmitter } from 'events';
import { MatrixEvent } from 'matrix-js-sdk';
import { MatrixEvent } from 'matrix-js-sdk/src/matrix';
import * as TestUtils from '../../../test-utils';
import { MatrixClientPeg } from '../../../../src/MatrixClientPeg';

View file

@ -16,7 +16,7 @@ limitations under the License.
import React from "react";
import { mount, ReactWrapper } from "enzyme";
import { Callback, IContent, MatrixClient, MatrixEvent, Room } from "matrix-js-sdk";
import { Callback, IContent, MatrixClient, MatrixEvent, Room } from "matrix-js-sdk/src/matrix";
import { ISendEventResponse } from "matrix-js-sdk/src/@types/requests";
import { Relations } from "matrix-js-sdk/src/models/relations";
import { RelatedRelations } from "matrix-js-sdk/src/models/related-relations";

View file

@ -17,7 +17,7 @@ limitations under the License.
import React from 'react';
import { mount } from 'enzyme';
import { act } from "react-dom/test-utils";
import { Room, User } from 'matrix-js-sdk';
import { Room, User } from 'matrix-js-sdk/src/matrix';
import { Phase, VerificationRequest } from 'matrix-js-sdk/src/crypto/verification/request/VerificationRequest';
import "../../../skinned-sdk";

View file

@ -1,6 +1,6 @@
import React from 'react';
import ReactDOM from 'react-dom';
import { Room, PendingEventOrdering, MatrixEvent, MatrixClient } from 'matrix-js-sdk';
import { Room, PendingEventOrdering, MatrixEvent, MatrixClient } from 'matrix-js-sdk/src/matrix';
import "../../../skinned-sdk";
import * as TestUtils from '../../../test-utils';

View file

@ -1,7 +1,7 @@
import React from 'react';
import ReactTestUtils from 'react-dom/test-utils';
import ReactDOM from 'react-dom';
import { MatrixClient, Room, RoomMember } from 'matrix-js-sdk';
import { MatrixClient, Room, RoomMember } from 'matrix-js-sdk/src/matrix';
import * as TestUtils from '../../../test-utils';
import { MatrixClientPeg } from '../../../../src/MatrixClientPeg';

View file

@ -21,7 +21,7 @@ import {
findRenderedDOMComponentWithClass,
act,
} from 'react-dom/test-utils';
import { Room, RoomMember, MatrixError, IContent } from 'matrix-js-sdk';
import { Room, RoomMember, MatrixError, IContent } from 'matrix-js-sdk/src/matrix';
import "../../../skinned-sdk";
import { stubClient } from '../../../test-utils';

View file

@ -2,7 +2,7 @@ import '../../../skinned-sdk';
import React, { ReactElement } from 'react';
import ReactDOM from 'react-dom';
import { MatrixClient } from 'matrix-js-sdk';
import { MatrixClient } from 'matrix-js-sdk/src/matrix';
import { MatrixClientPeg } from '../../../../src/MatrixClientPeg';
import * as TestUtils from '../../../test-utils';

View file

@ -15,7 +15,7 @@ limitations under the License.
import React from 'react';
import { mount } from 'enzyme';
import '../../../skinned-sdk';
import { IPushRule, IPushRules, RuleId } from 'matrix-js-sdk';
import { IPushRule, IPushRules, RuleId } from 'matrix-js-sdk/src/matrix';
import { ThreepidMedium } from 'matrix-js-sdk/src/@types/threepids';
import { act } from 'react-dom/test-utils';

View file

@ -17,7 +17,7 @@ limitations under the License.
import React from 'react';
import { mount } from 'enzyme';
import { mocked } from 'jest-mock';
import { MatrixClient } from 'matrix-js-sdk';
import { MatrixClient } from 'matrix-js-sdk/src/matrix';
import { act } from "react-dom/test-utils";
import '../../../skinned-sdk';

View file

@ -6,7 +6,7 @@ import {
Simulate,
} from 'react-dom/test-utils';
import { act } from "react-dom/test-utils";
import { EventType, MatrixClient, Room } from 'matrix-js-sdk';
import { EventType, MatrixClient, Room } from 'matrix-js-sdk/src/matrix';
import { GuestAccess, HistoryVisibility, JoinRule } from 'matrix-js-sdk/src/@types/partials';
import _SpaceSettingsVisibilityTab from "../../../../src/components/views/spaces/SpaceSettingsVisibilityTab";

View file

@ -15,7 +15,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import { MatrixClient } from "matrix-js-sdk";
import { MatrixClient } from "matrix-js-sdk/src/matrix";
import "../skinned-sdk"; // Must be first for skinning to work
import { VoiceRecording } from '../../src/audio/VoiceRecording';

View file

@ -15,7 +15,7 @@ limitations under the License.
*/
import "../skinned-sdk"; // Must be first for skinning to work
import { Room } from "matrix-js-sdk";
import { Room } from "matrix-js-sdk/src/matrix";
import WidgetStore, { IApp } from "../../src/stores/WidgetStore";
import { Container, WidgetLayoutStore } from "../../src/stores/widgets/WidgetLayoutStore";

View file

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import { MatrixEvent } from "matrix-js-sdk";
import { MatrixEvent } from "matrix-js-sdk/src/matrix";
import { POLL_ANSWER, M_TEXT, M_POLL_KIND_DISCLOSED, M_POLL_START } from "matrix-events-sdk";
import { PollStartEventPreview } from "../../../../src/stores/room-list/previews/PollStartEventPreview";

View file

@ -13,7 +13,7 @@ import {
RoomState,
EventType,
IEventRelation,
} from 'matrix-js-sdk';
} from 'matrix-js-sdk/src/matrix';
import { MatrixClientPeg as peg } from '../../src/MatrixClientPeg';
import dis from '../../src/dispatcher/dispatcher';

View file

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import { MatrixClient, MatrixEvent, RelationType, Room } from "matrix-js-sdk";
import { MatrixClient, MatrixEvent, RelationType, Room } from "matrix-js-sdk/src/matrix";
import { Thread } from "matrix-js-sdk/src/models/thread";
import { mkMessage, MessageEventProps } from "./test-utils";

View file

@ -15,7 +15,7 @@ limitations under the License.
*/
import React, { RefCallback } from "react";
import { MatrixClient } from "matrix-js-sdk";
import { MatrixClient } from "matrix-js-sdk/src/matrix";
import { MatrixClientPeg as peg } from '../../src/MatrixClientPeg';
import MatrixClientContext from "../../src/contexts/MatrixClientContext";

View file

@ -15,7 +15,7 @@ limitations under the License.
*/
import { renderToString } from "react-dom/server";
import { IContent, MatrixClient, MatrixEvent, Room } from "matrix-js-sdk";
import { IContent, MatrixClient, MatrixEvent, Room } from "matrix-js-sdk/src/matrix";
import { MatrixClientPeg } from "../../src/MatrixClientPeg";
import { IExportOptions, ExportType, ExportFormat } from "../../src/utils/exportUtils/exportUtils";