diff --git a/package.json b/package.json index 9944fbd28..47571e908 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "browser-request": "^0.3.3", "bs58": "^4.0.1", "content-type": "^1.0.4", + "eslint-plugin-import": "^2.25.2", "loglevel": "^1.7.1", "p-retry": "^4.5.0", "qs": "^6.9.6", diff --git a/spec/TestClient.js b/spec/TestClient.js index d4d756b98..4403da190 100644 --- a/spec/TestClient.js +++ b/spec/TestClient.js @@ -20,6 +20,7 @@ limitations under the License. import './olm-loader'; import MockHttpBackend from 'matrix-mock-request'; + import { LocalStorageCryptoStore } from '../src/crypto/store/localStorage-crypto-store'; import { logger } from '../src/logger'; import { WebStorageSessionStore } from "../src/store/session/webstorage"; diff --git a/spec/browserify/sync-browserify.spec.js b/spec/browserify/sync-browserify.spec.js index 8f5b3bf03..29c916fd5 100644 --- a/spec/browserify/sync-browserify.spec.js +++ b/spec/browserify/sync-browserify.spec.js @@ -17,9 +17,10 @@ limitations under the License. // load XmlHttpRequest mock import "./setupTests"; import "../../dist/browser-matrix"; // uses browser-matrix instead of the src +import MockHttpBackend from "matrix-mock-request"; + import { MockStorageApi } from "../MockStorageApi"; import { WebStorageSessionStore } from "../../src/store/session/webstorage"; -import MockHttpBackend from "matrix-mock-request"; import { LocalStorageCryptoStore } from "../../src/crypto/store/localStorage-crypto-store"; import * as utils from "../test-utils"; diff --git a/spec/integ/matrix-client-opts.spec.js b/spec/integ/matrix-client-opts.spec.js index 87f9285fb..32118a766 100644 --- a/spec/integ/matrix-client-opts.spec.js +++ b/spec/integ/matrix-client-opts.spec.js @@ -1,5 +1,6 @@ -import * as utils from "../test-utils"; import HttpBackend from "matrix-mock-request"; + +import * as utils from "../test-utils"; import { MatrixClient } from "../../src/matrix"; import { MatrixScheduler } from "../../src/scheduler"; import { MemoryStore } from "../../src/store/memory"; diff --git a/spec/integ/megolm-integ.spec.js b/spec/integ/megolm-integ.spec.js index f2150743e..73fcfa81d 100644 --- a/spec/integ/megolm-integ.spec.js +++ b/spec/integ/megolm-integ.spec.js @@ -16,6 +16,7 @@ limitations under the License. */ import anotherjson from "another-json"; + import * as testUtils from "../test-utils"; import { TestClient } from "../TestClient"; import { logger } from "../../src/logger"; diff --git a/spec/unit/ReEmitter.spec.ts b/spec/unit/ReEmitter.spec.ts index 0f139427f..3570b06fe 100644 --- a/spec/unit/ReEmitter.spec.ts +++ b/spec/unit/ReEmitter.spec.ts @@ -15,6 +15,7 @@ limitations under the License. */ import { EventEmitter } from "events"; + import { ReEmitter } from "../../src/ReEmitter"; const EVENTNAME = "UnknownEntry"; diff --git a/spec/unit/autodiscovery.spec.js b/spec/unit/autodiscovery.spec.js index cdce28eee..7fb9df0b7 100644 --- a/spec/unit/autodiscovery.spec.js +++ b/spec/unit/autodiscovery.spec.js @@ -16,6 +16,7 @@ limitations under the License. */ import MockHttpBackend from "matrix-mock-request"; + import * as sdk from "../../src"; import { AutoDiscovery } from "../../src/autodiscovery"; diff --git a/spec/unit/crypto.spec.js b/spec/unit/crypto.spec.js index 878f79fbd..3245a28c0 100644 --- a/spec/unit/crypto.spec.js +++ b/spec/unit/crypto.spec.js @@ -1,4 +1,6 @@ import '../olm-loader'; +import { EventEmitter } from "events"; + import { Crypto } from "../../src/crypto"; import { WebStorageSessionStore } from "../../src/store/session/webstorage"; import { MemoryCryptoStore } from "../../src/crypto/store/memory-crypto-store"; @@ -8,7 +10,6 @@ import { MatrixEvent } from "../../src/models/event"; import { Room } from "../../src/models/room"; import * as olmlib from "../../src/crypto/olmlib"; import { sleep } from "../../src/utils"; -import { EventEmitter } from "events"; import { CRYPTO_ENABLED } from "../../src/client"; import { DeviceInfo } from "../../src/crypto/deviceinfo"; diff --git a/spec/unit/crypto/cross-signing.spec.js b/spec/unit/crypto/cross-signing.spec.js index 8638c1f4d..b783d6f9f 100644 --- a/spec/unit/crypto/cross-signing.spec.js +++ b/spec/unit/crypto/cross-signing.spec.js @@ -17,6 +17,7 @@ limitations under the License. import '../../olm-loader'; import anotherjson from 'another-json'; + import * as olmlib from "../../../src/crypto/olmlib"; import { TestClient } from '../../TestClient'; import { HttpResponse, setHttpResponses } from '../../test-utils'; diff --git a/spec/unit/crypto/outgoing-room-key-requests.spec.js b/spec/unit/crypto/outgoing-room-key-requests.spec.js index 24b9325b4..4a18e1765 100644 --- a/spec/unit/crypto/outgoing-room-key-requests.spec.js +++ b/spec/unit/crypto/outgoing-room-key-requests.spec.js @@ -18,11 +18,11 @@ import { IndexedDBCryptoStore, } from '../../../src/crypto/store/indexeddb-crypto-store'; import { MemoryCryptoStore } from '../../../src/crypto/store/memory-crypto-store'; +import { RoomKeyRequestState } from '../../../src/crypto/OutgoingRoomKeyRequestManager'; + import 'fake-indexeddb/auto'; import 'jest-localstorage-mock'; -import { RoomKeyRequestState } from '../../../src/crypto/OutgoingRoomKeyRequestManager'; - const requests = [ { requestId: "A", diff --git a/spec/unit/crypto/secrets.spec.js b/spec/unit/crypto/secrets.spec.js index 2a86dfaa1..e8a5a4015 100644 --- a/spec/unit/crypto/secrets.spec.js +++ b/spec/unit/crypto/secrets.spec.js @@ -23,7 +23,6 @@ import { makeTestClients } from './verification/util'; import { encryptAES } from "../../../src/crypto/aes"; import { resetCrossSigningKeys, createSecretStorageKey } from "./crypto-utils"; import { logger } from '../../../src/logger'; - import * as utils from "../../../src/utils"; try { diff --git a/spec/unit/crypto/verification/InRoomChannel.spec.js b/spec/unit/crypto/verification/InRoomChannel.spec.js index 634d75c4f..90fd05b47 100644 --- a/spec/unit/crypto/verification/InRoomChannel.spec.js +++ b/spec/unit/crypto/verification/InRoomChannel.spec.js @@ -14,8 +14,8 @@ See the License for the specific language governing permissions and limitations under the License. */ import { InRoomChannel } from "../../../../src/crypto/verification/request/InRoomChannel"; - "../../../../src/crypto/verification/request/ToDeviceChannel"; import { MatrixEvent } from "../../../../src/models/event"; + "../../../../src/crypto/verification/request/ToDeviceChannel"; describe("InRoomChannel tests", function() { const ALICE = "@alice:hs.tld"; diff --git a/spec/unit/crypto/verification/util.js b/spec/unit/crypto/verification/util.js index 27f445539..a6532dff1 100644 --- a/spec/unit/crypto/verification/util.js +++ b/spec/unit/crypto/verification/util.js @@ -15,9 +15,10 @@ See the License for the specific language governing permissions and limitations under the License. */ +import nodeCrypto from "crypto"; + import { TestClient } from '../../../TestClient'; import { MatrixEvent } from "../../../../src/models/event"; -import nodeCrypto from "crypto"; import { logger } from '../../../../src/logger'; export async function makeTestClients(userInfos, options) { diff --git a/src/autodiscovery.ts b/src/autodiscovery.ts index dd24bddc2..5c19e6611 100644 --- a/src/autodiscovery.ts +++ b/src/autodiscovery.ts @@ -17,9 +17,10 @@ limitations under the License. /** @module auto-discovery */ +import { URL as NodeURL } from "url"; + import { IClientWellKnown, IWellKnownConfig } from "./client"; import { logger } from './logger'; -import { URL as NodeURL } from "url"; // Dev note: Auto discovery is part of the spec. // See: https://matrix.org/docs/spec/client_server/r0.4.0.html#server-discovery diff --git a/src/browser-index.js b/src/browser-index.js index dfa3f4d68..b82e82981 100644 --- a/src/browser-index.js +++ b/src/browser-index.js @@ -14,10 +14,11 @@ See the License for the specific language governing permissions and limitations under the License. */ -import * as matrixcs from "./matrix"; import request from "browser-request"; import queryString from "qs"; +import * as matrixcs from "./matrix"; + matrixcs.request(function(opts, fn) { // We manually fix the query string for browser-request because // it doesn't correctly handle cases like ?via=one&via=two. Instead diff --git a/src/client.ts b/src/client.ts index 254cfb0e0..ce5a01381 100644 --- a/src/client.ts +++ b/src/client.ts @@ -20,6 +20,8 @@ limitations under the License. */ import { EventEmitter } from "events"; +import { ReadStream } from "fs"; + import { ISyncStateData, SyncApi } from "./sync"; import { EventStatus, IContent, IDecryptOptions, IEvent, MatrixEvent } from "./models/event"; import { StubStore } from "./store/stub"; @@ -128,7 +130,6 @@ import { import { IAbortablePromise, IdServerUnbindResult, IImageInfo, Preset, Visibility } from "./@types/partials"; import { EventMapper, eventMapperFor, MapperOpts } from "./event-mapper"; import { randomString } from "./randomstring"; -import { ReadStream } from "fs"; import { WebStorageSessionStore } from "./store/session/webstorage"; import { BackupManager, IKeyBackup, IKeyBackupCheck, IPreparedKeyBackupVersion, TrustInfo } from "./crypto/backup"; import { DEFAULT_TREE_POWER_LEVELS_TEMPLATE, MSC3089TreeSpace } from "./models/MSC3089TreeSpace"; diff --git a/src/crypto/CrossSigning.ts b/src/crypto/CrossSigning.ts index 90359015f..8eda069a4 100644 --- a/src/crypto/CrossSigning.ts +++ b/src/crypto/CrossSigning.ts @@ -20,12 +20,12 @@ limitations under the License. */ import { EventEmitter } from 'events'; +import { PkSigning } from "@matrix-org/olm"; import { decodeBase64, encodeBase64, pkSign, pkVerify } from './olmlib'; import { logger } from '../logger'; import { IndexedDBCryptoStore } from '../crypto/store/indexeddb-crypto-store'; import { decryptAES, encryptAES } from './aes'; -import { PkSigning } from "@matrix-org/olm"; import { DeviceInfo } from "./deviceinfo"; import { SecretStorage } from "./SecretStorage"; import { ICrossSigningKey, ISignedKey, MatrixClient } from "../client"; diff --git a/src/crypto/EncryptionSetup.ts b/src/crypto/EncryptionSetup.ts index ebbfe5941..88bf7b990 100644 --- a/src/crypto/EncryptionSetup.ts +++ b/src/crypto/EncryptionSetup.ts @@ -14,9 +14,10 @@ See the License for the specific language governing permissions and limitations under the License. */ +import { EventEmitter } from "events"; + import { logger } from "../logger"; import { MatrixEvent } from "../models/event"; -import { EventEmitter } from "events"; import { createCryptoStoreCacheCallbacks, ICacheCallbacks } from "./CrossSigning"; import { IndexedDBCryptoStore } from './store/indexeddb-crypto-store'; import { PREFIX_UNSTABLE } from "../http-api"; diff --git a/src/crypto/OlmDevice.ts b/src/crypto/OlmDevice.ts index 0710d76b8..2fd1858ab 100644 --- a/src/crypto/OlmDevice.ts +++ b/src/crypto/OlmDevice.ts @@ -14,12 +14,13 @@ See the License for the specific language governing permissions and limitations under the License. */ +import { Account, InboundGroupSession, OutboundGroupSession, Session, Utility } from "@matrix-org/olm"; +import { Logger } from "loglevel"; + import { logger } from '../logger'; import { IndexedDBCryptoStore } from './store/indexeddb-crypto-store'; import * as algorithms from './algorithms'; import { CryptoStore, IProblem, ISessionInfo, IWithheld } from "./store/base"; -import { Account, InboundGroupSession, OutboundGroupSession, Session, Utility } from "@matrix-org/olm"; -import { Logger } from "loglevel"; import { IOlmDevice, IOutboundGroupSessionKey } from "./algorithms/megolm"; import { IMegolmSessionData } from "./index"; diff --git a/src/crypto/SecretStorage.ts b/src/crypto/SecretStorage.ts index 9be7ab66c..cba954d5c 100644 --- a/src/crypto/SecretStorage.ts +++ b/src/crypto/SecretStorage.ts @@ -14,6 +14,8 @@ See the License for the specific language governing permissions and limitations under the License. */ +import { EventEmitter } from 'stream'; + import { logger } from '../logger'; import * as olmlib from './olmlib'; import { randomString } from '../randomstring'; @@ -21,7 +23,6 @@ import { encryptAES, decryptAES, IEncryptedPayload, calculateKeyCheck } from './ import { encodeBase64 } from "./olmlib"; import { ICryptoCallbacks, MatrixClient, MatrixEvent } from '../matrix'; import { IAddSecretStorageKeyOpts, ISecretStorageKeyInfo } from './api'; -import { EventEmitter } from 'stream'; export const SECRET_STORAGE_ALGORITHM_V1_AES = "m.secret_storage.v1.aes-hmac-sha2"; diff --git a/src/crypto/aes.ts b/src/crypto/aes.ts index a56531602..077c0afd0 100644 --- a/src/crypto/aes.ts +++ b/src/crypto/aes.ts @@ -15,7 +15,6 @@ limitations under the License. */ import type { BinaryLike } from "crypto"; - import { getCrypto } from '../utils'; import { decodeBase64, encodeBase64 } from './olmlib'; diff --git a/src/crypto/dehydration.ts b/src/crypto/dehydration.ts index 5e05ab118..c9a9211fa 100644 --- a/src/crypto/dehydration.ts +++ b/src/crypto/dehydration.ts @@ -14,10 +14,11 @@ See the License for the specific language governing permissions and limitations under the License. */ +import anotherjson from "another-json"; + import { decodeBase64, encodeBase64 } from './olmlib'; import { IndexedDBCryptoStore } from '../crypto/store/indexeddb-crypto-store'; import { decryptAES, encryptAES } from './aes'; -import anotherjson from "another-json"; import { logger } from '../logger'; import { ISecretStorageKeyInfo } from "./api"; import { Crypto } from "./index"; diff --git a/src/crypto/olmlib.ts b/src/crypto/olmlib.ts index f0424f672..fe90607d9 100644 --- a/src/crypto/olmlib.ts +++ b/src/crypto/olmlib.ts @@ -21,9 +21,9 @@ limitations under the License. */ import anotherjson from "another-json"; -import type { PkSigning } from "@matrix-org/olm"; import { Logger } from "loglevel"; +import type { PkSigning } from "@matrix-org/olm"; import { OlmDevice } from "./OlmDevice"; import { DeviceInfo } from "./deviceinfo"; import { logger } from '../logger'; diff --git a/src/crypto/verification/Base.ts b/src/crypto/verification/Base.ts index bd8f275b0..a47c09607 100644 --- a/src/crypto/verification/Base.ts +++ b/src/crypto/verification/Base.ts @@ -20,8 +20,9 @@ limitations under the License. * @module crypto/verification/Base */ -import { MatrixEvent } from '../../models/event'; import { EventEmitter } from 'events'; + +import { MatrixEvent } from '../../models/event'; import { logger } from '../../logger'; import { DeviceInfo } from '../deviceinfo'; import { newTimeoutError } from "./Error"; diff --git a/src/crypto/verification/SAS.ts b/src/crypto/verification/SAS.ts index 9ec4756d8..5582ff4f4 100644 --- a/src/crypto/verification/SAS.ts +++ b/src/crypto/verification/SAS.ts @@ -19,8 +19,10 @@ limitations under the License. * @module crypto/verification/SAS */ -import { VerificationBase as Base, SwitchStartEventError } from "./Base"; import anotherjson from 'another-json'; +import { Utility, SAS as OlmSAS } from "@matrix-org/olm"; + +import { VerificationBase as Base, SwitchStartEventError } from "./Base"; import { errorFactory, newInvalidMessageError, @@ -29,7 +31,6 @@ import { newUserCancelledError, } from './Error'; import { logger } from '../../logger'; -import { Utility, SAS as OlmSAS } from "@matrix-org/olm"; import { IContent, MatrixEvent } from "../../models/event"; const START_TYPE = "m.key.verification.start"; diff --git a/src/crypto/verification/request/VerificationRequest.ts b/src/crypto/verification/request/VerificationRequest.ts index 67af57930..5d145508b 100644 --- a/src/crypto/verification/request/VerificationRequest.ts +++ b/src/crypto/verification/request/VerificationRequest.ts @@ -14,8 +14,9 @@ See the License for the specific language governing permissions and limitations under the License. */ -import { logger } from '../../../logger'; import { EventEmitter } from 'events'; + +import { logger } from '../../../logger'; import { errorFactory, errorFromEvent, diff --git a/src/http-api.js b/src/http-api.js index a3d3c155b..3b73484d1 100644 --- a/src/http-api.js +++ b/src/http-api.js @@ -21,9 +21,9 @@ limitations under the License. */ import { parse as parseContentType } from "content-type"; + import * as utils from "./utils"; import { logger } from './logger'; - // we use our own implementation of setTimeout, so that if we get suspended in // the middle of a /sync, we cancel the sync as soon as we awake, rather than // waiting for the delay to elapse. diff --git a/src/index.ts b/src/index.ts index a6f542a84..a67a56799 100644 --- a/src/index.ts +++ b/src/index.ts @@ -14,10 +14,11 @@ See the License for the specific language governing permissions and limitations under the License. */ +import request from "request"; + import * as matrixcs from "./matrix"; import * as utils from "./utils"; import { logger } from './logger'; -import request from "request"; matrixcs.request(request); diff --git a/src/models/MSC3089TreeSpace.ts b/src/models/MSC3089TreeSpace.ts index 417d38987..48209dbc0 100644 --- a/src/models/MSC3089TreeSpace.ts +++ b/src/models/MSC3089TreeSpace.ts @@ -14,6 +14,8 @@ See the License for the specific language governing permissions and limitations under the License. */ +import promiseRetry from "p-retry"; + import { MatrixClient } from "../client"; import { EventType, IEncryptedFile, MsgType, UNSTABLE_MSC3089_BRANCH, UNSTABLE_MSC3089_LEAF } from "../@types/event"; import { Room } from "./room"; @@ -28,7 +30,6 @@ import { simpleRetryOperation, } from "../utils"; import { MSC3089Branch } from "./MSC3089Branch"; -import promiseRetry from "p-retry"; import { isRoomSharedHistory } from "../crypto/algorithms/megolm"; import { ISendEventResponse } from "../@types/requests"; import type { ReadStream } from "fs"; diff --git a/src/models/group.js b/src/models/group.js index 250e37733..44fae3166 100644 --- a/src/models/group.js +++ b/src/models/group.js @@ -20,9 +20,10 @@ limitations under the License. * @deprecated groups/communities never made it to the spec and support for them is being discontinued. */ -import * as utils from "../utils"; import { EventEmitter } from "events"; +import * as utils from "../utils"; + /** * Construct a new Group. * diff --git a/src/utils.ts b/src/utils.ts index b18aadf49..a4862b1ce 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -22,6 +22,7 @@ limitations under the License. import unhomoglyph from "unhomoglyph"; import promiseRetry from "p-retry"; + import type NodeCrypto from "crypto"; /** diff --git a/src/webrtc/call.ts b/src/webrtc/call.ts index fbc213040..205895a54 100644 --- a/src/webrtc/call.ts +++ b/src/webrtc/call.ts @@ -21,8 +21,9 @@ limitations under the License. * @module webrtc/call */ -import { logger } from '../logger'; import { EventEmitter } from 'events'; + +import { logger } from '../logger'; import * as utils from '../utils'; import { MatrixEvent } from '../models/event'; import { EventType } from '../@types/event'; diff --git a/src/webrtc/callFeed.ts b/src/webrtc/callFeed.ts index 02814c144..0c23f3832 100644 --- a/src/webrtc/callFeed.ts +++ b/src/webrtc/callFeed.ts @@ -15,6 +15,7 @@ limitations under the License. */ import EventEmitter from "events"; + import { SDPStreamMetadataPurpose } from "./callEventTypes"; import { MatrixClient } from "../client"; import { RoomMember } from "../models/room-member"; diff --git a/yarn.lock b/yarn.lock index 4e7c750a5..353b04d94 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1463,6 +1463,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + "@types/node@*": version "16.11.1" resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.1.tgz#2e50a649a50fc403433a14f829eface1a3443e97" @@ -1791,6 +1796,17 @@ arr-union@^3.1.0: resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= +array-includes@^3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" + integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + is-string "^1.0.7" + array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" @@ -1801,6 +1817,15 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= +array.prototype.flat@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" + integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + asap@~2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" @@ -2856,13 +2881,20 @@ debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: dependencies: ms "2.1.2" -debug@^2.2.0, debug@^2.3.3: +debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + decamelize@^1.0.0, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -2995,6 +3027,13 @@ docdash@^1.2.0: resolved "https://registry.yarnpkg.com/docdash/-/docdash-1.2.0.tgz#f99dde5b8a89aa4ed083a3150383e042d06c7f49" integrity sha512-IYZbgYthPTspgqYeciRJNPhSwL51yer7HAwDXhF5p+H7mTDbPvY3PCk/QDjNxdPCpWkaJVFC4t7iCNB/t9E5Kw== +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + doctrine@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" @@ -3220,6 +3259,42 @@ eslint-config-google@^0.14.0: resolved "https://registry.yarnpkg.com/eslint-config-google/-/eslint-config-google-0.14.0.tgz#4f5f8759ba6e11b424294a219dbfa18c508bcc1a" integrity sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw== +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== + dependencies: + debug "^3.2.7" + resolve "^1.20.0" + +eslint-module-utils@^2.7.0: + version "2.7.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz#b435001c9f8dd4ab7f6d0efcae4b9696d4c24b7c" + integrity sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ== + dependencies: + debug "^3.2.7" + find-up "^2.1.0" + pkg-dir "^2.0.0" + +eslint-plugin-import@^2.25.2: + version "2.25.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.2.tgz#b3b9160efddb702fc1636659e71ba1d10adbe9e9" + integrity sha512-qCwQr9TYfoBHOFcVGKY9C9unq05uOxxdklmBXLVvcwo68y5Hta6/GzCZEMx2zQiu0woKNEER0LE7ZgaOfBU14g== + dependencies: + array-includes "^3.1.4" + array.prototype.flat "^1.2.5" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.7.0" + has "^1.0.3" + is-core-module "^2.7.0" + is-glob "^4.0.3" + minimatch "^3.0.4" + object.values "^1.1.5" + resolve "^1.20.0" + tsconfig-paths "^3.11.0" + "eslint-plugin-matrix-org@github:matrix-org/eslint-plugin-matrix-org#2306b3d4da4eba908b256014b979f1d3d43d2945": version "0.3.5" resolved "https://codeload.github.com/matrix-org/eslint-plugin-matrix-org/tar.gz/2306b3d4da4eba908b256014b979f1d3d43d2945" @@ -3599,6 +3674,13 @@ find-cache-dir@^2.0.0: make-dir "^2.0.0" pkg-dir "^3.0.0" +find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" @@ -4191,7 +4273,7 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.2.0: +is-core-module@^2.2.0, is-core-module@^2.7.0: version "2.8.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== @@ -4318,7 +4400,7 @@ is-generator-function@^1.0.10, is-generator-function@^1.0.7: dependencies: has-tostringtag "^1.0.0" -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -5060,6 +5142,13 @@ json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + json5@^2.1.2: version "2.2.0" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" @@ -5172,6 +5261,14 @@ linkify-it@^2.0.0: dependencies: uc.micro "^1.0.1" +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" @@ -5529,6 +5626,11 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -5725,6 +5827,15 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" +object.values@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -5783,6 +5894,13 @@ p-finally@^1.0.0: resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -5797,6 +5915,13 @@ p-limit@^3.0.2: dependencies: yocto-queue "^0.1.0" +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" @@ -5826,6 +5951,11 @@ p-retry@^4.5.0: "@types/retry" "^0.12.0" retry "^0.13.1" +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -5971,6 +6101,13 @@ pirates@^4.0.0, pirates@^4.0.1: dependencies: node-modules-regexp "^1.0.0" +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + pkg-dir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" @@ -6550,7 +6687,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.1.4, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.4.0: +resolve@^1.1.4, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.20.0, resolve@^1.4.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -7024,6 +7161,11 @@ strip-bom@^2.0.0: dependencies: is-utf8 "^0.2.0" +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + strip-bom@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" @@ -7274,6 +7416,16 @@ ts-map@^1.0.3: resolved "https://registry.yarnpkg.com/ts-map/-/ts-map-1.0.3.tgz#1c4d218dec813d2103b7e04e4bcf348e1471c1ff" integrity sha512-vDWbsl26LIcPGmDpoVzjEP6+hvHZkBkLW7JpvwbCv/5IYPJlsbzCVXY3wsCeAxAUeTclNOUZxnLdGh3VBD/J6w== +tsconfig-paths@^3.11.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36" + integrity sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.0" + strip-bom "^3.0.0" + tsconfig@^5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-5.0.3.tgz#5f4278e701800967a8fc383fd19648878f2a6e3a"