diff --git a/configs/eslint-config-mongosh/index.js b/configs/eslint-config-mongosh/index.js index b740b20156..71301c52f4 100644 --- a/configs/eslint-config-mongosh/index.js +++ b/configs/eslint-config-mongosh/index.js @@ -3,8 +3,7 @@ const shared = require('@mongodb-js/eslint-config-devtools'); const common = require('@mongodb-js/eslint-config-devtools/common'); -// TODO(MONGOSH-1508) we need to turn these back into errors (and fix them) or ticket them -const tempRules = { +const extraJSRules = { 'jsx-a11y/no-autofocus': 1, 'jsx-a11y/click-events-have-key-events': 1, 'jsx-a11y/no-static-element-interactions': 1, @@ -14,28 +13,30 @@ const tempRules = { 'mocha/max-top-level-suites': 1, 'mocha/no-sibling-hooks': 1, + // this would disallow our locale files' filenames like de_DE.ts 'filename-rules/match': 1, - 'no-useless-escape': 1, - 'no-undef': 1, - 'no-prototype-builtins': 1, - 'no-async-promise-executor': 1, + // TODO(MONGOSH-1580): re-enable this rule 'no-case-declarations': 1, }; -// TODO(MONGOSH-1508) we need to turn these back into errors (and fix them) or ticket them -const tempTypescriptRules = { +const extraTypescriptRules = { + // this rule causes many false positives, so we leave it to just warn '@typescript-eslint/no-unnecessary-type-assertion': 1, + + // TODO(MONGOSH-1581): re-enable this rule '@typescript-eslint/restrict-plus-operands': 1, + // TODO(MONGOSH-1582): re-enable this rule '@typescript-eslint/no-var-requires': 1, + // TODO(MONGOSH-1583): re-enable this rule '@typescript-eslint/restrict-template-expressions': 1, + // TODO(MONGOSH-1584): re-enable this rule '@typescript-eslint/no-empty-function': 1, + // TODO(MONGOSH-1585): re-enable this rule '@typescript-eslint/no-misused-promises': 1, - '@typescript-eslint/consistent-type-imports': 1, + // TODO(MONGOSH-1586): re-enable this rule '@typescript-eslint/unbound-method': 1, - '@typescript-eslint/no-implied-eval': 1, - '@typescript-eslint/no-unused-vars': 1, - '@typescript-eslint/prefer-regexp-exec': 1, + // TODO(MONGOSH-1587): re-enable this rule '@typescript-eslint/ban-types': 1, }; @@ -52,37 +53,37 @@ module.exports = { ...common.jsOverrides, rules: { ...common.jsRules, - ...tempRules, + ...extraJSRules, }, }, { ...common.jsxOverrides, rules: { ...common.jsxRules, - ...tempRules, + ...extraJSRules, }, }, { ...common.tsOverrides, rules: { ...common.tsRules, - ...tempRules, - ...tempTypescriptRules, + ...extraJSRules, + ...extraTypescriptRules, }, }, { ...common.tsxOverrides, rules: { ...common.tsxRules, - ...tempRules, - ...tempTypescriptRules, + ...extraJSRules, + ...extraTypescriptRules, }, }, { ...common.testOverrides, rules: { ...common.testRules, - ...tempRules, + ...extraJSRules, }, }, { @@ -90,8 +91,8 @@ module.exports = { files: ['**/*.spec.ts', '**/*.spec.tsx', '**/*.test.tsx', '**/*.test.ts'], rules: { ...common.testRules, - ...tempRules, - ...tempTypescriptRules, + ...extraJSRules, + ...extraTypescriptRules, }, }, ], diff --git a/packages/build/src/download-center/config.spec.ts b/packages/build/src/download-center/config.spec.ts index 0daa70b0c8..ac039c01f5 100644 --- a/packages/build/src/download-center/config.spec.ts +++ b/packages/build/src/download-center/config.spec.ts @@ -10,7 +10,8 @@ import { createAndPublishDownloadCenterConfig, createJsonFeedEntry, } from './config'; -import { Server as HTTPServer, createServer as createHTTPServer } from 'http'; +import { createServer as createHTTPServer } from 'http'; +import type { Server as HTTPServer } from 'http'; import { once } from 'events'; import path from 'path'; import fetch from 'node-fetch'; diff --git a/packages/build/src/homebrew/generate-formula.spec.ts b/packages/build/src/homebrew/generate-formula.spec.ts index 9f87038918..5005791ac4 100644 --- a/packages/build/src/homebrew/generate-formula.spec.ts +++ b/packages/build/src/homebrew/generate-formula.spec.ts @@ -29,8 +29,8 @@ class Mongosh < Formula end test do - assert_match "ECONNREFUSED 0.0.0.0:1", shell_output("#{bin}/mongosh \"mongodb://0.0.0.0:1\" 2>&1", 1) - assert_match "#ok#", shell_output("#{bin}/mongosh --nodb --eval \"print('#ok#')\"") + assert_match "ECONNREFUSED 0.0.0.0:1", shell_output("#{bin}/mongosh \\"mongodb://0.0.0.0:1\\" 2>&1", 1) + assert_match "#ok#", shell_output("#{bin}/mongosh --nodb --eval \\"print('#ok#')\\"") end end`; @@ -75,8 +75,8 @@ class Mongosh < Formula end test do - assert_match "ECONNREFUSED 0.0.0.0:1", shell_output("#{bin}/mongosh \"mongodb://0.0.0.0:1\" 2>&1", 1) - assert_match "#ok#", shell_output("#{bin}/mongosh --nodb --eval \"print('#ok#')\"") + assert_match "ECONNREFUSED 0.0.0.0:1", shell_output("#{bin}/mongosh \\"mongodb://0.0.0.0:1\\" 2>&1", 1) + assert_match "#ok#", shell_output("#{bin}/mongosh --nodb --eval \\"print('#ok#')\\"") end end`; expect( diff --git a/packages/build/src/homebrew/generate-formula.ts b/packages/build/src/homebrew/generate-formula.ts index 5c03f28a64..7671dd116c 100644 --- a/packages/build/src/homebrew/generate-formula.ts +++ b/packages/build/src/homebrew/generate-formula.ts @@ -11,8 +11,8 @@ export async function generateUpdatedFormula( 'master' ); - const urlMatch = /url \"([^"]+)\"/g.exec(currentFormula.content); - const shaMatch = /sha256 \"([^"]+)\"/g.exec(currentFormula.content); + const urlMatch = /url "([^"]+)"/g.exec(currentFormula.content); + const shaMatch = /sha256 "([^"]+)"/g.exec(currentFormula.content); if (!urlMatch || !shaMatch) { throw new Error( @@ -45,9 +45,9 @@ export async function generateUpdatedFormula( } let newFormula = currentFormula.content; - newFormula = newFormula.replace(/url \"([^"]+)\"/g, `url "${newUrl}"`); + newFormula = newFormula.replace(/url "([^"]+)"/g, `url "${newUrl}"`); newFormula = newFormula.replace( - /sha256 \"([^"]+)\"/g, + /sha256 "([^"]+)"/g, `sha256 "${context.sha}"` ); return newFormula; diff --git a/packages/cli-repl/src/crypt-library-paths.ts b/packages/cli-repl/src/crypt-library-paths.ts index 565b48b4cc..e63ede71be 100644 --- a/packages/cli-repl/src/crypt-library-paths.ts +++ b/packages/cli-repl/src/crypt-library-paths.ts @@ -24,6 +24,7 @@ export async function getCryptLibraryPaths( ): Promise { const execPath = pretendProcessExecPathForTesting ?? process.execPath; + // eslint-disable-next-line @typescript-eslint/consistent-type-imports let getCryptSharedLibraryVersion: typeof import('mongodb-crypt-library-version'); try { getCryptSharedLibraryVersion = require('mongodb-crypt-library-version'); diff --git a/packages/cli-repl/src/mongosh-repl.ts b/packages/cli-repl/src/mongosh-repl.ts index 01540f054e..f3858b343d 100644 --- a/packages/cli-repl/src/mongosh-repl.ts +++ b/packages/cli-repl/src/mongosh-repl.ts @@ -485,6 +485,7 @@ class MongoshNodeRepl implements EvaluationListener { * * @param _initializationToken A value obtained by calling {@link MongoshNodeRepl.initialize}. */ + // eslint-disable-next-line @typescript-eslint/no-unused-vars async startRepl(_initializationToken: InitializationToken): Promise { this.started = true; const { repl } = this.runtimeState(); diff --git a/packages/cli-repl/test/fixtures/load/hello1.js b/packages/cli-repl/test/fixtures/load/hello1.js index 78f0eacd0d..d347e3549c 100644 --- a/packages/cli-repl/test/fixtures/load/hello1.js +++ b/packages/cli-repl/test/fixtures/load/hello1.js @@ -1 +1,2 @@ +/* eslint-disable no-undef */ print('hello one'); diff --git a/packages/cli-repl/test/fixtures/load/hello2.js b/packages/cli-repl/test/fixtures/load/hello2.js index 9798355f30..b2be3b6594 100644 --- a/packages/cli-repl/test/fixtures/load/hello2.js +++ b/packages/cli-repl/test/fixtures/load/hello2.js @@ -1 +1,2 @@ +/* eslint-disable no-undef */ print('hello two'); diff --git a/packages/cli-repl/test/fixtures/load/insertintotest.js b/packages/cli-repl/test/fixtures/load/insertintotest.js index bd5b6c1fdb..4ce8d98834 100644 --- a/packages/cli-repl/test/fixtures/load/insertintotest.js +++ b/packages/cli-repl/test/fixtures/load/insertintotest.js @@ -1,2 +1,3 @@ +/* eslint-disable no-undef */ insertTestCollection = db.getSiblingDB('test').getCollection('insertTest' + ((Math.random() * 100000) | 0)); print('Inserted:', insertTestCollection.insertOne({}).insertedId) diff --git a/packages/cli-repl/test/fixtures/load/printisinteractive.js b/packages/cli-repl/test/fixtures/load/printisinteractive.js index de855f19d1..259a9cd87e 100644 --- a/packages/cli-repl/test/fixtures/load/printisinteractive.js +++ b/packages/cli-repl/test/fixtures/load/printisinteractive.js @@ -1 +1,2 @@ +/* eslint-disable no-undef */ print(`isInteractive=${isInteractive()}`) diff --git a/packages/e2e-tests/test/e2e-fle.spec.ts b/packages/e2e-tests/test/e2e-fle.spec.ts index b140315c2b..69ae217a0f 100644 --- a/packages/e2e-tests/test/e2e-fle.spec.ts +++ b/packages/e2e-tests/test/e2e-fle.spec.ts @@ -14,7 +14,6 @@ import { once } from 'events'; import { serialize } from 'v8'; import { inspect } from 'util'; import path from 'path'; -import os from 'os'; describe('FLE tests', function () { const testServer = startTestServer('e2e-fle', { diff --git a/packages/e2e-tests/test/e2e.spec.ts b/packages/e2e-tests/test/e2e.spec.ts index 33d94c728b..48c4773244 100644 --- a/packages/e2e-tests/test/e2e.spec.ts +++ b/packages/e2e-tests/test/e2e.spec.ts @@ -454,7 +454,7 @@ describe('e2e', function () { } });`); - expect(result).to.match(/Violations\:/); + expect(result).to.match(/Violations:/); // Two duplicated ids expect(result).to.match(/ids: \[\s+ObjectId.+?\s+?ObjectId.+?\s+\]/m); }); @@ -695,6 +695,7 @@ describe('e2e', function () { skipIfServerVersion(testServer, '<= 4.4'); it('displays errInfo to the user', async function () { + /* eslint-disable no-useless-escape */ await shell.executeLine(`db.createCollection('contacts', { validator: { $and: [ @@ -704,6 +705,7 @@ describe('e2e', function () { ] } });`); + /* eslint-enable no-useless-escape */ const result = await shell.executeLine(`db.contacts.insertOne({ email: "test@mongodb.com", status: "Unknown" });`); @@ -716,7 +718,7 @@ describe('e2e', function () { validator: { $and: [ { phone: { $type: "string" } }, - { email: { $regex: /@mongodb\.com$/ } }, + { email: { $regex: /@mongodb.com$/ } }, { status: { $in: [ "Unknown", "Incomplete" ] } } ] } diff --git a/packages/e2e-tests/test/fixtures/exampleplayground.js b/packages/e2e-tests/test/fixtures/exampleplayground.js index bc2ca335c5..6bcb8aa7b0 100644 --- a/packages/e2e-tests/test/fixtures/exampleplayground.js +++ b/packages/e2e-tests/test/fixtures/exampleplayground.js @@ -1,3 +1,4 @@ +/* eslint-disable no-undef */ // MongoDB Playground // To disable this template go to Settings | MongoDB | Use Default Template For Playground. // Make sure you are connected to enable completions and to be able to run a playground. diff --git a/packages/e2e-tests/test/fixtures/load/long-sleep.js b/packages/e2e-tests/test/fixtures/load/long-sleep.js index d0a830c4bf..d3e6f576ee 100644 --- a/packages/e2e-tests/test/fixtures/load/long-sleep.js +++ b/packages/e2e-tests/test/fixtures/load/long-sleep.js @@ -1,3 +1,4 @@ +/* eslint-disable no-undef */ console.log('Long sleep'); (async() => { await sleep(1_000_000); diff --git a/packages/e2e-tests/test/repl-helpers.ts b/packages/e2e-tests/test/repl-helpers.ts index f64d03300f..f34932c2cf 100644 --- a/packages/e2e-tests/test/repl-helpers.ts +++ b/packages/e2e-tests/test/repl-helpers.ts @@ -89,7 +89,7 @@ const fakeExternalEditor = async ({ if (${JSON.stringify(flags ?? '')}) { assert.deepStrictEqual((${JSON.stringify( flags - )}).split(/\s+/), process.argv.slice(2, -1)); + )}).split(/\\s+/), process.argv.slice(2, -1)); } await writeFile(tmpDoc, ${JSON.stringify(output)}, { mode: 0o600 }); diff --git a/packages/editor/src/editor.ts b/packages/editor/src/editor.ts index 796fa6b949..8c08159363 100644 --- a/packages/editor/src/editor.ts +++ b/packages/editor/src/editor.ts @@ -146,7 +146,7 @@ export class Editor { } _isVscodeApp(cmd: string): boolean { - const regex = /^(.*)[\/\\]?[cC]ode(.exe)?(\s(.*))?$/; + const regex = /^(.*)[/\\]?[cC]ode(.exe)?(\s(.*))?$/; return regex.test(cmd); } @@ -155,7 +155,7 @@ export class Editor { return false; } - const regex = /^([^!"#%&'()*+,\-/\[\]\\^`{|}~]+)$/; + const regex = /^([^!"#%&'()*+,\-/[\]\\^`{|}~]+)$/; return regex.test(code); } diff --git a/packages/i18n/src/translator.ts b/packages/i18n/src/translator.ts index edc5fa24ae..3fa0cf9594 100644 --- a/packages/i18n/src/translator.ts +++ b/packages/i18n/src/translator.ts @@ -66,7 +66,7 @@ class Translator { * @param {string} locale - The locale. */ setLocale(locale: string): void { - if (MAPPINGS.hasOwnProperty(locale)) { + if (Object.prototype.hasOwnProperty.call(MAPPINGS, locale)) { this.locale = locale; this.catalog = MAPPINGS[locale]; } else { diff --git a/packages/logging/src/analytics-helpers.ts b/packages/logging/src/analytics-helpers.ts index 31e30a2008..13102ab82a 100644 --- a/packages/logging/src/analytics-helpers.ts +++ b/packages/logging/src/analytics-helpers.ts @@ -79,8 +79,8 @@ class Queue { * (e.g. because we are running without an API key). */ export class NoopAnalytics implements MongoshAnalytics { - identify(_info: any): void {} - track(_info: any): void {} + identify(): void {} + track(): void {} flush(cb: () => void) { cb(); } diff --git a/packages/logging/src/setup-logger-and-telemetry.ts b/packages/logging/src/setup-logger-and-telemetry.ts index 3a99373abb..2c3c8499c9 100644 --- a/packages/logging/src/setup-logger-and-telemetry.ts +++ b/packages/logging/src/setup-logger-and-telemetry.ts @@ -113,6 +113,7 @@ export function setupLoggerAndTelemetry( bus.on('mongosh:connect', function (args: ConnectEvent) { const connectionUri = redactURICredentials(args.uri); + // eslint-disable-next-line @typescript-eslint/no-unused-vars const { uri: _uri, ...argsWithoutUri } = args; const params = { session_id: logId, diff --git a/packages/node-runtime-worker-thread/src/spawn-child-from-source.ts b/packages/node-runtime-worker-thread/src/spawn-child-from-source.ts index 6edbb9ba95..5d35128f5d 100644 --- a/packages/node-runtime-worker-thread/src/spawn-child-from-source.ts +++ b/packages/node-runtime-worker-thread/src/spawn-child-from-source.ts @@ -25,7 +25,7 @@ export default function spawnChildFromSource( _stdout: StdioNull | StdioPipe = 'inherit', _stderr: StdioNull | StdioPipe = 'inherit' ): Promise { - return new Promise(async (resolve, reject) => { + return new Promise((resolve, reject) => { const readyToken = Date.now().toString(32); const childProcess = spawn(process.execPath, { @@ -34,11 +34,16 @@ export default function spawnChildFromSource( }); if (!childProcess.stdin) { - await kill(childProcess); - - return reject( - new Error("Can't write src to the spawned process, missing stdin") - ); + kill(childProcess) + .then(() => { + reject( + new Error("Can't write src to the spawned process, missing stdin") + ); + }) + .catch((err: any) => { + reject(err); + }); + return; } // eslint-disable-next-line prefer-const diff --git a/packages/node-runtime-worker-thread/src/worker-runtime.spec.ts b/packages/node-runtime-worker-thread/src/worker-runtime.spec.ts index f777cb07d6..701d9ef360 100644 --- a/packages/node-runtime-worker-thread/src/worker-runtime.spec.ts +++ b/packages/node-runtime-worker-thread/src/worker-runtime.spec.ts @@ -91,7 +91,7 @@ describe('worker', function () { expect(err).to.be.instanceof(Error); expect(err) .to.have.property('message') - .match(/Can\'t call evaluate before shell runtime is initiated/); + .match(/Can't call evaluate before shell runtime is initiated/); }); describe('evaluate', function () { @@ -455,7 +455,7 @@ describe('worker', function () { expect(err) .to.have.property('message') .match( - /Can\'t run another evaluation while the previous is not finished/ + /Can't run another evaluation while the previous is not finished/ ); }); }); diff --git a/packages/node-runtime-worker-thread/src/worker-runtime.ts b/packages/node-runtime-worker-thread/src/worker-runtime.ts index 107a478535..9e12acfcb1 100644 --- a/packages/node-runtime-worker-thread/src/worker-runtime.ts +++ b/packages/node-runtime-worker-thread/src/worker-runtime.ts @@ -38,7 +38,7 @@ const evaluationLock = new Lock(); function ensureRuntime(methodName: string): Runtime { if (!runtime) { throw new Error( - `Can\'t call ${methodName} before shell runtime is initiated` + `Can't call ${methodName} before shell runtime is initiated` ); } diff --git a/packages/service-provider-core/src/textencoder-polyfill.ts b/packages/service-provider-core/src/textencoder-polyfill.ts index 34616d91fa..ac80254f5f 100644 --- a/packages/service-provider-core/src/textencoder-polyfill.ts +++ b/packages/service-provider-core/src/textencoder-polyfill.ts @@ -10,6 +10,7 @@ if ( // @ts-ignore typeof TextEncoder !== 'function' ) { + // eslint-disable-next-line @typescript-eslint/no-implied-eval Object.assign(Function('return this')(), textEncodingPolyfill()); } diff --git a/packages/shell-api/src/collection.spec.ts b/packages/shell-api/src/collection.spec.ts index 5afcbc45d3..810d19e50e 100644 --- a/packages/shell-api/src/collection.spec.ts +++ b/packages/shell-api/src/collection.spec.ts @@ -1553,12 +1553,14 @@ describe('Collection', function () { }); it('not returned when no args', async function () { const result = await collection.stats(); + // eslint-disable-next-line @typescript-eslint/no-unused-vars const { indexDetails, ...expectedResultWithoutIndexDetails } = expectedResult; expect(result).to.deep.equal(expectedResultWithoutIndexDetails); }); it('not returned when options indexDetails: false', async function () { const result = await collection.stats({ indexDetails: false }); + // eslint-disable-next-line @typescript-eslint/no-unused-vars const { indexDetails, ...expectedResultWithoutIndexDetails } = expectedResult; expect(result).to.deep.equal(expectedResultWithoutIndexDetails); diff --git a/packages/shell-api/src/field-level-encryption.spec.ts b/packages/shell-api/src/field-level-encryption.spec.ts index 5e78da1c82..0e99cecbb4 100644 --- a/packages/shell-api/src/field-level-encryption.spec.ts +++ b/packages/shell-api/src/field-level-encryption.spec.ts @@ -36,7 +36,6 @@ import { makeFakeHTTPConnection, fakeAWSHandlers, } from '../../../testing/fake-kms'; -import { inspect } from 'util'; import Collection from './collection'; import { dummyOptions } from './helpers.spec'; diff --git a/packages/shell-api/src/field-level-encryption.ts b/packages/shell-api/src/field-level-encryption.ts index 9f827eab19..4ca9924944 100644 --- a/packages/shell-api/src/field-level-encryption.ts +++ b/packages/shell-api/src/field-level-encryption.ts @@ -23,7 +23,7 @@ import type Collection from './collection'; import Cursor from './cursor'; import type { DeleteResult } from './result'; import { assertArgsDefinedType, assertKeysDefined } from './helpers'; -import { asPrintable, shellApiType } from './enums'; +import { asPrintable } from './enums'; import { redactURICredentials } from '@mongosh/history'; import type Mongo from './mongo'; import { @@ -31,7 +31,6 @@ import { MongoshInvalidInputError, MongoshRuntimeError, } from '@mongosh/errors'; -import type ShellInstanceState from './shell-instance-state'; import type { CreateEncryptedCollectionOptions } from '@mongosh/service-provider-core'; export type ClientSideFieldLevelEncryptionKmsProvider = Omit< diff --git a/packages/shell-api/src/helpers.ts b/packages/shell-api/src/helpers.ts index 5d974aeac7..99bb992ba0 100644 --- a/packages/shell-api/src/helpers.ts +++ b/packages/shell-api/src/helpers.ts @@ -331,7 +331,10 @@ export async function getPrintableShardStatus( (async (): Promise => { // Output the balancer window const settings = await settingsColl.findOne({ _id: 'balancer' }); - if (settings !== null && settings.hasOwnProperty('activeWindow')) { + if ( + settings !== null && + Object.prototype.hasOwnProperty.call(settings, 'activeWindow') + ) { const balSettings = settings.activeWindow; balancerRes[ 'Balancer active window is set between' @@ -493,7 +496,7 @@ export async function getPrintableShardStatus( result.databases = await Promise.all( databases.map(async (db) => { const escapeRegex = (string: string): string => { - return string.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + return string.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&'); }; const colls = await ( await configDB diff --git a/packages/shell-api/src/integration.spec.ts b/packages/shell-api/src/integration.spec.ts index 1a899233cd..99ca713a84 100644 --- a/packages/shell-api/src/integration.spec.ts +++ b/packages/shell-api/src/integration.spec.ts @@ -5,7 +5,6 @@ import type Cursor from './cursor'; import Explainable from './explainable'; import type Database from './database'; import type Collection from './collection'; -import type AggregationCursor from './aggregation-cursor'; import { skipIfServerVersion, skipIfApiStrict, diff --git a/packages/shell-api/src/mongo.ts b/packages/shell-api/src/mongo.ts index de3a8a7070..9a8dddefbf 100644 --- a/packages/shell-api/src/mongo.ts +++ b/packages/shell-api/src/mongo.ts @@ -675,6 +675,7 @@ export default class Mongo extends ShellApiClass { 'maxCommitTimeMS', ] as const; function assertAllTransactionOptionsUsed( + // eslint-disable-next-line @typescript-eslint/no-unused-vars _options: (typeof allTransactionOptions)[number] ) { // These typechecks might look weird, but will tell us if we are missing @@ -693,6 +694,7 @@ export default class Mongo extends ShellApiClass { const allSessionOptions = ['causalConsistency', 'snapshot'] as const; function assertAllSessionOptionsUsed( + // eslint-disable-next-line @typescript-eslint/no-unused-vars _options: (typeof allSessionOptions)[number] | 'defaultTransactionOptions' ) {} assertAllSessionOptionsUsed('' as keyof ClientSessionOptions); diff --git a/packages/shell-api/src/session.ts b/packages/shell-api/src/session.ts index 843ac7bb83..cdae162d54 100644 --- a/packages/shell-api/src/session.ts +++ b/packages/shell-api/src/session.ts @@ -5,7 +5,6 @@ import { ShellApiWithMongoClass, } from './decorators'; import type { - Document, ClientSessionOptions, ClientSession, TransactionOptions,