diff --git a/packages/repo-tools/src/commands/backend-lint/backend-lint.ts b/packages/repo-tools/src/commands/backend-lint/backend-lint.ts index 2f7aa3cc04..a9218b5b85 100644 --- a/packages/repo-tools/src/commands/backend-lint/backend-lint.ts +++ b/packages/repo-tools/src/commands/backend-lint/backend-lint.ts @@ -21,10 +21,13 @@ const project = new Project({ tsConfigFilePath: 'tsconfig.json', }); +function readPackageJson(pkg: string) { + return JSON.parse(fs.readFileSync(`${pkg}/package.json`, 'utf-8')); +} + export async function lint(paths: string[]) { const pkgs = (await resolvePackagePaths()).filter(pkg => { - const role = JSON.parse(fs.readFileSync(`${pkg}/package.json`, 'utf-8')) - .backstage?.role; + const role = readPackageJson(pkg).backstage?.role; return role === 'backend-plugin' || role === 'backend-plugin-module'; }); @@ -72,4 +75,19 @@ function verifyIndex(pkg: string) { if (!createRouterDeprecated) console.log(' ❌ createRouter is NOT deprecated'); } + + const pkgJson = readPackageJson(pkg); + if ( + '@backstage/backend-common' in pkgJson.dependencies || + '@backstage/backend-common' in pkgJson.devDependencies + ) { + console.log(' ❌ Stop depending on "@backstage/backend-common"'); + } + + if ( + '@backstage/backend-tasks' in pkgJson.dependencies || + '@backstage/backend-tasks' in pkgJson.devDependencies + ) { + console.log(' ❌ Stop depending on "@backstage/backend-tasks"'); + } }