diff --git a/configs/eslint-config-compass/index.js b/configs/eslint-config-compass/index.js index 3e345d4ffc7..194c89e5f4c 100644 --- a/configs/eslint-config-compass/index.js +++ b/configs/eslint-config-compass/index.js @@ -22,7 +22,6 @@ const extraTsRules = { // clean those out and re-enable the rules '@typescript-eslint/no-explicit-any': 'warn', '@typescript-eslint/no-base-to-string': 'warn', - '@typescript-eslint/no-require-imports': 'warn', '@typescript-eslint/no-unused-vars': [ 'error', { diff --git a/configs/webpack-config-compass/src/index.ts b/configs/webpack-config-compass/src/index.ts index 1b01bd891b4..8cf0a12591a 100644 --- a/configs/webpack-config-compass/src/index.ts +++ b/configs/webpack-config-compass/src/index.ts @@ -301,7 +301,7 @@ export function createElectronRendererConfig( export function createWebConfig(args: Partial): WebpackConfig { const opts = webpackArgsWithDefaults(args, { target: 'web' }); - // eslint-disable-next-line @typescript-eslint/no-var-requires + // eslint-disable-next-line @typescript-eslint/no-require-imports const { peerDependencies } = require(path.join(opts.cwd, 'package.json')) as { peerDependencies: Record; }; diff --git a/configs/webpack-config-compass/src/loaders.ts b/configs/webpack-config-compass/src/loaders.ts index db9b1e24e50..1d663d22be9 100644 --- a/configs/webpack-config-compass/src/loaders.ts +++ b/configs/webpack-config-compass/src/loaders.ts @@ -7,7 +7,7 @@ import { isServe } from './args'; import chalk from 'chalk'; function isLatestBrowserslist() { - // eslint-disable-next-line @typescript-eslint/no-var-requires + // eslint-disable-next-line @typescript-eslint/no-require-imports const browserslistVersion = require('browserslist/package.json').version; const command = `npm view browserslist version --json`; const latestBrowserslistVersion = JSON.parse( @@ -18,7 +18,7 @@ function isLatestBrowserslist() { } const electronVersion = (() => { - // eslint-disable-next-line @typescript-eslint/no-var-requires + // eslint-disable-next-line @typescript-eslint/no-require-imports const [maj, min] = require('electron/package.json').version.split( '.' ) as string[]; diff --git a/configs/webpack-config-compass/src/util.ts b/configs/webpack-config-compass/src/util.ts index 3f93824130e..6cc1677fb5d 100644 --- a/configs/webpack-config-compass/src/util.ts +++ b/configs/webpack-config-compass/src/util.ts @@ -62,7 +62,7 @@ export function camelCase(str: string): string { } export function getLibraryNameFromCwd(cwd: string): string { - // eslint-disable-next-line @typescript-eslint/no-var-requires + // eslint-disable-next-line @typescript-eslint/no-require-imports const { name, productName } = require(path.join(cwd, 'package.json')) as { name: string; productName: string; diff --git a/packages/compass-e2e-tests/helpers/commands/get-feature.ts b/packages/compass-e2e-tests/helpers/commands/get-feature.ts index 0d8f379f0c5..5d6be097d27 100644 --- a/packages/compass-e2e-tests/helpers/commands/get-feature.ts +++ b/packages/compass-e2e-tests/helpers/commands/get-feature.ts @@ -7,7 +7,7 @@ export async function getFeature( ): Promise { return await browser.execute(async (_name) => { return ( - // eslint-disable-next-line @typescript-eslint/no-var-requires + // eslint-disable-next-line @typescript-eslint/no-require-imports (await require('electron').ipcRenderer.invoke('compass:get-preferences'))[ _name ] diff --git a/packages/compass-e2e-tests/helpers/commands/open-settings-modal.ts b/packages/compass-e2e-tests/helpers/commands/open-settings-modal.ts index ed8138606bf..bee67004904 100644 --- a/packages/compass-e2e-tests/helpers/commands/open-settings-modal.ts +++ b/packages/compass-e2e-tests/helpers/commands/open-settings-modal.ts @@ -6,7 +6,7 @@ export async function openSettingsModal( tab?: string ): Promise { await browser.execute(() => { - // eslint-disable-next-line @typescript-eslint/no-var-requires + // eslint-disable-next-line @typescript-eslint/no-require-imports require('electron').ipcRenderer.emit('window:show-settings'); }); diff --git a/packages/compass-e2e-tests/helpers/commands/set-feature.ts b/packages/compass-e2e-tests/helpers/commands/set-feature.ts index c02297ab01e..fd24aa87729 100644 --- a/packages/compass-e2e-tests/helpers/commands/set-feature.ts +++ b/packages/compass-e2e-tests/helpers/commands/set-feature.ts @@ -31,7 +31,7 @@ export async function setFeature( await browser.execute( async (_name, _value) => { - // eslint-disable-next-line @typescript-eslint/no-var-requires + // eslint-disable-next-line @typescript-eslint/no-require-imports await require('electron').ipcRenderer.invoke('compass:save-preferences', { [_name]: _value === null ? undefined : _value, }); diff --git a/packages/compass-e2e-tests/helpers/compass.ts b/packages/compass-e2e-tests/helpers/compass.ts index 19fd0f4b90d..0a954f43f1b 100644 --- a/packages/compass-e2e-tests/helpers/compass.ts +++ b/packages/compass-e2e-tests/helpers/compass.ts @@ -220,7 +220,7 @@ export class Compass { // close it and load the logs [this.logPath, this.userDataPath, this.appName, this.mainProcessPid] = await this.browser.execute(() => { - // eslint-disable-next-line @typescript-eslint/no-var-requires + // eslint-disable-next-line @typescript-eslint/no-require-imports const { ipcRenderer } = require('electron'); return Promise.all([ ipcRenderer.invoke('compass:logPath'), @@ -350,7 +350,7 @@ export class Compass { debug('Writing coverage'); const coverage: Coverage = await this.browser.executeAsync((done) => { void (async () => { - // eslint-disable-next-line @typescript-eslint/no-var-requires + // eslint-disable-next-line @typescript-eslint/no-require-imports const mainCoverage = await require('electron').ipcRenderer.invoke( 'coverage' ); @@ -966,6 +966,7 @@ async function getCompassBuildMetadata(): Promise { packagerOptions: { name: process.env.COMPASS_APP_NAME }, }; } else { + // eslint-disable-next-line @typescript-eslint/no-require-imports metadata = require('mongodb-compass/dist/target.json'); } // Double-checking that Compass app path exists, not only the metadata @@ -1100,7 +1101,7 @@ export async function init( } } else { await browser.execute(() => { - // eslint-disable-next-line @typescript-eslint/no-var-requires + // eslint-disable-next-line @typescript-eslint/no-require-imports const { ipcRenderer } = require('electron'); void ipcRenderer.invoke('compass:maximize'); }); diff --git a/packages/compass-e2e-tests/tests/auto-connect.test.ts b/packages/compass-e2e-tests/tests/auto-connect.test.ts index 927614f746c..6d9e302a62c 100644 --- a/packages/compass-e2e-tests/tests/auto-connect.test.ts +++ b/packages/compass-e2e-tests/tests/auto-connect.test.ts @@ -307,7 +307,7 @@ describe('Automatically connecting from the command line', function () { await browser.closeWorkspaceTabs(); await browser.execute(() => { - // eslint-disable-next-line @typescript-eslint/no-var-requires + // eslint-disable-next-line @typescript-eslint/no-require-imports require('electron').ipcRenderer.call('test:show-connect-window'); }); diff --git a/packages/compass-import-export/src/components/export-modal.tsx b/packages/compass-import-export/src/components/export-modal.tsx index 254b518fb37..786ae9c02f0 100644 --- a/packages/compass-import-export/src/components/export-modal.tsx +++ b/packages/compass-import-export/src/components/export-modal.tsx @@ -191,7 +191,7 @@ function ExportModal({ ); const onClickExport = useCallback(() => { - // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-var-requires + // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports const electron: typeof import('@electron/remote') = require('@electron/remote'); const fileBackend = createElectronFileInputBackend(electron, null)(); diff --git a/packages/compass-import-export/src/utils/open-file.ts b/packages/compass-import-export/src/utils/open-file.ts index a08df259287..eb2bcfcf61a 100644 --- a/packages/compass-import-export/src/utils/open-file.ts +++ b/packages/compass-import-export/src/utils/open-file.ts @@ -1,5 +1,5 @@ export async function openFile(fileName: string) { - // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/consistent-type-imports + // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/consistent-type-imports const { shell }: typeof import('electron') = require('electron'); return shell.openPath(fileName); } diff --git a/packages/compass-intercom/src/setup-intercom.spec.ts b/packages/compass-intercom/src/setup-intercom.spec.ts index 8c3708a58eb..8e0133ad280 100644 --- a/packages/compass-intercom/src/setup-intercom.spec.ts +++ b/packages/compass-intercom/src/setup-intercom.spec.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ +/* eslint-disable @typescript-eslint/no-require-imports */ import type { SinonStub } from 'sinon'; import sinon from 'sinon'; diff --git a/packages/compass-logging/src/ipc-logger.ts b/packages/compass-logging/src/ipc-logger.ts index d1d68c311e7..0547c2ccd4d 100644 --- a/packages/compass-logging/src/ipc-logger.ts +++ b/packages/compass-logging/src/ipc-logger.ts @@ -18,7 +18,7 @@ function emit( export function createLogger(component: string) { // This application may not be running in an Node.js/Electron context. const ipc: HadronIpcRenderer | null | undefined = isElectronRenderer - ? // eslint-disable-next-line @typescript-eslint/no-var-requires + ? // eslint-disable-next-line @typescript-eslint/no-require-imports require('hadron-ipc').ipcRenderer : null; return createGenericLogger(component, emit.bind(null, ipc)); diff --git a/packages/compass-schema-validation/test/mocha-plugins.ts b/packages/compass-schema-validation/test/mocha-plugins.ts index 0c4ec1a910e..925f0322c1f 100644 --- a/packages/compass-schema-validation/test/mocha-plugins.ts +++ b/packages/compass-schema-validation/test/mocha-plugins.ts @@ -2,7 +2,7 @@ import { EventEmitter } from 'events'; const setupIpc = () => { let preferences = {}; - // eslint-disable-next-line @typescript-eslint/no-var-requires + // eslint-disable-next-line @typescript-eslint/no-require-imports require('hadron-ipc').ipcRenderer = Object.assign(new EventEmitter(), { createInvoke: (name: string, methods: string[]) => { return Object.fromEntries(methods.map((m) => [m, () => {}])); diff --git a/packages/compass-serverstats/src/components/current-op-component.tsx b/packages/compass-serverstats/src/components/current-op-component.tsx index eb87f6300a0..ed45319a445 100644 --- a/packages/compass-serverstats/src/components/current-op-component.tsx +++ b/packages/compass-serverstats/src/components/current-op-component.tsx @@ -3,11 +3,11 @@ import { useTelemetry } from '@mongodb-js/compass-telemetry/provider'; import { useConnectionInfoRef } from '@mongodb-js/compass-connections/provider'; // No types exist for these files -/* eslint-disable @typescript-eslint/no-var-requires */ +/* eslint-disable @typescript-eslint/no-require-imports */ const timer = require('d3-timer'); const Actions = require('../actions'); const DBErrorStore = require('../stores/dberror-store'); -/* eslint-enable @typescript-eslint/no-var-requires */ +/* eslint-enable @typescript-eslint/no-require-imports */ type Row = { ns: string; diff --git a/packages/compass-shell/src/modules/worker-runtime.ts b/packages/compass-shell/src/modules/worker-runtime.ts index 862ef4ce26f..2bf43e59449 100644 --- a/packages/compass-shell/src/modules/worker-runtime.ts +++ b/packages/compass-shell/src/modules/worker-runtime.ts @@ -77,7 +77,7 @@ export function createWorkerRuntime( platform: process.platform, arch: process.arch, }, - // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-var-requires + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-require-imports mongoshVersion: require('../../package.json').version, }); diff --git a/packages/compass-telemetry/src/ipc-track.ts b/packages/compass-telemetry/src/ipc-track.ts index d52f2cb5630..1f748a7b7a2 100644 --- a/packages/compass-telemetry/src/ipc-track.ts +++ b/packages/compass-telemetry/src/ipc-track.ts @@ -30,7 +30,7 @@ export function createIpcTrack( export function createIpcSendTrack() { // This application may not be running in an Node.js/Electron context. const ipc = - // eslint-disable-next-line @typescript-eslint/no-var-requires + // eslint-disable-next-line @typescript-eslint/no-require-imports require('hadron-ipc').ipcRenderer; const sendTrack = (event: string, properties: Record) => diff --git a/packages/compass-utils/src/electron.ts b/packages/compass-utils/src/electron.ts index 194f55f900e..604cf98eda5 100644 --- a/packages/compass-utils/src/electron.ts +++ b/packages/compass-utils/src/electron.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ +/* eslint-disable @typescript-eslint/no-require-imports */ function getElectronApp() { let app; diff --git a/packages/compass/src/app/application.tsx b/packages/compass/src/app/application.tsx index aef7055ee7d..1c4ed5df370 100644 --- a/packages/compass/src/app/application.tsx +++ b/packages/compass/src/app/application.tsx @@ -120,7 +120,7 @@ class Application { */ private enableDevelopmentDebug() { if (process.env.NODE_ENV === 'development') { - // eslint-disable-next-line @typescript-eslint/no-var-requires + // eslint-disable-next-line @typescript-eslint/no-require-imports require('debug').enable('mon*,had*'); } } diff --git a/packages/compass/src/main/menu.spec.ts b/packages/compass/src/main/menu.spec.ts index 87ca437144e..c514e8a1f63 100644 --- a/packages/compass/src/main/menu.spec.ts +++ b/packages/compass/src/main/menu.spec.ts @@ -25,7 +25,7 @@ describe('CompassMenu', function () { beforeEach(async function () { App.preferences = await createSandboxFromDefaultPreferences(); delete require.cache[require.resolve('./menu')]; - // eslint-disable-next-line @typescript-eslint/no-var-requires + // eslint-disable-next-line @typescript-eslint/no-require-imports CompassMenu = require('./menu').CompassMenu; CompassMenu.init(App); }); diff --git a/packages/compass/src/main/optional-deps.ts b/packages/compass/src/main/optional-deps.ts index 3c29a419e27..d5209bb40fe 100644 --- a/packages/compass/src/main/optional-deps.ts +++ b/packages/compass/src/main/optional-deps.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ +/* eslint-disable @typescript-eslint/no-require-imports */ const attempts = [ [() => require('interruptor'), 'interruptor'], [() => require('keytar'), 'keytar'], diff --git a/packages/compass/src/main/setup-csfle-library.ts b/packages/compass/src/main/setup-csfle-library.ts index 9988c8eedcc..6593ce9055a 100644 --- a/packages/compass/src/main/setup-csfle-library.ts +++ b/packages/compass/src/main/setup-csfle-library.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ +/* eslint-disable @typescript-eslint/no-require-imports */ import { createLogger } from '@mongodb-js/compass-logging'; import path from 'path'; import { promises as fs } from 'fs';