catalog-node: promote extension points

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2026-01-27 00:24:44 +01:00
parent ba764ddc36
commit cfd8103e63
54 changed files with 256 additions and 118 deletions
@@ -0,0 +1,23 @@
---
'@backstage/plugin-catalog-backend': patch
'@backstage/plugin-catalog-backend-module-aws': patch
'@backstage/plugin-catalog-backend-module-azure': patch
'@backstage/plugin-catalog-backend-module-backstage-openapi': patch
'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch
'@backstage/plugin-catalog-backend-module-bitbucket-server': patch
'@backstage/plugin-catalog-backend-module-gcp': patch
'@backstage/plugin-catalog-backend-module-gerrit': patch
'@backstage/plugin-catalog-backend-module-gitea': patch
'@backstage/plugin-catalog-backend-module-github': patch
'@backstage/plugin-catalog-backend-module-github-org': patch
'@backstage/plugin-catalog-backend-module-gitlab': patch
'@backstage/plugin-catalog-backend-module-gitlab-org': patch
'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
'@backstage/plugin-catalog-backend-module-ldap': patch
'@backstage/plugin-catalog-backend-module-msgraph': patch
'@backstage/plugin-catalog-backend-module-openapi': patch
'@backstage/plugin-catalog-backend-module-puppetdb': patch
'@backstage/plugin-catalog-backend-module-scaffolder-entity-model': patch
---
Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
@@ -0,0 +1,14 @@
---
'@backstage/plugin-catalog-node': minor
---
Promoted stable catalog extension points from alpha to main export. The following extension points are now exported from `@backstage/plugin-catalog-node` instead of `@backstage/plugin-catalog-node/alpha`:
- `catalogLocationsExtensionPoint` and `CatalogLocationsExtensionPoint`
- `catalogProcessingExtensionPoint` and `CatalogProcessingExtensionPoint`
- `catalogAnalysisExtensionPoint` and `CatalogAnalysisExtensionPoint`
- `catalogModelExtensionPoint` and `CatalogModelExtensionPoint`
The old alpha exports for these extension points are now deprecated with `@deprecated` markers pointing to the new stable exports. Please update your imports from `@backstage/plugin-catalog-node/alpha` to `@backstage/plugin-catalog-node`.
Note: The `catalogPermissionExtensionPoint`, `CatalogPermissionExtensionPoint`, and `CatalogPermissionRuleInput` remain in alpha as they are deprecated in favor of `coreServices.permissionsRegistry`.
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Updated catalog provider module template to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of alpha exports.
+1 -1
View File
@@ -16,7 +16,7 @@ import {
EntityProviderConnection,
} from '@backstage/plugin-catalog-node';
import { parseEntityYaml } from '@backstage/plugin-catalog-node';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import bodyParser from 'body-parser';
import express from 'express';
import Router from 'express-promise-router';
@@ -660,7 +660,7 @@ depends on the appropriate extension point and interacts with it.
```ts title="packages/backend/src/index.ts"
/* highlight-add-start */
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { createBackendModule } from '@backstage/backend-plugin-api';
/* highlight-add-end */
@@ -166,7 +166,7 @@ This is an example of relaxing the format rules of the `metadata.name` field:
```ts
import { createBackend } from '@backstage/backend-defaults';
import { createBackendModule } from '@backstage/backend-plugin-api';
import { catalogModelExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogModelExtensionPoint } from '@backstage/plugin-catalog-node';
const myCatalogCustomizations = createBackendModule({
pluginId: 'catalog',
@@ -166,7 +166,7 @@ This is an example of relaxing the format rules of the `metadata.name` field:
```ts
import { createBackend } from '@backstage/backend-defaults';
import { createBackendModule } from '@backstage/backend-plugin-api';
import { catalogModelExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogModelExtensionPoint } from '@backstage/plugin-catalog-node';
const myCatalogCustomizations = createBackendModule({
pluginId: 'catalog',
@@ -596,7 +596,7 @@ import {
coreServices,
createBackendModule,
} from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
/* highlight-add-next-line */
import { FoobarEntitiesProcessor } from './providers';
@@ -294,7 +294,7 @@ import {
coreServices,
createBackendModule,
} from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { FrobsProvider } from './path/to/class';
export const catalogModuleFrobsProvider = createBackendModule({
@@ -737,7 +737,7 @@ import {
coreServices,
createBackendModule,
} from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { SystemXReaderProcessor } from '../path/to/class';
export const catalogModuleSystemXReaderProcessor = createBackendModule({
@@ -998,7 +998,7 @@ import {
coreServices,
createBackendModule,
} from '@backstage/backend-plugin-api';
import { catalogModelExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogModelExtensionPoint } from '@backstage/plugin-catalog-node';
import { customEntityDataParser } from '../lib/customEntityDataParser';
export const catalogModuleCustomDataParser = createBackendModule({
+1 -1
View File
@@ -285,7 +285,7 @@ import {
coreServices,
createBackendModule,
} from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { eventsServiceRef } from '@backstage/plugin-events-node';
import {
GitlabOrgDiscoveryEntityProvider,
+1 -1
View File
@@ -158,7 +158,7 @@ To install custom rules in a plugin, we need to use the [`PermissionsRegistrySer
```typescript title="packages/backend/src/modules/catalogPermissionRules.ts"
import { createBackendModule } from '@backstage/backend-plugin-api';
import { catalogPermissionExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogPermissionExtensionPoint } from '@backstage/plugin-catalog-node';
import { isInSystemRule } from './permissionsPolicyExtension';
export default createBackendModule({
+2 -2
View File
@@ -663,7 +663,7 @@
import {
catalogProcessingExtensionPoint,
catalogModelExtensionPoint,
} from '@backstage/plugin-catalog-node/alpha';
} from '@backstage/plugin-catalog-node';
import {myPolicy} from './my-policy';
export const catalogModulePolicyProvider = createBackendModule({
@@ -814,7 +814,7 @@
import {
catalogProcessingExtensionPoint,
catalogModelExtensionPoint,
} from '@backstage/plugin-catalog-node/alpha';
} from '@backstage/plugin-catalog-node';
import {myPolicy} from './my-policy';
export const catalogModulePolicyProvider = createBackendModule({
+1 -1
View File
@@ -58,7 +58,7 @@ We encourage you to migrate existing tests to use this new utility, in order to
### New backend plugin extension points
The `catalogModelExtensionPoint` from `@backstage/plugin-catalog-node/alpha` can now be used to replace the default entity data parser and field validation rules in the new backend system.
The `catalogModelExtensionPoint` from `@backstage/plugin-catalog-node` can now be used to replace the default entity data parser and field validation rules in the new backend system.
The `techdocsGeneratorExtensionPoint` from `@backstage/plugin-techdocs-node` can now be used to set a custom TechDocs generator.
@@ -2,7 +2,7 @@ import {
coreServices,
createBackendModule,
} from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { {{providerClass}} } from './provider/{{providerClass}}';
export const {{moduleVar}} = createBackendModule({
@@ -16,7 +16,7 @@
import { SchedulerServiceTaskScheduleDefinition } from '@backstage/backend-plugin-api';
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { catalogModuleAwsS3EntityProvider } from './catalogModuleAwsS3EntityProvider';
import { AwsS3EntityProvider } from '../providers';
@@ -18,7 +18,7 @@ import {
coreServices,
createBackendModule,
} from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { AwsS3EntityProvider } from '../providers';
/**
@@ -16,7 +16,7 @@
import { SchedulerServiceTaskScheduleDefinition } from '@backstage/backend-plugin-api';
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { catalogModuleAzureEntityProvider } from './catalogModuleAzureDevOpsEntityProvider';
import {
AzureBlobStorageEntityProvider,
@@ -18,7 +18,7 @@ import {
coreServices,
createBackendModule,
} from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import {
AzureBlobStorageEntityProvider,
AzureDevOpsEntityProvider,
@@ -18,7 +18,7 @@ import {
coreServices,
createBackendModule,
} from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { InternalOpenApiDocumentationProvider } from './InternalOpenApiDocumentationProvider';
/**
@@ -20,7 +20,7 @@ import {
} from '@backstage/backend-plugin-api';
import { startTestBackend, mockServices } from '@backstage/backend-test-utils';
import { EntityProviderConnection } from '@backstage/plugin-catalog-node';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { TestEventsService } from '@backstage/plugin-events-backend-test-utils';
import { eventsServiceRef } from '@backstage/plugin-events-node';
import { catalogModuleBitbucketCloudEntityProvider } from './catalogModuleBitbucketCloudEntityProvider';
@@ -18,7 +18,7 @@ import {
coreServices,
createBackendModule,
} from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { catalogServiceRef } from '@backstage/plugin-catalog-node';
import { eventsServiceRef } from '@backstage/plugin-events-node';
import { BitbucketCloudEntityProvider } from '../providers/BitbucketCloudEntityProvider';
@@ -18,7 +18,7 @@ import { SchedulerServiceTaskScheduleDefinition } from '@backstage/backend-plugi
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
import { createServiceFactory } from '@backstage/backend-plugin-api';
import { EntityProviderConnection } from '@backstage/plugin-catalog-node';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { TestEventsService } from '@backstage/plugin-events-backend-test-utils';
import { eventsServiceRef } from '@backstage/plugin-events-node';
import { catalogModuleBitbucketServerEntityProvider } from './catalogModuleBitbucketServerEntityProvider';
@@ -19,7 +19,7 @@ import {
createBackendModule,
} from '@backstage/backend-plugin-api';
import { catalogServiceRef } from '@backstage/plugin-catalog-node';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { eventsServiceRef } from '@backstage/plugin-events-node';
import { BitbucketServerEntityProvider } from '../providers/BitbucketServerEntityProvider';
@@ -18,7 +18,7 @@ import {
coreServices,
createBackendModule,
} from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { GkeEntityProvider } from '../providers/GkeEntityProvider';
/**
@@ -16,7 +16,7 @@
import { SchedulerServiceTaskScheduleDefinition } from '@backstage/backend-plugin-api';
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { catalogModuleGerritEntityProvider } from './catalogModuleGerritEntityProvider';
import { GerritEntityProvider } from '../providers/GerritEntityProvider';
@@ -18,7 +18,7 @@ import {
coreServices,
createBackendModule,
} from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { GerritEntityProvider } from '../providers/GerritEntityProvider';
/**
@@ -16,7 +16,7 @@
import { SchedulerServiceTaskScheduleDefinition } from '@backstage/backend-plugin-api';
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { catalogModuleGitea } from './module';
import { GiteaEntityProvider } from './providers/GiteaEntityProvider';
@@ -17,7 +17,7 @@ import {
coreServices,
createBackendModule,
} from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { GiteaEntityProvider } from './providers/GiteaEntityProvider';
/**
@@ -17,7 +17,7 @@
import { SchedulerServiceTaskScheduleDefinition } from '@backstage/backend-plugin-api';
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
import { EntityProvider } from '@backstage/plugin-catalog-node';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { catalogModuleGithubOrgEntityProvider } from './module';
describe('catalogModuleGithubOrgEntityProvider', () => {
@@ -27,7 +27,7 @@ import {
TeamTransformer,
UserTransformer,
} from '@backstage/plugin-catalog-backend-module-github';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { eventsServiceRef } from '@backstage/plugin-events-node';
import { GithubOrgEntityCleanerProvider } from './GithubOrgEntityCleanerProvider';
@@ -20,7 +20,7 @@ import { EntityProvider } from '@backstage/plugin-catalog-node';
import {
catalogAnalysisExtensionPoint,
catalogProcessingExtensionPoint,
} from '@backstage/plugin-catalog-node/alpha';
} from '@backstage/plugin-catalog-node';
import { githubCatalogModule } from './githubCatalogModule';
import { GithubLocationAnalyzer } from '../analyzers/GithubLocationAnalyzer';
@@ -21,7 +21,7 @@ import {
import {
catalogAnalysisExtensionPoint,
catalogProcessingExtensionPoint,
} from '@backstage/plugin-catalog-node/alpha';
} from '@backstage/plugin-catalog-node';
import { catalogServiceRef } from '@backstage/plugin-catalog-node';
import { eventsServiceRef } from '@backstage/plugin-events-node';
import { GithubEntityProvider } from '../providers/GithubEntityProvider';
@@ -21,7 +21,7 @@ import {
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
import { GitlabOrgDiscoveryEntityProvider } from '@backstage/plugin-catalog-backend-module-gitlab';
import { EntityProviderConnection } from '@backstage/plugin-catalog-node';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { TestEventsService } from '@backstage/plugin-events-backend-test-utils';
import { eventsServiceRef } from '@backstage/plugin-events-node';
import { catalogModuleGitlabOrgDiscoveryEntityProvider } from './catalogModuleGitlabOrgDiscoveryEntityProvider';
@@ -24,7 +24,7 @@ import {
UserTransformer,
GroupTransformer,
} from '@backstage/plugin-catalog-backend-module-gitlab';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { eventsServiceRef } from '@backstage/plugin-events-node';
/**
@@ -20,7 +20,7 @@ import {
} from '@backstage/backend-plugin-api';
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
import { EntityProviderConnection } from '@backstage/plugin-catalog-node';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { TestEventsService } from '@backstage/plugin-events-backend-test-utils';
import { eventsServiceRef } from '@backstage/plugin-events-node';
import { GitlabDiscoveryEntityProvider } from '../providers';
@@ -18,7 +18,7 @@ import {
coreServices,
createBackendModule,
} from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { eventsServiceRef } from '@backstage/plugin-events-node';
import { GitlabDiscoveryEntityProvider } from '../providers';
@@ -16,7 +16,7 @@
import { createBackendModule } from '@backstage/backend-plugin-api';
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { IncrementalEntityProvider } from '../types';
import {
catalogModuleIncrementalIngestionEntityProvider,
@@ -19,7 +19,7 @@ import {
createBackendModule,
createExtensionPoint,
} from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { WrapperProviders } from './WrapperProviders';
import { eventsServiceRef } from '@backstage/plugin-events-node';
import {
@@ -19,7 +19,7 @@ import {
createBackendModule,
createExtensionPoint,
} from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { LdapOrgEntityProvider } from './processors';
import { GroupTransformer, UserTransformer } from './ldap/types';
@@ -16,7 +16,7 @@
import { SchedulerServiceTaskScheduleDefinition } from '@backstage/backend-plugin-api';
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { catalogModuleMicrosoftGraphOrgEntityProvider } from './catalogModuleMicrosoftGraphOrgEntityProvider';
import { MicrosoftGraphOrgEntityProvider } from '../processors';
@@ -19,7 +19,7 @@ import {
createBackendModule,
createExtensionPoint,
} from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import {
GroupTransformer,
OrganizationTransformer,
@@ -16,7 +16,7 @@
import { startTestBackend } from '@backstage/backend-test-utils';
import { PlaceholderResolver } from '@backstage/plugin-catalog-node';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { catalogModuleJsonSchemaRefPlaceholderResolver } from './catalogModuleJsonSchemaRefPlaceholderResolver';
import { jsonSchemaRefPlaceholderResolver } from '../jsonSchemaRefPlaceholderResolver';
@@ -15,7 +15,7 @@
*/
import { createBackendModule } from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { jsonSchemaRefPlaceholderResolver } from '../jsonSchemaRefPlaceholderResolver';
/**
@@ -16,7 +16,7 @@
import { SchedulerServiceTaskScheduleDefinition } from '@backstage/backend-plugin-api';
import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { catalogModulePuppetDbEntityProvider } from './catalogModulePuppetDbEntityProvider';
import { PuppetDbEntityProvider } from '../providers/PuppetDbEntityProvider';
@@ -18,7 +18,7 @@ import {
coreServices,
createBackendModule,
} from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { PuppetDbEntityProvider } from '../providers/PuppetDbEntityProvider';
/**
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { ScaffolderEntitiesProcessor } from './processor';
import { catalogModuleScaffolderEntityModel } from './module';
import { startTestBackend } from '@backstage/backend-test-utils';
@@ -15,7 +15,7 @@
*/
import { createBackendModule } from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { ScaffolderEntitiesProcessor } from './processor';
/**
@@ -33,10 +33,12 @@ import {
catalogLocationsExtensionPoint,
CatalogModelExtensionPoint,
catalogModelExtensionPoint,
catalogProcessingExtensionPoint,
} from '@backstage/plugin-catalog-node';
import {
CatalogPermissionExtensionPoint,
catalogPermissionExtensionPoint,
CatalogPermissionRuleInput,
catalogProcessingExtensionPoint,
} from '@backstage/plugin-catalog-node/alpha';
import { eventsServiceRef } from '@backstage/plugin-events-node';
import { Permission } from '@backstage/plugin-permission-common';
@@ -25,7 +25,7 @@ import {
CatalogClient,
GetEntitiesResponse,
} from '@backstage/catalog-client';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { Knex } from 'knex';
import { default as catalogPlugin } from '../..';
import {
@@ -20,7 +20,7 @@ import {
mockServices,
startTestBackend,
} from '@backstage/backend-test-utils';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node';
import { createDeferred } from '@backstage/types';
import { Knex } from 'knex';
import { default as catalogPlugin } from '../..';
+20 -52
View File
@@ -3,37 +3,25 @@
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
```ts
import { CatalogAnalysisExtensionPoint as CatalogAnalysisExtensionPoint_2 } from '@backstage/plugin-catalog-node';
import { CatalogApi } from '@backstage/catalog-client';
import { CatalogProcessor } from '@backstage/plugin-catalog-node';
import { CatalogProcessorParser } from '@backstage/plugin-catalog-node';
import { CatalogLocationsExtensionPoint as CatalogLocationsExtensionPoint_2 } from '@backstage/plugin-catalog-node';
import { CatalogModelExtensionPoint as CatalogModelExtensionPoint_2 } from '@backstage/plugin-catalog-node';
import { CatalogProcessingExtensionPoint as CatalogProcessingExtensionPoint_2 } from '@backstage/plugin-catalog-node';
import { EntitiesSearchFilter } from '@backstage/plugin-catalog-node';
import { Entity } from '@backstage/catalog-model';
import { EntityProvider } from '@backstage/plugin-catalog-node';
import { ExtensionPoint } from '@backstage/backend-plugin-api';
import { LocationAnalyzer } from '@backstage/plugin-catalog-node';
import { Permission } from '@backstage/plugin-permission-common';
import { PermissionResourceRef } from '@backstage/plugin-permission-node';
import { PermissionRule } from '@backstage/plugin-permission-node';
import { PermissionRuleParams } from '@backstage/plugin-permission-common';
import { PlaceholderResolver } from '@backstage/plugin-catalog-node';
import { ScmLocationAnalyzer } from '@backstage/plugin-catalog-node';
import { ServiceRef } from '@backstage/backend-plugin-api';
import { Validators } from '@backstage/catalog-model';
// @alpha (undocumented)
export interface CatalogAnalysisExtensionPoint {
addScmLocationAnalyzer(analyzer: ScmLocationAnalyzer): void;
setLocationAnalyzer(
analyzerOrFactory:
| LocationAnalyzer
| ((options: { scmLocationAnalyzers: ScmLocationAnalyzer[] }) => Promise<{
locationAnalyzer: LocationAnalyzer;
}>),
): void;
}
// @alpha @deprecated (undocumented)
export type CatalogAnalysisExtensionPoint = CatalogAnalysisExtensionPoint_2;
// @alpha (undocumented)
export const catalogAnalysisExtensionPoint: ExtensionPoint<CatalogAnalysisExtensionPoint>;
// @alpha @deprecated (undocumented)
export const catalogAnalysisExtensionPoint: ExtensionPoint<CatalogAnalysisExtensionPoint_2>;
// @alpha (undocumented)
export const catalogEntityPermissionResourceRef: PermissionResourceRef<
@@ -43,22 +31,17 @@ export const catalogEntityPermissionResourceRef: PermissionResourceRef<
'catalog'
>;
// @alpha (undocumented)
export interface CatalogLocationsExtensionPoint {
setAllowedLocationTypes(locationTypes: Array<string>): void;
}
// @alpha @deprecated (undocumented)
export type CatalogLocationsExtensionPoint = CatalogLocationsExtensionPoint_2;
// @alpha (undocumented)
export const catalogLocationsExtensionPoint: ExtensionPoint<CatalogLocationsExtensionPoint>;
// @alpha @deprecated (undocumented)
export const catalogLocationsExtensionPoint: ExtensionPoint<CatalogLocationsExtensionPoint_2>;
// @alpha (undocumented)
export interface CatalogModelExtensionPoint {
setEntityDataParser(parser: CatalogProcessorParser): void;
setFieldValidators(validators: Partial<Validators>): void;
}
// @alpha @deprecated (undocumented)
export type CatalogModelExtensionPoint = CatalogModelExtensionPoint_2;
// @alpha (undocumented)
export const catalogModelExtensionPoint: ExtensionPoint<CatalogModelExtensionPoint>;
// @alpha @deprecated (undocumented)
export const catalogModelExtensionPoint: ExtensionPoint<CatalogModelExtensionPoint_2>;
// @alpha @deprecated (undocumented)
export interface CatalogPermissionExtensionPoint {
@@ -80,26 +63,11 @@ export type CatalogPermissionRuleInput<
TParams extends PermissionRuleParams = PermissionRuleParams,
> = PermissionRule<Entity, EntitiesSearchFilter, 'catalog-entity', TParams>;
// @alpha (undocumented)
export interface CatalogProcessingExtensionPoint {
addEntityProvider(
...providers: Array<EntityProvider | Array<EntityProvider>>
): void;
addPlaceholderResolver(key: string, resolver: PlaceholderResolver): void;
addProcessor(
...processors: Array<CatalogProcessor | Array<CatalogProcessor>>
): void;
// (undocumented)
setOnProcessingErrorHandler(
handler: (event: {
unprocessedEntity: Entity;
errors: Error[];
}) => Promise<void> | void,
): void;
}
// @alpha @deprecated (undocumented)
export type CatalogProcessingExtensionPoint = CatalogProcessingExtensionPoint_2;
// @alpha (undocumented)
export const catalogProcessingExtensionPoint: ExtensionPoint<CatalogProcessingExtensionPoint>;
// @alpha @deprecated (undocumented)
export const catalogProcessingExtensionPoint: ExtensionPoint<CatalogProcessingExtensionPoint_2>;
// @alpha @deprecated (undocumented)
export const catalogServiceRef: ServiceRef<CatalogApi, 'plugin', 'singleton'>;
+63
View File
@@ -9,8 +9,12 @@ import { AnalyzeLocationExistingEntity } from '@backstage/plugin-catalog-common'
import { AnalyzeLocationRequest } from '@backstage/plugin-catalog-common';
import { AnalyzeLocationResponse } from '@backstage/plugin-catalog-common';
import { BackstageCredentials } from '@backstage/backend-plugin-api';
import { CatalogProcessor as CatalogProcessor_2 } from '@backstage/plugin-catalog-node';
import { CatalogProcessorParser as CatalogProcessorParser_2 } from '@backstage/plugin-catalog-node';
import { CompoundEntityRef } from '@backstage/catalog-model';
import { Entity } from '@backstage/catalog-model';
import { EntityProvider as EntityProvider_2 } from '@backstage/plugin-catalog-node';
import { ExtensionPoint } from '@backstage/backend-plugin-api';
import { GetEntitiesByRefsRequest } from '@backstage/catalog-client';
import { GetEntitiesByRefsResponse } from '@backstage/catalog-client';
import { GetEntitiesRequest } from '@backstage/catalog-client';
@@ -22,13 +26,17 @@ import { GetEntityFacetsResponse } from '@backstage/catalog-client';
import { GetLocationsResponse } from '@backstage/catalog-client';
import { JsonValue } from '@backstage/types';
import { Location as Location_2 } from '@backstage/catalog-client';
import { LocationAnalyzer as LocationAnalyzer_2 } from '@backstage/plugin-catalog-node';
import { LocationEntityV1alpha1 } from '@backstage/catalog-model';
import { LocationSpec as LocationSpec_2 } from '@backstage/plugin-catalog-common';
import { PlaceholderResolver as PlaceholderResolver_2 } from '@backstage/plugin-catalog-node';
import { QueryEntitiesRequest } from '@backstage/catalog-client';
import { QueryEntitiesResponse } from '@backstage/catalog-client';
import { ScmLocationAnalyzer as ScmLocationAnalyzer_2 } from '@backstage/plugin-catalog-node';
import { ServiceRef } from '@backstage/backend-plugin-api';
import { StreamEntitiesRequest } from '@backstage/catalog-client';
import { ValidateEntityResponse } from '@backstage/catalog-client';
import { Validators } from '@backstage/catalog-model';
// @public (undocumented)
export type AnalyzeOptions = {
@@ -36,6 +44,61 @@ export type AnalyzeOptions = {
catalogFilename?: string;
};
// @public (undocumented)
export interface CatalogAnalysisExtensionPoint {
addScmLocationAnalyzer(analyzer: ScmLocationAnalyzer_2): void;
setLocationAnalyzer(
analyzerOrFactory:
| LocationAnalyzer_2
| ((options: {
scmLocationAnalyzers: ScmLocationAnalyzer_2[];
}) => Promise<{
locationAnalyzer: LocationAnalyzer_2;
}>),
): void;
}
// @public (undocumented)
export const catalogAnalysisExtensionPoint: ExtensionPoint<CatalogAnalysisExtensionPoint>;
// @public (undocumented)
export interface CatalogLocationsExtensionPoint {
setAllowedLocationTypes(locationTypes: Array<string>): void;
}
// @public (undocumented)
export const catalogLocationsExtensionPoint: ExtensionPoint<CatalogLocationsExtensionPoint>;
// @public (undocumented)
export interface CatalogModelExtensionPoint {
setEntityDataParser(parser: CatalogProcessorParser_2): void;
setFieldValidators(validators: Partial<Validators>): void;
}
// @public (undocumented)
export const catalogModelExtensionPoint: ExtensionPoint<CatalogModelExtensionPoint>;
// @public (undocumented)
export interface CatalogProcessingExtensionPoint {
addEntityProvider(
...providers: Array<EntityProvider_2 | Array<EntityProvider_2>>
): void;
addPlaceholderResolver(key: string, resolver: PlaceholderResolver_2): void;
addProcessor(
...processors: Array<CatalogProcessor_2 | Array<CatalogProcessor_2>>
): void;
// (undocumented)
setOnProcessingErrorHandler(
handler: (event: {
unprocessedEntity: Entity;
errors: Error[];
}) => Promise<void> | void,
): void;
}
// @public (undocumented)
export const catalogProcessingExtensionPoint: ExtensionPoint<CatalogProcessingExtensionPoint>;
// @public (undocumented)
export type CatalogProcessor = {
getProcessorName(): string;
+59 -8
View File
@@ -53,14 +53,65 @@ export const catalogServiceRef = createServiceRef<CatalogApi>({
}),
});
export type { CatalogLocationsExtensionPoint } from './extensions';
export { catalogLocationsExtensionPoint } from './extensions';
export type { CatalogProcessingExtensionPoint } from './extensions';
export { catalogProcessingExtensionPoint } from './extensions';
export type { CatalogAnalysisExtensionPoint } from './extensions';
export { catalogAnalysisExtensionPoint } from './extensions';
import {
CatalogLocationsExtensionPoint as _CatalogLocationsExtensionPoint,
CatalogProcessingExtensionPoint as _CatalogProcessingExtensionPoint,
CatalogAnalysisExtensionPoint as _CatalogAnalysisExtensionPoint,
CatalogModelExtensionPoint as _CatalogModelExtensionPoint,
catalogLocationsExtensionPoint as _catalogLocationsExtensionPoint,
catalogProcessingExtensionPoint as _catalogProcessingExtensionPoint,
catalogAnalysisExtensionPoint as _catalogAnalysisExtensionPoint,
catalogModelExtensionPoint as _catalogModelExtensionPoint,
} from '@backstage/plugin-catalog-node';
/**
* @alpha
* @deprecated Use {@link @backstage/plugin-catalog-node#CatalogLocationsExtensionPoint} instead
*/
export type CatalogLocationsExtensionPoint = _CatalogLocationsExtensionPoint;
/**
* @alpha
* @deprecated Use {@link @backstage/plugin-catalog-node#catalogLocationsExtensionPoint} instead
*/
export const catalogLocationsExtensionPoint = _catalogLocationsExtensionPoint;
/**
* @alpha
* @deprecated Use {@link @backstage/plugin-catalog-node#CatalogProcessingExtensionPoint} instead
*/
export type CatalogProcessingExtensionPoint = _CatalogProcessingExtensionPoint;
/**
* @alpha
* @deprecated Use {@link @backstage/plugin-catalog-node#catalogProcessingExtensionPoint} instead
*/
export const catalogProcessingExtensionPoint = _catalogProcessingExtensionPoint;
/**
* @alpha
* @deprecated Use {@link @backstage/plugin-catalog-node#CatalogAnalysisExtensionPoint} instead
*/
export type CatalogAnalysisExtensionPoint = _CatalogAnalysisExtensionPoint;
/**
* @alpha
* @deprecated Use {@link @backstage/plugin-catalog-node#catalogAnalysisExtensionPoint} instead
*/
export const catalogAnalysisExtensionPoint = _catalogAnalysisExtensionPoint;
/**
* @alpha
* @deprecated Use {@link @backstage/plugin-catalog-node#CatalogModelExtensionPoint} instead
*/
export type CatalogModelExtensionPoint = _CatalogModelExtensionPoint;
/**
* @alpha
* @deprecated Use {@link @backstage/plugin-catalog-node#catalogModelExtensionPoint} instead
*/
export const catalogModelExtensionPoint = _catalogModelExtensionPoint;
export type { CatalogPermissionRuleInput } from './extensions';
export type { CatalogPermissionExtensionPoint } from './extensions';
export { catalogPermissionExtensionPoint } from './extensions';
export type { CatalogModelExtensionPoint } from './extensions';
export { catalogModelExtensionPoint } from './extensions';
+8 -8
View File
@@ -32,7 +32,7 @@ import {
import { PermissionRule } from '@backstage/plugin-permission-node';
/**
* @alpha
* @public
*/
export interface CatalogLocationsExtensionPoint {
/**
@@ -43,7 +43,7 @@ export interface CatalogLocationsExtensionPoint {
}
/**
* @alpha
* @public
*/
export const catalogLocationsExtensionPoint =
createExtensionPoint<CatalogLocationsExtensionPoint>({
@@ -51,7 +51,7 @@ export const catalogLocationsExtensionPoint =
});
/**
* @alpha
* @public
*/
export interface CatalogProcessingExtensionPoint {
/**
@@ -97,7 +97,7 @@ export interface CatalogProcessingExtensionPoint {
): void;
}
/** @alpha */
/** @public */
export interface CatalogModelExtensionPoint {
/**
* Sets the validator function to use for one or more special fields of an
@@ -116,7 +116,7 @@ export interface CatalogModelExtensionPoint {
}
/**
* @alpha
* @public
*/
export const catalogProcessingExtensionPoint =
createExtensionPoint<CatalogProcessingExtensionPoint>({
@@ -124,7 +124,7 @@ export const catalogProcessingExtensionPoint =
});
/**
* @alpha
* @public
*/
export interface CatalogAnalysisExtensionPoint {
/**
@@ -151,14 +151,14 @@ export interface CatalogAnalysisExtensionPoint {
}
/**
* @alpha
* @public
*/
export const catalogAnalysisExtensionPoint =
createExtensionPoint<CatalogAnalysisExtensionPoint>({
id: 'catalog.analysis',
});
/** @alpha */
/** @public */
export const catalogModelExtensionPoint =
createExtensionPoint<CatalogModelExtensionPoint>({
id: 'catalog.model',
+12
View File
@@ -28,3 +28,15 @@ export {
type CatalogService,
type CatalogServiceRequestOptions,
} from './catalogService';
export type {
CatalogLocationsExtensionPoint,
CatalogProcessingExtensionPoint,
CatalogAnalysisExtensionPoint,
CatalogModelExtensionPoint,
} from './extensions';
export {
catalogLocationsExtensionPoint,
catalogProcessingExtensionPoint,
catalogAnalysisExtensionPoint,
catalogModelExtensionPoint,
} from './extensions';