Repository Analysis

backstage/backstage

Backstage is an open framework for building developer portals

1.1 Likely human-written View on GitHub
1.1
Adjusted Score
1.1
Raw Score
100%
Time Factor
2026-05-29
Last Push
33,477
Stars
TypeScript
Language
2,101,854
Lines of Code
10163
Files
989
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 72HIGH 145MEDIUM 33LOW 739

Pattern Findings

989 matches across 11 categories. Click a row to expand file-level details.

Hallucination Indicators72 hits · 692 pts
SeverityFileLineSnippet
CRITICAL…/catalog-backend/src/providers/DefaultLocationStore.ts218 if (this.db.client.config.client.includes('mysql')) {
CRITICAL…ons-backend/src/database/DatabaseNotificationsStore.ts128 this.isSQLite = this.db.client.config.client.includes('sqlite3');
CRITICALplugins/auth-backend/src/database/OidcDatabase.ts181 this.db.client.config.client.includes('sqlite3') ||
CRITICALplugins/auth-backend/src/database/OidcDatabase.ts182 this.db.client.config.client.includes('mysql')
CRITICALplugins/auth-backend/src/database/OidcDatabase.ts279 this.db.client.config.client.includes('sqlite3') ||
CRITICALplugins/auth-backend/src/database/OidcDatabase.ts280 this.db.client.config.client.includes('mysql')
CRITICALplugins/catalog-backend-module-gitlab/src/lib/client.ts282 for (const groupItem of response.data.group.descendantGroups.nodes.filter(
CRITICALplugins/catalog-backend-module-gitlab/src/lib/client.ts366 for (const userItem of response.data.group.groupMembers.nodes.filter(
CRITICAL…ugins/bitbucket-cloud-common/scripts/prepare-schema.js107 const repoProperties = json.components.schemas.repository.allOf.find(
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx221 const errorCalls = mocks.console.error.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx223 const warnCalls = mocks.console.warn.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx226 const infoCalls = mocks.console.info.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx228 expect(mocks.federation.get.mock.calls.flatMap(e => e[0])).toEqual([]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx287 const errorCalls = mocks.console.error.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx289 const warnCalls = mocks.console.warn.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx298 const infoCalls = mocks.console.info.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx302 const debugCalls = mocks.console.debug.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx306 expect(mocks.federation.get.mock.calls.flatMap(e => e[0])).toEqual([
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx417 const infoCalls = mocks.console.info.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx422 const debugCalls = mocks.console.debug.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx427 expect(mocks.federation.get.mock.calls.flatMap(e => e[0])).toEqual([
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx522 const infoCalls = mocks.console.info.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx527 const debugCalls = mocks.console.debug.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx531 expect(mocks.federation.get.mock.calls.flatMap(e => e[0])).toEqual([
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx587 const errorCalls = mocks.console.error.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx589 const warnCalls = mocks.console.warn.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx598 const infoCalls = mocks.console.info.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx602 const debugCalls = mocks.console.debug.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx606 expect(mocks.federation.get.mock.calls.flatMap(e => e[0])).toEqual([
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx639 const errorCalls = mocks.console.error.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx643 const warnCalls = mocks.console.warn.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx646 const infoCalls = mocks.console.info.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx648 expect(mocks.federation.get.mock.calls.flatMap(e => e[0])).toEqual([]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx676 const errorCalls = mocks.console.error.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx680 const warnCalls = mocks.console.warn.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx683 const infoCalls = mocks.console.info.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx685 expect(mocks.federation.get.mock.calls.flatMap(e => e[0])).toEqual([]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx783 const infoCalls = mocks.console.info.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx787 const debugCalls = mocks.console.debug.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx792 expect(mocks.federation.get.mock.calls.flatMap(e => e[0])).toEqual([
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx888 const errorCalls = mocks.console.error.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx890 const warnCalls = mocks.console.warn.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx899 const infoCalls = mocks.console.info.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx904 const debugCalls = mocks.console.debug.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx910 expect(mocks.federation.get.mock.calls.flatMap(e => e[0])).toEqual([
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx1003 const infoCalls = mocks.console.info.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx1007 const debugCalls = mocks.console.debug.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx1013 expect(mocks.federation.get.mock.calls.flatMap(e => e[0])).toEqual([
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx1101 const infoCalls = mocks.console.info.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx1105 const debugCalls = mocks.console.debug.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx1110 expect(mocks.federation.get.mock.calls.flatMap(e => e[0])).toEqual([
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx1196 const errorCalls = mocks.console.error.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx1198 const warnCalls = mocks.console.warn.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx1200 const infoCalls = mocks.console.info.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx1202 const debugCalls = mocks.console.debug.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx1285 const errorCalls = mocks.console.error.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx1289 const warnCalls = mocks.console.warn.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx1291 const infoCalls = mocks.console.info.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx1293 const debugCalls = mocks.console.debug.mock.calls.flatMap(e => e[0]);
CRITICAL…es/frontend-dynamic-feature-loader/src/loader.test.tsx1295 expect(mocks.federation.get.mock.calls.flatMap(e => e[0])).toEqual([]);
12 more matches not shown…
Cross-File Repetition112 hits · 560 pts
SeverityFileLineSnippet
HIGHplugins/api-docs/dev/graphql-example-api.yaml0the iso 8601 date format of the time that this resource was created.
HIGHplugins/api-docs/dev/graphql-example-api.yaml0the iso 8601 date format of the time that this resource was created.
HIGHplugins/api-docs/dev/graphql-example-api.yaml0the iso 8601 date format of the time that this resource was created.
HIGHplugins/api-docs/dev/graphql-example-api.yaml0the iso 8601 date format of the time that this resource was created.
HIGHplugins/api-docs/dev/graphql-example-api.yaml0the iso 8601 date format of the time that this resource was created.
HIGHplugins/api-docs/dev/graphql-example-api.yaml0the iso 8601 date format of the time that this resource was created.
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0the iso 8601 date format of the time that this resource was created.
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0the iso 8601 date format of the time that this resource was created.
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0the iso 8601 date format of the time that this resource was created.
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0the iso 8601 date format of the time that this resource was created.
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0the iso 8601 date format of the time that this resource was created.
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0the iso 8601 date format of the time that this resource was created.
HIGHplugins/api-docs/dev/graphql-example-api.yaml0the iso 8601 date format of the time that this resource was edited.
HIGHplugins/api-docs/dev/graphql-example-api.yaml0the iso 8601 date format of the time that this resource was edited.
HIGHplugins/api-docs/dev/graphql-example-api.yaml0the iso 8601 date format of the time that this resource was edited.
HIGHplugins/api-docs/dev/graphql-example-api.yaml0the iso 8601 date format of the time that this resource was edited.
HIGHplugins/api-docs/dev/graphql-example-api.yaml0the iso 8601 date format of the time that this resource was edited.
HIGHplugins/api-docs/dev/graphql-example-api.yaml0the iso 8601 date format of the time that this resource was edited.
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0the iso 8601 date format of the time that this resource was edited.
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0the iso 8601 date format of the time that this resource was edited.
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0the iso 8601 date format of the time that this resource was edited.
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0the iso 8601 date format of the time that this resource was edited.
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0the iso 8601 date format of the time that this resource was edited.
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0the iso 8601 date format of the time that this resource was edited.
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHplugins/api-docs/dev/graphql-example-api.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
HIGHpackages/catalog-model/examples/apis/swapi-graphql.yaml0a count of the total number of objects in this connection, ignoring pagination. this allows a client to fetch the first
52 more matches not shown…
Hyper-Verbose Identifiers538 hits · 544 pts
SeverityFileLineSnippet
LOW…ackend-module-cloudflare-access-provider/report.api.md63export function createCloudflareAccessAuthenticator(options?: {
LOW…module-cloudflare-access-provider/src/authenticator.ts30export function createCloudflareAccessAuthenticator(options?: {
LOW…log-backend-module-bitbucket-cloud/report-alpha.api.md10export function analyzeBitbucketCloudWebhookEvent(
LOW…-cloud/src/events/analyzeBitbucketCloudWebhookEvent.ts219export async function analyzeBitbucketCloudWebhookEvent(
LOW…affolder-backend-module-bitbucket-server/report.api.md16export function createPublishBitbucketServerAction(options: {
LOW…affolder-backend-module-bitbucket-server/report.api.md42export function createPublishBitbucketServerPullRequestAction(options: {
LOW…module-bitbucket-server/src/actions/bitbucketServer.ts123export function createPublishBitbucketServerAction(options: {
LOW…ucket-server/src/actions/bitbucketServerPullRequest.ts245export function createPublishBitbucketServerPullRequestAction(options: {
LOWplugins/techdocs-react/report.api.md34export function createTechDocsAddonExtension(
LOWplugins/techdocs-react/report.api.md44export function getEntityRootTechDocsPath(entity: Entity): string;
LOWplugins/techdocs-react/report.api.md179export function toLowercaseEntityRefMaybe(
LOWplugins/techdocs-react/src/helpers.ts35export function toLowercaseEntityRefMaybe(
LOWplugins/techdocs-react/src/helpers.ts54export function getEntityRootTechDocsPath(entity: Entity): string {
LOWplugins/techdocs-react/src/addons.tsx58export function createTechDocsAddonExtension(
LOWplugins/catalog-backend-module-openapi/report.api.md22export function jsonSchemaRefPlaceholderResolver(
LOW…module-openapi/src/jsonSchemaRefPlaceholderResolver.ts25export async function jsonSchemaRefPlaceholderResolver(
LOWplugins/home/src/api/config.ts75export function createFilterByQueryParamFromConfig(
LOWplugins/scaffolder-backend-module-gerrit/report.api.md12export function createPublishGerritAction(options: {
LOWplugins/scaffolder-backend-module-gerrit/report.api.md35export function createPublishGerritReviewAction(options: {
LOW…scaffolder-backend-module-gerrit/src/actions/gerrit.ts88export function createPublishGerritAction(options: {
LOW…lder-backend-module-gerrit/src/actions/gerritReview.ts38export function createPublishGerritReviewAction(options: {
LOW…chdocs/src/collators/DefaultTechDocsCollatorFactory.ts272function getSimpleEntityOwnerString(entity: Entity): string {
LOW…/scaffolder/src/components/OngoingTask/OngoingTask.tsx84function OngoingTaskAnalyticsContext(props: { children: ReactNode }) {
LOW…ponents/fields/MultiEntityPicker/MultiEntityPicker.tsx399function convertSchemaFiltersToQuery(
LOW…ponents/fields/OwnedEntityPicker/OwnedEntityPicker.tsx121function buildEntityPickerUISchema(
LOW…er/src/components/fields/EntityPicker/EntityPicker.tsx410function convertSchemaFiltersToQuery(
LOW…gins/scaffolder/src/alpha/components/EditorSubPage.tsx80export function buildEditorFieldExtensions(
LOW…s/TemplateWizardPage/TemplateWizardPageContextMenu.tsx41export function TemplateWizardPageContextMenu(
LOW…s/TemplateEditorPage/TemplateEditorToolbarFileMenu.tsx27export function TemplateEditorToolbarFileMenu(props: {
LOW…mponents/TemplateEditorPage/TemplateEditorTextArea.tsx153export function TemplateEditorDirectoryEditorTextArea(props: {
LOW…a/components/TemplateEditorPage/TemplateEditorForm.tsx207export function TemplateEditorFormDirectoryEditorDryRun(
LOW…plateEditorPage/TemplateEditorToolbarTemplatesMenu.tsx41export function TemplateEditorToolbarTemplatesMenu(props: {
LOW…TemplateEditorPage/DryRunResults/DryRunResultsList.tsx117async function downloadDirectoryContents(
LOW…src/alpha/hooks/useScaffolderTemplateIconLinkProps.tsx32export function useScaffolderTemplateIconLinkProps() {
LOWplugins/catalog-backend/report.api.md134export function transformLegacyPolicyToProcessor(
LOWplugins/catalog-backend/src/database/metrics.ts43export function createEntitiesCountByKind(
LOW…ions/provider/deleteWithEagerPruningOfChildren.test.ts87 async function entitiesMarkedForStitching(knex: Knex) {
LOW…perations/provider/deleteWithEagerPruningOfChildren.ts29export async function deleteWithEagerPruningOfChildren(options: {
LOW…perations/provider/deleteWithEagerPruningOfChildren.ts77async function findDescendantsThatWouldHaveBeenOrphanedByDeletion(options: {
LOW…perations/provider/deleteWithEagerPruningOfChildren.ts231async function markEntitiesAffectedByDeletionForStitching(options: {
LOW…e/operations/stitcher/getDeferredStitchableEntities.ts42export async function getDeferredStitchableEntities(options: {
LOW…ase/operations/stitcher/markDeferredStitchCompleted.ts48export async function markDeferredStitchCompleted(option: {
LOWplugins/catalog-backend/src/stitching/types.ts32export function stitchingStrategyFromConfig(
LOW…catalog-backend/src/util/readScmEventHandlingConfig.ts37export function readScmEventHandlingConfig(
LOWplugins/catalog-backend/src/util/conversion.ts29export function locationSpecToMetadataName(location: LocationSpec) {
LOWplugins/catalog-backend/src/util/conversion.ts48export function locationSpecToLocationEntity(opts: {
LOW…d/src/processing/evictEntitiesFromOrphanedProviders.ts21export async function getOrphanedEntityProviderNames({
LOW…d/src/processing/evictEntitiesFromOrphanedProviders.ts53async function removeEntitiesForProvider({
LOW…d/src/processing/evictEntitiesFromOrphanedProviders.ts79export async function evictEntitiesFromOrphanedProviders(options: {
LOWplugins/catalog-backend/src/processing/refresh.ts26export function createRandomProcessingInterval(options: {
LOW…ckend/src/processing/DefaultCatalogProcessingEngine.ts466 function markSuccessfulWithNoChanges() {
LOW…ckend/src/processing/DefaultCatalogProcessingEngine.ts482 function markSuccessfulWithChanges() {
LOWplugins/catalog-backend/src/processing/util.ts47export function getEntityOriginLocationRef(entity: Entity): string {
LOW…/catalog-backend/src/providers/DefaultLocationStore.ts722function applyLocationFilterToQuery(
LOW…/performance/lib/catalogModuleSyntheticLoadEntities.ts68function validateSyntheticLoadOptions(options: SyntheticLoadOptions): void {
LOW…end/src/processors/transformLegacyPolicyToProcessor.ts26export function transformLegacyPolicyToProcessor(
LOWplugins/catalog-backend/src/service/util.ts84export function isQueryEntitiesInitialRequest(
LOWplugins/catalog-backend/src/service/util.ts93export function isQueryEntitiesCursorRequest(
LOWplugins/catalog-backend/src/service/util.ts157export function expandLegacyCompoundRelationsInEntity(entity: Entity): Entity {
LOWplugins/catalog-backend/src/service/response/process.ts39export function processEntitiesResponseItems(
478 more matches not shown…
Cross-Language Confusion (JS/TS)33 hits · 192 pts
SeverityFileLineSnippet
HIGHpackages/e2e-test/src/commands/runCommand.ts45 print(`CLI E2E test root: ${rootDir}\n`);
HIGHpackages/e2e-test/src/commands/runCommand.ts47 print('Building dist workspace');
HIGHpackages/e2e-test/src/commands/runCommand.ts53 print('Creating a Backstage App');
HIGHpackages/e2e-test/src/commands/runCommand.ts56 print('Creating a Backstage Plugin');
HIGHpackages/e2e-test/src/commands/runCommand.ts60 print('Creating a Backstage Backend Plugin');
HIGHpackages/e2e-test/src/commands/runCommand.ts63 print(`Running 'yarn test:e2e' in newly created app with new plugin`);
HIGHpackages/e2e-test/src/commands/runCommand.ts73 print('Testing the database backend startup');
HIGHpackages/e2e-test/src/commands/runCommand.ts85 print('Testing the Database backend startup');
HIGHpackages/e2e-test/src/commands/runCommand.ts91 print('All tests successful');
HIGHpackages/e2e-test/src/commands/runCommand.ts94 print(`All tests successful, app dir available at ${appDir}`);
HIGHpackages/e2e-test/src/commands/runCommand.ts96 print('All tests successful, removing test dir');
HIGHpackages/e2e-test/src/commands/runCommand.ts172 print(`Preparing workspace`);
HIGHpackages/e2e-test/src/commands/runCommand.ts182 print('Pinning yarn version in workspace');
HIGHpackages/e2e-test/src/commands/runCommand.ts187 print('Copying yarn patches');
HIGHpackages/e2e-test/src/commands/runCommand.ts191 print('Installing workspace dependencies');
HIGHpackages/e2e-test/src/commands/runCommand.ts261 print('Waiting for app create script to be done');
HIGHpackages/e2e-test/src/commands/runCommand.ts266 print('Overriding yarn.lock with seed file from the create-app package');
HIGHpackages/e2e-test/src/commands/runCommand.ts269 print('Rewriting module resolutions of app to use workspace packages');
HIGHpackages/e2e-test/src/commands/runCommand.ts273 print('Cleaning up node_modules in workspace');
HIGHpackages/e2e-test/src/commands/runCommand.ts284 print('Pinning yarn version and registry in app');
HIGHpackages/e2e-test/src/commands/runCommand.ts291 print('Test app created');
HIGHpackages/e2e-test/src/commands/runCommand.ts301 print(`Running 'yarn ${cmd}' in newly created app`);
HIGHpackages/e2e-test/src/commands/runCommand.ts382 print('Waiting for plugin create script to be done');
HIGHpackages/e2e-test/src/commands/runCommand.ts391 print(`Running 'yarn tsc' in root for newly created plugin`);
HIGHpackages/e2e-test/src/commands/runCommand.ts395 print(`Running 'yarn ${cmd.join(' ')}' in newly created plugin`);
HIGHpackages/e2e-test/src/commands/runCommand.ts534 print('Entities fetched successfully');
HIGHpackages/e2e-test/src/commands/runCommand.ts537 print('');
HIGHpackages/e2e-test/src/commands/runCommand.ts540 print('Stopping the child process');
HIGHpackages/e2e-test/src/commands/runCommand.ts426 print('Dropping old DBs');
HIGHpackages/e2e-test/src/commands/runCommand.ts433 print('Dropped DBs');
HIGHpackages/e2e-test/src/commands/runCommand.ts508 print(
HIGHpackages/e2e-test/src/commands/runCommand.ts518 print('Try to fetch entities from the backend');
HIGHpackages/e2e-test/src/commands/runCommand.ts553 print('Backend startup test finished successfully');
Fake / Example Data133 hits · 133 pts
SeverityFileLineSnippet
LOWdocs-ui/src/app/components/dialog/components.tsx44 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do
LOWdocs-ui/src/app/components/dialog/components.tsx44 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do
LOWdocs-ui/src/app/components/dialog/components.tsx67 Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet,
LOWdocs-ui/src/app/components/dialog/components.tsx67 Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet,
LOWdocs-ui/src/app/components/avatar/snippets.ts3<Avatar src="https://example.com/user.jpg" name="Jane Doe" />`;
LOW…-module-cloudflare-access-provider/src/helpers.test.ts110 groups: [{ id: '123', email: 'foo@bar.com', name: 'foo' }],
LOW…-module-cloudflare-access-provider/src/helpers.test.ts140 groups: [{ id: '123', email: 'foo@bar.com', name: 'foo' }],
LOW…-module-cloudflare-access-provider/src/helpers.test.ts182 groups: [{ id: '123', email: 'foo@bar.com', name: 'foo' }],
LOW…-module-cloudflare-access-provider/src/helpers.test.ts263 groups: [{ id: '123', email: 'foo@bar.com', name: 'foo' }],
LOW…-module-cloudflare-access-provider/src/helpers.test.ts308 groups: [{ id: '123', email: 'foo@bar.com', name: 'foo' }],
LOW…mponents/FeaturedDocsCard/FeaturedDocsCard.stories.tsx32 'An awesome doc you want to feature to help out your customers. Lorem ipsum dolor sit amet, consectetur adipisci
LOW…mponents/FeaturedDocsCard/FeaturedDocsCard.stories.tsx32 'An awesome doc you want to feature to help out your customers. Lorem ipsum dolor sit amet, consectetur adipisci
LOW…kend-module-gerrit/src/actions/gerrit.examples.test.ts355 gitAuthorInfo: { name: 'John Doe' },
LOW…kend-module-gerrit/src/actions/gerrit.examples.test.ts534 gitAuthorInfo: { name: 'John Doe', email: 'johndoe@email.com' },
LOW…r-backend-module-gerrit/src/actions/gerrit.examples.ts98 gitAuthorName: 'John Doe',
LOW…r-backend-module-gerrit/src/actions/gerrit.examples.ts151 gitAuthorName: 'John Doe',
LOW…github/src/events/__fixtures__/push-event-complex.json200 "name": "John Doe",
LOW…github/src/events/__fixtures__/push-event-complex.json221 "name": "John Doe",
LOW…-github/src/events/__fixtures__/push-event-simple.json200 "name": "John Doe",
LOW…-github/src/events/__fixtures__/push-event-simple.json221 "name": "John Doe",
LOWplugins/org/src/alpha.test.tsx127 displayName: 'John Doe',
LOWplugins/org/src/alpha.test.tsx138 expect(await screen.findByText('John Doe')).toBeInTheDocument();
LOW…lators/defaultCatalogCollatorEntityTransformer.test.ts45 email: 'test@test.com',
LOWplugins/scaffolder-backend-module-azure/README.md93 gitAuthorName: 'John Doe'
LOW…der-backend-module-azure/src/actions/azure.examples.ts103 gitAuthorName: 'John Doe',
LOW…gins/auth-node/src/flow/sendWebMessageResponse.test.ts50 email: 'foo@bar.com',
LOW…gins/auth-node/src/flow/sendWebMessageResponse.test.ts118 email: 'foo@bar.com',
LOW…gins/auth-node/src/flow/sendWebMessageResponse.test.ts136 email: 'foo@bar.com',
LOW…gins/auth-node/src/flow/sendWebMessageResponse.test.ts172 email: 'foo@bar.com',
LOW…t/src/next/components/ReviewState/ReviewState.test.tsx24 name: 'John Doe',
LOW…t/src/next/components/ReviewState/ReviewState.test.tsx38 name: 'John Doe',
LOW…t/src/next/components/ReviewState/ReviewState.test.tsx69 name: 'John Doe',
LOW…t/src/next/components/ReviewState/ReviewState.test.tsx123 name: 'John Doe',
LOW…talog-backend-module-gitlab/src/__testUtils__/mocks.ts1082 name: 'John Doe',
LOW…talog-backend-module-gitlab/src/__testUtils__/mocks.ts1091 name: 'Jane Doe',
LOW…talog-backend-module-gitlab/src/__testUtils__/mocks.ts1585 name: 'John Doe',
LOW…talog-backend-module-gitlab/src/__testUtils__/mocks.ts1597 name: 'John Doe',
LOW…talog-backend-module-gitlab/src/__testUtils__/mocks.ts1612 user_name: 'John Doe',
LOW…talog-backend-module-gitlab/src/__testUtils__/mocks.ts1631 user_name: 'John Doe',
LOW…talog-backend-module-gitlab/src/__testUtils__/mocks.ts1650 user_name: 'John Doe',
LOW…talog-backend-module-gitlab/src/__testUtils__/mocks.ts2293 displayName: 'John Doe',
LOW…talog-backend-module-gitlab/src/__testUtils__/mocks.ts2321 displayName: 'John Doe',
LOW…talog-backend-module-gitlab/src/__testUtils__/mocks.ts2349 displayName: 'John Doe',
LOW…talog-backend-module-gitlab/src/__testUtils__/mocks.ts2374 displayName: 'Jane Doe',
LOW…talog-backend-module-gitlab/src/__testUtils__/mocks.ts2820 displayName: 'John Doe',
LOW…talog-backend-module-gitlab/src/__testUtils__/mocks.ts2845 displayName: 'Jane Doe',
LOW…talog-backend-module-gitlab/src/__testUtils__/mocks.ts2973 displayName: 'John Doe',
LOW…talog-backend-module-gitlab/src/__testUtils__/mocks.ts3036 name: 'John Doe',
LOW…talog-backend-module-gitlab/src/__testUtils__/mocks.ts3071 displayName: 'John Doe',
LOW…der-backend-module-gitea/src/actions/gitea.examples.ts115 gitAuthorName: 'John Doe',
LOW…der-backend-module-gitea/src/actions/gitea.examples.ts167 gitAuthorName: 'John Doe',
LOW…ackend-module-gitea/src/actions/gitea.examples.test.ts504 name: 'John Doe',
LOW…ackend-module-gitea/src/actions/gitea.examples.test.ts725 name: 'John Doe',
LOW…d-module-pg/src/database/DatabaseDocumentStore.test.ts218 title: 'Lorem Ipsum',
LOW…d-module-pg/src/database/DatabaseDocumentStore.test.ts252 title: 'Lorem Ipsum',
LOW…d-module-pg/src/database/DatabaseDocumentStore.test.ts267 title: 'Lorem Ipsum',
LOW…d-module-pg/src/database/DatabaseDocumentStore.test.ts306 title: 'Lorem Ipsum',
LOW…d-module-pg/src/database/DatabaseDocumentStore.test.ts321 title: 'Lorem Ipsum',
LOW…d-module-pg/src/database/DatabaseDocumentStore.test.ts357 title: 'Lorem Ipsum',
LOW…d-module-pg/src/database/DatabaseDocumentStore.test.ts372 title: 'Lorem Ipsum',
73 more matches not shown…
Over-Commented Block63 hits · 63 pts
SeverityFileLineSnippet
LOWapp-config.yaml161 # Disable the catalog-unprocessed-entities element outside devtools
LOWapp-config.yaml241 # rawBaseUrl: https://ghe.example.net/raw
LOWapp-config.yaml261 # - accountName: ${ACCOUNT_NAME} # required
LOWapp-config.yaml301 # supports ISO duration, "human duration" as used in code
LOW…folder/src/components/fields/RepoOwnerPicker/schema.ts81
LOW…perations/provider/deleteWithEagerPruningOfChildren.ts81}): Promise<{ orphanEntityRefs: string[] }> {
LOW…perations/provider/deleteWithEagerPruningOfChildren.ts121 'descendants.entity_ref',
LOW…perations/provider/deleteWithEagerPruningOfChildren.ts181 // that the corresponding descendant should be kept alive and NOT
LOW…/src/database/operations/stitcher/buildEntitySearch.ts41type Kv = {
LOW…/src/database/operations/stitcher/buildEntitySearch.ts61// will result in
LOW…/src/database/operations/stitcher/buildEntitySearch.ts101 // array
LOW…end/src/database/operations/stitcher/syncSearchRows.ts61 if (client === 'pg') {
LOW…end/src/database/operations/stitcher/syncSearchRows.ts121 ON CONFLICT (entity_id, key, value)
LOW…ckend/src/processing/DefaultCatalogProcessingEngine.ts241
LOW…-module-github/src/events/analyzeGithubWebhookEvent.ts621 // no mention of the OLD_OWNER anywhere in the event payload)
LOW…module-google-pubsub/src/util/createPatternResolver.ts81 // The result of the split contains pairs (with maybe no last element):
LOW…-backend/sample-templates/bitbucket-demo/template.yaml21 allowedHosts:
LOWplugins/catalog-backend-module-ldap/src/ldap/config.ts101 // The name of the attribute that shall be used for the value of the
LOWplugins/catalog-backend-module-ldap/src/ldap/config.ts141 // The name of the attribute that shall be used for the value of the
LOWplugins/notifications-backend-module-email/README.md61 # accessKeyId: 'my-access-key
LOWplugins/notifications-backend-module-email/README.md81 receiver: 'users'
LOW…auth-backend/examples/docker-compose.oauth2-proxy.yaml1#!/usr/bin/env docker-compose -f
LOWplugins/auth-node/src/flow/sendWebMessageResponse.ts61 // be sure that the js code below does not allow the injection of malicious
LOW…s/search-backend/src/service/AuthorizedSearchEngine.ts161 // When there are no CONDITIONAL decisions for any of the requested
LOW…s/search-backend/src/service/AuthorizedSearchEngine.ts241 }
LOW…gins/bitbucket-cloud-common/scripts/generate-models.sh1#!/usr/bin/env bash
LOWplugins/api-docs/README-alpha.md301###### Disable
LOWplugins/api-docs/README-alpha.md381This card is disabled by default when you install the `api-docs` plugin, but to ensure the card will always be disabled
LOWplugins/api-docs/README-alpha.md461```yaml
LOWplugins/api-docs/README-alpha.md701
LOWplugins/api-docs/README-alpha.md781| `entity-content` | `api-docs` | `apis` | `entity-content:api-docs/apis` |
LOWplugins/catalog-backend-module-msgraph/README.md41 # for querying. Certain features are limited to advanced querying capabilities.
LOWplugins/catalog-backend-module-msgraph/README.md61 select: ['id', 'displayName', 'description']
LOWplugins/catalog-backend-module-msgraph/README.md81 # Can be combined with userGroupMember[...] instead of userFilter.
LOW.storybook/main.ts61 viteFinal: async (config, { configType }) => {
LOWdocs/releases/v1.49.0-changelog.md361 const paths = findPaths(__dirname);
LOWdocs/backend-system/core-services/root-http-router.md61 startupRequestPauseTimeout: { seconds: 10 }
LOWdocs/auth/identity-resolver.md301 // This step calls the catalog to look up a user entity. You could for example
LOWdocs/features/software-catalog/configuration.md441 # entityOverrides can be used to override parts of the produced entities.
LOWdocs/integrations/ldap/org.md281 # The name of the attribute that shall be used for the value of
LOWdocs/integrations/ldap/org--old.md201
LOWdocs/integrations/ldap/org--old.md301 type: groupType
LOWdocs/ai/mcp-actions.md201 experimentalClientIdMetadataDocuments:
LOWcontrib/docs/tutorials/flightcontrol-deployment.md121 # config options: https://node-postgres.com/apis/client
LOW…sic_kubernetes_example_with_helm/backstage/values.yaml81 podSecurityContext:
LOW…mplates/backend-plugin/src/services/TodoListService.ts81 // Cross-plugin communication uses service-to-service authentication. The
LOWpackages/cli-common/CHANGELOG.md101 import { findPaths } from '@backstage/cli-common';
LOWpackages/techdocs-cli/scripts/prepack.sh1#!/bin/bash
LOWpackages/yarn-plugin/src/util/getPackageVersion.ts61 // don't need to explicitly memoize the fetch.
LOWpackages/backend/prometheus.yml1# This is an example configuration file for Prometheus, that is set to scrape
LOWpackages/cli/asset-types/asset-types.d.ts121}
LOWpackages/cli/asset-types/asset-types.js1// NOOP, this is just here to unbreak module resolution
LOWpackages/core-components/report.api.md801export function Lifecycle(props: Props_7): JSX_2.Element;
LOWpackages/core-components/report.api.md901
LOWpackages/core-components/report.api.md961//
LOWpackages/core-components/report.api.md1361 | 'running'
LOWpackages/core-components/report.api.md1421 drawerWidthClosed?: number;
LOWpackages/core-components/report.api.md1481 component?: ElementType;
LOWpackages/core-components/report.api.md1561//
LOWpackages/core-components/report.api.md1681// Warning: (ae-missing-release-tag) "WarningPanelClassKey" is part of the package's API, but it is missing a release ta
3 more matches not shown…
Decorative Section Separators15 hits · 45 pts
SeverityFileLineSnippet
MEDIUMcontrib/terraform/techdocs-s3-storage/terraform.tf1#==========================
MEDIUMcontrib/terraform/techdocs-s3-storage/terraform.tf3#==========================
MEDIUMcontrib/terraform/techdocs-s3-storage/terraform.tf17#==========================
MEDIUMcontrib/terraform/techdocs-s3-storage/terraform.tf19#==========================
MEDIUMcontrib/terraform/techdocs-s3-storage/terraform.tf54#==========================
MEDIUMcontrib/terraform/techdocs-s3-storage/terraform.tf56#==========================
MEDIUM…li-module-build/src/commands/package/bundle/command.ts187 // ── Step 0 (frontend only): Module federation build ─────────────────
MEDIUM…li-module-build/src/commands/package/bundle/command.ts223 // ── Step 1: Populate embedded packages ──────────────────────────────
MEDIUM…li-module-build/src/commands/package/bundle/command.ts228 // ── Strategy A: Copy from pre-built dist workspace ───────────────
MEDIUM…li-module-build/src/commands/package/bundle/command.ts259 // ── Strategy B: createDistWorkspace ──────────────────────────────
MEDIUM…li-module-build/src/commands/package/bundle/command.ts314 // ── Step 2: Assemble embedded packages ──────────────────────────────
MEDIUM…li-module-build/src/commands/package/bundle/command.ts372 // ── Step 1b: Pack main plugin only ──────────────────────────────────
MEDIUM…li-module-build/src/commands/package/bundle/command.ts424 // ── Step 3: Config schema ────────────────────────────────────────────
MEDIUM…li-module-build/src/commands/package/bundle/command.ts464 // ── Step 4: Post-process package.json ────────────────────────────────
MEDIUM…li-module-build/src/commands/package/bundle/command.ts489 // ── Step 5: Seed lockfile, prune, & install ──────────────────────────
Slop Phrases8 hits · 24 pts
SeverityFileLineSnippet
MEDIUMapp-config.yaml313 # For local development you can use a file location instead:
MEDIUMplugins/techdocs-module-addons-contrib/src/plugin.ts43 * Here's a simple example:
MEDIUMplugins/techdocs-module-addons-contrib/src/plugin.ts90 * Here's a simple example:
MEDIUMplugins/techdocs-module-addons-contrib/src/plugin.ts169 * Here's a simple example:
MEDIUMplugins/techdocs-module-addons-contrib/src/plugin.ts217 * Here's a simple example:
MEDIUM…mePageComponents/HeaderWorldClock/HeaderWorldClock.tsx86 * Here's a simple example:
MEDIUM…p/templates/legacy-app/examples/template/template.yaml52 # you can change that here.
MEDIUM…/templates/default-app/examples/template/template.yaml52 # you can change that here.
AI Slop Vocabulary5 hits · 14 pts
SeverityFileLineSnippet
MEDIUMmicrosite/data/plugins/harness-iacm.yaml7documentation: https://github.com/harness/backstage-plugins/tree/main/plugins/harness-iacm#harness-iacm-plugin
MEDIUMpackages/config-loader/src/schema/filtering.ts178 // We don't use this method for all the errors as the data path is more robust
MEDIUMpackages/yarn-plugin/src/util/getPackageVersion.ts60 // 1. This means that the fetch should leverage yarn's built-in cache, so we
MEDIUM…repo-tools/src/commands/package/schema/openapi/fuzz.ts61 // TODO: @sennyeya This should leverage the `guest-provider` if available.
MEDIUM…aults/src/entrypoints/urlReader/lib/GithubUrlReader.ts315 // For larger repos, we leverage readTree and filter through that instead
Self-Referential Comments5 hits · 12 pts
SeverityFileLineSnippet
MEDIUMplugins/devtools-backend/src/util/Lockfile.ts54 `# This file is generated by running "yarn install" inside your project.\n`,
MEDIUMpackages/cli-node/src/monorepo/Lockfile.test.ts25const MODERN_HEADER = `# This file is generated by running "yarn install" inside your project.
MEDIUMpackages/cli-node/src/monorepo/Lockfile.ts26 `# This file is generated by running "yarn install" inside your project.\n`,
MEDIUM.github/ISSUE_TEMPLATE/.common.yaml1# This file contains common fields for all issue templates
MEDIUM.github/ISSUE_TEMPLATE/01_bug.yaml40 ## Defining the bug
Verbosity Indicators5 hits · 8 pts
SeverityFileLineSnippet
LOW…es/catalog-model/src/model/compileCatalogModel.test.ts242 // Step 1: Add one of everything
LOW…es/catalog-model/src/model/compileCatalogModel.test.ts442 // Step 2: Update everything
LOW…es/catalog-model/src/model/compileCatalogModel.test.ts618 // Step 3: Remove things
LOW…es/catalog-model/src/model/compileCatalogModel.test.ts742 // Step 4: Remove the kind entirely
LOW…ckend-openapi-utils/src/schema/parameter-validation.ts212 // Since getAll will return an empty array if the key is not found, we need to check if the key exists first.