diff --git a/apps/meteor/app/api/server/ApiClass.ts b/apps/meteor/app/api/server/ApiClass.ts index e81788e6ec4a9..69bcc61aaa9b1 100644 --- a/apps/meteor/app/api/server/ApiClass.ts +++ b/apps/meteor/app/api/server/ApiClass.ts @@ -10,9 +10,11 @@ import { wrapExceptions } from '@rocket.chat/tools'; import type { ValidateFunction } from 'ajv'; import { Accounts } from 'meteor/accounts-base'; import { DDP } from 'meteor/ddp'; +// eslint-disable-next-line import/no-duplicates import { DDPCommon } from 'meteor/ddp-common'; import { Meteor } from 'meteor/meteor'; import type { RateLimiterOptionsToCheck } from 'meteor/rate-limit'; +// eslint-disable-next-line import/no-duplicates import { RateLimiter } from 'meteor/rate-limit'; import _ from 'underscore'; diff --git a/apps/meteor/client/meteor/overrides/login/facebook.ts b/apps/meteor/client/meteor/overrides/login/facebook.ts index 1e93da85386ed..8fdeac364ff79 100644 --- a/apps/meteor/client/meteor/overrides/login/facebook.ts +++ b/apps/meteor/client/meteor/overrides/login/facebook.ts @@ -1,7 +1,9 @@ import type { FacebookOAuthConfiguration } from '@rocket.chat/core-typings'; import { Random } from '@rocket.chat/random'; +// eslint-disable-next-line import/no-duplicates import { Facebook } from 'meteor/facebook-oauth'; import { Meteor } from 'meteor/meteor'; +// eslint-disable-next-line import/no-duplicates import { OAuth } from 'meteor/oauth'; import { createOAuthTotpLoginMethod } from './oauth'; diff --git a/apps/meteor/client/meteor/overrides/login/github.ts b/apps/meteor/client/meteor/overrides/login/github.ts index 93715380c9a5d..2402ed858a959 100644 --- a/apps/meteor/client/meteor/overrides/login/github.ts +++ b/apps/meteor/client/meteor/overrides/login/github.ts @@ -1,7 +1,9 @@ import { Random } from '@rocket.chat/random'; import { Accounts } from 'meteor/accounts-base'; +// eslint-disable-next-line import/no-duplicates import { Github } from 'meteor/github-oauth'; import { Meteor } from 'meteor/meteor'; +// eslint-disable-next-line import/no-duplicates import { OAuth } from 'meteor/oauth'; import { createOAuthTotpLoginMethod } from './oauth'; diff --git a/apps/meteor/client/meteor/overrides/login/google.ts b/apps/meteor/client/meteor/overrides/login/google.ts index bb987c566d64e..01d7be4143b2d 100644 --- a/apps/meteor/client/meteor/overrides/login/google.ts +++ b/apps/meteor/client/meteor/overrides/login/google.ts @@ -1,7 +1,9 @@ import { Random } from '@rocket.chat/random'; import { Accounts } from 'meteor/accounts-base'; +// eslint-disable-next-line import/no-duplicates import { Google } from 'meteor/google-oauth'; import { Meteor } from 'meteor/meteor'; +// eslint-disable-next-line import/no-duplicates import { OAuth } from 'meteor/oauth'; import { createOAuthTotpLoginMethod } from './oauth'; diff --git a/apps/meteor/client/meteor/overrides/login/meteorDeveloperAccount.ts b/apps/meteor/client/meteor/overrides/login/meteorDeveloperAccount.ts index 0879b1f0f0ef8..561d778ee52f3 100644 --- a/apps/meteor/client/meteor/overrides/login/meteorDeveloperAccount.ts +++ b/apps/meteor/client/meteor/overrides/login/meteorDeveloperAccount.ts @@ -1,5 +1,7 @@ import { Meteor } from 'meteor/meteor'; +// eslint-disable-next-line import/no-duplicates import { MeteorDeveloperAccounts } from 'meteor/meteor-developer-oauth'; +// eslint-disable-next-line import/no-duplicates import { OAuth } from 'meteor/oauth'; import { createOAuthTotpLoginMethod } from './oauth'; diff --git a/apps/meteor/client/meteor/overrides/login/twitter.ts b/apps/meteor/client/meteor/overrides/login/twitter.ts index cddeb305be871..f20de544b89b4 100644 --- a/apps/meteor/client/meteor/overrides/login/twitter.ts +++ b/apps/meteor/client/meteor/overrides/login/twitter.ts @@ -1,7 +1,9 @@ import type { TwitterOAuthConfiguration } from '@rocket.chat/core-typings'; import { Random } from '@rocket.chat/random'; import { Meteor } from 'meteor/meteor'; +// eslint-disable-next-line import/no-duplicates import { OAuth } from 'meteor/oauth'; +// eslint-disable-next-line import/no-duplicates import { Twitter } from 'meteor/twitter-oauth'; import { createOAuthTotpLoginMethod } from './oauth'; diff --git a/packages/eslint-config/imports/index.js b/packages/eslint-config/imports/index.js index 4637fd661af3e..5b0b65ec48697 100644 --- a/packages/eslint-config/imports/index.js +++ b/packages/eslint-config/imports/index.js @@ -147,7 +147,7 @@ module.exports = { 'error', { 'newlines-between': 'always', - 'groups': ['builtin', 'external', 'internal', ['parent', 'sibling', 'index']], + 'groups': ['builtin', ['external', 'internal'], ['parent', 'sibling', 'index']], 'alphabetize': { order: 'asc', }, diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index fe10b2f939bfe..d2b41c9033fcc 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -11,6 +11,7 @@ "@typescript-eslint/parser": "~5.60.1", "eslint": "~8.45.0", "eslint-config-prettier": "~9.1.0", + "eslint-import-resolver-typescript": "~4.4.4", "eslint-plugin-anti-trojan-source": "~1.1.1", "eslint-plugin-import": "~2.31.0", "eslint-plugin-jest": "~28.8.3", diff --git a/packages/eslint-config/standard/index.js b/packages/eslint-config/standard/index.js index 8dfe86cd29d7d..d0d3050c1c8e9 100644 --- a/packages/eslint-config/standard/index.js +++ b/packages/eslint-config/standard/index.js @@ -122,6 +122,7 @@ module.exports = { node: { extensions: ['.js', '.ts', '.tsx'], }, + typescript: {}, }, }, }, diff --git a/yarn.lock b/yarn.lock index 26dee18b2b923..210f430751330 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7280,6 +7280,7 @@ __metadata: "@typescript-eslint/parser": "npm:~5.60.1" eslint: "npm:~8.45.0" eslint-config-prettier: "npm:~9.1.0" + eslint-import-resolver-typescript: "npm:~4.4.4" eslint-plugin-anti-trojan-source: "npm:~1.1.1" eslint-plugin-import: "npm:~2.31.0" eslint-plugin-jest: "npm:~28.8.3" @@ -17607,6 +17608,18 @@ __metadata: languageName: node linkType: hard +"debug@npm:^4.4.1": + version: 4.4.1 + resolution: "debug@npm:4.4.1" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10/8e2709b2144f03c7950f8804d01ccb3786373df01e406a0f66928e47001cf2d336cbed9ee137261d4f90d68d8679468c755e3548ed83ddacdc82b194d2468afe + languageName: node + linkType: hard + "debug@npm:~3.1.0": version: 3.1.0 resolution: "debug@npm:3.1.0" @@ -19173,6 +19186,21 @@ __metadata: languageName: node linkType: hard +"eslint-import-context@npm:^0.1.8": + version: 0.1.9 + resolution: "eslint-import-context@npm:0.1.9" + dependencies: + get-tsconfig: "npm:^4.10.1" + stable-hash-x: "npm:^0.2.0" + peerDependencies: + unrs-resolver: ^1.0.0 + peerDependenciesMeta: + unrs-resolver: + optional: true + checksum: 10/f0778126bb3aae57c8c68946c71c4418927e9d39f72099b799d9c47a3b5712d6c9166b63ee8be58a020961dcc9216df09c856b825336af375ccbbdeedfc82a99 + languageName: node + linkType: hard + "eslint-import-resolver-node@npm:^0.3.9": version: 0.3.9 resolution: "eslint-import-resolver-node@npm:0.3.9" @@ -19184,6 +19212,30 @@ __metadata: languageName: node linkType: hard +"eslint-import-resolver-typescript@npm:~4.4.4": + version: 4.4.4 + resolution: "eslint-import-resolver-typescript@npm:4.4.4" + dependencies: + debug: "npm:^4.4.1" + eslint-import-context: "npm:^0.1.8" + get-tsconfig: "npm:^4.10.1" + is-bun-module: "npm:^2.0.0" + stable-hash-x: "npm:^0.2.0" + tinyglobby: "npm:^0.2.14" + unrs-resolver: "npm:^1.7.11" + peerDependencies: + eslint: "*" + eslint-plugin-import: "*" + eslint-plugin-import-x: "*" + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true + checksum: 10/4f871f6d1a04c55c2087c5ff1030f783a29abb59901b354d7ef58a0fc687d379dcbd08cf377cddeb7e19f26dd380d32d85ee4760e9410a059639d2b3df7d1ff3 + languageName: node + linkType: hard + "eslint-module-utils@npm:^2.12.0": version: 2.12.0 resolution: "eslint-module-utils@npm:2.12.0" @@ -20107,6 +20159,18 @@ __metadata: languageName: node linkType: hard +"fdir@npm:^6.5.0": + version: 6.5.0 + resolution: "fdir@npm:6.5.0" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10/14ca1c9f0a0e8f4f2e9bf4e8551065a164a09545dae548c12a18d238b72e51e5a7b39bd8e5494b56463a0877672d0a6c1ef62c6fa0677db1b0c847773be939b1 + languageName: node + linkType: hard + "fecha@npm:^4.2.0": version: 4.2.3 resolution: "fecha@npm:4.2.3" @@ -21036,6 +21100,15 @@ __metadata: languageName: node linkType: hard +"get-tsconfig@npm:^4.10.1": + version: 4.10.1 + resolution: "get-tsconfig@npm:4.10.1" + dependencies: + resolve-pkg-maps: "npm:^1.0.0" + checksum: 10/04d63f47fdecaefbd1f73ec02949be4ec4db7d6d9fbc8d4e81f9a4bb1c6f876e48943712f2f9236643d3e4d61d9a7b06da08564d08b034631ebe3f5605bef237 + languageName: node + linkType: hard + "getpass@npm:^0.1.1": version: 0.1.7 resolution: "getpass@npm:0.1.7" @@ -22789,6 +22862,15 @@ __metadata: languageName: node linkType: hard +"is-bun-module@npm:^2.0.0": + version: 2.0.0 + resolution: "is-bun-module@npm:2.0.0" + dependencies: + semver: "npm:^7.7.1" + checksum: 10/cded5a1a58368b847872d08617975d620ad94426d76a932f3e08d55b4574d199e0a62a4fb024fa2dc444200b71719eb0bffc5d3d1e1cc82e29b293bb8d66a990 + languageName: node + linkType: hard + "is-callable@npm:^1.1.3, is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" @@ -28763,6 +28845,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.3": + version: 4.0.3 + resolution: "picomatch@npm:4.0.3" + checksum: 10/57b99055f40b16798f2802916d9c17e9744e620a0db136554af01d19598b96e45e2f00014c91d1b8b13874b80caa8c295b3d589a3f72373ec4aaf54baa5962d5 + languageName: node + linkType: hard + "pidtree@npm:^0.3.0": version: 0.3.1 resolution: "pidtree@npm:0.3.1" @@ -31463,6 +31552,13 @@ __metadata: languageName: node linkType: hard +"resolve-pkg-maps@npm:^1.0.0": + version: 1.0.0 + resolution: "resolve-pkg-maps@npm:1.0.0" + checksum: 10/0763150adf303040c304009231314d1e84c6e5ebfa2d82b7d94e96a6e82bacd1dcc0b58ae257315f3c8adb89a91d8d0f12928241cba2df1680fbe6f60bf99b0e + languageName: node + linkType: hard + "resolve-url-loader@npm:~5.0.0": version: 5.0.0 resolution: "resolve-url-loader@npm:5.0.0" @@ -32175,7 +32271,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2, semver@npm:^7.6.3, semver@npm:^7.7.2": +"semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2, semver@npm:^7.6.3, semver@npm:^7.7.1, semver@npm:^7.7.2": version: 7.7.2 resolution: "semver@npm:7.7.2" bin: @@ -33040,6 +33136,13 @@ __metadata: languageName: node linkType: hard +"stable-hash-x@npm:^0.2.0": + version: 0.2.0 + resolution: "stable-hash-x@npm:0.2.0" + checksum: 10/136f05d0e4d441876012b423541476ff5b695c93b56d1959560be858b9e324ea6de6c16ecbd735a040ee8396427dd867bed0bf90b2cdb1fc422566747b91a0e5 + languageName: node + linkType: hard + "stable@npm:^0.1.8": version: 0.1.8 resolution: "stable@npm:0.1.8" @@ -34312,6 +34415,16 @@ __metadata: languageName: node linkType: hard +"tinyglobby@npm:^0.2.14": + version: 0.2.15 + resolution: "tinyglobby@npm:0.2.15" + dependencies: + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.3" + checksum: 10/d72bd826a8b0fa5fa3929e7fe5ba48fceb2ae495df3a231b6c5408cd7d8c00b58ab5a9c2a76ba56a62ee9b5e083626f1f33599734bed1ffc4b792406408f0ca2 + languageName: node + linkType: hard + "tinykeys@npm:^1.4.0": version: 1.4.0 resolution: "tinykeys@npm:1.4.0"