diff --git a/cypress/.eslintrc.js b/cypress/.eslintrc.js
index a77de4a629..07f264452d 100644
--- a/cypress/.eslintrc.js
+++ b/cypress/.eslintrc.js
@@ -2,15 +2,6 @@ module.exports = {
extends: [require.resolve('@backstage/cli/config/eslint.backend')],
rules: {
'no-console': 0,
- 'import/no-extraneous-dependencies': [
- 'error',
- {
- devDependencies: true,
- optionalDependencies: false,
- peerDependencies: false,
- bundledDependencies: false,
- },
- ],
'jest/valid-expect': 'off',
'jest/expect-expect': 'off',
'no-restricted-syntax': 'off',
diff --git a/packages/app/cypress/.eslintrc.json b/packages/app/cypress/.eslintrc.json
index 2b3a458b95..a467608916 100644
--- a/packages/app/cypress/.eslintrc.json
+++ b/packages/app/cypress/.eslintrc.json
@@ -7,15 +7,6 @@
{
"assertFunctionNames": ["expect", "cy.contains"]
}
- ],
- "import/no-extraneous-dependencies": [
- "error",
- {
- "devDependencies": true,
- "optionalDependencies": true,
- "peerDependencies": true,
- "bundledDependencies": true
- }
]
}
}
diff --git a/packages/backend-defaults/src/CreateBackend.ts b/packages/backend-defaults/src/CreateBackend.ts
index e6b5a15336..5cbed2c3df 100644
--- a/packages/backend-defaults/src/CreateBackend.ts
+++ b/packages/backend-defaults/src/CreateBackend.ts
@@ -40,7 +40,7 @@ import {
} from '@backstage/backend-plugin-api';
// Internal import of the type to avoid needing to export this.
-// eslint-disable-next-line monorepo/no-internal-import
+// eslint-disable-next-line @backstage/no-forbidden-package-imports
import type { InternalSharedBackendEnvironment } from '@backstage/backend-plugin-api/src/wiring/createSharedEnvironment';
export const defaultServiceFactories = [
diff --git a/packages/cli/asset-types/asset-types.d.ts b/packages/cli/asset-types/asset-types.d.ts
index 0bd0922004..9bd158bb8e 100644
--- a/packages/cli/asset-types/asset-types.d.ts
+++ b/packages/cli/asset-types/asset-types.d.ts
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable @backstage/no-undeclared-imports */
///
///
diff --git a/packages/cli/config/eslint-factory.js b/packages/cli/config/eslint-factory.js
index a40aa79fb3..f344af4ab0 100644
--- a/packages/cli/config/eslint-factory.js
+++ b/packages/cli/config/eslint-factory.js
@@ -60,11 +60,11 @@ function createConfig(dir, extraConfig = {}) {
'@spotify/eslint-config-typescript',
'prettier',
'plugin:jest/recommended',
- 'plugin:monorepo/recommended',
+ 'plugin:@backstage/recommended',
...(extraExtends ?? []),
],
parser: '@typescript-eslint/parser',
- plugins: ['import', ...(plugins ?? [])],
+ plugins: ['import', 'monorepo', ...(plugins ?? [])],
env: {
jest: true,
...env,
@@ -87,33 +87,8 @@ function createConfig(dir, extraConfig = {}) {
'@typescript-eslint/no-shadow': 'error',
'@typescript-eslint/no-redeclare': 'error',
'no-undef': 'off',
+ 'monorepo/no-relative-import': 'error',
'import/newline-after-import': 'error',
- 'import/no-extraneous-dependencies': [
- 'error',
- {
- devDependencies: dir
- ? [
- `!${joinPath(dir, 'src/**')}`,
- joinPath(dir, 'src/**/*.test.*'),
- joinPath(dir, 'src/**/*.stories.*'),
- joinPath(dir, 'src/**/__testUtils__/**'),
- joinPath(dir, 'src/**/__mocks__/**'),
- joinPath(dir, 'src/setupTests.*'),
- ]
- : [
- // Legacy config for packages that don't provide a dir
- '**/*.test.*',
- '**/*.stories.*',
- '**/__testUtils__/**',
- '**/__mocks__/**',
- '**/src/setupTests.*',
- '**/dev/**',
- ],
- optionalDependencies: true,
- peerDependencies: true,
- bundledDependencies: true,
- },
- ],
'no-unused-expressions': 'off',
'@typescript-eslint/no-unused-expressions': 'error',
'@typescript-eslint/consistent-type-assertions': 'error',
diff --git a/packages/cli/src/lib/builder/buildTypeDefinitionsWorker.ts b/packages/cli/src/lib/builder/buildTypeDefinitionsWorker.ts
index 2533131a40..cf37c2a664 100644
--- a/packages/cli/src/lib/builder/buildTypeDefinitionsWorker.ts
+++ b/packages/cli/src/lib/builder/buildTypeDefinitionsWorker.ts
@@ -50,7 +50,7 @@ export async function buildTypeDefinitionsWorker(
*/
const {
PackageJsonLookup,
- // eslint-disable-next-line import/no-extraneous-dependencies
+ // eslint-disable-next-line @backstage/no-undeclared-imports
} = require('@rushstack/node-core-library/lib/PackageJsonLookup');
const old = PackageJsonLookup.prototype.tryGetPackageJsonFilePathFor;
diff --git a/packages/cli/src/lib/version.test.ts b/packages/cli/src/lib/version.test.ts
index fb9bf83e7c..604129679b 100644
--- a/packages/cli/src/lib/version.test.ts
+++ b/packages/cli/src/lib/version.test.ts
@@ -17,7 +17,6 @@
import mockFs from 'mock-fs';
import { packageVersions, createPackageVersionProvider } from './version';
import { Lockfile } from './versioning';
-// eslint-disable-next-line monorepo/no-internal-import
import corePluginApiPkg from '@backstage/core-plugin-api/package.json';
describe('createPackageVersionProvider', () => {
diff --git a/packages/codemods/.eslintrc.js b/packages/codemods/.eslintrc.js
index f9fb2e27c9..e2a53a6ad2 100644
--- a/packages/codemods/.eslintrc.js
+++ b/packages/codemods/.eslintrc.js
@@ -1,14 +1 @@
-module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
- rules: {
- 'no-console': 0,
- 'import/no-extraneous-dependencies': [
- 'error',
- {
- devDependencies: true,
- optionalDependencies: false,
- peerDependencies: false,
- bundledDependencies: false,
- },
- ],
- },
-});
+module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
diff --git a/packages/codemods/package.json b/packages/codemods/package.json
index cbcc0613d4..1ae4d04485 100644
--- a/packages/codemods/package.json
+++ b/packages/codemods/package.json
@@ -35,6 +35,7 @@
"dependencies": {
"@backstage/cli-common": "workspace:^",
"chalk": "^4.0.0",
+ "commander": "^9.1.0",
"jscodeshift": "^0.14.0",
"jscodeshift-add-imports": "^1.0.10"
},
@@ -42,7 +43,6 @@
"@backstage/cli": "workspace:^",
"@types/jscodeshift": "^0.11.0",
"@types/node": "^16.11.26",
- "commander": "^9.1.0",
"ts-node": "^10.0.0"
},
"nodemonConfig": {
diff --git a/packages/core-components/src/components/LogViewer/RealLogViewer.test.tsx b/packages/core-components/src/components/LogViewer/RealLogViewer.test.tsx
index dd707778e1..e1aac76381 100644
--- a/packages/core-components/src/components/LogViewer/RealLogViewer.test.tsx
+++ b/packages/core-components/src/components/LogViewer/RealLogViewer.test.tsx
@@ -18,7 +18,7 @@ import React, { ReactNode } from 'react';
import userEvent from '@testing-library/user-event';
import { renderInTestApp } from '@backstage/test-utils';
import { RealLogViewer } from './RealLogViewer';
-// eslint-disable-next-line import/no-extraneous-dependencies
+// eslint-disable-next-line @backstage/no-undeclared-imports
import copyToClipboard from 'copy-to-clipboard';
// Used by useCopyToClipboard
diff --git a/packages/core-components/src/components/LogViewer/useLogViewerSelection.test.tsx b/packages/core-components/src/components/LogViewer/useLogViewerSelection.test.tsx
index 7e00d50f33..93a6dfd7e9 100644
--- a/packages/core-components/src/components/LogViewer/useLogViewerSelection.test.tsx
+++ b/packages/core-components/src/components/LogViewer/useLogViewerSelection.test.tsx
@@ -20,7 +20,7 @@ import { TestApiProvider, MockErrorApi } from '@backstage/test-utils';
import { errorApiRef } from '@backstage/core-plugin-api';
import { AnsiLine } from './AnsiProcessor';
import { useLogViewerSelection } from './useLogViewerSelection';
-// eslint-disable-next-line import/no-extraneous-dependencies
+// eslint-disable-next-line @backstage/no-undeclared-imports
import copyToClipboard from 'copy-to-clipboard';
// Used by useCopyToClipboard
diff --git a/packages/create-app/bin/backstage-create-app b/packages/create-app/bin/backstage-create-app
index 60dfd4990a..4639ea96dc 100755
--- a/packages/create-app/bin/backstage-create-app
+++ b/packages/create-app/bin/backstage-create-app
@@ -25,7 +25,7 @@ if (!isLocal || process.env.BACKSTAGE_E2E_CLI_TEST) {
require('..');
} else {
// Only used for development, so should be a devDependency
- // eslint-disable-next-line import/no-extraneous-dependencies
+ // eslint-disable-next-line @backstage/no-undeclared-imports
require('ts-node').register({
transpileOnly: true,
project: path.resolve(__dirname, '../../../tsconfig.json'),
diff --git a/packages/create-app/templates/default-app/packages/app/cypress/.eslintrc.json b/packages/create-app/templates/default-app/packages/app/cypress/.eslintrc.json
index 2b3a458b95..a467608916 100644
--- a/packages/create-app/templates/default-app/packages/app/cypress/.eslintrc.json
+++ b/packages/create-app/templates/default-app/packages/app/cypress/.eslintrc.json
@@ -7,15 +7,6 @@
{
"assertFunctionNames": ["expect", "cy.contains"]
}
- ],
- "import/no-extraneous-dependencies": [
- "error",
- {
- "devDependencies": true,
- "optionalDependencies": true,
- "peerDependencies": true,
- "bundledDependencies": true
- }
]
}
}
diff --git a/packages/e2e-test/.eslintrc.js b/packages/e2e-test/.eslintrc.js
index f9fb2e27c9..e2a53a6ad2 100644
--- a/packages/e2e-test/.eslintrc.js
+++ b/packages/e2e-test/.eslintrc.js
@@ -1,14 +1 @@
-module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
- rules: {
- 'no-console': 0,
- 'import/no-extraneous-dependencies': [
- 'error',
- {
- devDependencies: true,
- optionalDependencies: false,
- peerDependencies: false,
- bundledDependencies: false,
- },
- ],
- },
-});
+module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
diff --git a/packages/e2e-test/package.json b/packages/e2e-test/package.json
index 374eaa6d18..ee447a1736 100644
--- a/packages/e2e-test/package.json
+++ b/packages/e2e-test/package.json
@@ -26,22 +26,24 @@
"clean": "backstage-cli package clean"
},
"bin": "bin/e2e-test",
- "devDependencies": {
- "@backstage/cli": "workspace:^",
+ "dependencies": {
"@backstage/cli-common": "workspace:^",
"@backstage/errors": "workspace:^",
- "@types/fs-extra": "^9.0.1",
- "@types/node": "^16.11.26",
- "@types/puppeteer": "^5.4.4",
"chalk": "^4.0.0",
"commander": "^9.1.0",
"cross-fetch": "^3.1.5",
"fs-extra": "10.1.0",
"handlebars": "^4.7.3",
- "nodemon": "^2.0.2",
"pgtools": "^0.3.0",
"puppeteer": "^17.0.0",
- "tree-kill": "^1.2.2",
+ "tree-kill": "^1.2.2"
+ },
+ "devDependencies": {
+ "@backstage/cli": "workspace:^",
+ "@types/fs-extra": "^9.0.1",
+ "@types/node": "^16.11.26",
+ "@types/puppeteer": "^5.4.4",
+ "nodemon": "^2.0.2",
"ts-node": "^10.0.0"
},
"nodemonConfig": {
diff --git a/packages/e2e-test/src/commands/run.ts b/packages/e2e-test/src/commands/run.ts
index 3eedb90b21..254198ebb4 100644
--- a/packages/e2e-test/src/commands/run.ts
+++ b/packages/e2e-test/src/commands/run.ts
@@ -159,7 +159,7 @@ async function buildDistWorkspace(workspaceName: string, rootDir: string) {
appendDeps(pkg);
}
- // eslint-disable-next-line import/no-extraneous-dependencies
+ // eslint-disable-next-line @backstage/no-forbidden-package-imports
appendDeps(require('@backstage/create-app/package.json'));
print(`Preparing workspace`);
diff --git a/packages/repo-tools/src/commands/type-deps/type-deps.ts b/packages/repo-tools/src/commands/type-deps/type-deps.ts
index d4dd28aa14..4f8e5e5529 100644
--- a/packages/repo-tools/src/commands/type-deps/type-deps.ts
+++ b/packages/repo-tools/src/commands/type-deps/type-deps.ts
@@ -17,7 +17,7 @@
import fs from 'fs';
import { resolve as resolvePath } from 'path';
// Cba polluting root package.json, we'll have this
-// eslint-disable-next-line import/no-extraneous-dependencies
+// eslint-disable-next-line @backstage/no-undeclared-imports
import chalk from 'chalk';
import { getPackages, Package } from '@manypkg/get-packages';
diff --git a/packages/techdocs-cli-embedded-app/cypress/.eslintrc.json b/packages/techdocs-cli-embedded-app/cypress/.eslintrc.json
index 2b3a458b95..a467608916 100644
--- a/packages/techdocs-cli-embedded-app/cypress/.eslintrc.json
+++ b/packages/techdocs-cli-embedded-app/cypress/.eslintrc.json
@@ -7,15 +7,6 @@
{
"assertFunctionNames": ["expect", "cy.contains"]
}
- ],
- "import/no-extraneous-dependencies": [
- "error",
- {
- "devDependencies": true,
- "optionalDependencies": true,
- "peerDependencies": true,
- "bundledDependencies": true
- }
]
}
}
diff --git a/packages/techdocs-cli/cypress/.eslintrc.json b/packages/techdocs-cli/cypress/.eslintrc.json
index 2481ac5715..06965a82da 100644
--- a/packages/techdocs-cli/cypress/.eslintrc.json
+++ b/packages/techdocs-cli/cypress/.eslintrc.json
@@ -7,15 +7,6 @@
{
"assertFunctionNames": ["expect", "cy.contains", "cy.document"]
}
- ],
- "import/no-extraneous-dependencies": [
- "error",
- {
- "devDependencies": true,
- "optionalDependencies": true,
- "peerDependencies": true,
- "bundledDependencies": true
- }
]
}
}
diff --git a/plugins/catalog-backend-module-incremental-ingestion/src/run.ts b/plugins/catalog-backend-module-incremental-ingestion/src/run.ts
index 08d95f4417..2a58227862 100644
--- a/plugins/catalog-backend-module-incremental-ingestion/src/run.ts
+++ b/plugins/catalog-backend-module-incremental-ingestion/src/run.ts
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-// eslint-disable-next-line import/no-extraneous-dependencies
+// eslint-disable-next-line @backstage/no-undeclared-imports
import {
databaseFactory,
discoveryFactory,
diff --git a/plugins/code-climate/dev/index.tsx b/plugins/code-climate/dev/index.tsx
index d5fc4c28e3..060679337e 100644
--- a/plugins/code-climate/dev/index.tsx
+++ b/plugins/code-climate/dev/index.tsx
@@ -15,7 +15,7 @@
*/
import { Entity } from '@backstage/catalog-model';
-// eslint-disable-next-line import/no-extraneous-dependencies
+// eslint-disable-next-line @backstage/no-undeclared-imports
import { createDevApp, EntityGridItem } from '@backstage/dev-utils';
import { Grid } from '@material-ui/core';
import React from 'react';
diff --git a/plugins/code-climate/src/setupTests.ts b/plugins/code-climate/src/setupTests.ts
index 43d9e09713..eb4654b869 100644
--- a/plugins/code-climate/src/setupTests.ts
+++ b/plugins/code-climate/src/setupTests.ts
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable @backstage/no-undeclared-imports */
import '@testing-library/jest-dom';
import 'cross-fetch/polyfill';
diff --git a/plugins/cost-insights/src/example/templates/CostInsightsClient.ts b/plugins/cost-insights/src/example/templates/CostInsightsClient.ts
index 50c3bb1470..046196f26b 100644
--- a/plugins/cost-insights/src/example/templates/CostInsightsClient.ts
+++ b/plugins/cost-insights/src/example/templates/CostInsightsClient.ts
@@ -22,7 +22,7 @@
// IMPORTANT: Remove the lines below to enable type checking and linting
// @ts-nocheck
-/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable @backstage/no-undeclared-imports */
import {
CostInsightsApi,
diff --git a/plugins/example-todo-list/.eslintrc.js b/plugins/example-todo-list/.eslintrc.js
index 8c18e76229..e2a53a6ad2 100644
--- a/plugins/example-todo-list/.eslintrc.js
+++ b/plugins/example-todo-list/.eslintrc.js
@@ -1,14 +1 @@
-module.exports = {
- extends: [require.resolve('@backstage/cli/config/eslint')],
- rules: {
- 'import/no-extraneous-dependencies': [
- 'error',
- {
- devDependencies: true,
- optionalDependencies: true,
- peerDependencies: true,
- bundledDependencies: true,
- },
- ],
- },
-};
+module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
diff --git a/plugins/scaffolder-backend/scripts/build-nunjucks.js b/plugins/scaffolder-backend/scripts/build-nunjucks.js
index 8b98ac4305..8183de77ee 100755
--- a/plugins/scaffolder-backend/scripts/build-nunjucks.js
+++ b/plugins/scaffolder-backend/scripts/build-nunjucks.js
@@ -16,7 +16,7 @@
*/
/* eslint-disable no-restricted-syntax */
-/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable @backstage/no-undeclared-imports */
const path = require('path');
diff --git a/plugins/splunk-on-call/src/components/TriggerDialog/testUtils.ts b/plugins/splunk-on-call/src/components/TriggerDialog/testUtils.ts
index 764ac94e2c..9beb4e150e 100644
--- a/plugins/splunk-on-call/src/components/TriggerDialog/testUtils.ts
+++ b/plugins/splunk-on-call/src/components/TriggerDialog/testUtils.ts
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-// eslint-disable-next-line import/no-extraneous-dependencies
+// eslint-disable-next-line @backstage/no-undeclared-imports
import {
act,
fireEvent,
diff --git a/scripts/assemble-manifest.js b/scripts/assemble-manifest.js
index f68a83447d..f01bc7fd9b 100755
--- a/scripts/assemble-manifest.js
+++ b/scripts/assemble-manifest.js
@@ -1,5 +1,5 @@
#!/usr/bin/env node
-/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable @backstage/no-undeclared-imports */
/*
* Copyright 2022 The Backstage Authors
*
diff --git a/scripts/check-docs-quality.js b/scripts/check-docs-quality.js
index 10c4b99976..3dcbd6ef81 100755
--- a/scripts/check-docs-quality.js
+++ b/scripts/check-docs-quality.js
@@ -56,7 +56,7 @@ async function listFiles(dir = '') {
// caused by the script. In CI, we want to ensure vale linter is run.
async function exitIfMissingVale() {
try {
- // eslint-disable-next-line import/no-extraneous-dependencies
+ // eslint-disable-next-line @backstage/no-undeclared-imports
await require('command-exists')('vale');
} catch (e) {
if (process.env.CI) {
diff --git a/scripts/check-if-release.js b/scripts/check-if-release.js
index e7dabe14a4..c12b27b0ef 100755
--- a/scripts/check-if-release.js
+++ b/scripts/check-if-release.js
@@ -1,5 +1,5 @@
#!/usr/bin/env node
-/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable @backstage/no-undeclared-imports */
/*
* Copyright 2020 The Backstage Authors
*
diff --git a/scripts/create-github-release.js b/scripts/create-github-release.js
index 4b3891c5ce..b64d7a9cb5 100755
--- a/scripts/create-github-release.js
+++ b/scripts/create-github-release.js
@@ -1,5 +1,5 @@
#!/usr/bin/env node
-/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable @backstage/no-undeclared-imports */
/*
* Copyright 2020 The Backstage Authors
*
diff --git a/scripts/create-release-tag.js b/scripts/create-release-tag.js
index 28417024fd..311b46d4e5 100755
--- a/scripts/create-release-tag.js
+++ b/scripts/create-release-tag.js
@@ -1,5 +1,5 @@
#!/usr/bin/env node
-/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable @backstage/no-undeclared-imports */
/*
* Copyright 2020 The Backstage Authors
*
diff --git a/scripts/list-deprecations.js b/scripts/list-deprecations.js
index 8047158138..22aff96d67 100755
--- a/scripts/list-deprecations.js
+++ b/scripts/list-deprecations.js
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable @backstage/no-undeclared-imports */
const _ = require('lodash');
const fs = require('fs-extra');
diff --git a/scripts/prepare-release.js b/scripts/prepare-release.js
index 973f4fad58..4019a71cf3 100755
--- a/scripts/prepare-release.js
+++ b/scripts/prepare-release.js
@@ -1,5 +1,5 @@
#!/usr/bin/env node
-/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable @backstage/no-undeclared-imports */
/*
* Copyright 2022 The Backstage Authors
*
diff --git a/scripts/snyk-github-issue-sync.ts b/scripts/snyk-github-issue-sync.ts
index da64e2ea82..ea7d42a2a4 100755
--- a/scripts/snyk-github-issue-sync.ts
+++ b/scripts/snyk-github-issue-sync.ts
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable @backstage/no-undeclared-imports */
import { Octokit } from '@octokit/rest';
import minimist from 'minimist';
// Generated by GitHub workflow .github/workflows/snyk-github-issue-creator
diff --git a/scripts/verify-api-reference.js b/scripts/verify-api-reference.js
index 84a526604d..091e803c33 100755
--- a/scripts/verify-api-reference.js
+++ b/scripts/verify-api-reference.js
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable @backstage/no-undeclared-imports */
const { resolve: resolvePath } = require('path');
const { promises: fs } = require('fs');
diff --git a/scripts/verify-changesets.js b/scripts/verify-changesets.js
index 9e3064eeac..ae3f07840a 100755
--- a/scripts/verify-changesets.js
+++ b/scripts/verify-changesets.js
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable @backstage/no-undeclared-imports */
const { resolve: resolvePath } = require('path');
const fs = require('fs-extra');
diff --git a/scripts/verify-links.js b/scripts/verify-links.js
index 05ad387c37..7664cadad5 100755
--- a/scripts/verify-links.js
+++ b/scripts/verify-links.js
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable @backstage/no-undeclared-imports */
const { resolve: resolvePath, join: joinPath, dirname } = require('path');
const fs = require('fs').promises;
diff --git a/scripts/verify-lockfile-duplicates.js b/scripts/verify-lockfile-duplicates.js
index cc22664219..820fba2ea5 100644
--- a/scripts/verify-lockfile-duplicates.js
+++ b/scripts/verify-lockfile-duplicates.js
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable @backstage/no-undeclared-imports */
const { execFile: execFileCb } = require('child_process');
const { resolve: resolvePath, dirname: dirnamePath } = require('path');