diff --git a/.changeset/lemon-pumpkins-lick.md b/.changeset/lemon-pumpkins-lick.md new file mode 100644 index 0000000000..361c5769e3 --- /dev/null +++ b/.changeset/lemon-pumpkins-lick.md @@ -0,0 +1,11 @@ +--- +'@backstage/plugin-scaffolder-backend-module-confluence-to-markdown': patch +'@backstage/plugin-scaffolder-backend-module-cookiecutter': patch +'@backstage/plugin-scaffolder-backend-module-gitlab': patch +'@backstage/plugin-scaffolder-backend-module-rails': patch +'@backstage/plugin-scaffolder-backend-module-sentry': patch +'@backstage/plugin-scaffolder-backend-module-yeoman': patch +'@backstage/plugin-search-backend-module-stack-overflow-collator': patch +--- + +Updated installation instructions in README to not include `/alpha`. diff --git a/.changeset/lovely-jokes-breathe.md b/.changeset/lovely-jokes-breathe.md new file mode 100644 index 0000000000..f5782832eb --- /dev/null +++ b/.changeset/lovely-jokes-breathe.md @@ -0,0 +1,32 @@ +--- +'@backstage/plugin-search-backend-module-elasticsearch': minor +'@backstage/plugin-scaffolder-backend': minor +'@backstage/plugin-techdocs-backend': minor +'@backstage/plugin-catalog-backend': minor +'@backstage/plugin-search-backend': minor +'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch +'@backstage/plugin-catalog-backend-module-bitbucket-server': patch +'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch +'@backstage/plugin-events-backend-module-bitbucket-cloud': patch +'@backstage/plugin-catalog-backend-module-msgraph': patch +'@backstage/plugin-search-backend-module-techdocs': patch +'@backstage/plugin-catalog-backend-module-gerrit': patch +'@backstage/plugin-catalog-backend-module-github': patch +'@backstage/plugin-catalog-backend-module-gitlab': patch +'@backstage/plugin-events-backend-module-aws-sqs': patch +'@backstage/plugin-search-backend-module-catalog': patch +'@backstage/plugin-search-backend-module-explore': patch +'@backstage/plugin-catalog-backend-module-azure': patch +'@backstage/plugin-events-backend-module-gerrit': patch +'@backstage/plugin-events-backend-module-azure': patch +'@backstage/plugin-catalog-backend-module-aws': patch +'@backstage/plugin-search-backend-module-pg': patch +'@backstage/plugin-user-settings-backend': patch +'@backstage/plugin-kubernetes-backend': patch +'@backstage/plugin-permission-backend': patch +'@backstage/plugin-events-backend': patch +'@backstage/plugin-proxy-backend': patch +'@backstage/plugin-app-backend': patch +--- + +The export for the new backend system at the `/alpha` export is now also available via the main entry point, which means that you can remove the `/alpha` suffix from the import. diff --git a/docs/backend-system/architecture/02-backends.md b/docs/backend-system/architecture/02-backends.md index 4afdeea560..1310453a3f 100644 --- a/docs/backend-system/architecture/02-backends.md +++ b/docs/backend-system/architecture/02-backends.md @@ -21,7 +21,7 @@ import scaffolderPlugin from '@backstage/plugin-scaffolder-backend'; const backend = createBackend(); // Install desired features -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); // Features can also be installed using an explicit reference backend.add(scaffolderPlugin); diff --git a/docs/backend-system/architecture/07-feature-loaders.md b/docs/backend-system/architecture/07-feature-loaders.md index cf52a1feb3..43954ec443 100644 --- a/docs/backend-system/architecture/07-feature-loaders.md +++ b/docs/backend-system/architecture/07-feature-loaders.md @@ -24,10 +24,10 @@ A feature loader can simply return a list of features to be installed: export default createBackendFeatureLoader({ loader() { return [ - import('@backstage/plugin-search-backend/alpha'), - import('@backstage/plugin-search-backend-module-catalog/alpha'), - import('@backstage/plugin-search-backend-module-explore/alpha'), - import('@backstage/plugin-search-backend-module-techdocs/alpha'), + import('@backstage/plugin-search-backend'), + import('@backstage/plugin-search-backend-module-catalog'), + import('@backstage/plugin-search-backend-module-explore'), + import('@backstage/plugin-search-backend-module-techdocs'), ]; }, }); @@ -64,10 +64,10 @@ export default createBackendFeatureLoader({ *loader({ config }) { // Example of a custom config flag to enable search if (config.getOptionalString('customFeatureToggle.search')) { - yield import('@backstage/plugin-search-backend/alpha'); - yield import('@backstage/plugin-search-backend-module-catalog/alpha'); - yield import('@backstage/plugin-search-backend-module-explore/alpha'); - yield import('@backstage/plugin-search-backend-module-techdocs/alpha'); + yield import('@backstage/plugin-search-backend'); + yield import('@backstage/plugin-search-backend-module-catalog'); + yield import('@backstage/plugin-search-backend-module-explore'); + yield import('@backstage/plugin-search-backend-module-techdocs'); } }, }); @@ -84,16 +84,16 @@ export default createBackendFeatureLoader({ const localMetadata = await readMetadataFromDisk(); if (localMetadata.enableSearch) { - yield import('@backstage/plugin-search-backend/alpha'); - yield import('@backstage/plugin-search-backend-module-catalog/alpha'); + yield import('@backstage/plugin-search-backend'); + yield import('@backstage/plugin-search-backend-module-catalog'); const remoteMetadata = await fetchMetadata(); if (remoteMetadata.enableExplore) { - yield import('@backstage/plugin-search-backend-module-explore/alpha'); + yield import('@backstage/plugin-search-backend-module-explore'); } if (remoteMetadata.enableTechDocs) { - yield import('@backstage/plugin-search-backend-module-techdocs/alpha'); + yield import('@backstage/plugin-search-backend-module-techdocs'); } } }, diff --git a/docs/backend-system/building-backends/01-index.md b/docs/backend-system/building-backends/01-index.md index 2fb89e45af..ec95e57973 100644 --- a/docs/backend-system/building-backends/01-index.md +++ b/docs/backend-system/building-backends/01-index.md @@ -26,9 +26,9 @@ import { createBackend } from '@backstage/backend-defaults'; // Omitted in the e const backend = createBackend(); -backend.add(import('@backstage/plugin-app-backend/alpha')); -backend.add(import('@backstage/plugin-catalog-backend/alpha')); -backend.add(import('@backstage/plugin-scaffolder-backend/alpha')); +backend.add(import('@backstage/plugin-app-backend')); +backend.add(import('@backstage/plugin-catalog-backend')); +backend.add(import('@backstage/plugin-scaffolder-backend')); backend.add( import('@backstage/plugin-catalog-backend-module-scaffolder-entity-model'), ); @@ -126,8 +126,8 @@ You can now trim down the `src/index.ts` files to only include the plugins and m ```ts const backend = createBackend(); -backend.add(import('@backstage/plugin-app-backend/alpha')); -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-app-backend')); +backend.add(import('@backstage/plugin-catalog-backend')); backend.add( import('@backstage/plugin-catalog-backend-module-scaffolder-entity-model'), ); @@ -139,7 +139,7 @@ And `backend-b`, don't forget to clean up dependencies in `package.json` as well ```ts const backend = createBackend(); -backend.add(import('@backstage/plugin-scaffolder-backend/alpha')); +backend.add(import('@backstage/plugin-scaffolder-backend')); backend.start(); ``` diff --git a/docs/backend-system/building-backends/08-migrating.md b/docs/backend-system/building-backends/08-migrating.md index 2bc111b316..71cccab784 100644 --- a/docs/backend-system/building-backends/08-migrating.md +++ b/docs/backend-system/building-backends/08-migrating.md @@ -237,7 +237,7 @@ be used in its new form. ```ts title="packages/backend/src/index.ts" const backend = createBackend(); /* highlight-add-next-line */ -backend.add(import('@backstage/plugin-app-backend/alpha')); +backend.add(import('@backstage/plugin-app-backend')); ``` If you need to override the app package name, which otherwise defaults to `"app"`, @@ -252,7 +252,7 @@ A basic installation of the catalog plugin looks as follows. ```ts title="packages/backend/src/index.ts" const backend = createBackend(); /* highlight-add-start */ -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); backend.add( import('@backstage/plugin-catalog-backend-module-scaffolder-entity-model'), ); @@ -277,9 +277,9 @@ For `AwsS3DiscoveryProcessor`, first migrate to `AwsS3EntityProvider`. To migrate `AwsS3EntityProvider` to the new backend system, add a reference to the `@backstage/plugin-catalog-backend-module-aws` module. ```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); /* highlight-add-start */ -backend.add(import('@backstage/plugin-catalog-backend-module-aws/alpha')); +backend.add(import('@backstage/plugin-catalog-backend-module-aws')); /* highlight-add-end */ ``` @@ -306,9 +306,9 @@ For `AzureDevOpsDiscoveryProcessor`, first migrate to `AzureDevOpsEntityProvider To migrate `AzureDevOpsEntityProvider` to the new backend system, add a reference to the `@backstage/plugin-catalog-backend-module-azure` module. ```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); /* highlight-add-start */ -backend.add(import('@backstage/plugin-catalog-backend-module-azure/alpha')); +backend.add(import('@backstage/plugin-catalog-backend-module-azure')); /* highlight-add-end */ ``` @@ -340,11 +340,9 @@ For `BitbucketDiscoveryProcessor`, migrate to `BitbucketCloudEntityProvider` or To migrate `BitbucketCloudEntityProvider` to the new backend system, add a reference to the `@backstage/plugin-catalog-backend-module-bitbucket-cloud` module. ```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); /* highlight-add-start */ -backend.add( - import('@backstage/plugin-catalog-backend-module-bitbucket-cloud/alpha'), -); +backend.add(import('@backstage/plugin-catalog-backend-module-bitbucket-cloud')); /* highlight-add-end */ ``` @@ -367,10 +365,10 @@ catalog: To migrate `BitbucketServerEntityProvider` to the new backend system, add a reference to `@backstage/plugin-catalog-backend-module-bitbucket-server`. ```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); /* highlight-add-start */ backend.add( - import('@backstage/plugin-catalog-backend-module-bitbucket-server/alpha'), + import('@backstage/plugin-catalog-backend-module-bitbucket-server'), ); /* highlight-add-end */ ``` @@ -396,7 +394,7 @@ catalog: To migrate `GkeEntityProvider` to the new backend system, add a reference to `@backstage/plugin-catalog-backend-module-gcp`. ```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); /* highlight-add-start */ backend.add(import('@backstage/plugin-catalog-backend-module-gcp')); /* highlight-add-end */ @@ -409,9 +407,9 @@ Configuration in app-config.yaml remains the same. To migrate `GerritEntityProvider` to the new backend system, add a reference to `@backstage/plugin-catalog-backend-module-gerrit`. ```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); /* highlight-add-start */ -backend.add(import('@backstage/plugin-catalog-backend-module-gerrit/alpha')); +backend.add(import('@backstage/plugin-catalog-backend-module-gerrit')); /* highlight-add-end */ ``` @@ -438,9 +436,9 @@ For `GithubDiscoveryProcessor`, `GithubMultiOrgReaderProcessor` and `GithubOrgRe To migrate `GithubEntityProvider` to the new backend system, add a reference to `@backstage/plugin-catalog-backend-module-github`. ```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); /* highlight-add-start */ -backend.add(import('@backstage/plugin-catalog-backend-module-github/alpha')); +backend.add(import('@backstage/plugin-catalog-backend-module-github')); /* highlight-add-end */ ``` @@ -463,7 +461,7 @@ catalog: To migrate `GithubMultiOrgEntityProvider` or `GithubOrgEntityProvider` to the new backend system, add a reference to `@backstage/plugin-catalog-backend-module-github-org`. ```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); /* highlight-add-start */ backend.add(import('@backstage/plugin-catalog-backend-module-github-org')); /* highlight-add-end */ @@ -581,9 +579,9 @@ For `MicrosoftGraphOrgReaderProcessor`, first migrate to `MicrosoftGraphOrgEntit To migrate `MicrosoftGraphOrgEntityProvider` to the new backend system, add a reference to `@backstage/plugin-catalog-backend-module-msgraph`. ```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); /* highlight-add-start */ -backend.add(import('@backstage/plugin-catalog-backend-module-msgraph/alpha')); +backend.add(import('@backstage/plugin-catalog-backend-module-msgraph')); /* highlight-add-end */ ``` @@ -670,7 +668,7 @@ const catalogModuleCustomExtensions = createBackendModule({ /* highlight-add-end */ const backend = createBackend(); -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); backend.add( import('@backstage/plugin-catalog-backend-module-scaffolder-entity-model'), ); @@ -699,7 +697,7 @@ A basic installation of the events plugin looks as follows. ```ts title="packages/backend/src/index.ts" const backend = createBackend(); /* highlight-add-next-line */ -backend.add(import('@backstage/plugin-events-backend/alpha')); +backend.add(import('@backstage/plugin-events-backend')); ``` If you have other customizations made to `plugins/events.ts`, such as adding @@ -760,7 +758,7 @@ const otherPluginModuleCustomExtensions = createBackendModule({ /* highlight-add-end */ const backend = createBackend(); -backend.add(import('@backstage/plugin-events-backend/alpha')); +backend.add(import('@backstage/plugin-events-backend')); /* highlight-add-next-line */ backend.add(eventsModuleCustomExtensions); /* highlight-add-next-line */ @@ -780,7 +778,7 @@ A basic installation of the scaffolder plugin looks as follows. ```ts title="packages/backend/src/index.ts" const backend = createBackend(); /* highlight-add-next-line */ -backend.add(import('@backstage/plugin-scaffolder-backend/alpha')); +backend.add(import('@backstage/plugin-scaffolder-backend')); ``` With the new Backend System version of the Scaffolder plugin, any provider specific actions will need to be installed separately. @@ -788,7 +786,7 @@ For example - GitHub actions are now collected under the `@backstage/plugin-scaf ```ts title="packages/backend/src/index.ts" const backend = createBackend(); -backend.add(import('@backstage/plugin-scaffolder-backend/alpha')); +backend.add(import('@backstage/plugin-scaffolder-backend')); /* highlight-add-next-line */ backend.add(import('@backstage/plugin-scaffolder-backend-module-github')); @@ -839,7 +837,7 @@ const scaffolderModuleCustomExtensions = createBackendModule({ /* highlight-add-end */ const backend = createBackend(); -backend.add(import('@backstage/plugin-scaffolder-backend/alpha')); +backend.add(import('@backstage/plugin-scaffolder-backend')); /* highlight-add-next-line */ backend.add(scaffolderModuleCustomExtensions); ``` @@ -1143,7 +1141,7 @@ const backend = createBackend(); // Other plugins... /* highlight-add-start */ -backend.add(import('@backstage/plugin-search-backend/alpha')); +backend.add(import('@backstage/plugin-search-backend')); /* highlight-add-end */ ``` @@ -1167,8 +1165,8 @@ const backend = createBackend(); // Other plugins... /* highlight-add-start */ -backend.add(import('@backstage/plugin-search-backend/alpha')); -backend.add(import('@backstage/plugin-search-backend-module-pg/alpha')); +backend.add(import('@backstage/plugin-search-backend')); +backend.add(import('@backstage/plugin-search-backend-module-pg')); /* highlight-add-end */ ``` @@ -1182,10 +1180,8 @@ const backend = createBackend(); // Other plugins... /* highlight-add-start */ -backend.add(import('@backstage/plugin-search-backend/alpha')); -backend.add( - import('@backstage/plugin-search-backend-module-elasticsearch/alpha'), -); +backend.add(import('@backstage/plugin-search-backend')); +backend.add(import('@backstage/plugin-search-backend-module-elasticsearch')); /* highlight-add-end */ ``` @@ -1203,8 +1199,8 @@ const backend = createBackend(); // Other plugins... /* highlight-add-start */ -backend.add(import('@backstage/plugin-search-backend/alpha')); -backend.add(import('@backstage/plugin-search-backend-module-catalog/alpha')); +backend.add(import('@backstage/plugin-search-backend')); +backend.add(import('@backstage/plugin-search-backend-module-catalog')); /* highlight-add-end */ ``` @@ -1218,8 +1214,8 @@ const backend = createBackend(); // Other plugins... /* highlight-add-start */ -backend.add(import('@backstage/plugin-search-backend/alpha')); -backend.add(import('@backstage/plugin-search-backend-module-techdocs/alpha')); +backend.add(import('@backstage/plugin-search-backend')); +backend.add(import('@backstage/plugin-search-backend-module-techdocs')); /* highlight-add-end */ ``` @@ -1233,7 +1229,7 @@ const backend = createBackend(); // Other plugins... /* highlight-add-start */ -backend.add(import('@backstage/plugin-permission-backend/alpha')); +backend.add(import('@backstage/plugin-permission-backend')); backend.add( import('@backstage/plugin-permission-backend-module-allow-all-policy'), ); @@ -1294,7 +1290,7 @@ const backend = createBackend(); // Other plugins... /* highlight-add-start */ -backend.add(import('@backstage/plugin-permission-backend/alpha')); +backend.add(import('@backstage/plugin-permission-backend')); backend.add(customPermissionBackendModule); /* highlight-add-end */ ``` @@ -1309,7 +1305,7 @@ const backend = createBackend(); // Other plugins... /* highlight-add-start */ -backend.add(import('@backstage/plugin-techdocs-backend/alpha')); +backend.add(import('@backstage/plugin-techdocs-backend')); /* highlight-add-end */ ``` @@ -1323,7 +1319,7 @@ const backend = createBackend(); // Other plugins... /* highlight-add-start */ -backend.add(import('@backstage/plugin-kubernetes-backend/alpha')); +backend.add(import('@backstage/plugin-kubernetes-backend')); /* highlight-add-end */ ``` diff --git a/docs/deployment/docker.md b/docs/deployment/docker.md index 1017684595..7a17f09ad6 100644 --- a/docs/deployment/docker.md +++ b/docs/deployment/docker.md @@ -349,7 +349,7 @@ package, which is done as follows: 2. Remove the following line from `packages/backend/src/index.ts`: ```ts - backend.add(import('@backstage/plugin-app-backend/alpha')); + backend.add(import('@backstage/plugin-app-backend')); ``` 3. Remove the `@backstage/plugin-app-backend` and the app package dependency diff --git a/docs/features/kubernetes/installation.md b/docs/features/kubernetes/installation.md index bd6a15a542..aca4c19ac1 100644 --- a/docs/features/kubernetes/installation.md +++ b/docs/features/kubernetes/installation.md @@ -120,7 +120,7 @@ const backend = createBackend(); // Other plugins... /* highlight-add-start */ -backend.add(import('@backstage/plugin-kubernetes-backend/alpha')); +backend.add(import('@backstage/plugin-kubernetes-backend')); /* highlight-add-end */ backend.start(); @@ -228,7 +228,7 @@ export const kubernetesModuleCustomClusterDiscovery = createBackendModule({ }); // Other plugins... -backend.add(import('@backstage/plugin-kubernetes-backend/alpha')); +backend.add(import('@backstage/plugin-kubernetes-backend')); backend.add(kubernetesModuleCustomClusterDiscovery); backend.start(); diff --git a/docs/features/search/collators.md b/docs/features/search/collators.md index 27860bfd64..0282bc845e 100644 --- a/docs/features/search/collators.md +++ b/docs/features/search/collators.md @@ -24,10 +24,10 @@ const backend = createBackend(); // Other plugins... // search plugin -backend.add(import('@backstage/plugin-search-backend/alpha')); +backend.add(import('@backstage/plugin-search-backend')); /* highlight-add-start */ -backend.add(import('@backstage/plugin-search-backend-module-catalog/alpha')); +backend.add(import('@backstage/plugin-search-backend-module-catalog')); /* highlight-add-end */ backend.start(); @@ -68,10 +68,10 @@ const backend = createBackend(); // Other plugins... // search plugin -backend.add(import('@backstage/plugin-search-backend/alpha')); +backend.add(import('@backstage/plugin-search-backend')); /* highlight-add-start */ -backend.add(import('@backstage/plugin-search-backend-module-techdocs/alpha')); +backend.add(import('@backstage/plugin-search-backend-module-techdocs')); /* highlight-add-end */ backend.start(); diff --git a/docs/features/search/getting-started.md b/docs/features/search/getting-started.md index 362b7fc46d..a4b5348dbb 100644 --- a/docs/features/search/getting-started.md +++ b/docs/features/search/getting-started.md @@ -145,14 +145,14 @@ const backend = createBackend(); /* highlight-add-start */ // search plugin -backend.add(import('@backstage/plugin-search-backend/alpha')); +backend.add(import('@backstage/plugin-search-backend')); // search engines -backend.add(import('@backstage/plugin-search-backend-module-pg/alpha')); +backend.add(import('@backstage/plugin-search-backend-module-pg')); // search collators -backend.add(import('@backstage/plugin-search-backend-module-catalog/alpha')); -backend.add(import('@backstage/plugin-search-backend-module-techdocs/alpha')); +backend.add(import('@backstage/plugin-search-backend-module-catalog')); +backend.add(import('@backstage/plugin-search-backend-module-techdocs')); /* highlight-add-end */ backend.start(); diff --git a/docs/features/search/search-engines.md b/docs/features/search/search-engines.md index f768a9bde8..8209ae951d 100644 --- a/docs/features/search/search-engines.md +++ b/docs/features/search/search-engines.md @@ -25,7 +25,7 @@ const backend = createBackend(); // Other plugins... /* highlight-add-start */ -backend.add(import('@backstage/plugin-search-backend/alpha')); +backend.add(import('@backstage/plugin-search-backend')); /* highlight-add-end */ backend.start(); @@ -65,10 +65,10 @@ const backend = createBackend(); // Other plugins... // search plugin -backend.add(import('@backstage/plugin-search-backend/alpha')); +backend.add(import('@backstage/plugin-search-backend')); /* highlight-add-start */ -backend.add(import('@backstage/plugin-search-backend-module-pg/alpha')); +backend.add(import('@backstage/plugin-search-backend-module-pg')); /* highlight-add-end */ backend.start(); @@ -124,12 +124,10 @@ const backend = createBackend(); // Other plugins... // search plugin -backend.add(import('@backstage/plugin-search-backend/alpha')); +backend.add(import('@backstage/plugin-search-backend')); /* highlight-add-start */ -backend.add( - import('@backstage/plugin-search-backend-module-elasticsearch/alpha'), -); +backend.add(import('@backstage/plugin-search-backend-module-elasticsearch')); /* highlight-add-end */ backend.start(); diff --git a/docs/features/software-catalog/configuration.md b/docs/features/software-catalog/configuration.md index dff09a9397..78643420df 100644 --- a/docs/features/software-catalog/configuration.md +++ b/docs/features/software-catalog/configuration.md @@ -205,7 +205,7 @@ yarn --cwd packages/backend add @backstage/plugin-events-backend Now you can install the events backend plugin in your backend. ```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-events-backend/alpha')); +backend.add(import('@backstage/plugin-events-backend')); ``` ### Logging Errors diff --git a/docs/features/software-catalog/external-integrations.md b/docs/features/software-catalog/external-integrations.md index ff6853e1e7..f721c50ec2 100644 --- a/docs/features/software-catalog/external-integrations.md +++ b/docs/features/software-catalog/external-integrations.md @@ -326,7 +326,7 @@ export const catalogModuleFrobsProvider = createBackendModule({ const backend = createBackend(); -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); backend.add(catalogModuleFrobsProvider); // Other plugins ... @@ -764,7 +764,7 @@ export const catalogModuleSystemXReaderProcessor = createBackendModule({ const backend = createBackend(); -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); backend.add(catalogModuleSystemXReaderProcessor); // Other plugins ... @@ -1025,7 +1025,7 @@ export const catalogModuleCustomDataParser = createBackendModule({ const backend = createBackend(); -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); backend.add(catalogModuleCustomDataParser); // Other plugins ... diff --git a/docs/features/software-templates/authorizing-scaffolder-template-details.md b/docs/features/software-templates/authorizing-scaffolder-template-details.md index 942431c993..d4798b2540 100644 --- a/docs/features/software-templates/authorizing-scaffolder-template-details.md +++ b/docs/features/software-templates/authorizing-scaffolder-template-details.md @@ -281,7 +281,7 @@ const backend = createBackend(); // Other plugins... /* highlight-add-start */ -backend.add(import('@backstage/plugin-permission-backend/alpha')); +backend.add(import('@backstage/plugin-permission-backend')); backend.add(customPermissionBackendModule); /* highlight-add-end */ ``` diff --git a/docs/features/software-templates/builtin-actions.md b/docs/features/software-templates/builtin-actions.md index 5bfc038c1d..bf6875764e 100644 --- a/docs/features/software-templates/builtin-actions.md +++ b/docs/features/software-templates/builtin-actions.md @@ -35,16 +35,16 @@ import { createBackend } from '@backstage/backend-defaults'; const backend = createBackend(); -backend.add(import('@backstage/plugin-app-backend/alpha')); +backend.add(import('@backstage/plugin-app-backend')); // catalog plugin -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); backend.add( import('@backstage/plugin-catalog-backend-module-scaffolder-entity-model'), ); // scaffolder plugin -backend.add(import('@backstage/plugin-scaffolder-backend/alpha')); +backend.add(import('@backstage/plugin-scaffolder-backend')); /* highlight-add-next-line */ backend.add(import('@backstage/plugin-scaffolder-backend-module-github')); diff --git a/docs/features/software-templates/writing-custom-actions.md b/docs/features/software-templates/writing-custom-actions.md index e5a82c09a9..00a171523c 100644 --- a/docs/features/software-templates/writing-custom-actions.md +++ b/docs/features/software-templates/writing-custom-actions.md @@ -195,7 +195,7 @@ const scaffolderModuleCustomExtensions = createBackendModule({ /* highlight-add-end */ const backend = createBackend(); -backend.add(import('@backstage/plugin-scaffolder-backend/alpha')); +backend.add(import('@backstage/plugin-scaffolder-backend')); /* highlight-add-next-line */ backend.add(scaffolderModuleCustomExtensions); ``` diff --git a/docs/features/software-templates/writing-templates.md b/docs/features/software-templates/writing-templates.md index 71ca0c56ae..6899bcb746 100644 --- a/docs/features/software-templates/writing-templates.md +++ b/docs/features/software-templates/writing-templates.md @@ -889,7 +889,7 @@ const scaffolderModuleCustomFilters = createBackendModule({ /* highlight-add-end */ const backend = createBackend(); -backend.add(import('@backstage/plugin-scaffolder-backend/alpha')); +backend.add(import('@backstage/plugin-scaffolder-backend')); /* highlight-add-next-line */ backend.add(scaffolderModuleCustomFilters); ``` diff --git a/docs/features/techdocs/getting-started.md b/docs/features/techdocs/getting-started.md index a157d29c0d..66772c861d 100644 --- a/docs/features/techdocs/getting-started.md +++ b/docs/features/techdocs/getting-started.md @@ -209,7 +209,7 @@ const backend = createBackend(); // Other plugins... /* highlight-add-start */ -backend.add(import('@backstage/plugin-techdocs-backend/alpha')); +backend.add(import('@backstage/plugin-techdocs-backend')); /* highlight-add-end */ backend.start(); diff --git a/docs/features/techdocs/how-to-guides.md b/docs/features/techdocs/how-to-guides.md index 7712d675f5..fd4d208b74 100644 --- a/docs/features/techdocs/how-to-guides.md +++ b/docs/features/techdocs/how-to-guides.md @@ -799,7 +799,7 @@ const techdocsCustomBuildStrategy = createBackendModule({ // Other plugins... /* highlight-add-start */ -backend.add(import('@backstage/plugin-techdocs-backend/alpha')); +backend.add(import('@backstage/plugin-techdocs-backend')); backend.add(techdocsCustomBuildStrategy); /* highlight-add-end */ diff --git a/docs/integrations/aws-s3/discovery.md b/docs/integrations/aws-s3/discovery.md index 4cca448cf2..f4d18015a2 100644 --- a/docs/integrations/aws-s3/discovery.md +++ b/docs/integrations/aws-s3/discovery.md @@ -73,8 +73,8 @@ yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-aws Then update your backend by adding the following line: ```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); /* highlight-add-start */ -backend.add(import('@backstage/plugin-catalog-backend-module-aws/alpha')); +backend.add(import('@backstage/plugin-catalog-backend-module-aws')); /* highlight-add-end */ ``` diff --git a/docs/integrations/azure/discovery.md b/docs/integrations/azure/discovery.md index 357df7d553..e64bf42636 100644 --- a/docs/integrations/azure/discovery.md +++ b/docs/integrations/azure/discovery.md @@ -109,8 +109,8 @@ yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-azure Then updated your backend by adding the following line: ```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); /* highlight-add-start */ -backend.add(import('@backstage/plugin-catalog-backend-module-azure/alpha')); +backend.add(import('@backstage/plugin-catalog-backend-module-azure')); /* highlight-add-end */ ``` diff --git a/docs/integrations/azure/org.md b/docs/integrations/azure/org.md index 1868188cdf..e6fb69a520 100644 --- a/docs/integrations/azure/org.md +++ b/docs/integrations/azure/org.md @@ -49,9 +49,9 @@ For large organizations, this plugin can take a long time, so be careful setting Finally, updated your backend by adding the following line: ```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); /* highlight-add-start */ -backend.add(import('@backstage/plugin-catalog-backend-module-msgraph/alpha')); +backend.add(import('@backstage/plugin-catalog-backend-module-msgraph')); /* highlight-add-end */ ``` diff --git a/docs/integrations/bitbucketCloud/discovery.md b/docs/integrations/bitbucketCloud/discovery.md index 102feb46d7..b000a45ccd 100644 --- a/docs/integrations/bitbucketCloud/discovery.md +++ b/docs/integrations/bitbucketCloud/discovery.md @@ -27,15 +27,11 @@ yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-bitbuck ```ts // optional if you want HTTP endpoints to receive external events -// backend.add(import('@backstage/plugin-events-backend/alpha')); +// backend.add(import('@backstage/plugin-events-backend')); // optional if you want to use AWS SQS instead of HTTP endpoints to receive external events -// backend.add(import('@backstage/plugin-events-backend-module-aws-sqs/alpha')); -backend.add( - import('@backstage/plugin-events-backend-module-bitbucket-cloud/alpha'), -); -backend.add( - import('@backstage/plugin-catalog-backend-module-bitbucket-cloud/alpha'), -); +// backend.add(import('@backstage/plugin-events-backend-module-aws-sqs')); +backend.add(import('@backstage/plugin-events-backend-module-bitbucket-cloud')); +backend.add(import('@backstage/plugin-catalog-backend-module-bitbucket-cloud')); ``` You need to decide how you want to receive events from external sources like diff --git a/docs/integrations/bitbucketServer/discovery.md b/docs/integrations/bitbucketServer/discovery.md index 3bc37e4cb5..9ba6c7a96d 100644 --- a/docs/integrations/bitbucketServer/discovery.md +++ b/docs/integrations/bitbucketServer/discovery.md @@ -29,10 +29,10 @@ yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-bitbuck And update your backend by adding the following line: ```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); /* highlight-add-start */ backend.add( - import('@backstage/plugin-catalog-backend-module-bitbucket-server/alpha'), + import('@backstage/plugin-catalog-backend-module-bitbucket-server'), ); /* highlight-add-end */ ``` diff --git a/docs/integrations/gerrit/discovery.md b/docs/integrations/gerrit/discovery.md index eca0417871..4ae1eb2344 100644 --- a/docs/integrations/gerrit/discovery.md +++ b/docs/integrations/gerrit/discovery.md @@ -27,9 +27,9 @@ yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-gerrit Then update your backend by adding the following line: ```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); /* highlight-add-start */ -backend.add(import('@backstage/plugin-catalog-backend-module-gerrit/alpha')); +backend.add(import('@backstage/plugin-catalog-backend-module-gerrit')); /* highlight-add-end */ ``` diff --git a/docs/integrations/github/discovery.md b/docs/integrations/github/discovery.md index b2e998813d..4da7287383 100644 --- a/docs/integrations/github/discovery.md +++ b/docs/integrations/github/discovery.md @@ -31,9 +31,9 @@ yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-github And then update your backend by adding the following line: ```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); /* highlight-add-start */ -backend.add(import('@backstage/plugin-catalog-backend-module-github/alpha')); +backend.add(import('@backstage/plugin-catalog-backend-module-github')); ``` ## Events Support diff --git a/docs/integrations/github/org.md b/docs/integrations/github/org.md index 22b55fee98..7f0ee1a71f 100644 --- a/docs/integrations/github/org.md +++ b/docs/integrations/github/org.md @@ -60,7 +60,7 @@ catalog: Finally, update your backend by adding the following line: ```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); /* highlight-add-start */ backend.add(import('@backstage/plugin-catalog-backend-module-github-org')); ``` @@ -167,7 +167,7 @@ const backend = createBackend(); // Other items -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); backend.add(githubOrgModule); diff --git a/docs/integrations/gitlab/discovery.md b/docs/integrations/gitlab/discovery.md index 10746aff88..eab590ff11 100644 --- a/docs/integrations/gitlab/discovery.md +++ b/docs/integrations/gitlab/discovery.md @@ -30,14 +30,14 @@ Then add the following to your backend initialization: ```ts title="packages/backend/src/index.ts // optional if you want HTTP endpoints to receive external events -// backend.add(import('@backstage/plugin-events-backend/alpha')); +// backend.add(import('@backstage/plugin-events-backend')); // optional if you want to use AWS SQS instead of HTTP endpoints to receive external events -// backend.add(import('@backstage/plugin-events-backend-module-aws-sqs/alpha')); +// backend.add(import('@backstage/plugin-events-backend-module-aws-sqs')); // optional - event router for gitlab. See.: https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-gitlab/README.md // backend.add(eventsModuleGitlabEventRouter); // optional - token validator for the gitlab topic // backend.add(eventsModuleGitlabWebhook); -backend.add(import('@backstage/plugin-catalog-backend-module-gitlab/alpha')); +backend.add(import('@backstage/plugin-catalog-backend-module-gitlab')); ``` You need to decide how you want to receive events from external sources like diff --git a/docs/integrations/gitlab/org.md b/docs/integrations/gitlab/org.md index c13db4401b..66ce117aa0 100644 --- a/docs/integrations/gitlab/org.md +++ b/docs/integrations/gitlab/org.md @@ -35,9 +35,9 @@ Then add the following to your backend initialization: ```ts title="packages/backend/src/index.ts // optional if you want HTTP endpoints to receive external events -// backend.add(import('@backstage/plugin-events-backend/alpha')); +// backend.add(import('@backstage/plugin-events-backend')); // optional if you want to use AWS SQS instead of HTTP endpoints to receive external events -// backend.add(import('@backstage/plugin-events-backend-module-aws-sqs/alpha')); +// backend.add(import('@backstage/plugin-events-backend-module-aws-sqs')); // optional - event router for gitlab. See.: https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-gitlab/README.md // backend.add(eventsModuleGitlabEventRouter); // optional - token validator for the gitlab topic diff --git a/docs/integrations/ldap/org.md b/docs/integrations/ldap/org.md index b1aa460bd6..50cf74ffb6 100644 --- a/docs/integrations/ldap/org.md +++ b/docs/integrations/ldap/org.md @@ -44,7 +44,7 @@ catalog: Finally, updated your backend by adding the following line: ```ts title="packages/backend/src/index.ts" -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); /* highlight-add-start */ backend.add(import('@backstage/plugin-catalog-backend-module-ldap')); /* highlight-add-end */ diff --git a/docs/permissions/custom-rules.md b/docs/permissions/custom-rules.md index 9642f80215..00f4d81939 100644 --- a/docs/permissions/custom-rules.md +++ b/docs/permissions/custom-rules.md @@ -173,7 +173,7 @@ The api for providing custom rules may differ between plugins, but there should ```ts title="packages/backend/src/index.ts" // catalog plugin - backend.add(import('@backstage/plugin-catalog-backend/alpha')); + backend.add(import('@backstage/plugin-catalog-backend')); backend.add( import('@backstage/plugin-catalog-backend-module-scaffolder-entity-model'), ); diff --git a/docs/permissions/getting-started.md b/docs/permissions/getting-started.md index 118282bbd4..14058bccb0 100644 --- a/docs/permissions/getting-started.md +++ b/docs/permissions/getting-started.md @@ -34,7 +34,7 @@ To help validate the permission framework is setup we'll create a Test Permissio ```ts title="packages/backend/src/index.ts" // permission plugin - backend.add(import('@backstage/plugin-permission-backend/alpha')); + backend.add(import('@backstage/plugin-permission-backend')); /* highlight-remove-start */ backend.add( import('@backstage/plugin-permission-backend-module-allow-all-policy'), @@ -85,7 +85,7 @@ To help validate the permission framework is setup we'll create a Test Permissio ```ts title="packages/backend/src/index.ts" // permission plugin - backend.add(import('@backstage/plugin-permission-backend/alpha')); + backend.add(import('@backstage/plugin-permission-backend')); /* highlight-add-next-line */ backend.add(import('./extensions/permissionsPolicyExtension')); ``` diff --git a/docs/permissions/plugin-authors/01-setup.md b/docs/permissions/plugin-authors/01-setup.md index f3c361e8b5..79740a7659 100644 --- a/docs/permissions/plugin-authors/01-setup.md +++ b/docs/permissions/plugin-authors/01-setup.md @@ -59,7 +59,7 @@ The source code is available here: //... /* highlight-add-start */ // Installing the permission plugin - backend.add(import('@backstage/plugin-permission-backend/alpha')); + backend.add(import('@backstage/plugin-permission-backend')); // Installing the allow all permission policy module backend.add( import('@backstage/plugin-permission-backend-module-allow-all-policy'), diff --git a/docs/plugins/integrating-search-into-plugins.md b/docs/plugins/integrating-search-into-plugins.md index 62b3942537..05d07feb08 100644 --- a/docs/plugins/integrating-search-into-plugins.md +++ b/docs/plugins/integrating-search-into-plugins.md @@ -227,7 +227,7 @@ import { createBackend } from '@backstage/backend-defaults'; //... const backend = createBackend(); // Installing the search backend plugin -backend.add(import('@backstage/plugin-search-backend/alpha')); +backend.add(import('@backstage/plugin-search-backend')); // Installing the newly created faq snippets collator module backend.add( import( diff --git a/docs/plugins/proxying.md b/docs/plugins/proxying.md index 0b64c6eb37..09afa3f519 100644 --- a/docs/plugins/proxying.md +++ b/docs/plugins/proxying.md @@ -20,7 +20,7 @@ The plugin is already added to a default Backstage project. To add it to a project, add the following line in `packages/backend/src/index.ts`: ```ts -backend.add(import('@backstage/plugin-proxy-backend/alpha')); +backend.add(import('@backstage/plugin-proxy-backend')); ``` ### Old Backend @@ -28,7 +28,7 @@ backend.add(import('@backstage/plugin-proxy-backend/alpha')); In `packages/backend/src/index.ts`: ```ts -backend.add(import('@backstage/plugin-proxy-backend/alpha')); +backend.add(import('@backstage/plugin-proxy-backend')); ``` ## Configuration diff --git a/packages/backend/src/index.ts b/packages/backend/src/index.ts index 3e8c2910b1..b9130d452f 100644 --- a/packages/backend/src/index.ts +++ b/packages/backend/src/index.ts @@ -23,37 +23,37 @@ const backend = createBackend(); // access root-scoped services by adding `deps`. const searchLoader = createBackendFeatureLoader({ *loader() { - yield import('@backstage/plugin-search-backend/alpha'); - yield import('@backstage/plugin-search-backend-module-catalog/alpha'); - yield import('@backstage/plugin-search-backend-module-explore/alpha'); - yield import('@backstage/plugin-search-backend-module-techdocs/alpha'); + yield import('@backstage/plugin-search-backend'); + yield import('@backstage/plugin-search-backend-module-catalog'); + yield import('@backstage/plugin-search-backend-module-explore'); + yield import('@backstage/plugin-search-backend-module-techdocs'); }, }); backend.add(import('@backstage/plugin-auth-backend')); backend.add(import('./authModuleGithubProvider')); backend.add(import('@backstage/plugin-auth-backend-module-guest-provider')); -backend.add(import('@backstage/plugin-app-backend/alpha')); +backend.add(import('@backstage/plugin-app-backend')); backend.add(import('@backstage/plugin-catalog-backend-module-unprocessed')); backend.add( import('@backstage/plugin-catalog-backend-module-scaffolder-entity-model'), ); -backend.add(import('@backstage/plugin-catalog-backend/alpha')); -backend.add(import('@backstage/plugin-events-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); +backend.add(import('@backstage/plugin-events-backend')); backend.add(import('@backstage/plugin-devtools-backend')); -backend.add(import('@backstage/plugin-kubernetes-backend/alpha')); +backend.add(import('@backstage/plugin-kubernetes-backend')); backend.add( import('@backstage/plugin-permission-backend-module-allow-all-policy'), ); -backend.add(import('@backstage/plugin-permission-backend/alpha')); -backend.add(import('@backstage/plugin-proxy-backend/alpha')); -backend.add(import('@backstage/plugin-scaffolder-backend/alpha')); +backend.add(import('@backstage/plugin-permission-backend')); +backend.add(import('@backstage/plugin-proxy-backend')); +backend.add(import('@backstage/plugin-scaffolder-backend')); backend.add(import('@backstage/plugin-scaffolder-backend-module-github')); backend.add( import('@backstage/plugin-catalog-backend-module-backstage-openapi'), ); backend.add(searchLoader); -backend.add(import('@backstage/plugin-techdocs-backend/alpha')); +backend.add(import('@backstage/plugin-techdocs-backend')); backend.add(import('@backstage/plugin-signals-backend')); backend.add(import('@backstage/plugin-notifications-backend')); diff --git a/plugins/app-backend/README.md b/plugins/app-backend/README.md index 4e95b90566..64dc6fc2ba 100644 --- a/plugins/app-backend/README.md +++ b/plugins/app-backend/README.md @@ -21,7 +21,7 @@ Now add the plugin to your app, creating it for example like this: import { createBackend } from '@backstage/backend-defaults'; const backend = createBackend(); -backend.add(import('@backstage/plugin-app-backend/alpha')); +backend.add(import('@backstage/plugin-app-backend')); backend.start(); ``` diff --git a/plugins/app-backend/report-alpha.api.md b/plugins/app-backend/report-alpha.api.md index 1c9b6b2902..f5bd67554d 100644 --- a/plugins/app-backend/report-alpha.api.md +++ b/plugins/app-backend/report-alpha.api.md @@ -5,9 +5,13 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; -// @alpha -const appPlugin: BackendFeature; -export default appPlugin; +// @alpha (undocumented) +const _appPlugin: BackendFeature; +export default _appPlugin; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_appPlugin". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/app-backend/report.api.md b/plugins/app-backend/report.api.md index ab36eb95d3..4ec356951f 100644 --- a/plugins/app-backend/report.api.md +++ b/plugins/app-backend/report.api.md @@ -4,6 +4,7 @@ ```ts import { AuthService } from '@backstage/backend-plugin-api'; +import { BackendFeature } from '@backstage/backend-plugin-api'; import { ConfigSchema } from '@backstage/config-loader'; import { DatabaseService } from '@backstage/backend-plugin-api'; import express from 'express'; @@ -11,6 +12,10 @@ import { HttpAuthService } from '@backstage/backend-plugin-api'; import { LoggerService } from '@backstage/backend-plugin-api'; import { RootConfigService } from '@backstage/backend-plugin-api'; +// @public +const appPlugin: BackendFeature; +export default appPlugin; + // @public @deprecated (undocumented) export function createRouter(options: RouterOptions): Promise; diff --git a/plugins/app-backend/src/alpha.ts b/plugins/app-backend/src/alpha.ts index 830e3587dc..eb661bc295 100644 --- a/plugins/app-backend/src/alpha.ts +++ b/plugins/app-backend/src/alpha.ts @@ -14,4 +14,8 @@ * limitations under the License. */ -export { appPlugin as default } from './service/appPlugin'; +import { appPlugin } from './service/appPlugin'; + +/** @alpha */ +const _appPlugin = appPlugin; +export default _appPlugin; diff --git a/plugins/app-backend/src/index.ts b/plugins/app-backend/src/index.ts index c91416eac1..9f83f6e30a 100644 --- a/plugins/app-backend/src/index.ts +++ b/plugins/app-backend/src/index.ts @@ -20,4 +20,5 @@ * @packageDocumentation */ +export { appPlugin as default } from './service/appPlugin'; export * from './service/router'; diff --git a/plugins/app-backend/src/service/appPlugin.ts b/plugins/app-backend/src/service/appPlugin.ts index 000db80911..f8d9d5f7f4 100644 --- a/plugins/app-backend/src/service/appPlugin.ts +++ b/plugins/app-backend/src/service/appPlugin.ts @@ -28,7 +28,7 @@ import { ConfigSchema } from '@backstage/config-loader'; /** * The App plugin is responsible for serving the frontend app bundle and static assets. - * @alpha + * @public */ export const appPlugin = createBackendPlugin({ pluginId: 'app', diff --git a/plugins/catalog-backend-module-aws/report-alpha.api.md b/plugins/catalog-backend-module-aws/report-alpha.api.md index 495abb6b48..2d9ceaec2d 100644 --- a/plugins/catalog-backend-module-aws/report-alpha.api.md +++ b/plugins/catalog-backend-module-aws/report-alpha.api.md @@ -5,9 +5,13 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; -// @alpha -const catalogModuleAwsS3EntityProvider: BackendFeature; -export default catalogModuleAwsS3EntityProvider; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/catalog-backend-module-aws/report.api.md b/plugins/catalog-backend-module-aws/report.api.md index 3d24c71035..c0e5653190 100644 --- a/plugins/catalog-backend-module-aws/report.api.md +++ b/plugins/catalog-backend-module-aws/report.api.md @@ -5,6 +5,7 @@ ```ts import { AwsCredentialIdentity } from '@aws-sdk/types'; import { AwsCredentialsManager } from '@backstage/integration-aws-node'; +import { BackendFeature } from '@backstage/backend-plugin-api'; import { CatalogProcessor } from '@backstage/plugin-catalog-node'; import { CatalogProcessorEmit } from '@backstage/plugin-catalog-node'; import { CatalogProcessorParser } from '@backstage/plugin-catalog-node'; @@ -104,6 +105,10 @@ export class AwsS3EntityProvider implements EntityProvider { refresh(logger: LoggerService): Promise; } +// @public +const catalogModuleAwsS3EntityProvider: BackendFeature; +export default catalogModuleAwsS3EntityProvider; + // @public export const defaultEksClusterEntityTransformer: EksClusterEntityTransformer; diff --git a/plugins/catalog-backend-module-aws/src/alpha.ts b/plugins/catalog-backend-module-aws/src/alpha.ts index 01a9b25f7c..cba672ce49 100644 --- a/plugins/catalog-backend-module-aws/src/alpha.ts +++ b/plugins/catalog-backend-module-aws/src/alpha.ts @@ -14,5 +14,8 @@ * limitations under the License. */ -export * from './module'; -export { default } from './module'; +import { default as feature } from './module'; + +/** @alpha */ +const _feature = feature; +export default _feature; diff --git a/plugins/catalog-backend-module-aws/src/index.ts b/plugins/catalog-backend-module-aws/src/index.ts index de8f9fd7b2..1170fba043 100644 --- a/plugins/catalog-backend-module-aws/src/index.ts +++ b/plugins/catalog-backend-module-aws/src/index.ts @@ -20,6 +20,7 @@ * @packageDocumentation */ +export { default } from './module'; export * from './processors'; export * from './providers'; export * from './types'; diff --git a/plugins/catalog-backend-module-aws/src/module/catalogModuleAwsS3EntityProvider.ts b/plugins/catalog-backend-module-aws/src/module/catalogModuleAwsS3EntityProvider.ts index 5568b8b3d8..2c99f2a44a 100644 --- a/plugins/catalog-backend-module-aws/src/module/catalogModuleAwsS3EntityProvider.ts +++ b/plugins/catalog-backend-module-aws/src/module/catalogModuleAwsS3EntityProvider.ts @@ -24,7 +24,7 @@ import { AwsS3EntityProvider } from '../providers'; /** * Registers the AwsS3EntityProvider with the catalog processing extension point. * - * @alpha + * @public */ export const catalogModuleAwsS3EntityProvider = createBackendModule({ pluginId: 'catalog', diff --git a/plugins/catalog-backend-module-azure/report-alpha.api.md b/plugins/catalog-backend-module-azure/report-alpha.api.md index fc48df304a..1be3e1481f 100644 --- a/plugins/catalog-backend-module-azure/report-alpha.api.md +++ b/plugins/catalog-backend-module-azure/report-alpha.api.md @@ -5,9 +5,13 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; -// @alpha -const catalogModuleAzureDevOpsEntityProvider: BackendFeature; -export default catalogModuleAzureDevOpsEntityProvider; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/catalog-backend-module-azure/report.api.md b/plugins/catalog-backend-module-azure/report.api.md index f3121296a5..b3b7b71158 100644 --- a/plugins/catalog-backend-module-azure/report.api.md +++ b/plugins/catalog-backend-module-azure/report.api.md @@ -3,6 +3,7 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { BackendFeature } from '@backstage/backend-plugin-api'; import { CatalogProcessor } from '@backstage/plugin-catalog-node'; import { CatalogProcessorEmit } from '@backstage/plugin-catalog-node'; import { Config } from '@backstage/config'; @@ -54,6 +55,10 @@ export class AzureDevOpsEntityProvider implements EntityProvider { refresh(logger: LoggerService): Promise; } +// @public +const catalogModuleAzureDevOpsEntityProvider: BackendFeature; +export default catalogModuleAzureDevOpsEntityProvider; + // Warnings were encountered during analysis: // // src/processors/AzureDevOpsDiscoveryProcessor.d.ts:26:5 - (ae-undocumented) Missing documentation for "fromConfig". diff --git a/plugins/catalog-backend-module-azure/src/alpha.ts b/plugins/catalog-backend-module-azure/src/alpha.ts index 01a9b25f7c..cba672ce49 100644 --- a/plugins/catalog-backend-module-azure/src/alpha.ts +++ b/plugins/catalog-backend-module-azure/src/alpha.ts @@ -14,5 +14,8 @@ * limitations under the License. */ -export * from './module'; -export { default } from './module'; +import { default as feature } from './module'; + +/** @alpha */ +const _feature = feature; +export default _feature; diff --git a/plugins/catalog-backend-module-azure/src/index.ts b/plugins/catalog-backend-module-azure/src/index.ts index a71c40ee6c..dbbdff67ce 100644 --- a/plugins/catalog-backend-module-azure/src/index.ts +++ b/plugins/catalog-backend-module-azure/src/index.ts @@ -20,5 +20,6 @@ * @packageDocumentation */ +export { default } from './module'; export { AzureDevOpsDiscoveryProcessor } from './processors'; export { AzureDevOpsEntityProvider } from './providers'; diff --git a/plugins/catalog-backend-module-azure/src/module/catalogModuleAzureDevOpsEntityProvider.ts b/plugins/catalog-backend-module-azure/src/module/catalogModuleAzureDevOpsEntityProvider.ts index cb4d5a1bf8..3aaa1b5b08 100644 --- a/plugins/catalog-backend-module-azure/src/module/catalogModuleAzureDevOpsEntityProvider.ts +++ b/plugins/catalog-backend-module-azure/src/module/catalogModuleAzureDevOpsEntityProvider.ts @@ -24,7 +24,7 @@ import { AzureDevOpsEntityProvider } from '../providers'; /** * Registers the AzureDevOpsEntityProvider with the catalog processing extension point. * - * @alpha + * @public */ export const catalogModuleAzureDevOpsEntityProvider = createBackendModule({ pluginId: 'catalog', diff --git a/plugins/catalog-backend-module-bitbucket-cloud/report-alpha.api.md b/plugins/catalog-backend-module-bitbucket-cloud/report-alpha.api.md index 3f0a2d1514..418327eb07 100644 --- a/plugins/catalog-backend-module-bitbucket-cloud/report-alpha.api.md +++ b/plugins/catalog-backend-module-bitbucket-cloud/report-alpha.api.md @@ -6,12 +6,12 @@ import { BackendFeature } from '@backstage/backend-plugin-api'; // @alpha (undocumented) -const catalogModuleBitbucketCloudEntityProvider: BackendFeature; -export default catalogModuleBitbucketCloudEntityProvider; +const _feature: BackendFeature; +export default _feature; // Warnings were encountered during analysis: // -// src/module/catalogModuleBitbucketCloudEntityProvider.d.ts:4:22 - (ae-undocumented) Missing documentation for "catalogModuleBitbucketCloudEntityProvider". +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/catalog-backend-module-bitbucket-cloud/report.api.md b/plugins/catalog-backend-module-bitbucket-cloud/report.api.md index d0248b3973..19e835913f 100644 --- a/plugins/catalog-backend-module-bitbucket-cloud/report.api.md +++ b/plugins/catalog-backend-module-bitbucket-cloud/report.api.md @@ -4,6 +4,7 @@ ```ts import { AuthService } from '@backstage/backend-plugin-api'; +import { BackendFeature } from '@backstage/backend-plugin-api'; import { CatalogApi } from '@backstage/catalog-client'; import { Config } from '@backstage/config'; import { EntityProvider } from '@backstage/plugin-catalog-node'; @@ -37,8 +38,13 @@ export class BitbucketCloudEntityProvider implements EntityProvider { refresh(logger: LoggerService): Promise; } +// @public (undocumented) +const catalogModuleBitbucketCloudEntityProvider: BackendFeature; +export default catalogModuleBitbucketCloudEntityProvider; + // Warnings were encountered during analysis: // +// src/module/catalogModuleBitbucketCloudEntityProvider.d.ts:4:22 - (ae-undocumented) Missing documentation for "catalogModuleBitbucketCloudEntityProvider". // src/providers/BitbucketCloudEntityProvider.d.ts:26:5 - (ae-undocumented) Missing documentation for "fromConfig". // src/providers/BitbucketCloudEntityProvider.d.ts:42:5 - (ae-undocumented) Missing documentation for "refresh". // src/providers/BitbucketCloudEntityProvider.d.ts:44:5 - (ae-undocumented) Missing documentation for "onRepoPush". diff --git a/plugins/catalog-backend-module-bitbucket-cloud/src/alpha.ts b/plugins/catalog-backend-module-bitbucket-cloud/src/alpha.ts index 01a9b25f7c..cba672ce49 100644 --- a/plugins/catalog-backend-module-bitbucket-cloud/src/alpha.ts +++ b/plugins/catalog-backend-module-bitbucket-cloud/src/alpha.ts @@ -14,5 +14,8 @@ * limitations under the License. */ -export * from './module'; -export { default } from './module'; +import { default as feature } from './module'; + +/** @alpha */ +const _feature = feature; +export default _feature; diff --git a/plugins/catalog-backend-module-bitbucket-cloud/src/index.ts b/plugins/catalog-backend-module-bitbucket-cloud/src/index.ts index d730d8618d..b46ff31c51 100644 --- a/plugins/catalog-backend-module-bitbucket-cloud/src/index.ts +++ b/plugins/catalog-backend-module-bitbucket-cloud/src/index.ts @@ -20,4 +20,5 @@ * @packageDocumentation */ +export { default } from './module'; export { BitbucketCloudEntityProvider } from './providers/BitbucketCloudEntityProvider'; diff --git a/plugins/catalog-backend-module-bitbucket-cloud/src/module/catalogModuleBitbucketCloudEntityProvider.ts b/plugins/catalog-backend-module-bitbucket-cloud/src/module/catalogModuleBitbucketCloudEntityProvider.ts index 8cc8f50d5b..91f20c157c 100644 --- a/plugins/catalog-backend-module-bitbucket-cloud/src/module/catalogModuleBitbucketCloudEntityProvider.ts +++ b/plugins/catalog-backend-module-bitbucket-cloud/src/module/catalogModuleBitbucketCloudEntityProvider.ts @@ -26,7 +26,7 @@ import { eventsServiceRef } from '@backstage/plugin-events-node'; import { BitbucketCloudEntityProvider } from '../providers/BitbucketCloudEntityProvider'; /** - * @alpha + * @public */ export const catalogModuleBitbucketCloudEntityProvider = createBackendModule({ pluginId: 'catalog', diff --git a/plugins/catalog-backend-module-bitbucket-server/report-alpha.api.md b/plugins/catalog-backend-module-bitbucket-server/report-alpha.api.md index 49648580f8..60f05fac26 100644 --- a/plugins/catalog-backend-module-bitbucket-server/report-alpha.api.md +++ b/plugins/catalog-backend-module-bitbucket-server/report-alpha.api.md @@ -6,12 +6,12 @@ import { BackendFeature } from '@backstage/backend-plugin-api'; // @alpha (undocumented) -const catalogModuleBitbucketServerEntityProvider: BackendFeature; -export default catalogModuleBitbucketServerEntityProvider; +const _feature: BackendFeature; +export default _feature; // Warnings were encountered during analysis: // -// src/module/catalogModuleBitbucketServerEntityProvider.d.ts:4:22 - (ae-undocumented) Missing documentation for "catalogModuleBitbucketServerEntityProvider". +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/catalog-backend-module-bitbucket-server/report.api.md b/plugins/catalog-backend-module-bitbucket-server/report.api.md index a7febe8e7a..41b0d398ab 100644 --- a/plugins/catalog-backend-module-bitbucket-server/report.api.md +++ b/plugins/catalog-backend-module-bitbucket-server/report.api.md @@ -3,6 +3,7 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { BackendFeature } from '@backstage/backend-plugin-api'; import { BitbucketServerIntegrationConfig } from '@backstage/integration'; import { Config } from '@backstage/config'; import { Entity } from '@backstage/catalog-model'; @@ -110,6 +111,10 @@ export type BitbucketServerRepository = { archived: boolean; }; +// @public (undocumented) +const catalogModuleBitbucketServerEntityProvider: BackendFeature; +export default catalogModuleBitbucketServerEntityProvider; + // Warnings were encountered during analysis: // // src/lib/BitbucketServerClient.d.ts:11:5 - (ae-undocumented) Missing documentation for "fromConfig". @@ -122,6 +127,7 @@ export type BitbucketServerRepository = { // src/lib/BitbucketServerClient.d.ts:56:1 - (ae-undocumented) Missing documentation for "BitbucketServerPagedResponse". // src/lib/types.d.ts:2:1 - (ae-undocumented) Missing documentation for "BitbucketServerRepository". // src/lib/types.d.ts:14:1 - (ae-undocumented) Missing documentation for "BitbucketServerProject". +// src/module/catalogModuleBitbucketServerEntityProvider.d.ts:4:22 - (ae-undocumented) Missing documentation for "catalogModuleBitbucketServerEntityProvider". // src/providers/BitbucketServerEntityProvider.d.ts:20:5 - (ae-undocumented) Missing documentation for "fromConfig". // src/providers/BitbucketServerEntityProvider.d.ts:32:5 - (ae-undocumented) Missing documentation for "refresh". ``` diff --git a/plugins/catalog-backend-module-bitbucket-server/src/alpha.ts b/plugins/catalog-backend-module-bitbucket-server/src/alpha.ts index 01a9b25f7c..cba672ce49 100644 --- a/plugins/catalog-backend-module-bitbucket-server/src/alpha.ts +++ b/plugins/catalog-backend-module-bitbucket-server/src/alpha.ts @@ -14,5 +14,8 @@ * limitations under the License. */ -export * from './module'; -export { default } from './module'; +import { default as feature } from './module'; + +/** @alpha */ +const _feature = feature; +export default _feature; diff --git a/plugins/catalog-backend-module-bitbucket-server/src/index.ts b/plugins/catalog-backend-module-bitbucket-server/src/index.ts index 34ac3a9966..f05c9ca0e9 100644 --- a/plugins/catalog-backend-module-bitbucket-server/src/index.ts +++ b/plugins/catalog-backend-module-bitbucket-server/src/index.ts @@ -20,6 +20,7 @@ * @packageDocumentation */ +export { default } from './module'; export { BitbucketServerClient } from './lib'; export type { BitbucketServerProject, diff --git a/plugins/catalog-backend-module-bitbucket-server/src/module/catalogModuleBitbucketServerEntityProvider.ts b/plugins/catalog-backend-module-bitbucket-server/src/module/catalogModuleBitbucketServerEntityProvider.ts index 3b9a44f5a2..2c78d219d9 100644 --- a/plugins/catalog-backend-module-bitbucket-server/src/module/catalogModuleBitbucketServerEntityProvider.ts +++ b/plugins/catalog-backend-module-bitbucket-server/src/module/catalogModuleBitbucketServerEntityProvider.ts @@ -22,7 +22,7 @@ import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/ import { BitbucketServerEntityProvider } from '../providers'; /** - * @alpha + * @public */ export const catalogModuleBitbucketServerEntityProvider = createBackendModule({ pluginId: 'catalog', diff --git a/plugins/catalog-backend-module-gerrit/report-alpha.api.md b/plugins/catalog-backend-module-gerrit/report-alpha.api.md index 0774a27299..741c105577 100644 --- a/plugins/catalog-backend-module-gerrit/report-alpha.api.md +++ b/plugins/catalog-backend-module-gerrit/report-alpha.api.md @@ -6,12 +6,12 @@ import { BackendFeature } from '@backstage/backend-plugin-api'; // @alpha (undocumented) -const catalogModuleGerritEntityProvider: BackendFeature; -export default catalogModuleGerritEntityProvider; +const _feature: BackendFeature; +export default _feature; // Warnings were encountered during analysis: // -// src/module/catalogModuleGerritEntityProvider.d.ts:4:22 - (ae-undocumented) Missing documentation for "catalogModuleGerritEntityProvider". +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/catalog-backend-module-gerrit/report.api.md b/plugins/catalog-backend-module-gerrit/report.api.md index 56930f3357..76866fe76a 100644 --- a/plugins/catalog-backend-module-gerrit/report.api.md +++ b/plugins/catalog-backend-module-gerrit/report.api.md @@ -3,6 +3,7 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { BackendFeature } from '@backstage/backend-plugin-api'; import { Config } from '@backstage/config'; import { EntityProvider } from '@backstage/plugin-catalog-node'; import { EntityProviderConnection } from '@backstage/plugin-catalog-node'; @@ -10,6 +11,10 @@ import { LoggerService } from '@backstage/backend-plugin-api'; import { SchedulerService } from '@backstage/backend-plugin-api'; import { SchedulerServiceTaskRunner } from '@backstage/backend-plugin-api'; +// @public (undocumented) +const catalogModuleGerritEntityProvider: BackendFeature; +export default catalogModuleGerritEntityProvider; + // @public (undocumented) export class GerritEntityProvider implements EntityProvider { // (undocumented) @@ -31,6 +36,7 @@ export class GerritEntityProvider implements EntityProvider { // Warnings were encountered during analysis: // +// src/module/catalogModuleGerritEntityProvider.d.ts:4:22 - (ae-undocumented) Missing documentation for "catalogModuleGerritEntityProvider". // src/providers/GerritEntityProvider.d.ts:5:1 - (ae-undocumented) Missing documentation for "GerritEntityProvider". // src/providers/GerritEntityProvider.d.ts:11:5 - (ae-undocumented) Missing documentation for "fromConfig". // src/providers/GerritEntityProvider.d.ts:17:5 - (ae-undocumented) Missing documentation for "getProviderName". diff --git a/plugins/catalog-backend-module-gerrit/src/alpha.ts b/plugins/catalog-backend-module-gerrit/src/alpha.ts index 01a9b25f7c..cba672ce49 100644 --- a/plugins/catalog-backend-module-gerrit/src/alpha.ts +++ b/plugins/catalog-backend-module-gerrit/src/alpha.ts @@ -14,5 +14,8 @@ * limitations under the License. */ -export * from './module'; -export { default } from './module'; +import { default as feature } from './module'; + +/** @alpha */ +const _feature = feature; +export default _feature; diff --git a/plugins/catalog-backend-module-gerrit/src/index.ts b/plugins/catalog-backend-module-gerrit/src/index.ts index 133772d4b1..81375b9ab2 100644 --- a/plugins/catalog-backend-module-gerrit/src/index.ts +++ b/plugins/catalog-backend-module-gerrit/src/index.ts @@ -14,4 +14,5 @@ * limitations under the License. */ +export { default } from './module'; export { GerritEntityProvider } from './providers/GerritEntityProvider'; diff --git a/plugins/catalog-backend-module-gerrit/src/module/catalogModuleGerritEntityProvider.ts b/plugins/catalog-backend-module-gerrit/src/module/catalogModuleGerritEntityProvider.ts index e0efbabefd..a1aaac7b5c 100644 --- a/plugins/catalog-backend-module-gerrit/src/module/catalogModuleGerritEntityProvider.ts +++ b/plugins/catalog-backend-module-gerrit/src/module/catalogModuleGerritEntityProvider.ts @@ -22,7 +22,7 @@ import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/ import { GerritEntityProvider } from '../providers/GerritEntityProvider'; /** - * @alpha + * @public */ export const catalogModuleGerritEntityProvider = createBackendModule({ pluginId: 'catalog', diff --git a/plugins/catalog-backend-module-github/report-alpha.api.md b/plugins/catalog-backend-module-github/report-alpha.api.md index faa5423d82..fbe98b714e 100644 --- a/plugins/catalog-backend-module-github/report-alpha.api.md +++ b/plugins/catalog-backend-module-github/report-alpha.api.md @@ -5,9 +5,13 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; -// @alpha -const githubCatalogModule: BackendFeature; -export default githubCatalogModule; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/catalog-backend-module-github/report.api.md b/plugins/catalog-backend-module-github/report.api.md index 4ffe434615..e81d0a0e81 100644 --- a/plugins/catalog-backend-module-github/report.api.md +++ b/plugins/catalog-backend-module-github/report.api.md @@ -5,6 +5,7 @@ ```ts import { AnalyzeOptions } from '@backstage/plugin-catalog-node'; import { AuthService } from '@backstage/backend-plugin-api'; +import { BackendFeature } from '@backstage/backend-plugin-api'; import { CatalogApi } from '@backstage/catalog-client'; import { CatalogProcessor } from '@backstage/plugin-catalog-node'; import { CatalogProcessorEmit } from '@backstage/plugin-catalog-node'; @@ -37,6 +38,10 @@ export const defaultUserTransformer: ( _ctx: TransformerContext, ) => Promise; +// @public +const githubCatalogModule: BackendFeature; +export default githubCatalogModule; + // @public export class GithubDiscoveryProcessor implements CatalogProcessor { constructor(options: { diff --git a/plugins/catalog-backend-module-github/src/alpha.ts b/plugins/catalog-backend-module-github/src/alpha.ts index 01a9b25f7c..cba672ce49 100644 --- a/plugins/catalog-backend-module-github/src/alpha.ts +++ b/plugins/catalog-backend-module-github/src/alpha.ts @@ -14,5 +14,8 @@ * limitations under the License. */ -export * from './module'; -export { default } from './module'; +import { default as feature } from './module'; + +/** @alpha */ +const _feature = feature; +export default _feature; diff --git a/plugins/catalog-backend-module-github/src/index.ts b/plugins/catalog-backend-module-github/src/index.ts index ee6b061034..539e4ae14f 100644 --- a/plugins/catalog-backend-module-github/src/index.ts +++ b/plugins/catalog-backend-module-github/src/index.ts @@ -20,6 +20,7 @@ * @packageDocumentation */ +export { default } from './module'; export { GithubLocationAnalyzer } from './analyzers/GithubLocationAnalyzer'; export type { GithubLocationAnalyzerOptions } from './analyzers/GithubLocationAnalyzer'; export { GithubDiscoveryProcessor } from './processors/GithubDiscoveryProcessor'; diff --git a/plugins/catalog-backend-module-github/src/module/githubCatalogModule.ts b/plugins/catalog-backend-module-github/src/module/githubCatalogModule.ts index 15d36a3011..bc10b04802 100644 --- a/plugins/catalog-backend-module-github/src/module/githubCatalogModule.ts +++ b/plugins/catalog-backend-module-github/src/module/githubCatalogModule.ts @@ -30,7 +30,7 @@ import { GithubLocationAnalyzer } from '../analyzers/GithubLocationAnalyzer'; /** * Registers the `GithubEntityProvider` with the catalog processing extension point. * - * @alpha + * @public */ export const githubCatalogModule = createBackendModule({ pluginId: 'catalog', diff --git a/plugins/catalog-backend-module-gitlab/report-alpha.api.md b/plugins/catalog-backend-module-gitlab/report-alpha.api.md index 0b1c7df3cc..350411a6dc 100644 --- a/plugins/catalog-backend-module-gitlab/report-alpha.api.md +++ b/plugins/catalog-backend-module-gitlab/report-alpha.api.md @@ -5,9 +5,13 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; -// @alpha -const catalogModuleGitlabDiscoveryEntityProvider: BackendFeature; -export default catalogModuleGitlabDiscoveryEntityProvider; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/catalog-backend-module-gitlab/report.api.md b/plugins/catalog-backend-module-gitlab/report.api.md index 0cc2f93ce1..07612bca88 100644 --- a/plugins/catalog-backend-module-gitlab/report.api.md +++ b/plugins/catalog-backend-module-gitlab/report.api.md @@ -3,6 +3,7 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { BackendFeature } from '@backstage/backend-plugin-api'; import { CatalogProcessor } from '@backstage/plugin-catalog-node'; import { CatalogProcessorEmit } from '@backstage/plugin-catalog-node'; import { Config } from '@backstage/config'; @@ -18,6 +19,10 @@ import { SchedulerServiceTaskRunner } from '@backstage/backend-plugin-api'; import { SchedulerServiceTaskScheduleDefinition } from '@backstage/backend-plugin-api'; import { UserEntity } from '@backstage/catalog-model'; +// @public +const catalogModuleGitlabDiscoveryEntityProvider: BackendFeature; +export default catalogModuleGitlabDiscoveryEntityProvider; + // @public export class GitlabDiscoveryEntityProvider implements EntityProvider { // (undocumented) diff --git a/plugins/catalog-backend-module-gitlab/src/alpha.ts b/plugins/catalog-backend-module-gitlab/src/alpha.ts index 65f5b05b49..4c49bb9de9 100644 --- a/plugins/catalog-backend-module-gitlab/src/alpha.ts +++ b/plugins/catalog-backend-module-gitlab/src/alpha.ts @@ -14,4 +14,8 @@ * limitations under the License. */ -export { catalogModuleGitlabDiscoveryEntityProvider as default } from './module/catalogModuleGitlabDiscoveryEntityProvider'; +import { catalogModuleGitlabDiscoveryEntityProvider } from './module/catalogModuleGitlabDiscoveryEntityProvider'; + +/** @alpha */ +const _feature = catalogModuleGitlabDiscoveryEntityProvider; +export default _feature; diff --git a/plugins/catalog-backend-module-gitlab/src/index.ts b/plugins/catalog-backend-module-gitlab/src/index.ts index cedcb828d6..4f64e76395 100644 --- a/plugins/catalog-backend-module-gitlab/src/index.ts +++ b/plugins/catalog-backend-module-gitlab/src/index.ts @@ -20,6 +20,7 @@ * @packageDocumentation */ +export { catalogModuleGitlabDiscoveryEntityProvider as default } from './module/catalogModuleGitlabDiscoveryEntityProvider'; export { GitLabDiscoveryProcessor } from './GitLabDiscoveryProcessor'; export { GitlabDiscoveryEntityProvider, diff --git a/plugins/catalog-backend-module-gitlab/src/module/catalogModuleGitlabDiscoveryEntityProvider.ts b/plugins/catalog-backend-module-gitlab/src/module/catalogModuleGitlabDiscoveryEntityProvider.ts index bba8348a74..bbcbae0763 100644 --- a/plugins/catalog-backend-module-gitlab/src/module/catalogModuleGitlabDiscoveryEntityProvider.ts +++ b/plugins/catalog-backend-module-gitlab/src/module/catalogModuleGitlabDiscoveryEntityProvider.ts @@ -25,7 +25,7 @@ import { GitlabDiscoveryEntityProvider } from '../providers'; /** * Registers the GitlabDiscoveryEntityProvider with the catalog processing extension point. * - * @alpha + * @public */ export const catalogModuleGitlabDiscoveryEntityProvider = createBackendModule({ diff --git a/plugins/catalog-backend-module-incremental-ingestion/report-alpha.api.md b/plugins/catalog-backend-module-incremental-ingestion/report-alpha.api.md index cfc4bca6f2..8f3a5fa780 100644 --- a/plugins/catalog-backend-module-incremental-ingestion/report-alpha.api.md +++ b/plugins/catalog-backend-module-incremental-ingestion/report-alpha.api.md @@ -8,20 +8,24 @@ import { ExtensionPoint } from '@backstage/backend-plugin-api'; import { IncrementalEntityProvider } from '@backstage/plugin-catalog-backend-module-incremental-ingestion'; import { IncrementalEntityProviderOptions } from '@backstage/plugin-catalog-backend-module-incremental-ingestion'; -// @alpha -const catalogModuleIncrementalIngestionEntityProvider: BackendFeature; -export default catalogModuleIncrementalIngestionEntityProvider; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; -// @alpha -export interface IncrementalIngestionProviderExtensionPoint { - addProvider(config: { - options: IncrementalEntityProviderOptions; - provider: IncrementalEntityProvider; - }): void; -} +// Warning: (ae-forgotten-export) The symbol "IncrementalIngestionProviderExtensionPoint_2" needs to be exported by the entry point alpha.d.ts +// +// @alpha (undocumented) +export type IncrementalIngestionProviderExtensionPoint = + IncrementalIngestionProviderExtensionPoint_2; -// @alpha -export const incrementalIngestionProvidersExtensionPoint: ExtensionPoint; +// @alpha (undocumented) +export const incrementalIngestionProvidersExtensionPoint: ExtensionPoint; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:3:15 - (ae-undocumented) Missing documentation for "_feature". +// src/alpha.d.ts:6:1 - (ae-undocumented) Missing documentation for "IncrementalIngestionProviderExtensionPoint". +// src/alpha.d.ts:8:22 - (ae-undocumented) Missing documentation for "incrementalIngestionProvidersExtensionPoint". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/catalog-backend-module-incremental-ingestion/report.api.md b/plugins/catalog-backend-module-incremental-ingestion/report.api.md index 7160ff504f..4b7e473b48 100644 --- a/plugins/catalog-backend-module-incremental-ingestion/report.api.md +++ b/plugins/catalog-backend-module-incremental-ingestion/report.api.md @@ -5,12 +5,16 @@ ```ts /// +import { BackendFeature } from '@backstage/backend-plugin-api'; import { CatalogBuilder } from '@backstage/plugin-catalog-backend'; import type { Config } from '@backstage/config'; import type { DeferredEntity } from '@backstage/plugin-catalog-node'; import type { DurationObjectUnits } from 'luxon'; import { EventParams } from '@backstage/plugin-events-node'; import { EventSubscriber } from '@backstage/plugin-events-node'; +import { ExtensionPoint } from '@backstage/backend-plugin-api'; +import { IncrementalEntityProvider as IncrementalEntityProvider_2 } from '@backstage/plugin-catalog-backend-module-incremental-ingestion'; +import { IncrementalEntityProviderOptions as IncrementalEntityProviderOptions_2 } from '@backstage/plugin-catalog-backend-module-incremental-ingestion'; import type { Logger } from 'winston'; import type { PermissionEvaluator } from '@backstage/plugin-permission-common'; import type { PluginDatabaseManager } from '@backstage/backend-common'; @@ -18,6 +22,10 @@ import { Router } from 'express'; import { SchedulerService } from '@backstage/backend-plugin-api'; import { UrlReaderService } from '@backstage/backend-plugin-api'; +// @public +const catalogModuleIncrementalIngestionEntityProvider: BackendFeature; +export default catalogModuleIncrementalIngestionEntityProvider; + // @public export type EntityIteratorResult = | { @@ -85,6 +93,17 @@ export interface IncrementalEntityProviderOptions { restLength: DurationObjectUnits; } +// @public +export interface IncrementalIngestionProviderExtensionPoint { + addProvider(config: { + options: IncrementalEntityProviderOptions_2; + provider: IncrementalEntityProvider_2; + }): void; +} + +// @public +export const incrementalIngestionProvidersExtensionPoint: ExtensionPoint; + // @public (undocumented) export type PluginEnvironment = { logger: Logger; diff --git a/plugins/catalog-backend-module-incremental-ingestion/src/alpha.ts b/plugins/catalog-backend-module-incremental-ingestion/src/alpha.ts index 01a9b25f7c..ee9c7ff415 100644 --- a/plugins/catalog-backend-module-incremental-ingestion/src/alpha.ts +++ b/plugins/catalog-backend-module-incremental-ingestion/src/alpha.ts @@ -14,5 +14,17 @@ * limitations under the License. */ -export * from './module'; -export { default } from './module'; +import { default as feature } from './module'; +import { + IncrementalIngestionProviderExtensionPoint as ExtensionPoint, + incrementalIngestionProvidersExtensionPoint as extensionPoint, +} from './module'; + +/** @alpha */ +const _feature = feature; +export default _feature; + +/** @alpha */ +export type IncrementalIngestionProviderExtensionPoint = ExtensionPoint; +/** @alpha */ +export const incrementalIngestionProvidersExtensionPoint = extensionPoint; diff --git a/plugins/catalog-backend-module-incremental-ingestion/src/index.ts b/plugins/catalog-backend-module-incremental-ingestion/src/index.ts index f381572149..73c0e33946 100644 --- a/plugins/catalog-backend-module-incremental-ingestion/src/index.ts +++ b/plugins/catalog-backend-module-incremental-ingestion/src/index.ts @@ -20,6 +20,8 @@ * @packageDocumentation */ +export { default } from './module'; +export * from './module'; export * from './service'; export { type EntityIteratorResult, diff --git a/plugins/catalog-backend-module-incremental-ingestion/src/module/catalogModuleIncrementalIngestionEntityProvider.ts b/plugins/catalog-backend-module-incremental-ingestion/src/module/catalogModuleIncrementalIngestionEntityProvider.ts index adb5ab6a04..8752bd3137 100644 --- a/plugins/catalog-backend-module-incremental-ingestion/src/module/catalogModuleIncrementalIngestionEntityProvider.ts +++ b/plugins/catalog-backend-module-incremental-ingestion/src/module/catalogModuleIncrementalIngestionEntityProvider.ts @@ -27,7 +27,7 @@ import { import { WrapperProviders } from './WrapperProviders'; /** - * @alpha + * @public * Interface for {@link incrementalIngestionProvidersExtensionPoint}. */ export interface IncrementalIngestionProviderExtensionPoint { @@ -39,7 +39,7 @@ export interface IncrementalIngestionProviderExtensionPoint { } /** - * @alpha + * @public * * Extension point for registering incremental ingestion providers. * The `catalogModuleIncrementalIngestionEntityProvider` must be installed for these providers to work. @@ -80,7 +80,7 @@ export const incrementalIngestionProvidersExtensionPoint = /** * Registers the incremental entity provider with the catalog processing extension point. * - * @alpha + * @public */ export const catalogModuleIncrementalIngestionEntityProvider = createBackendModule({ diff --git a/plugins/catalog-backend-module-msgraph/report-alpha.api.md b/plugins/catalog-backend-module-msgraph/report-alpha.api.md index 8129aec50f..416c335bff 100644 --- a/plugins/catalog-backend-module-msgraph/report-alpha.api.md +++ b/plugins/catalog-backend-module-msgraph/report-alpha.api.md @@ -10,32 +10,24 @@ import { OrganizationTransformer } from '@backstage/plugin-catalog-backend-modul import { ProviderConfigTransformer } from '@backstage/plugin-catalog-backend-module-msgraph'; import { UserTransformer } from '@backstage/plugin-catalog-backend-module-msgraph'; -// @alpha -const catalogModuleMicrosoftGraphOrgEntityProvider: BackendFeature; -export default catalogModuleMicrosoftGraphOrgEntityProvider; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; -// @alpha -export const microsoftGraphOrgEntityProviderTransformExtensionPoint: ExtensionPoint; +// Warning: (ae-forgotten-export) The symbol "MicrosoftGraphOrgEntityProviderTransformsExtensionPoint_2" needs to be exported by the entry point alpha.d.ts +// +// @alpha (undocumented) +export const microsoftGraphOrgEntityProviderTransformExtensionPoint: ExtensionPoint; -// @alpha -export interface MicrosoftGraphOrgEntityProviderTransformsExtensionPoint { - setGroupTransformer( - transformer: GroupTransformer | Record, - ): void; - setOrganizationTransformer( - transformer: - | OrganizationTransformer - | Record, - ): void; - setProviderConfigTransformer( - transformer: - | ProviderConfigTransformer - | Record, - ): void; - setUserTransformer( - transformer: UserTransformer | Record, - ): void; -} +// @alpha (undocumented) +export type MicrosoftGraphOrgEntityProviderTransformsExtensionPoint = + MicrosoftGraphOrgEntityProviderTransformsExtensionPoint_2; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:3:15 - (ae-undocumented) Missing documentation for "_feature". +// src/alpha.d.ts:6:1 - (ae-undocumented) Missing documentation for "MicrosoftGraphOrgEntityProviderTransformsExtensionPoint". +// src/alpha.d.ts:8:22 - (ae-undocumented) Missing documentation for "microsoftGraphOrgEntityProviderTransformExtensionPoint". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/catalog-backend-module-msgraph/report.api.md b/plugins/catalog-backend-module-msgraph/report.api.md index 3df99752db..4d7c0966a5 100644 --- a/plugins/catalog-backend-module-msgraph/report.api.md +++ b/plugins/catalog-backend-module-msgraph/report.api.md @@ -3,21 +3,31 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { BackendFeature } from '@backstage/backend-plugin-api'; import { CatalogProcessor } from '@backstage/plugin-catalog-node'; import { CatalogProcessorEmit } from '@backstage/plugin-catalog-node'; import { Config } from '@backstage/config'; import { EntityProvider } from '@backstage/plugin-catalog-node'; import { EntityProviderConnection } from '@backstage/plugin-catalog-node'; +import { ExtensionPoint } from '@backstage/backend-plugin-api'; import { GroupEntity } from '@backstage/catalog-model'; +import { GroupTransformer as GroupTransformer_2 } from '@backstage/plugin-catalog-backend-module-msgraph'; import { LocationSpec } from '@backstage/plugin-catalog-common'; import { LoggerService } from '@backstage/backend-plugin-api'; import * as MicrosoftGraph from '@microsoft/microsoft-graph-types'; +import { OrganizationTransformer as OrganizationTransformer_2 } from '@backstage/plugin-catalog-backend-module-msgraph'; +import { ProviderConfigTransformer as ProviderConfigTransformer_2 } from '@backstage/plugin-catalog-backend-module-msgraph'; import { Response as Response_2 } from 'node-fetch'; import { SchedulerService } from '@backstage/backend-plugin-api'; import { SchedulerServiceTaskRunner } from '@backstage/backend-plugin-api'; import { SchedulerServiceTaskScheduleDefinition } from '@backstage/backend-plugin-api'; import { TokenCredential } from '@azure/identity'; import { UserEntity } from '@backstage/catalog-model'; +import { UserTransformer as UserTransformer_2 } from '@backstage/plugin-catalog-backend-module-msgraph'; + +// @public +const catalogModuleMicrosoftGraphOrgEntityProvider: BackendFeature; +export default catalogModuleMicrosoftGraphOrgEntityProvider; // @public export function defaultGroupTransformer( @@ -167,6 +177,29 @@ export type MicrosoftGraphOrgEntityProviderOptions = | Record; }; +// @public +export const microsoftGraphOrgEntityProviderTransformExtensionPoint: ExtensionPoint; + +// @public +export interface MicrosoftGraphOrgEntityProviderTransformsExtensionPoint { + setGroupTransformer( + transformer: GroupTransformer_2 | Record, + ): void; + setOrganizationTransformer( + transformer: + | OrganizationTransformer_2 + | Record, + ): void; + setProviderConfigTransformer( + transformer: + | ProviderConfigTransformer_2 + | Record, + ): void; + setUserTransformer( + transformer: UserTransformer_2 | Record, + ): void; +} + // @public @deprecated export class MicrosoftGraphOrgReaderProcessor implements CatalogProcessor { constructor(options: { diff --git a/plugins/catalog-backend-module-msgraph/src/alpha.ts b/plugins/catalog-backend-module-msgraph/src/alpha.ts index 01a9b25f7c..2c0cfe2fb4 100644 --- a/plugins/catalog-backend-module-msgraph/src/alpha.ts +++ b/plugins/catalog-backend-module-msgraph/src/alpha.ts @@ -14,5 +14,19 @@ * limitations under the License. */ -export * from './module'; -export { default } from './module'; +import { default as feature } from './module'; +import { + MicrosoftGraphOrgEntityProviderTransformsExtensionPoint as ExtensionPoint, + microsoftGraphOrgEntityProviderTransformExtensionPoint as extensionPoint, +} from './module'; + +/** @alpha */ +const _feature = feature; +export default _feature; + +/** @alpha */ +export type MicrosoftGraphOrgEntityProviderTransformsExtensionPoint = + ExtensionPoint; +/** @alpha */ +export const microsoftGraphOrgEntityProviderTransformExtensionPoint = + extensionPoint; diff --git a/plugins/catalog-backend-module-msgraph/src/index.ts b/plugins/catalog-backend-module-msgraph/src/index.ts index f98cb907ec..bd7e72479b 100644 --- a/plugins/catalog-backend-module-msgraph/src/index.ts +++ b/plugins/catalog-backend-module-msgraph/src/index.ts @@ -20,5 +20,7 @@ * @packageDocumentation */ +export { default } from './module'; +export * from './module'; export * from './microsoftGraph'; export * from './processors'; diff --git a/plugins/catalog-backend-module-msgraph/src/module/catalogModuleMicrosoftGraphOrgEntityProvider.ts b/plugins/catalog-backend-module-msgraph/src/module/catalogModuleMicrosoftGraphOrgEntityProvider.ts index e1a15a3468..262c56cf3f 100644 --- a/plugins/catalog-backend-module-msgraph/src/module/catalogModuleMicrosoftGraphOrgEntityProvider.ts +++ b/plugins/catalog-backend-module-msgraph/src/module/catalogModuleMicrosoftGraphOrgEntityProvider.ts @@ -31,7 +31,7 @@ import { MicrosoftGraphOrgEntityProvider } from '../processors'; /** * Interface for {@link microsoftGraphOrgEntityProviderTransformExtensionPoint}. * - * @alpha + * @public */ export interface MicrosoftGraphOrgEntityProviderTransformsExtensionPoint { /** @@ -76,7 +76,7 @@ export interface MicrosoftGraphOrgEntityProviderTransformsExtensionPoint { /** * Extension point used to customize the transforms used by the module. * - * @alpha + * @public */ export const microsoftGraphOrgEntityProviderTransformExtensionPoint = createExtensionPoint( @@ -88,7 +88,7 @@ export const microsoftGraphOrgEntityProviderTransformExtensionPoint = /** * Registers the MicrosoftGraphOrgEntityProvider with the catalog processing extension point. * - * @alpha + * @public */ export const catalogModuleMicrosoftGraphOrgEntityProvider = createBackendModule( { diff --git a/plugins/catalog-backend/README.md b/plugins/catalog-backend/README.md index b0bd0328ab..3d42d90252 100644 --- a/plugins/catalog-backend/README.md +++ b/plugins/catalog-backend/README.md @@ -33,7 +33,7 @@ Then add the plugin to your backend, typically in `packages/backend/src/index.ts ```ts const backend = createBackend(); // ... -backend.add(import('@backstage/plugin-catalog-backend/alpha')); +backend.add(import('@backstage/plugin-catalog-backend')); ``` #### Old backend system diff --git a/plugins/catalog-backend/report-alpha.api.md b/plugins/catalog-backend/report-alpha.api.md index 74f1e7d1b4..59155670ba 100644 --- a/plugins/catalog-backend/report-alpha.api.md +++ b/plugins/catalog-backend/report-alpha.api.md @@ -74,10 +74,6 @@ export type CatalogPermissionRule< TParams extends PermissionRuleParams = PermissionRuleParams, > = PermissionRule; -// @alpha -const catalogPlugin: BackendFeature; -export default catalogPlugin; - // @alpha export const createCatalogConditionalDecision: ( permission: ResourcePermission<'catalog-entity'>, @@ -91,6 +87,10 @@ export const createCatalogPermissionRule: < rule: PermissionRule, ) => PermissionRule; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + // @alpha export const permissionRules: { hasAnnotation: PermissionRule< @@ -146,5 +146,9 @@ export const permissionRules: { >; }; +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". + // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/catalog-backend/report.api.md b/plugins/catalog-backend/report.api.md index 6fff29f6f8..9294c71377 100644 --- a/plugins/catalog-backend/report.api.md +++ b/plugins/catalog-backend/report.api.md @@ -12,6 +12,7 @@ import { AnalyzeLocationRequest as AnalyzeLocationRequest_2 } from '@backstage/p import { AnalyzeLocationResponse as AnalyzeLocationResponse_2 } from '@backstage/plugin-catalog-common'; import { AnalyzeOptions as AnalyzeOptions_2 } from '@backstage/plugin-catalog-node'; import { AuthService } from '@backstage/backend-plugin-api'; +import { BackendFeature } from '@backstage/backend-plugin-api'; import { CatalogApi } from '@backstage/catalog-client'; import { CatalogCollatorEntityTransformer as CatalogCollatorEntityTransformer_2 } from '@backstage/plugin-search-backend-module-catalog'; import { CatalogEntityDocument } from '@backstage/plugin-catalog-common'; @@ -211,6 +212,10 @@ export type CatalogPermissionRuleInput< TParams extends PermissionRuleParams = PermissionRuleParams, > = PermissionRule; +// @public +const catalogPlugin: BackendFeature; +export default catalogPlugin; + // @public export interface CatalogProcessingEngine { // (undocumented) diff --git a/plugins/catalog-backend/src/alpha.ts b/plugins/catalog-backend/src/alpha.ts index f85ef02c80..4d40b8733e 100644 --- a/plugins/catalog-backend/src/alpha.ts +++ b/plugins/catalog-backend/src/alpha.ts @@ -14,5 +14,10 @@ * limitations under the License. */ +import { catalogPlugin } from './service/CatalogPlugin'; + +/** @alpha */ +const _feature = catalogPlugin; +export default _feature; + export * from './permissions'; -export { catalogPlugin as default } from './service/CatalogPlugin'; diff --git a/plugins/catalog-backend/src/index.ts b/plugins/catalog-backend/src/index.ts index e3374a6a8b..3de6cea22e 100644 --- a/plugins/catalog-backend/src/index.ts +++ b/plugins/catalog-backend/src/index.ts @@ -20,6 +20,7 @@ * @packageDocumentation */ +export { catalogPlugin as default } from './service/CatalogPlugin'; export * from './processors'; export * from './processing'; export * from './search'; diff --git a/plugins/catalog-backend/src/service/CatalogPlugin.ts b/plugins/catalog-backend/src/service/CatalogPlugin.ts index 269100e586..e36e4e1333 100644 --- a/plugins/catalog-backend/src/service/CatalogPlugin.ts +++ b/plugins/catalog-backend/src/service/CatalogPlugin.ts @@ -170,7 +170,7 @@ class CatalogModelExtensionPointImpl implements CatalogModelExtensionPoint { /** * Catalog plugin - * @alpha + * @public */ export const catalogPlugin = createBackendPlugin({ pluginId: 'catalog', diff --git a/plugins/events-backend-module-aws-sqs/README.md b/plugins/events-backend-module-aws-sqs/README.md index bd8e0c51d3..d08da3991d 100644 --- a/plugins/events-backend-module-aws-sqs/README.md +++ b/plugins/events-backend-module-aws-sqs/README.md @@ -42,7 +42,7 @@ yarn --cwd packages/backend add @backstage/plugin-events-backend-module-aws-sqs ```ts // packages/backend/src/index.ts -backend.add(import('@backstage/plugin-events-backend-module-aws-sqs/alpha')); +backend.add(import('@backstage/plugin-events-backend-module-aws-sqs')); ``` ### Legacy Backend System diff --git a/plugins/events-backend-module-aws-sqs/report-alpha.api.md b/plugins/events-backend-module-aws-sqs/report-alpha.api.md index 1e8ae5c690..38ce74daa9 100644 --- a/plugins/events-backend-module-aws-sqs/report-alpha.api.md +++ b/plugins/events-backend-module-aws-sqs/report-alpha.api.md @@ -5,9 +5,13 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; -// @alpha -const eventsModuleAwsSqsConsumingEventPublisher: BackendFeature; -export default eventsModuleAwsSqsConsumingEventPublisher; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/events-backend-module-aws-sqs/report.api.md b/plugins/events-backend-module-aws-sqs/report.api.md index eee183519d..5363884ea9 100644 --- a/plugins/events-backend-module-aws-sqs/report.api.md +++ b/plugins/events-backend-module-aws-sqs/report.api.md @@ -3,6 +3,7 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { BackendFeature } from '@backstage/backend-plugin-api'; import { Config } from '@backstage/config'; import { EventsService } from '@backstage/plugin-events-node'; import { LoggerService } from '@backstage/backend-plugin-api'; @@ -21,6 +22,10 @@ export class AwsSqsConsumingEventPublisher { start(): Promise; } +// @public +const eventsModuleAwsSqsConsumingEventPublisher: BackendFeature; +export default eventsModuleAwsSqsConsumingEventPublisher; + // Warnings were encountered during analysis: // // src/publisher/AwsSqsConsumingEventPublisher.d.ts:21:5 - (ae-undocumented) Missing documentation for "fromConfig". diff --git a/plugins/events-backend-module-aws-sqs/src/alpha.ts b/plugins/events-backend-module-aws-sqs/src/alpha.ts index 3107411645..cbbbf1a62d 100644 --- a/plugins/events-backend-module-aws-sqs/src/alpha.ts +++ b/plugins/events-backend-module-aws-sqs/src/alpha.ts @@ -14,4 +14,8 @@ * limitations under the License. */ -export { eventsModuleAwsSqsConsumingEventPublisher as default } from './service/eventsModuleAwsSqsConsumingEventPublisher'; +import { eventsModuleAwsSqsConsumingEventPublisher } from './service/eventsModuleAwsSqsConsumingEventPublisher'; + +/** @alpha */ +const _feature = eventsModuleAwsSqsConsumingEventPublisher; +export default _feature; diff --git a/plugins/events-backend-module-aws-sqs/src/index.ts b/plugins/events-backend-module-aws-sqs/src/index.ts index 57f409c044..f0080d4ed5 100644 --- a/plugins/events-backend-module-aws-sqs/src/index.ts +++ b/plugins/events-backend-module-aws-sqs/src/index.ts @@ -23,4 +23,5 @@ * @packageDocumentation */ +export { eventsModuleAwsSqsConsumingEventPublisher as default } from './service/eventsModuleAwsSqsConsumingEventPublisher'; export { AwsSqsConsumingEventPublisher } from './publisher/AwsSqsConsumingEventPublisher'; diff --git a/plugins/events-backend-module-aws-sqs/src/service/eventsModuleAwsSqsConsumingEventPublisher.ts b/plugins/events-backend-module-aws-sqs/src/service/eventsModuleAwsSqsConsumingEventPublisher.ts index ea0f094bee..de3b3eba9e 100644 --- a/plugins/events-backend-module-aws-sqs/src/service/eventsModuleAwsSqsConsumingEventPublisher.ts +++ b/plugins/events-backend-module-aws-sqs/src/service/eventsModuleAwsSqsConsumingEventPublisher.ts @@ -24,7 +24,7 @@ import { AwsSqsConsumingEventPublisher } from '../publisher/AwsSqsConsumingEvent /** * AWS SQS module for the Events plugin. * - * @alpha + * @public */ export const eventsModuleAwsSqsConsumingEventPublisher = createBackendModule({ pluginId: 'events', diff --git a/plugins/events-backend-module-azure/README.md b/plugins/events-backend-module-azure/README.md index 7c3920d499..d294635b44 100644 --- a/plugins/events-backend-module-azure/README.md +++ b/plugins/events-backend-module-azure/README.md @@ -29,7 +29,7 @@ yarn --cwd packages/backend add @backstage/plugin-events-backend-module-azure ```ts // packages/backend/src/index.ts -backend.add(import('@backstage/plugin-events-backend-module-azure/alpha')); +backend.add(import('@backstage/plugin-events-backend-module-azure')); ``` ### Legacy Backend System diff --git a/plugins/events-backend-module-azure/report-alpha.api.md b/plugins/events-backend-module-azure/report-alpha.api.md index 861ff95bcd..d9f3a6f000 100644 --- a/plugins/events-backend-module-azure/report-alpha.api.md +++ b/plugins/events-backend-module-azure/report-alpha.api.md @@ -5,10 +5,17 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; -// @alpha -const eventsModuleAzureDevOpsEventRouter: BackendFeature; -export default eventsModuleAzureDevOpsEventRouter; -export { eventsModuleAzureDevOpsEventRouter }; +// @alpha (undocumented) +export const eventsModuleAzureDevOpsEventRouter: BackendFeature; + +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". +// src/alpha.d.ts:5:22 - (ae-undocumented) Missing documentation for "eventsModuleAzureDevOpsEventRouter". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/events-backend-module-azure/report.api.md b/plugins/events-backend-module-azure/report.api.md index 0ad4d4e9fd..d89a5608e3 100644 --- a/plugins/events-backend-module-azure/report.api.md +++ b/plugins/events-backend-module-azure/report.api.md @@ -3,6 +3,7 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { BackendFeature } from '@backstage/backend-plugin-api'; import { EventParams } from '@backstage/plugin-events-node'; import { EventsService } from '@backstage/plugin-events-node'; import { SubTopicEventRouter } from '@backstage/plugin-events-node'; @@ -16,6 +17,10 @@ export class AzureDevOpsEventRouter extends SubTopicEventRouter { protected getSubscriberId(): string; } +// @public +const eventsModuleAzureDevOpsEventRouter: BackendFeature; +export default eventsModuleAzureDevOpsEventRouter; + // Warnings were encountered during analysis: // // src/router/AzureDevOpsEventRouter.d.ts:13:5 - (ae-undocumented) Missing documentation for "getSubscriberId". diff --git a/plugins/events-backend-module-azure/src/alpha.ts b/plugins/events-backend-module-azure/src/alpha.ts index 4de53df42a..b407ccded4 100644 --- a/plugins/events-backend-module-azure/src/alpha.ts +++ b/plugins/events-backend-module-azure/src/alpha.ts @@ -14,5 +14,10 @@ * limitations under the License. */ -export { eventsModuleAzureDevOpsEventRouter } from './service/eventsModuleAzureDevOpsEventRouter'; -export { eventsModuleAzureDevOpsEventRouter as default } from './service/eventsModuleAzureDevOpsEventRouter'; +import { eventsModuleAzureDevOpsEventRouter as feature } from './service/eventsModuleAzureDevOpsEventRouter'; + +/** @alpha */ +const _feature = feature; +export default _feature; +/** @alpha */ +export const eventsModuleAzureDevOpsEventRouter = _feature; diff --git a/plugins/events-backend-module-azure/src/index.ts b/plugins/events-backend-module-azure/src/index.ts index a1d56dc536..8df8e5a171 100644 --- a/plugins/events-backend-module-azure/src/index.ts +++ b/plugins/events-backend-module-azure/src/index.ts @@ -21,4 +21,5 @@ * @packageDocumentation */ +export { eventsModuleAzureDevOpsEventRouter as default } from './service/eventsModuleAzureDevOpsEventRouter'; export { AzureDevOpsEventRouter } from './router/AzureDevOpsEventRouter'; diff --git a/plugins/events-backend-module-azure/src/service/eventsModuleAzureDevOpsEventRouter.ts b/plugins/events-backend-module-azure/src/service/eventsModuleAzureDevOpsEventRouter.ts index 9741015477..02322d7782 100644 --- a/plugins/events-backend-module-azure/src/service/eventsModuleAzureDevOpsEventRouter.ts +++ b/plugins/events-backend-module-azure/src/service/eventsModuleAzureDevOpsEventRouter.ts @@ -23,7 +23,7 @@ import { AzureDevOpsEventRouter } from '../router/AzureDevOpsEventRouter'; * * Registers the `AzureDevOpsEventRouter`. * - * @alpha + * @public */ export const eventsModuleAzureDevOpsEventRouter = createBackendModule({ pluginId: 'events', diff --git a/plugins/events-backend-module-bitbucket-cloud/README.md b/plugins/events-backend-module-bitbucket-cloud/README.md index 7ff743c06d..7f5630de8e 100644 --- a/plugins/events-backend-module-bitbucket-cloud/README.md +++ b/plugins/events-backend-module-bitbucket-cloud/README.md @@ -29,9 +29,7 @@ yarn --cwd packages/backend add @backstage/plugin-events-backend-module-bitbucke ```ts // packages/backend/src/index.ts -backend.add( - import('@backstage/plugin-events-backend-module-bitbucket-cloud/alpha'), -); +backend.add(import('@backstage/plugin-events-backend-module-bitbucket-cloud')); ``` ### Legacy Backend System diff --git a/plugins/events-backend-module-bitbucket-cloud/report-alpha.api.md b/plugins/events-backend-module-bitbucket-cloud/report-alpha.api.md index 6ee4fab225..b081759920 100644 --- a/plugins/events-backend-module-bitbucket-cloud/report-alpha.api.md +++ b/plugins/events-backend-module-bitbucket-cloud/report-alpha.api.md @@ -5,10 +5,17 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; -// @alpha -const eventsModuleBitbucketCloudEventRouter: BackendFeature; -export default eventsModuleBitbucketCloudEventRouter; -export { eventsModuleBitbucketCloudEventRouter }; +// @alpha (undocumented) +export const eventsModuleBitbucketCloudEventRouter: BackendFeature; + +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". +// src/alpha.d.ts:5:22 - (ae-undocumented) Missing documentation for "eventsModuleBitbucketCloudEventRouter". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/events-backend-module-bitbucket-cloud/report.api.md b/plugins/events-backend-module-bitbucket-cloud/report.api.md index 51aa7f27cb..06bd71e7f7 100644 --- a/plugins/events-backend-module-bitbucket-cloud/report.api.md +++ b/plugins/events-backend-module-bitbucket-cloud/report.api.md @@ -3,6 +3,7 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { BackendFeature } from '@backstage/backend-plugin-api'; import { EventParams } from '@backstage/plugin-events-node'; import { EventsService } from '@backstage/plugin-events-node'; import { SubTopicEventRouter } from '@backstage/plugin-events-node'; @@ -16,6 +17,10 @@ export class BitbucketCloudEventRouter extends SubTopicEventRouter { protected getSubscriberId(): string; } +// @public +const eventsModuleBitbucketCloudEventRouter: BackendFeature; +export default eventsModuleBitbucketCloudEventRouter; + // Warnings were encountered during analysis: // // src/router/BitbucketCloudEventRouter.d.ts:13:5 - (ae-undocumented) Missing documentation for "getSubscriberId". diff --git a/plugins/events-backend-module-bitbucket-cloud/src/alpha.ts b/plugins/events-backend-module-bitbucket-cloud/src/alpha.ts index 1f0e09a653..e3fa541842 100644 --- a/plugins/events-backend-module-bitbucket-cloud/src/alpha.ts +++ b/plugins/events-backend-module-bitbucket-cloud/src/alpha.ts @@ -14,5 +14,10 @@ * limitations under the License. */ -export { eventsModuleBitbucketCloudEventRouter } from './service/eventsModuleBitbucketCloudEventRouter'; -export { eventsModuleBitbucketCloudEventRouter as default } from './service/eventsModuleBitbucketCloudEventRouter'; +import { eventsModuleBitbucketCloudEventRouter as feature } from './service/eventsModuleBitbucketCloudEventRouter'; + +/** @alpha */ +const _feature = feature; +export default _feature; +/** @alpha */ +export const eventsModuleBitbucketCloudEventRouter = _feature; diff --git a/plugins/events-backend-module-bitbucket-cloud/src/index.ts b/plugins/events-backend-module-bitbucket-cloud/src/index.ts index 77aa9798ef..a67500ab19 100644 --- a/plugins/events-backend-module-bitbucket-cloud/src/index.ts +++ b/plugins/events-backend-module-bitbucket-cloud/src/index.ts @@ -21,4 +21,5 @@ * @packageDocumentation */ +export { eventsModuleBitbucketCloudEventRouter as default } from './service/eventsModuleBitbucketCloudEventRouter'; export { BitbucketCloudEventRouter } from './router/BitbucketCloudEventRouter'; diff --git a/plugins/events-backend-module-bitbucket-cloud/src/service/eventsModuleBitbucketCloudEventRouter.ts b/plugins/events-backend-module-bitbucket-cloud/src/service/eventsModuleBitbucketCloudEventRouter.ts index 648d6c67fb..4628d5cb0b 100644 --- a/plugins/events-backend-module-bitbucket-cloud/src/service/eventsModuleBitbucketCloudEventRouter.ts +++ b/plugins/events-backend-module-bitbucket-cloud/src/service/eventsModuleBitbucketCloudEventRouter.ts @@ -23,7 +23,7 @@ import { BitbucketCloudEventRouter } from '../router/BitbucketCloudEventRouter'; * * Registers the `BitbucketCloudEventRouter`. * - * @alpha + * @public */ export const eventsModuleBitbucketCloudEventRouter = createBackendModule({ pluginId: 'events', diff --git a/plugins/events-backend-module-gerrit/README.md b/plugins/events-backend-module-gerrit/README.md index d5b9f9683a..b45d12dbd7 100644 --- a/plugins/events-backend-module-gerrit/README.md +++ b/plugins/events-backend-module-gerrit/README.md @@ -28,7 +28,7 @@ yarn --cwd packages/backend add @backstage/plugin-events-backend-module-gerrit ```ts // packages/backend/src/index.ts -backend.add(import('@backstage/plugin-events-backend-module-gerrit/alpha')); +backend.add(import('@backstage/plugin-events-backend-module-gerrit')); ``` ### Legacy Backend System diff --git a/plugins/events-backend-module-gerrit/report-alpha.api.md b/plugins/events-backend-module-gerrit/report-alpha.api.md index 83b2fdff98..e37ca3050a 100644 --- a/plugins/events-backend-module-gerrit/report-alpha.api.md +++ b/plugins/events-backend-module-gerrit/report-alpha.api.md @@ -5,10 +5,17 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; -// @alpha -const eventsModuleGerritEventRouter: BackendFeature; -export default eventsModuleGerritEventRouter; -export { eventsModuleGerritEventRouter }; +// @alpha (undocumented) +export const eventsModuleGerritEventRouter: BackendFeature; + +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". +// src/alpha.d.ts:5:22 - (ae-undocumented) Missing documentation for "eventsModuleGerritEventRouter". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/events-backend-module-gerrit/report.api.md b/plugins/events-backend-module-gerrit/report.api.md index 7a3f75ca6f..1206a50c88 100644 --- a/plugins/events-backend-module-gerrit/report.api.md +++ b/plugins/events-backend-module-gerrit/report.api.md @@ -3,10 +3,15 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { BackendFeature } from '@backstage/backend-plugin-api'; import { EventParams } from '@backstage/plugin-events-node'; import { EventsService } from '@backstage/plugin-events-node'; import { SubTopicEventRouter } from '@backstage/plugin-events-node'; +// @public +const eventsModuleGerritEventRouter: BackendFeature; +export default eventsModuleGerritEventRouter; + // @public export class GerritEventRouter extends SubTopicEventRouter { constructor(options: { events: EventsService }); diff --git a/plugins/events-backend-module-gerrit/src/alpha.ts b/plugins/events-backend-module-gerrit/src/alpha.ts index 9c1eea0b75..6222b3e534 100644 --- a/plugins/events-backend-module-gerrit/src/alpha.ts +++ b/plugins/events-backend-module-gerrit/src/alpha.ts @@ -14,5 +14,10 @@ * limitations under the License. */ -export { eventsModuleGerritEventRouter } from './service/eventsModuleGerritEventRouter'; -export { eventsModuleGerritEventRouter as default } from './service/eventsModuleGerritEventRouter'; +import { eventsModuleGerritEventRouter as feature } from './service/eventsModuleGerritEventRouter'; + +/** @alpha */ +const _feature = feature; +export default _feature; +/** @alpha */ +export const eventsModuleGerritEventRouter = _feature; diff --git a/plugins/events-backend-module-gerrit/src/index.ts b/plugins/events-backend-module-gerrit/src/index.ts index dfc314667f..fdf3b53162 100644 --- a/plugins/events-backend-module-gerrit/src/index.ts +++ b/plugins/events-backend-module-gerrit/src/index.ts @@ -21,4 +21,5 @@ * @packageDocumentation */ +export { eventsModuleGerritEventRouter as default } from './service/eventsModuleGerritEventRouter'; export { GerritEventRouter } from './router/GerritEventRouter'; diff --git a/plugins/events-backend-module-gerrit/src/service/eventsModuleGerritEventRouter.ts b/plugins/events-backend-module-gerrit/src/service/eventsModuleGerritEventRouter.ts index 8d9792c4f4..c218f9c562 100644 --- a/plugins/events-backend-module-gerrit/src/service/eventsModuleGerritEventRouter.ts +++ b/plugins/events-backend-module-gerrit/src/service/eventsModuleGerritEventRouter.ts @@ -23,7 +23,7 @@ import { GerritEventRouter } from '../router/GerritEventRouter'; * * Registers the `GerritEventRouter`. * - * @alpha + * @public */ export const eventsModuleGerritEventRouter = createBackendModule({ pluginId: 'events', diff --git a/plugins/events-backend/README.md b/plugins/events-backend/README.md index 2dba259986..7f88452ff6 100644 --- a/plugins/events-backend/README.md +++ b/plugins/events-backend/README.md @@ -23,7 +23,7 @@ yarn --cwd packages/backend add @backstage/plugin-events-backend ```ts // packages/backend/src/index.ts -backend.add(import('@backstage/plugin-events-backend/alpha')); +backend.add(import('@backstage/plugin-events-backend')); ``` ### Legacy Backend System diff --git a/plugins/events-backend/report-alpha.api.md b/plugins/events-backend/report-alpha.api.md index ef881006e4..c9f56bd226 100644 --- a/plugins/events-backend/report-alpha.api.md +++ b/plugins/events-backend/report-alpha.api.md @@ -5,9 +5,13 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; -// @alpha -const eventsPlugin: BackendFeature; -export default eventsPlugin; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/events-backend/report.api.md b/plugins/events-backend/report.api.md index 5511d8c410..e7a33deb07 100644 --- a/plugins/events-backend/report.api.md +++ b/plugins/events-backend/report.api.md @@ -3,6 +3,7 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { BackendFeature } from '@backstage/backend-plugin-api'; import { Config } from '@backstage/config'; import { EventBroker } from '@backstage/plugin-events-node'; import { EventParams } from '@backstage/plugin-events-node'; @@ -42,6 +43,10 @@ export class EventsBackend { start(): Promise; } +// @public +const eventsPlugin: BackendFeature; +export default eventsPlugin; + // @public export class HttpPostIngressEventPublisher { // (undocumented) diff --git a/plugins/events-backend/src/alpha.ts b/plugins/events-backend/src/alpha.ts index 2d40694987..8e55d4e134 100644 --- a/plugins/events-backend/src/alpha.ts +++ b/plugins/events-backend/src/alpha.ts @@ -14,4 +14,8 @@ * limitations under the License. */ -export { eventsPlugin as default } from './service/EventsPlugin'; +import { eventsPlugin } from './service/EventsPlugin'; + +/** @alpha */ +const _feature = eventsPlugin; +export default _feature; diff --git a/plugins/events-backend/src/index.ts b/plugins/events-backend/src/index.ts index 63dfa5d252..6663f59393 100644 --- a/plugins/events-backend/src/index.ts +++ b/plugins/events-backend/src/index.ts @@ -20,5 +20,6 @@ * @packageDocumentation */ +export { eventsPlugin as default } from './service/EventsPlugin'; export * from './deprecated'; export { HttpPostIngressEventPublisher } from './service/http'; diff --git a/plugins/events-backend/src/service/EventsPlugin.ts b/plugins/events-backend/src/service/EventsPlugin.ts index 1369ee98ca..10af3798ec 100644 --- a/plugins/events-backend/src/service/EventsPlugin.ts +++ b/plugins/events-backend/src/service/EventsPlugin.ts @@ -63,7 +63,7 @@ class EventsExtensionPointImpl implements EventsExtensionPoint { /** * Events plugin * - * @alpha + * @public */ export const eventsPlugin = createBackendPlugin({ pluginId: 'events', diff --git a/plugins/kubernetes-backend/report-alpha.api.md b/plugins/kubernetes-backend/report-alpha.api.md index f6da905f30..b4c4df2287 100644 --- a/plugins/kubernetes-backend/report-alpha.api.md +++ b/plugins/kubernetes-backend/report-alpha.api.md @@ -5,9 +5,13 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; -// @alpha -const kubernetesPlugin: BackendFeature; -export default kubernetesPlugin; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/kubernetes-backend/report.api.md b/plugins/kubernetes-backend/report.api.md index e01ada7e1c..9bcef16843 100644 --- a/plugins/kubernetes-backend/report.api.md +++ b/plugins/kubernetes-backend/report.api.md @@ -6,6 +6,7 @@ import { AuthenticationStrategy as AuthenticationStrategy_2 } from '@backstage/plugin-kubernetes-node'; import { AuthMetadata as AuthMetadata_2 } from '@backstage/plugin-kubernetes-node'; import { AuthService } from '@backstage/backend-plugin-api'; +import { BackendFeature } from '@backstage/backend-plugin-api'; import { BackstageCredentials } from '@backstage/backend-plugin-api'; import { CatalogApi } from '@backstage/catalog-client'; import { ClusterDetails as ClusterDetails_2 } from '@backstage/plugin-kubernetes-node'; @@ -332,6 +333,10 @@ export interface KubernetesObjectsProviderOptions { // @public @deprecated (undocumented) export type KubernetesObjectTypes = k8sAuthTypes.KubernetesObjectTypes; +// @public +const kubernetesPlugin: BackendFeature; +export default kubernetesPlugin; + // @public export class KubernetesProxy { constructor(options: KubernetesProxyOptions); diff --git a/plugins/kubernetes-backend/src/alpha.ts b/plugins/kubernetes-backend/src/alpha.ts index 9171964f7c..90e0a819ac 100644 --- a/plugins/kubernetes-backend/src/alpha.ts +++ b/plugins/kubernetes-backend/src/alpha.ts @@ -13,4 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -export { kubernetesPlugin as default } from './plugin'; + +import { kubernetesPlugin as feature } from './plugin'; + +/** @alpha */ +const _feature = feature; +export default _feature; diff --git a/plugins/kubernetes-backend/src/index.ts b/plugins/kubernetes-backend/src/index.ts index d32dfc24be..87e77cac32 100644 --- a/plugins/kubernetes-backend/src/index.ts +++ b/plugins/kubernetes-backend/src/index.ts @@ -20,6 +20,7 @@ * @packageDocumentation */ +export { kubernetesPlugin as default } from './plugin'; export * from './auth'; export * from './service'; export * from './types'; diff --git a/plugins/kubernetes-backend/src/plugin.ts b/plugins/kubernetes-backend/src/plugin.ts index 284fa2e5e2..44d5df6484 100644 --- a/plugins/kubernetes-backend/src/plugin.ts +++ b/plugins/kubernetes-backend/src/plugin.ts @@ -20,7 +20,7 @@ import { } from '@backstage/backend-plugin-api'; import { catalogServiceRef } from '@backstage/plugin-catalog-node/alpha'; -import { KubernetesBuilder } from '@backstage/plugin-kubernetes-backend'; +import { KubernetesBuilder } from './service'; import { type AuthenticationStrategy, @@ -139,9 +139,8 @@ class AuthStrategy implements KubernetesAuthStrategyExtensionPoint { /** * This is the backend plugin that provides the Kubernetes integration. - * @alpha + * @public */ - export const kubernetesPlugin = createBackendPlugin({ pluginId: 'kubernetes', register(env) { diff --git a/plugins/permission-backend/report-alpha.api.md b/plugins/permission-backend/report-alpha.api.md index d0a10b6b3a..e2d43b0195 100644 --- a/plugins/permission-backend/report-alpha.api.md +++ b/plugins/permission-backend/report-alpha.api.md @@ -5,9 +5,13 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; -// @alpha -const permissionPlugin: BackendFeature; -export default permissionPlugin; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/permission-backend/report.api.md b/plugins/permission-backend/report.api.md index 11d5ca7d62..fd559c4a6a 100644 --- a/plugins/permission-backend/report.api.md +++ b/plugins/permission-backend/report.api.md @@ -4,6 +4,7 @@ ```ts import { AuthService } from '@backstage/backend-plugin-api'; +import { BackendFeature } from '@backstage/backend-plugin-api'; import { DiscoveryService } from '@backstage/backend-plugin-api'; import express from 'express'; import { HttpAuthService } from '@backstage/backend-plugin-api'; @@ -16,6 +17,10 @@ import { UserInfoService } from '@backstage/backend-plugin-api'; // @public @deprecated export function createRouter(options: RouterOptions): Promise; +// @public +const permissionPlugin: BackendFeature; +export default permissionPlugin; + // @public @deprecated export interface RouterOptions { // (undocumented) diff --git a/plugins/permission-backend/src/alpha.ts b/plugins/permission-backend/src/alpha.ts index c0283c6fd0..519482333d 100644 --- a/plugins/permission-backend/src/alpha.ts +++ b/plugins/permission-backend/src/alpha.ts @@ -14,4 +14,8 @@ * limitations under the License. */ -export { permissionPlugin as default } from './plugin'; +import { permissionPlugin as feature } from './plugin'; + +/** @alpha */ +const _feature = feature; +export default _feature; diff --git a/plugins/permission-backend/src/index.ts b/plugins/permission-backend/src/index.ts index 877b9070c3..b6d3366d37 100644 --- a/plugins/permission-backend/src/index.ts +++ b/plugins/permission-backend/src/index.ts @@ -18,4 +18,5 @@ * Backend for Backstage authorization and permissions. * @packageDocumentation */ +export { permissionPlugin as default } from './plugin'; export * from './service'; diff --git a/plugins/permission-backend/src/plugin.ts b/plugins/permission-backend/src/plugin.ts index f0130e4812..6a3fb35fd3 100644 --- a/plugins/permission-backend/src/plugin.ts +++ b/plugins/permission-backend/src/plugin.ts @@ -39,7 +39,7 @@ class PolicyExtensionPointImpl implements PolicyExtensionPoint { /** * Permission plugin * - * @alpha + * @public */ export const permissionPlugin = createBackendPlugin({ pluginId: 'permission', diff --git a/plugins/proxy-backend/report-alpha.api.md b/plugins/proxy-backend/report-alpha.api.md index e6d161655d..a32524352e 100644 --- a/plugins/proxy-backend/report-alpha.api.md +++ b/plugins/proxy-backend/report-alpha.api.md @@ -5,9 +5,13 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; -// @alpha -const _default: BackendFeature; -export default _default; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/proxy-backend/report.api.md b/plugins/proxy-backend/report.api.md index bf6ac6ae39..0a68a03cfe 100644 --- a/plugins/proxy-backend/report.api.md +++ b/plugins/proxy-backend/report.api.md @@ -3,6 +3,7 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { BackendFeature } from '@backstage/backend-plugin-api'; import { DiscoveryService } from '@backstage/backend-plugin-api'; import express from 'express'; import { Logger } from 'winston'; @@ -11,6 +12,10 @@ import { RootConfigService } from '@backstage/backend-plugin-api'; // @public @deprecated export function createRouter(options: RouterOptions): Promise; +// @public +const proxyPlugin: BackendFeature; +export default proxyPlugin; + // @public @deprecated (undocumented) export interface RouterOptions { // (undocumented) diff --git a/plugins/proxy-backend/src/alpha.ts b/plugins/proxy-backend/src/alpha.ts index 339e42cd94..6efe450ac3 100644 --- a/plugins/proxy-backend/src/alpha.ts +++ b/plugins/proxy-backend/src/alpha.ts @@ -14,36 +14,8 @@ * limitations under the License. */ -import { loggerToWinstonLogger } from '@backstage/backend-common'; -import { - createBackendPlugin, - coreServices, -} from '@backstage/backend-plugin-api'; -import { createRouterInternal } from './service/router'; +import { proxyPlugin } from './plugin'; -/** - * The proxy backend plugin. - * - * @alpha - */ -export default createBackendPlugin({ - pluginId: 'proxy', - register(env) { - env.registerInit({ - deps: { - config: coreServices.rootConfig, - discovery: coreServices.discovery, - logger: coreServices.logger, - httpRouter: coreServices.httpRouter, - }, - async init({ config, discovery, logger, httpRouter }) { - await createRouterInternal({ - config, - discovery, - logger: loggerToWinstonLogger(logger), - httpRouterService: httpRouter, - }); - }, - }); - }, -}); +/** @alpha */ +const _feature = proxyPlugin; +export default _feature; diff --git a/plugins/proxy-backend/src/index.ts b/plugins/proxy-backend/src/index.ts index 8f5d5c79dc..ae0b6235f9 100644 --- a/plugins/proxy-backend/src/index.ts +++ b/plugins/proxy-backend/src/index.ts @@ -20,4 +20,5 @@ * @packageDocumentation */ +export { proxyPlugin as default } from './plugin'; export * from './service'; diff --git a/plugins/proxy-backend/src/plugin.ts b/plugins/proxy-backend/src/plugin.ts new file mode 100644 index 0000000000..1039a6a3e8 --- /dev/null +++ b/plugins/proxy-backend/src/plugin.ts @@ -0,0 +1,49 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { loggerToWinstonLogger } from '@backstage/backend-common'; +import { + createBackendPlugin, + coreServices, +} from '@backstage/backend-plugin-api'; +import { createRouterInternal } from './service/router'; + +/** + * The proxy backend plugin. + * + * @public + */ +export const proxyPlugin = createBackendPlugin({ + pluginId: 'proxy', + register(env) { + env.registerInit({ + deps: { + config: coreServices.rootConfig, + discovery: coreServices.discovery, + logger: coreServices.logger, + httpRouter: coreServices.httpRouter, + }, + async init({ config, discovery, logger, httpRouter }) { + await createRouterInternal({ + config, + discovery, + logger: loggerToWinstonLogger(logger), + httpRouterService: httpRouter, + }); + }, + }); + }, +}); diff --git a/plugins/scaffolder-backend-module-confluence-to-markdown/README.md b/plugins/scaffolder-backend-module-confluence-to-markdown/README.md index aa7b9fee79..d3722f1227 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdown/README.md +++ b/plugins/scaffolder-backend-module-confluence-to-markdown/README.md @@ -21,7 +21,7 @@ Then ensure that both the scaffolder and this module are added to your backend: // In packages/backend/src/index.ts const backend = createBackend(); // ... -backend.add(import('@backstage/plugin-scaffolder-backend/alpha')); +backend.add(import('@backstage/plugin-scaffolder-backend')); backend.add( import('@backstage/plugin-scaffolder-backend-module-confluence-to-markdown'), ); diff --git a/plugins/scaffolder-backend-module-cookiecutter/README.md b/plugins/scaffolder-backend-module-cookiecutter/README.md index ba2cd14cb2..19c7082a50 100644 --- a/plugins/scaffolder-backend-module-cookiecutter/README.md +++ b/plugins/scaffolder-backend-module-cookiecutter/README.md @@ -19,7 +19,7 @@ Then ensure that both the scaffolder and this module are added to your backend: // In packages/backend/src/index.ts const backend = createBackend(); // ... -backend.add(import('@backstage/plugin-scaffolder-backend/alpha')); +backend.add(import('@backstage/plugin-scaffolder-backend')); backend.add(import('@backstage/plugin-scaffolder-backend-module-cookiecutter')); ``` diff --git a/plugins/scaffolder-backend-module-gitlab/README.md b/plugins/scaffolder-backend-module-gitlab/README.md index 3f991bf308..4542ec4198 100644 --- a/plugins/scaffolder-backend-module-gitlab/README.md +++ b/plugins/scaffolder-backend-module-gitlab/README.md @@ -19,7 +19,7 @@ Then ensure that both the scaffolder and this module are added to your backend: // In packages/backend/src/index.ts const backend = createBackend(); // ... -backend.add(import('@backstage/plugin-scaffolder-backend/alpha')); +backend.add(import('@backstage/plugin-scaffolder-backend')); backend.add(import('@backstage/plugin-scaffolder-backend-module-gitlab')); ``` diff --git a/plugins/scaffolder-backend-module-rails/README.md b/plugins/scaffolder-backend-module-rails/README.md index 27db5656c5..86b49d5e13 100644 --- a/plugins/scaffolder-backend-module-rails/README.md +++ b/plugins/scaffolder-backend-module-rails/README.md @@ -24,7 +24,7 @@ Then ensure that both the scaffolder and this module are added to your backend: // In packages/backend/src/index.ts const backend = createBackend(); // ... -backend.add(import('@backstage/plugin-scaffolder-backend/alpha')); +backend.add(import('@backstage/plugin-scaffolder-backend')); backend.add(import('@backstage/plugin-scaffolder-backend-module-rails')); ``` diff --git a/plugins/scaffolder-backend-module-sentry/README.md b/plugins/scaffolder-backend-module-sentry/README.md index d13f923a2a..252585d584 100644 --- a/plugins/scaffolder-backend-module-sentry/README.md +++ b/plugins/scaffolder-backend-module-sentry/README.md @@ -21,7 +21,7 @@ Then ensure that both the scaffolder and this module are added to your backend: // In packages/backend/src/index.ts const backend = createBackend(); // ... -backend.add(import('@backstage/plugin-scaffolder-backend/alpha')); +backend.add(import('@backstage/plugin-scaffolder-backend')); backend.add(import('@backstage/plugin-scaffolder-backend-module-sentry')); ``` diff --git a/plugins/scaffolder-backend-module-yeoman/README.md b/plugins/scaffolder-backend-module-yeoman/README.md index 3a32dd2124..f78fe8ecdd 100644 --- a/plugins/scaffolder-backend-module-yeoman/README.md +++ b/plugins/scaffolder-backend-module-yeoman/README.md @@ -19,7 +19,7 @@ Then ensure that both the scaffolder and this module are added to your backend: // In packages/backend/src/index.ts const backend = createBackend(); // ... -backend.add(import('@backstage/plugin-scaffolder-backend/alpha')); +backend.add(import('@backstage/plugin-scaffolder-backend')); backend.add(import('@backstage/plugin-scaffolder-backend-module-yeoman')); ``` diff --git a/plugins/scaffolder-backend/README.md b/plugins/scaffolder-backend/README.md index d760b0fc2d..6f51f81117 100644 --- a/plugins/scaffolder-backend/README.md +++ b/plugins/scaffolder-backend/README.md @@ -27,7 +27,7 @@ Then add the plugin to your backend, typically in `packages/backend/src/index.ts ```ts const backend = createBackend(); // ... -backend.add(import('@backstage/plugin-scaffolder-backend/alpha')); +backend.add(import('@backstage/plugin-scaffolder-backend')); ``` #### Old backend system diff --git a/plugins/scaffolder-backend/report-alpha.api.md b/plugins/scaffolder-backend/report-alpha.api.md index d53ce7a4e4..89d4fecd8c 100644 --- a/plugins/scaffolder-backend/report-alpha.api.md +++ b/plugins/scaffolder-backend/report-alpha.api.md @@ -26,6 +26,10 @@ export const createScaffolderTemplateConditionalDecision: ( conditions: PermissionCriteria>, ) => ConditionalPolicyDecision; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + // @alpha export const scaffolderActionConditions: Conditions<{ hasActionId: PermissionRule< @@ -77,10 +81,6 @@ export const scaffolderActionConditions: Conditions<{ >; }>; -// @alpha -const scaffolderPlugin: BackendFeature; -export default scaffolderPlugin; - // @alpha export const scaffolderTemplateConditions: Conditions<{ hasTag: PermissionRule< @@ -95,6 +95,7 @@ export const scaffolderTemplateConditions: Conditions<{ // Warnings were encountered during analysis: // +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". // src/service/conditionExports.d.ts:48:22 - (ae-undocumented) Missing documentation for "createScaffolderActionConditionalDecision". // (No @packageDocumentation comment for this package) diff --git a/plugins/scaffolder-backend/report.api.md b/plugins/scaffolder-backend/report.api.md index e791762416..d3dddc21e9 100644 --- a/plugins/scaffolder-backend/report.api.md +++ b/plugins/scaffolder-backend/report.api.md @@ -9,6 +9,7 @@ import { ActionContext as ActionContext_2 } from '@backstage/plugin-scaffolder-n import { AuthService } from '@backstage/backend-plugin-api'; import { AutocompleteHandler } from '@backstage/plugin-scaffolder-node/alpha'; import * as azure from '@backstage/plugin-scaffolder-backend-module-azure'; +import { BackendFeature } from '@backstage/backend-plugin-api'; import { BackstageCredentials } from '@backstage/backend-plugin-api'; import * as bitbucket from '@backstage/plugin-scaffolder-backend-module-bitbucket'; import * as bitbucketCloud from '@backstage/plugin-scaffolder-backend-module-bitbucket-cloud'; @@ -560,6 +561,10 @@ export type RunCommandOptions = ExecuteShellCommandOptions; // @public @deprecated export const ScaffolderEntitiesProcessor: typeof ScaffolderEntitiesProcessor_2; +// @public +const scaffolderPlugin: BackendFeature; +export default scaffolderPlugin; + // @public @deprecated export type SerializedTask = SerializedTask_2; diff --git a/plugins/scaffolder-backend/src/ScaffolderPlugin.ts b/plugins/scaffolder-backend/src/ScaffolderPlugin.ts index cf0f557639..17f7480a7d 100644 --- a/plugins/scaffolder-backend/src/ScaffolderPlugin.ts +++ b/plugins/scaffolder-backend/src/ScaffolderPlugin.ts @@ -54,7 +54,7 @@ import { createRouter } from './service/router'; /** * Scaffolder plugin * - * @alpha + * @public */ export const scaffolderPlugin = createBackendPlugin({ pluginId: 'scaffolder', diff --git a/plugins/scaffolder-backend/src/alpha.ts b/plugins/scaffolder-backend/src/alpha.ts index 4c4885413b..7d1d8fe0ef 100644 --- a/plugins/scaffolder-backend/src/alpha.ts +++ b/plugins/scaffolder-backend/src/alpha.ts @@ -13,6 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { scaffolderPlugin } from './ScaffolderPlugin'; + +/** @alpha */ +const _feature = scaffolderPlugin; +export default _feature; export * from './service'; -export { scaffolderPlugin as default } from './ScaffolderPlugin'; diff --git a/plugins/scaffolder-backend/src/index.ts b/plugins/scaffolder-backend/src/index.ts index 649a5df233..dddd42d83f 100644 --- a/plugins/scaffolder-backend/src/index.ts +++ b/plugins/scaffolder-backend/src/index.ts @@ -20,6 +20,7 @@ * @packageDocumentation */ +export { scaffolderPlugin as default } from './ScaffolderPlugin'; export * from './scaffolder'; export * from './service/router'; export * from './lib'; diff --git a/plugins/search-backend-module-catalog/report-alpha.api.md b/plugins/search-backend-module-catalog/report-alpha.api.md index e5080fae35..8a91ccdb5e 100644 --- a/plugins/search-backend-module-catalog/report-alpha.api.md +++ b/plugins/search-backend-module-catalog/report-alpha.api.md @@ -7,17 +7,23 @@ import { BackendFeature } from '@backstage/backend-plugin-api'; import { CatalogCollatorEntityTransformer } from '@backstage/plugin-search-backend-module-catalog'; import { ExtensionPoint } from '@backstage/backend-plugin-api'; -// @alpha -export type CatalogCollatorExtensionPoint = { - setEntityTransformer(transformer: CatalogCollatorEntityTransformer): void; -}; +// Warning: (ae-forgotten-export) The symbol "CatalogCollatorExtensionPoint_2" needs to be exported by the entry point alpha.d.ts +// +// @alpha (undocumented) +export type CatalogCollatorExtensionPoint = CatalogCollatorExtensionPoint_2; -// @alpha -export const catalogCollatorExtensionPoint: ExtensionPoint; +// @alpha (undocumented) +export const catalogCollatorExtensionPoint: ExtensionPoint; -// @alpha -const _default: BackendFeature; -export default _default; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:3:15 - (ae-undocumented) Missing documentation for "_feature". +// src/alpha.d.ts:6:1 - (ae-undocumented) Missing documentation for "CatalogCollatorExtensionPoint". +// src/alpha.d.ts:8:22 - (ae-undocumented) Missing documentation for "catalogCollatorExtensionPoint". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/search-backend-module-catalog/report.api.md b/plugins/search-backend-module-catalog/report.api.md index 9ab87b31fe..f20907494e 100644 --- a/plugins/search-backend-module-catalog/report.api.md +++ b/plugins/search-backend-module-catalog/report.api.md @@ -6,12 +6,15 @@ /// import { AuthService } from '@backstage/backend-plugin-api'; +import { BackendFeature } from '@backstage/backend-plugin-api'; import { CatalogApi } from '@backstage/catalog-client'; +import { CatalogCollatorEntityTransformer as CatalogCollatorEntityTransformer_2 } from '@backstage/plugin-search-backend-module-catalog'; import { CatalogEntityDocument } from '@backstage/plugin-catalog-common'; import { Config } from '@backstage/config'; import { DiscoveryService } from '@backstage/backend-plugin-api'; import { DocumentCollatorFactory } from '@backstage/plugin-search-common'; import { Entity } from '@backstage/catalog-model'; +import { ExtensionPoint } from '@backstage/backend-plugin-api'; import { GetEntitiesRequest } from '@backstage/catalog-client'; import { Permission } from '@backstage/plugin-permission-common'; import { Readable } from 'stream'; @@ -22,6 +25,18 @@ export type CatalogCollatorEntityTransformer = ( entity: Entity, ) => Omit; +// @public +export type CatalogCollatorExtensionPoint = { + setEntityTransformer(transformer: CatalogCollatorEntityTransformer_2): void; +}; + +// @public +export const catalogCollatorExtensionPoint: ExtensionPoint; + +// @public +const _default: BackendFeature; +export default _default; + // @public (undocumented) export const defaultCatalogCollatorEntityTransformer: CatalogCollatorEntityTransformer; diff --git a/plugins/search-backend-module-catalog/src/alpha.ts b/plugins/search-backend-module-catalog/src/alpha.ts index 03e5bcb226..b5fbb5e0c6 100644 --- a/plugins/search-backend-module-catalog/src/alpha.ts +++ b/plugins/search-backend-module-catalog/src/alpha.ts @@ -1,5 +1,5 @@ /* - * Copyright 2023 The Backstage Authors + * Copyright 2024 The Backstage Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,96 +14,17 @@ * limitations under the License. */ -/** - * @packageDocumentation - * A module for the search backend that exports Catalog modules. - */ - import { - coreServices, - createBackendModule, - createExtensionPoint, -} from '@backstage/backend-plugin-api'; -import { catalogServiceRef } from '@backstage/plugin-catalog-node/alpha'; -import { - CatalogCollatorEntityTransformer, - DefaultCatalogCollatorFactory, -} from '@backstage/plugin-search-backend-module-catalog'; -import { searchIndexRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha'; -import { readScheduleConfigOptions } from './collators/config'; + default as feature, + CatalogCollatorExtensionPoint as ExtensionPoint, + catalogCollatorExtensionPoint as extensionPoint, +} from './module'; -/** - * Options for {@link catalogCollatorExtensionPoint}. - * - * @alpha - */ -export type CatalogCollatorExtensionPoint = { - /** - * Allows you to customize how entities are shaped into documents. - */ - setEntityTransformer(transformer: CatalogCollatorEntityTransformer): void; -}; +/** @alpha */ +const _feature = feature; +export default _feature; -/** - * Extension point for customizing how catalog entities are shaped into - * documents for the search backend. - * - * @alpha - */ -export const catalogCollatorExtensionPoint = - createExtensionPoint({ - id: 'search.catalogCollator.extension', - }); - -/** - * Search backend module for the Catalog index. - * - * @alpha - */ -export default createBackendModule({ - pluginId: 'search', - moduleId: 'catalog-collator', - register(env) { - let entityTransformer: CatalogCollatorEntityTransformer | undefined; - - env.registerExtensionPoint(catalogCollatorExtensionPoint, { - setEntityTransformer(transformer) { - if (entityTransformer) { - throw new Error('setEntityTransformer can only be called once'); - } - entityTransformer = transformer; - }, - }); - - env.registerInit({ - deps: { - auth: coreServices.auth, - config: coreServices.rootConfig, - discovery: coreServices.discovery, - scheduler: coreServices.scheduler, - indexRegistry: searchIndexRegistryExtensionPoint, - catalog: catalogServiceRef, - }, - async init({ - auth, - config, - discovery, - scheduler, - indexRegistry, - catalog, - }) { - indexRegistry.addCollator({ - schedule: scheduler.createScheduledTaskRunner( - readScheduleConfigOptions(config), - ), - factory: DefaultCatalogCollatorFactory.fromConfig(config, { - auth, - entityTransformer, - discovery, - catalogClient: catalog, - }), - }); - }, - }); - }, -}); +/** @alpha */ +export type CatalogCollatorExtensionPoint = ExtensionPoint; +/** @alpha */ +export const catalogCollatorExtensionPoint = extensionPoint; diff --git a/plugins/search-backend-module-catalog/src/index.ts b/plugins/search-backend-module-catalog/src/index.ts index 7998562311..3e0ec59cc0 100644 --- a/plugins/search-backend-module-catalog/src/index.ts +++ b/plugins/search-backend-module-catalog/src/index.ts @@ -19,4 +19,6 @@ * A module for the search backend that exports Catalog modules. */ +export * from './module'; +export { default } from './module'; export * from './collators'; diff --git a/plugins/search-backend-module-catalog/src/alpha.test.ts b/plugins/search-backend-module-catalog/src/module.test.ts similarity index 97% rename from plugins/search-backend-module-catalog/src/alpha.test.ts rename to plugins/search-backend-module-catalog/src/module.test.ts index 94c585161b..d05c96c8ec 100644 --- a/plugins/search-backend-module-catalog/src/alpha.test.ts +++ b/plugins/search-backend-module-catalog/src/module.test.ts @@ -16,7 +16,7 @@ import { mockServices, startTestBackend } from '@backstage/backend-test-utils'; import { searchIndexRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha'; -import searchModuleCatalogCollator from './alpha'; +import searchModuleCatalogCollator from './module'; describe('searchModuleCatalogCollator', () => { it('should register the catalog collator to the search index registry extension point with factory and schedule', async () => { diff --git a/plugins/search-backend-module-catalog/src/module.ts b/plugins/search-backend-module-catalog/src/module.ts new file mode 100644 index 0000000000..3256a2b32f --- /dev/null +++ b/plugins/search-backend-module-catalog/src/module.ts @@ -0,0 +1,109 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @packageDocumentation + * A module for the search backend that exports Catalog modules. + */ + +import { + coreServices, + createBackendModule, + createExtensionPoint, +} from '@backstage/backend-plugin-api'; +import { catalogServiceRef } from '@backstage/plugin-catalog-node/alpha'; +import { + CatalogCollatorEntityTransformer, + DefaultCatalogCollatorFactory, +} from '@backstage/plugin-search-backend-module-catalog'; +import { searchIndexRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha'; +import { readScheduleConfigOptions } from './collators/config'; + +/** + * Options for {@link catalogCollatorExtensionPoint}. + * + * @public + */ +export type CatalogCollatorExtensionPoint = { + /** + * Allows you to customize how entities are shaped into documents. + */ + setEntityTransformer(transformer: CatalogCollatorEntityTransformer): void; +}; + +/** + * Extension point for customizing how catalog entities are shaped into + * documents for the search backend. + * + * @public + */ +export const catalogCollatorExtensionPoint = + createExtensionPoint({ + id: 'search.catalogCollator.extension', + }); + +/** + * Search backend module for the Catalog index. + * + * @public + */ +export default createBackendModule({ + pluginId: 'search', + moduleId: 'catalog-collator', + register(env) { + let entityTransformer: CatalogCollatorEntityTransformer | undefined; + + env.registerExtensionPoint(catalogCollatorExtensionPoint, { + setEntityTransformer(transformer) { + if (entityTransformer) { + throw new Error('setEntityTransformer can only be called once'); + } + entityTransformer = transformer; + }, + }); + + env.registerInit({ + deps: { + auth: coreServices.auth, + config: coreServices.rootConfig, + discovery: coreServices.discovery, + scheduler: coreServices.scheduler, + indexRegistry: searchIndexRegistryExtensionPoint, + catalog: catalogServiceRef, + }, + async init({ + auth, + config, + discovery, + scheduler, + indexRegistry, + catalog, + }) { + indexRegistry.addCollator({ + schedule: scheduler.createScheduledTaskRunner( + readScheduleConfigOptions(config), + ), + factory: DefaultCatalogCollatorFactory.fromConfig(config, { + auth, + entityTransformer, + discovery, + catalogClient: catalog, + }), + }); + }, + }); + }, +}); diff --git a/plugins/search-backend-module-elasticsearch/report-alpha.api.md b/plugins/search-backend-module-elasticsearch/report-alpha.api.md index e612215a87..344718f5e5 100644 --- a/plugins/search-backend-module-elasticsearch/report-alpha.api.md +++ b/plugins/search-backend-module-elasticsearch/report-alpha.api.md @@ -7,23 +7,24 @@ import { BackendFeature } from '@backstage/backend-plugin-api'; import { ElasticSearchQueryTranslator } from '@backstage/plugin-search-backend-module-elasticsearch'; import { ExtensionPoint } from '@backstage/backend-plugin-api'; -// @alpha -const _default: BackendFeature; -export default _default; +// Warning: (ae-forgotten-export) The symbol "ElasticSearchQueryTranslatorExtensionPoint_2" needs to be exported by the entry point alpha.d.ts +// +// @alpha (undocumented) +export type ElasticSearchQueryTranslatorExtensionPoint = + ElasticSearchQueryTranslatorExtensionPoint_2; // @alpha (undocumented) -export interface ElasticSearchQueryTranslatorExtensionPoint { - // (undocumented) - setTranslator(translator: ElasticSearchQueryTranslator): void; -} +export const elasticsearchTranslatorExtensionPoint: ExtensionPoint; -// @alpha -export const elasticsearchTranslatorExtensionPoint: ExtensionPoint; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; // Warnings were encountered during analysis: // -// src/alpha.d.ts:3:1 - (ae-undocumented) Missing documentation for "ElasticSearchQueryTranslatorExtensionPoint". -// src/alpha.d.ts:4:5 - (ae-undocumented) Missing documentation for "setTranslator". +// src/alpha.d.ts:3:15 - (ae-undocumented) Missing documentation for "_feature". +// src/alpha.d.ts:6:1 - (ae-undocumented) Missing documentation for "ElasticSearchQueryTranslatorExtensionPoint". +// src/alpha.d.ts:8:22 - (ae-undocumented) Missing documentation for "elasticsearchTranslatorExtensionPoint". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/search-backend-module-elasticsearch/report.api.md b/plugins/search-backend-module-elasticsearch/report.api.md index 5cb0671a54..d1ec3b171d 100644 --- a/plugins/search-backend-module-elasticsearch/report.api.md +++ b/plugins/search-backend-module-elasticsearch/report.api.md @@ -7,11 +7,14 @@ import { ApiResponse } from '@opensearch-project/opensearch'; import { ApiResponse as ApiResponse_2 } from '@elastic/elasticsearch'; +import { BackendFeature } from '@backstage/backend-plugin-api'; import { BatchSearchEngineIndexer } from '@backstage/plugin-search-backend-node'; import { BulkHelper } from '@elastic/elasticsearch/lib/Helpers'; import { BulkStats } from '@elastic/elasticsearch/lib/Helpers'; import { Config } from '@backstage/config'; import type { ConnectionOptions } from 'tls'; +import { ElasticSearchQueryTranslator as ElasticSearchQueryTranslator_2 } from '@backstage/plugin-search-backend-module-elasticsearch'; +import { ExtensionPoint } from '@backstage/backend-plugin-api'; import { IndexableDocument } from '@backstage/plugin-search-common'; import { IndexableResultSet } from '@backstage/plugin-search-common'; import { LoggerService } from '@backstage/backend-plugin-api'; @@ -72,6 +75,10 @@ export function decodeElasticSearchPageCursor(pageCursor?: string): { page: number; }; +// @public +const _default: BackendFeature; +export default _default; + // @public (undocumented) export interface ElasticSearchAgentOptions { // (undocumented) @@ -318,6 +325,12 @@ export type ElasticSearchQueryTranslator = ( options?: ElasticSearchQueryTranslatorOptions, ) => ElasticSearchConcreteQuery; +// @public (undocumented) +export interface ElasticSearchQueryTranslatorExtensionPoint { + // (undocumented) + setTranslator(translator: ElasticSearchQueryTranslator_2): void; +} + // @public export type ElasticSearchQueryTranslatorOptions = { highlightOptions?: ElasticSearchHighlightConfig; @@ -378,6 +391,9 @@ export type ElasticSearchSearchEngineIndexerOptions = { skipRefresh?: boolean; }; +// @public +export const elasticsearchTranslatorExtensionPoint: ExtensionPoint; + // @public (undocumented) export interface ElasticSearchTransportConstructor { // (undocumented) @@ -552,4 +568,6 @@ export interface OpenSearchNodeOptions { // src/engines/ElasticSearchSearchEngineIndexer.d.ts:39:5 - (ae-undocumented) Missing documentation for "initialize". // src/engines/ElasticSearchSearchEngineIndexer.d.ts:40:5 - (ae-undocumented) Missing documentation for "index". // src/engines/ElasticSearchSearchEngineIndexer.d.ts:41:5 - (ae-undocumented) Missing documentation for "finalize". +// src/module.d.ts:3:1 - (ae-undocumented) Missing documentation for "ElasticSearchQueryTranslatorExtensionPoint". +// src/module.d.ts:4:5 - (ae-undocumented) Missing documentation for "setTranslator". ``` diff --git a/plugins/search-backend-module-elasticsearch/src/alpha.ts b/plugins/search-backend-module-elasticsearch/src/alpha.ts index 0af5904df0..22ff705cd2 100644 --- a/plugins/search-backend-module-elasticsearch/src/alpha.ts +++ b/plugins/search-backend-module-elasticsearch/src/alpha.ts @@ -1,5 +1,5 @@ /* - * Copyright 2023 The Backstage Authors + * Copyright 2024 The Backstage Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,78 +13,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + import { - coreServices, - createBackendModule, - createExtensionPoint, -} from '@backstage/backend-plugin-api'; -import { searchEngineRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha'; -import { - ElasticSearchQueryTranslator, - ElasticSearchSearchEngine, -} from '@backstage/plugin-search-backend-module-elasticsearch'; + default as feature, + ElasticSearchQueryTranslatorExtensionPoint as ExtensionPoint, + elasticsearchTranslatorExtensionPoint as extensionPoint, +} from './module'; /** @alpha */ -export interface ElasticSearchQueryTranslatorExtensionPoint { - setTranslator(translator: ElasticSearchQueryTranslator): void; -} +const _feature = feature; +export default _feature; -/** - * Extension point used to customize the ElasticSearch query translator. - * - * @alpha - */ -export const elasticsearchTranslatorExtensionPoint = - createExtensionPoint({ - id: 'search.elasticsearchEngine.translator', - }); - -/** - * Search backend module for the Elasticsearch engine. - * - * @alpha - */ -export default createBackendModule({ - pluginId: 'search', - moduleId: 'elasticsearch-engine', - register(env) { - let translator: ElasticSearchQueryTranslator | undefined; - - env.registerExtensionPoint(elasticsearchTranslatorExtensionPoint, { - setTranslator(newTranslator) { - if (translator) { - throw new Error( - 'ElasticSearch query translator may only be set once', - ); - } - translator = newTranslator; - }, - }); - - env.registerInit({ - deps: { - searchEngineRegistry: searchEngineRegistryExtensionPoint, - logger: coreServices.logger, - config: coreServices.rootConfig, - }, - async init({ searchEngineRegistry, logger, config }) { - const baseKey = 'search.elasticsearch'; - const baseConfig = config.getOptional(baseKey); - if (!baseConfig) { - logger.warn( - 'No configuration found under "search.elasticsearch" key. Skipping search engine inititalization.', - ); - return; - } - - searchEngineRegistry.setSearchEngine( - await ElasticSearchSearchEngine.fromConfig({ - logger, - config, - translator, - }), - ); - }, - }); - }, -}); +/** @alpha */ +export type ElasticSearchQueryTranslatorExtensionPoint = ExtensionPoint; +/** @alpha */ +export const elasticsearchTranslatorExtensionPoint = extensionPoint; diff --git a/plugins/search-backend-module-elasticsearch/src/index.ts b/plugins/search-backend-module-elasticsearch/src/index.ts index e0b05014cc..4a9f3474b1 100644 --- a/plugins/search-backend-module-elasticsearch/src/index.ts +++ b/plugins/search-backend-module-elasticsearch/src/index.ts @@ -20,6 +20,8 @@ * @packageDocumentation */ +export { default } from './module'; +export * from './module'; export { decodeElasticSearchPageCursor, ElasticSearchSearchEngine, diff --git a/plugins/search-backend-module-elasticsearch/src/module.ts b/plugins/search-backend-module-elasticsearch/src/module.ts new file mode 100644 index 0000000000..827c8d48b8 --- /dev/null +++ b/plugins/search-backend-module-elasticsearch/src/module.ts @@ -0,0 +1,90 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { + coreServices, + createBackendModule, + createExtensionPoint, +} from '@backstage/backend-plugin-api'; +import { searchEngineRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha'; +import { + ElasticSearchQueryTranslator, + ElasticSearchSearchEngine, +} from '@backstage/plugin-search-backend-module-elasticsearch'; + +/** @public */ +export interface ElasticSearchQueryTranslatorExtensionPoint { + setTranslator(translator: ElasticSearchQueryTranslator): void; +} + +/** + * Extension point used to customize the ElasticSearch query translator. + * + * @public + */ +export const elasticsearchTranslatorExtensionPoint = + createExtensionPoint({ + id: 'search.elasticsearchEngine.translator', + }); + +/** + * Search backend module for the Elasticsearch engine. + * + * @public + */ +export default createBackendModule({ + pluginId: 'search', + moduleId: 'elasticsearch-engine', + register(env) { + let translator: ElasticSearchQueryTranslator | undefined; + + env.registerExtensionPoint(elasticsearchTranslatorExtensionPoint, { + setTranslator(newTranslator) { + if (translator) { + throw new Error( + 'ElasticSearch query translator may only be set once', + ); + } + translator = newTranslator; + }, + }); + + env.registerInit({ + deps: { + searchEngineRegistry: searchEngineRegistryExtensionPoint, + logger: coreServices.logger, + config: coreServices.rootConfig, + }, + async init({ searchEngineRegistry, logger, config }) { + const baseKey = 'search.elasticsearch'; + const baseConfig = config.getOptional(baseKey); + if (!baseConfig) { + logger.warn( + 'No configuration found under "search.elasticsearch" key. Skipping search engine inititalization.', + ); + return; + } + + searchEngineRegistry.setSearchEngine( + await ElasticSearchSearchEngine.fromConfig({ + logger, + config, + translator, + }), + ); + }, + }); + }, +}); diff --git a/plugins/search-backend-module-explore/report-alpha.api.md b/plugins/search-backend-module-explore/report-alpha.api.md index 3a1eef9393..0a383dc7d0 100644 --- a/plugins/search-backend-module-explore/report-alpha.api.md +++ b/plugins/search-backend-module-explore/report-alpha.api.md @@ -5,9 +5,13 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; -// @alpha -const _default: BackendFeature; -export default _default; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/search-backend-module-explore/report.api.md b/plugins/search-backend-module-explore/report.api.md index 8738ad2c86..b8ec1aa9c3 100644 --- a/plugins/search-backend-module-explore/report.api.md +++ b/plugins/search-backend-module-explore/report.api.md @@ -6,6 +6,7 @@ /// import { AuthService } from '@backstage/backend-plugin-api'; +import { BackendFeature } from '@backstage/backend-plugin-api'; import { Config } from '@backstage/config'; import { DiscoveryService } from '@backstage/backend-plugin-api'; import { DocumentCollatorFactory } from '@backstage/plugin-search-common'; @@ -15,6 +16,10 @@ import { LoggerService } from '@backstage/backend-plugin-api'; import { Readable } from 'stream'; import { TokenManager } from '@backstage/backend-common'; +// @public +const _default: BackendFeature; +export default _default; + // @public export interface ToolDocument extends IndexableDocument, ExploreTool {} diff --git a/plugins/search-backend-module-explore/src/alpha.ts b/plugins/search-backend-module-explore/src/alpha.ts index 63a13c273b..e5554e85bd 100644 --- a/plugins/search-backend-module-explore/src/alpha.ts +++ b/plugins/search-backend-module-explore/src/alpha.ts @@ -1,5 +1,5 @@ /* - * Copyright 2023 The Backstage Authors + * Copyright 2024 The Backstage Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,67 +14,8 @@ * limitations under the License. */ -/** - * @packageDocumentation - * A module for the search backend that exports Explore modules. - */ +import { default as feature } from './module'; -import { - coreServices, - createBackendModule, - readSchedulerServiceTaskScheduleDefinitionFromConfig, -} from '@backstage/backend-plugin-api'; -import { searchIndexRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha'; - -import { ToolDocumentCollatorFactory } from '@backstage/plugin-search-backend-module-explore'; - -/** - * Search backend module for the Explore index. - * - * @alpha - */ -export default createBackendModule({ - pluginId: 'search', - moduleId: 'explore-collator', - register(env) { - env.registerInit({ - deps: { - config: coreServices.rootConfig, - logger: coreServices.logger, - discovery: coreServices.discovery, - scheduler: coreServices.scheduler, - auth: coreServices.auth, - indexRegistry: searchIndexRegistryExtensionPoint, - }, - async init({ - config, - logger, - discovery, - scheduler, - auth, - indexRegistry, - }) { - const defaultSchedule = { - frequency: { minutes: 10 }, - timeout: { minutes: 15 }, - initialDelay: { seconds: 3 }, - }; - - const schedule = config.has('search.collators.explore.schedule') - ? readSchedulerServiceTaskScheduleDefinitionFromConfig( - config.getConfig('search.collators.explore.schedule'), - ) - : defaultSchedule; - - indexRegistry.addCollator({ - schedule: scheduler.createScheduledTaskRunner(schedule), - factory: ToolDocumentCollatorFactory.fromConfig(config, { - discovery, - logger, - auth, - }), - }); - }, - }); - }, -}); +/** @alpha */ +const _feature = feature; +export default _feature; diff --git a/plugins/search-backend-module-explore/src/index.ts b/plugins/search-backend-module-explore/src/index.ts index ea94071984..d0ed56eac9 100644 --- a/plugins/search-backend-module-explore/src/index.ts +++ b/plugins/search-backend-module-explore/src/index.ts @@ -20,3 +20,4 @@ */ export * from './collators'; +export { default } from './module'; diff --git a/plugins/search-backend-module-explore/src/alpha.test.ts b/plugins/search-backend-module-explore/src/module.test.ts similarity index 97% rename from plugins/search-backend-module-explore/src/alpha.test.ts rename to plugins/search-backend-module-explore/src/module.test.ts index 2ba01ec478..4be26a14d1 100644 --- a/plugins/search-backend-module-explore/src/alpha.test.ts +++ b/plugins/search-backend-module-explore/src/module.test.ts @@ -16,7 +16,7 @@ import { mockServices, startTestBackend } from '@backstage/backend-test-utils'; import { searchIndexRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha'; -import searchModuleExploreCollator from './alpha'; +import searchModuleExploreCollator from './module'; describe('searchModuleExploreCollator', () => { const schedule = { diff --git a/plugins/search-backend-module-explore/src/module.ts b/plugins/search-backend-module-explore/src/module.ts new file mode 100644 index 0000000000..f0ac187908 --- /dev/null +++ b/plugins/search-backend-module-explore/src/module.ts @@ -0,0 +1,80 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @packageDocumentation + * A module for the search backend that exports Explore modules. + */ + +import { + coreServices, + createBackendModule, + readSchedulerServiceTaskScheduleDefinitionFromConfig, +} from '@backstage/backend-plugin-api'; +import { searchIndexRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha'; + +import { ToolDocumentCollatorFactory } from '@backstage/plugin-search-backend-module-explore'; + +/** + * Search backend module for the Explore index. + * + * @public + */ +export default createBackendModule({ + pluginId: 'search', + moduleId: 'explore-collator', + register(env) { + env.registerInit({ + deps: { + config: coreServices.rootConfig, + logger: coreServices.logger, + discovery: coreServices.discovery, + scheduler: coreServices.scheduler, + auth: coreServices.auth, + indexRegistry: searchIndexRegistryExtensionPoint, + }, + async init({ + config, + logger, + discovery, + scheduler, + auth, + indexRegistry, + }) { + const defaultSchedule = { + frequency: { minutes: 10 }, + timeout: { minutes: 15 }, + initialDelay: { seconds: 3 }, + }; + + const schedule = config.has('search.collators.explore.schedule') + ? readSchedulerServiceTaskScheduleDefinitionFromConfig( + config.getConfig('search.collators.explore.schedule'), + ) + : defaultSchedule; + + indexRegistry.addCollator({ + schedule: scheduler.createScheduledTaskRunner(schedule), + factory: ToolDocumentCollatorFactory.fromConfig(config, { + discovery, + logger, + auth, + }), + }); + }, + }); + }, +}); diff --git a/plugins/search-backend-module-pg/report-alpha.api.md b/plugins/search-backend-module-pg/report-alpha.api.md index b36b782f6c..c5d011b95f 100644 --- a/plugins/search-backend-module-pg/report-alpha.api.md +++ b/plugins/search-backend-module-pg/report-alpha.api.md @@ -5,9 +5,13 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; -// @alpha -const _default: BackendFeature; -export default _default; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/search-backend-module-pg/report.api.md b/plugins/search-backend-module-pg/report.api.md index 36346491fa..77e795321a 100644 --- a/plugins/search-backend-module-pg/report.api.md +++ b/plugins/search-backend-module-pg/report.api.md @@ -3,6 +3,7 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { BackendFeature } from '@backstage/backend-plugin-api'; import { BatchSearchEngineIndexer } from '@backstage/plugin-search-backend-node'; import { Config } from '@backstage/config'; import { DatabaseService } from '@backstage/backend-plugin-api'; @@ -70,6 +71,10 @@ export interface DatabaseStore { transaction(fn: (tx: Knex.Transaction) => Promise): Promise; } +// @public +const _default: BackendFeature; +export default _default; + // @public (undocumented) export interface DocumentResultRow { // (undocumented) diff --git a/plugins/search-backend-module-pg/src/alpha.ts b/plugins/search-backend-module-pg/src/alpha.ts index 3ee4d685e7..e5554e85bd 100644 --- a/plugins/search-backend-module-pg/src/alpha.ts +++ b/plugins/search-backend-module-pg/src/alpha.ts @@ -1,5 +1,5 @@ /* - * Copyright 2023 The Backstage Authors + * Copyright 2024 The Backstage Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,42 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { - coreServices, - createBackendModule, -} from '@backstage/backend-plugin-api'; -import { searchEngineRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha'; -import { PgSearchEngine } from './PgSearchEngine'; -/** - * @alpha - * Search backend module for the Postgres engine. - */ -export default createBackendModule({ - pluginId: 'search', - moduleId: 'postgres-engine', - register(env) { - env.registerInit({ - deps: { - searchEngineRegistry: searchEngineRegistryExtensionPoint, - database: coreServices.database, - config: coreServices.rootConfig, - logger: coreServices.logger, - }, - async init({ searchEngineRegistry, database, config, logger }) { - if (await PgSearchEngine.supported(database)) { - searchEngineRegistry.setSearchEngine( - await PgSearchEngine.fromConfig(config, { - database, - logger, - }), - ); - } else { - logger.warn( - 'Postgres search engine is not supported, skipping registration of search-backend-module-pg', - ); - } - }, - }); - }, -}); +import { default as feature } from './module'; + +/** @alpha */ +const _feature = feature; +export default _feature; diff --git a/plugins/search-backend-module-pg/src/index.ts b/plugins/search-backend-module-pg/src/index.ts index fbc52735dd..efac60e686 100644 --- a/plugins/search-backend-module-pg/src/index.ts +++ b/plugins/search-backend-module-pg/src/index.ts @@ -20,5 +20,6 @@ * @packageDocumentation */ +export { default } from './module'; export * from './database'; export * from './PgSearchEngine'; diff --git a/plugins/search-backend-module-pg/src/module.ts b/plugins/search-backend-module-pg/src/module.ts new file mode 100644 index 0000000000..43bdb41905 --- /dev/null +++ b/plugins/search-backend-module-pg/src/module.ts @@ -0,0 +1,54 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { + coreServices, + createBackendModule, +} from '@backstage/backend-plugin-api'; +import { searchEngineRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha'; +import { PgSearchEngine } from './PgSearchEngine'; + +/** + * @public + * Search backend module for the Postgres engine. + */ +export default createBackendModule({ + pluginId: 'search', + moduleId: 'postgres-engine', + register(env) { + env.registerInit({ + deps: { + searchEngineRegistry: searchEngineRegistryExtensionPoint, + database: coreServices.database, + config: coreServices.rootConfig, + logger: coreServices.logger, + }, + async init({ searchEngineRegistry, database, config, logger }) { + if (await PgSearchEngine.supported(database)) { + searchEngineRegistry.setSearchEngine( + await PgSearchEngine.fromConfig(config, { + database, + logger, + }), + ); + } else { + logger.warn( + 'Postgres search engine is not supported, skipping registration of search-backend-module-pg', + ); + } + }, + }); + }, +}); diff --git a/plugins/search-backend-module-stack-overflow-collator/README.md b/plugins/search-backend-module-stack-overflow-collator/README.md index e2d516ace5..e14411cd52 100644 --- a/plugins/search-backend-module-stack-overflow-collator/README.md +++ b/plugins/search-backend-module-stack-overflow-collator/README.md @@ -83,7 +83,7 @@ Add the collator to your backend instance, along with the search plugin itself: import { createBackend } from '@backstage/backend-defaults'; const backend = createBackend(); -backend.add(import('@backstage/plugin-search-backend/alpha')); +backend.add(import('@backstage/plugin-search-backend')); backend.add( import('@backstage/plugin-search-backend-module-stack-overflow-collator'), ); diff --git a/plugins/search-backend-module-techdocs/report-alpha.api.md b/plugins/search-backend-module-techdocs/report-alpha.api.md index 758441c12d..678f9a679d 100644 --- a/plugins/search-backend-module-techdocs/report-alpha.api.md +++ b/plugins/search-backend-module-techdocs/report-alpha.api.md @@ -8,28 +8,24 @@ import { ExtensionPoint } from '@backstage/backend-plugin-api'; import { TechDocsCollatorDocumentTransformer } from '@backstage/plugin-search-backend-module-techdocs'; import { TechDocsCollatorEntityTransformer } from '@backstage/plugin-search-backend-module-techdocs'; -// @alpha -const _default: BackendFeature; -export default _default; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warning: (ae-forgotten-export) The symbol "TechDocsCollatorEntityTransformerExtensionPoint_2" needs to be exported by the entry point alpha.d.ts +// +// @alpha (undocumented) +export type TechDocsCollatorEntityTransformerExtensionPoint = + TechDocsCollatorEntityTransformerExtensionPoint_2; // @alpha (undocumented) -export interface TechDocsCollatorEntityTransformerExtensionPoint { - // (undocumented) - setDocumentTransformer( - transformer: TechDocsCollatorDocumentTransformer, - ): void; - // (undocumented) - setTransformer(transformer: TechDocsCollatorEntityTransformer): void; -} - -// @alpha -export const techdocsCollatorEntityTransformerExtensionPoint: ExtensionPoint; +export const techdocsCollatorEntityTransformerExtensionPoint: ExtensionPoint; // Warnings were encountered during analysis: // -// src/alpha.d.ts:3:1 - (ae-undocumented) Missing documentation for "TechDocsCollatorEntityTransformerExtensionPoint". -// src/alpha.d.ts:4:5 - (ae-undocumented) Missing documentation for "setTransformer". -// src/alpha.d.ts:5:5 - (ae-undocumented) Missing documentation for "setDocumentTransformer". +// src/alpha.d.ts:3:15 - (ae-undocumented) Missing documentation for "_feature". +// src/alpha.d.ts:6:1 - (ae-undocumented) Missing documentation for "TechDocsCollatorEntityTransformerExtensionPoint". +// src/alpha.d.ts:8:22 - (ae-undocumented) Missing documentation for "techdocsCollatorEntityTransformerExtensionPoint". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/search-backend-module-techdocs/report.api.md b/plugins/search-backend-module-techdocs/report.api.md index ce9500a5f6..9f03812e44 100644 --- a/plugins/search-backend-module-techdocs/report.api.md +++ b/plugins/search-backend-module-techdocs/report.api.md @@ -6,18 +6,26 @@ /// import { AuthService } from '@backstage/backend-plugin-api'; +import { BackendFeature } from '@backstage/backend-plugin-api'; import { CatalogApi } from '@backstage/catalog-client'; import { Config } from '@backstage/config'; import { DiscoveryService } from '@backstage/backend-plugin-api'; import { DocumentCollatorFactory } from '@backstage/plugin-search-common'; import { Entity } from '@backstage/catalog-model'; +import { ExtensionPoint } from '@backstage/backend-plugin-api'; import { HttpAuthService } from '@backstage/backend-plugin-api'; import { LoggerService } from '@backstage/backend-plugin-api'; import { Permission } from '@backstage/plugin-permission-common'; import { Readable } from 'stream'; +import { TechDocsCollatorDocumentTransformer as TechDocsCollatorDocumentTransformer_2 } from '@backstage/plugin-search-backend-module-techdocs'; +import { TechDocsCollatorEntityTransformer as TechDocsCollatorEntityTransformer_2 } from '@backstage/plugin-search-backend-module-techdocs'; import { TechDocsDocument } from '@backstage/plugin-techdocs-node'; import { TokenManager } from '@backstage/backend-common'; +// @public +const _default: BackendFeature; +export default _default; + // @public (undocumented) export const defaultTechDocsCollatorEntityTransformer: TechDocsCollatorEntityTransformer; @@ -69,6 +77,19 @@ export type TechDocsCollatorEntityTransformer = ( entity: Entity, ) => Partial>; +// @public (undocumented) +export interface TechDocsCollatorEntityTransformerExtensionPoint { + // (undocumented) + setDocumentTransformer( + transformer: TechDocsCollatorDocumentTransformer_2, + ): void; + // (undocumented) + setTransformer(transformer: TechDocsCollatorEntityTransformer_2): void; +} + +// @public +export const techdocsCollatorEntityTransformerExtensionPoint: ExtensionPoint; + // @public @deprecated export type TechDocsCollatorFactoryOptions = { discovery: DiscoveryService; @@ -98,4 +119,7 @@ export type TechDocsCollatorFactoryOptions = { // src/collators/TechDocsCollatorDocumentTransformer.d.ts:10:1 - (ae-undocumented) Missing documentation for "TechDocsCollatorDocumentTransformer". // src/collators/TechDocsCollatorEntityTransformer.d.ts:4:1 - (ae-undocumented) Missing documentation for "TechDocsCollatorEntityTransformer". // src/collators/defaultTechDocsCollatorEntityTransformer.d.ts:3:22 - (ae-undocumented) Missing documentation for "defaultTechDocsCollatorEntityTransformer". +// src/module.d.ts:3:1 - (ae-undocumented) Missing documentation for "TechDocsCollatorEntityTransformerExtensionPoint". +// src/module.d.ts:4:5 - (ae-undocumented) Missing documentation for "setTransformer". +// src/module.d.ts:5:5 - (ae-undocumented) Missing documentation for "setDocumentTransformer". ``` diff --git a/plugins/search-backend-module-techdocs/src/alpha.ts b/plugins/search-backend-module-techdocs/src/alpha.ts index 88b914cf19..ecd56a9af1 100644 --- a/plugins/search-backend-module-techdocs/src/alpha.ts +++ b/plugins/search-backend-module-techdocs/src/alpha.ts @@ -1,5 +1,5 @@ /* - * Copyright 2023 The Backstage Authors + * Copyright 2024 The Backstage Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,122 +14,17 @@ * limitations under the License. */ -/** - * @packageDocumentation - * A module for the search backend that exports TechDocs modules. - */ - import { - coreServices, - createBackendModule, - createExtensionPoint, - readSchedulerServiceTaskScheduleDefinitionFromConfig, -} from '@backstage/backend-plugin-api'; -import { catalogServiceRef } from '@backstage/plugin-catalog-node/alpha'; -import { - DefaultTechDocsCollatorFactory, - TechDocsCollatorDocumentTransformer, - TechDocsCollatorEntityTransformer, -} from '@backstage/plugin-search-backend-module-techdocs'; -import { searchIndexRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha'; + default as feature, + TechDocsCollatorEntityTransformerExtensionPoint as ExtensionPoint, + techdocsCollatorEntityTransformerExtensionPoint as extensionPoint, +} from './module'; /** @alpha */ -export interface TechDocsCollatorEntityTransformerExtensionPoint { - setTransformer(transformer: TechDocsCollatorEntityTransformer): void; - setDocumentTransformer( - transformer: TechDocsCollatorDocumentTransformer, - ): void; -} +const _feature = feature; +export default _feature; -/** - * Extension point used to customize the TechDocs collator entity transformer. - * - * @alpha - */ -export const techdocsCollatorEntityTransformerExtensionPoint = - createExtensionPoint({ - id: 'search.techdocsCollator.transformer', - }); - -/** - * @alpha - * Search backend module for the TechDocs index. - */ -export default createBackendModule({ - pluginId: 'search', - moduleId: 'techdocs-collator', - register(env) { - let entityTransformer: TechDocsCollatorEntityTransformer | undefined; - let documentTransformer: TechDocsCollatorDocumentTransformer | undefined; - - env.registerExtensionPoint( - techdocsCollatorEntityTransformerExtensionPoint, - { - setTransformer(newTransformer) { - if (entityTransformer) { - throw new Error( - 'TechDocs collator entity transformer may only be set once', - ); - } - entityTransformer = newTransformer; - }, - setDocumentTransformer(newTransformer) { - if (documentTransformer) { - throw new Error( - 'TechDocs collator document transformer may only be set once', - ); - } - documentTransformer = newTransformer; - }, - }, - ); - - env.registerInit({ - deps: { - config: coreServices.rootConfig, - logger: coreServices.logger, - auth: coreServices.auth, - httpAuth: coreServices.httpAuth, - discovery: coreServices.discovery, - scheduler: coreServices.scheduler, - catalog: catalogServiceRef, - indexRegistry: searchIndexRegistryExtensionPoint, - }, - async init({ - config, - logger, - auth, - httpAuth, - discovery, - scheduler, - catalog, - indexRegistry, - }) { - const defaultSchedule = { - frequency: { minutes: 10 }, - timeout: { minutes: 15 }, - initialDelay: { seconds: 3 }, - }; - - const schedule = config.has('search.collators.techdocs.schedule') - ? readSchedulerServiceTaskScheduleDefinitionFromConfig( - config.getConfig('search.collators.techdocs.schedule'), - ) - : defaultSchedule; - - indexRegistry.addCollator({ - schedule: scheduler.createScheduledTaskRunner(schedule), - factory: DefaultTechDocsCollatorFactory.fromConfig(config, { - discovery, - auth, - httpAuth, - logger, - catalogClient: catalog, - entityTransformer, - documentTransformer, - }), - }); - }, - }); - }, -}); +/** @alpha */ +export type TechDocsCollatorEntityTransformerExtensionPoint = ExtensionPoint; +/** @alpha */ +export const techdocsCollatorEntityTransformerExtensionPoint = extensionPoint; diff --git a/plugins/search-backend-module-techdocs/src/index.ts b/plugins/search-backend-module-techdocs/src/index.ts index c28175fd61..cd11b89671 100644 --- a/plugins/search-backend-module-techdocs/src/index.ts +++ b/plugins/search-backend-module-techdocs/src/index.ts @@ -19,4 +19,6 @@ * A module for the search backend that exports TechDocs modules. */ +export { default } from './module'; +export * from './module'; export * from './collators'; diff --git a/plugins/search-backend-module-techdocs/src/alpha.test.ts b/plugins/search-backend-module-techdocs/src/module.test.ts similarity index 97% rename from plugins/search-backend-module-techdocs/src/alpha.test.ts rename to plugins/search-backend-module-techdocs/src/module.test.ts index f1875a881b..92e4366980 100644 --- a/plugins/search-backend-module-techdocs/src/alpha.test.ts +++ b/plugins/search-backend-module-techdocs/src/module.test.ts @@ -16,7 +16,7 @@ import { mockServices, startTestBackend } from '@backstage/backend-test-utils'; import { searchIndexRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha'; -import searchModuleTechDocsCollator from './alpha'; +import searchModuleTechDocsCollator from './module'; describe('searchModuleTechDocsCollator', () => { const schedule = { diff --git a/plugins/search-backend-module-techdocs/src/module.ts b/plugins/search-backend-module-techdocs/src/module.ts new file mode 100644 index 0000000000..0114b88c2d --- /dev/null +++ b/plugins/search-backend-module-techdocs/src/module.ts @@ -0,0 +1,135 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @packageDocumentation + * A module for the search backend that exports TechDocs modules. + */ + +import { + coreServices, + createBackendModule, + createExtensionPoint, + readSchedulerServiceTaskScheduleDefinitionFromConfig, +} from '@backstage/backend-plugin-api'; +import { catalogServiceRef } from '@backstage/plugin-catalog-node/alpha'; +import { + DefaultTechDocsCollatorFactory, + TechDocsCollatorDocumentTransformer, + TechDocsCollatorEntityTransformer, +} from '@backstage/plugin-search-backend-module-techdocs'; +import { searchIndexRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha'; + +/** @public */ +export interface TechDocsCollatorEntityTransformerExtensionPoint { + setTransformer(transformer: TechDocsCollatorEntityTransformer): void; + setDocumentTransformer( + transformer: TechDocsCollatorDocumentTransformer, + ): void; +} + +/** + * Extension point used to customize the TechDocs collator entity transformer. + * + * @public + */ +export const techdocsCollatorEntityTransformerExtensionPoint = + createExtensionPoint({ + id: 'search.techdocsCollator.transformer', + }); + +/** + * @public + * Search backend module for the TechDocs index. + */ +export default createBackendModule({ + pluginId: 'search', + moduleId: 'techdocs-collator', + register(env) { + let entityTransformer: TechDocsCollatorEntityTransformer | undefined; + let documentTransformer: TechDocsCollatorDocumentTransformer | undefined; + + env.registerExtensionPoint( + techdocsCollatorEntityTransformerExtensionPoint, + { + setTransformer(newTransformer) { + if (entityTransformer) { + throw new Error( + 'TechDocs collator entity transformer may only be set once', + ); + } + entityTransformer = newTransformer; + }, + setDocumentTransformer(newTransformer) { + if (documentTransformer) { + throw new Error( + 'TechDocs collator document transformer may only be set once', + ); + } + documentTransformer = newTransformer; + }, + }, + ); + + env.registerInit({ + deps: { + config: coreServices.rootConfig, + logger: coreServices.logger, + auth: coreServices.auth, + httpAuth: coreServices.httpAuth, + discovery: coreServices.discovery, + scheduler: coreServices.scheduler, + catalog: catalogServiceRef, + indexRegistry: searchIndexRegistryExtensionPoint, + }, + async init({ + config, + logger, + auth, + httpAuth, + discovery, + scheduler, + catalog, + indexRegistry, + }) { + const defaultSchedule = { + frequency: { minutes: 10 }, + timeout: { minutes: 15 }, + initialDelay: { seconds: 3 }, + }; + + const schedule = config.has('search.collators.techdocs.schedule') + ? readSchedulerServiceTaskScheduleDefinitionFromConfig( + config.getConfig('search.collators.techdocs.schedule'), + ) + : defaultSchedule; + + indexRegistry.addCollator({ + schedule: scheduler.createScheduledTaskRunner(schedule), + factory: DefaultTechDocsCollatorFactory.fromConfig(config, { + discovery, + auth, + httpAuth, + logger, + catalogClient: catalog, + entityTransformer, + documentTransformer, + }), + }); + }, + }); + }, +}); diff --git a/plugins/search-backend/dev/index.ts b/plugins/search-backend/dev/index.ts index 9c108c0de1..f03689d63c 100644 --- a/plugins/search-backend/dev/index.ts +++ b/plugins/search-backend/dev/index.ts @@ -17,5 +17,5 @@ import { createBackend } from '@backstage/backend-defaults'; const backend = createBackend(); -backend.add(import('../src/alpha')); +backend.add(import('../src/plugin')); backend.start(); diff --git a/plugins/search-backend/report-alpha.api.md b/plugins/search-backend/report-alpha.api.md index 8221359a36..9cae91f291 100644 --- a/plugins/search-backend/report-alpha.api.md +++ b/plugins/search-backend/report-alpha.api.md @@ -5,9 +5,13 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; -// @alpha -const _default: BackendFeature; -export default _default; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/search-backend/report.api.md b/plugins/search-backend/report.api.md index 42714f5070..e1cf271dc9 100644 --- a/plugins/search-backend/report.api.md +++ b/plugins/search-backend/report.api.md @@ -4,6 +4,7 @@ ```ts import { AuthService } from '@backstage/backend-plugin-api'; +import { BackendFeature } from '@backstage/backend-plugin-api'; import { Config } from '@backstage/config'; import { DiscoveryService } from '@backstage/backend-plugin-api'; import { DocumentTypeInfo } from '@backstage/plugin-search-common'; @@ -17,6 +18,10 @@ import { SearchEngine } from '@backstage/plugin-search-backend-node'; // @public @deprecated (undocumented) export function createRouter(options: RouterOptions): Promise; +// @public +const _default: BackendFeature; +export default _default; + // @public @deprecated (undocumented) export type RouterOptions = { engine: SearchEngine; diff --git a/plugins/search-backend/src/alpha.ts b/plugins/search-backend/src/alpha.ts index 3a3ba82c3e..a8c814004b 100644 --- a/plugins/search-backend/src/alpha.ts +++ b/plugins/search-backend/src/alpha.ts @@ -1,5 +1,5 @@ /* - * Copyright 2023 The Backstage Authors + * Copyright 2024 The Backstage Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,140 +14,8 @@ * limitations under the License. */ -import { - coreServices, - createBackendPlugin, -} from '@backstage/backend-plugin-api'; -import { - LunrSearchEngine, - RegisterCollatorParameters, - RegisterDecoratorParameters, - SearchEngine, -} from '@backstage/plugin-search-backend-node'; -import { - SearchEngineRegistryExtensionPoint, - searchEngineRegistryExtensionPoint, - searchIndexRegistryExtensionPoint, - SearchIndexRegistryExtensionPoint, - searchIndexServiceRef, -} from '@backstage/plugin-search-backend-node/alpha'; +import { default as feature } from './plugin'; -import { createRouter } from './service/router'; - -class SearchIndexRegistry implements SearchIndexRegistryExtensionPoint { - private collators: RegisterCollatorParameters[] = []; - private decorators: RegisterDecoratorParameters[] = []; - - public addCollator(options: RegisterCollatorParameters): void { - this.collators.push(options); - } - - public addDecorator(options: RegisterDecoratorParameters): void { - this.decorators.push(options); - } - - public getCollators(): RegisterCollatorParameters[] { - return this.collators; - } - - public getDecorators(): RegisterDecoratorParameters[] { - return this.decorators; - } -} - -class SearchEngineRegistry implements SearchEngineRegistryExtensionPoint { - private searchEngine: SearchEngine | null = null; - - public setSearchEngine(searchEngine: SearchEngine): void { - if (this.searchEngine) { - throw new Error('Multiple Search engines is not supported at this time'); - } - this.searchEngine = searchEngine; - } - - public getSearchEngine(): SearchEngine | null { - return this.searchEngine; - } -} - -/** - * The Search plugin is responsible for starting search indexing processes and return search results. - * @alpha - */ -export default createBackendPlugin({ - pluginId: 'search', - register(env) { - const searchIndexRegistry = new SearchIndexRegistry(); - env.registerExtensionPoint( - searchIndexRegistryExtensionPoint, - searchIndexRegistry, - ); - - const searchEngineRegistry = new SearchEngineRegistry(); - env.registerExtensionPoint( - searchEngineRegistryExtensionPoint, - searchEngineRegistry, - ); - - env.registerInit({ - deps: { - logger: coreServices.logger, - config: coreServices.rootConfig, - discovery: coreServices.discovery, - permissions: coreServices.permissions, - auth: coreServices.auth, - http: coreServices.httpRouter, - httpAuth: coreServices.httpAuth, - lifecycle: coreServices.rootLifecycle, - searchIndexService: searchIndexServiceRef, - }, - async init({ - config, - logger, - discovery, - permissions, - auth, - http, - httpAuth, - lifecycle, - searchIndexService, - }) { - let searchEngine = searchEngineRegistry.getSearchEngine(); - if (!searchEngine) { - searchEngine = new LunrSearchEngine({ - logger, - }); - } - - const collators = searchIndexRegistry.getCollators(); - const decorators = searchIndexRegistry.getDecorators(); - searchIndexService.init({ - searchEngine: searchEngine!, - collators, - decorators, - }); - - lifecycle.addStartupHook(async () => { - await searchIndexService.start(); - }); - - lifecycle.addShutdownHook(async () => { - await searchIndexService.stop(); - }); - - const router = await createRouter({ - config, - discovery, - permissions, - auth, - httpAuth, - logger, - engine: searchEngine, - types: searchIndexService.getDocumentTypes(), - }); - - http.use(router); - }, - }); - }, -}); +/** @alpha */ +const _feature = feature; +export default _feature; diff --git a/plugins/search-backend/src/index.ts b/plugins/search-backend/src/index.ts index 851efd1875..2bd58730b1 100644 --- a/plugins/search-backend/src/index.ts +++ b/plugins/search-backend/src/index.ts @@ -20,4 +20,5 @@ * @packageDocumentation */ +export { default } from './plugin'; export * from './service/router'; diff --git a/plugins/search-backend/src/alpha.test.ts b/plugins/search-backend/src/plugin.test.ts similarity index 96% rename from plugins/search-backend/src/alpha.test.ts rename to plugins/search-backend/src/plugin.test.ts index dfe80987d4..905d384bb1 100644 --- a/plugins/search-backend/src/alpha.test.ts +++ b/plugins/search-backend/src/plugin.test.ts @@ -16,7 +16,7 @@ import { startTestBackend } from '@backstage/backend-test-utils'; import request from 'supertest'; -import searchPlugin from './alpha'; +import searchPlugin from './plugin'; describe('searchPlugin', () => { it('should serve search results on query endpoint', async () => { diff --git a/plugins/search-backend/src/plugin.ts b/plugins/search-backend/src/plugin.ts new file mode 100644 index 0000000000..6f4f0dc4cb --- /dev/null +++ b/plugins/search-backend/src/plugin.ts @@ -0,0 +1,153 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { + coreServices, + createBackendPlugin, +} from '@backstage/backend-plugin-api'; +import { + LunrSearchEngine, + RegisterCollatorParameters, + RegisterDecoratorParameters, + SearchEngine, +} from '@backstage/plugin-search-backend-node'; +import { + SearchEngineRegistryExtensionPoint, + searchEngineRegistryExtensionPoint, + searchIndexRegistryExtensionPoint, + SearchIndexRegistryExtensionPoint, + searchIndexServiceRef, +} from '@backstage/plugin-search-backend-node/alpha'; + +import { createRouter } from './service/router'; + +class SearchIndexRegistry implements SearchIndexRegistryExtensionPoint { + private collators: RegisterCollatorParameters[] = []; + private decorators: RegisterDecoratorParameters[] = []; + + public addCollator(options: RegisterCollatorParameters): void { + this.collators.push(options); + } + + public addDecorator(options: RegisterDecoratorParameters): void { + this.decorators.push(options); + } + + public getCollators(): RegisterCollatorParameters[] { + return this.collators; + } + + public getDecorators(): RegisterDecoratorParameters[] { + return this.decorators; + } +} + +class SearchEngineRegistry implements SearchEngineRegistryExtensionPoint { + private searchEngine: SearchEngine | null = null; + + public setSearchEngine(searchEngine: SearchEngine): void { + if (this.searchEngine) { + throw new Error('Multiple Search engines is not supported at this time'); + } + this.searchEngine = searchEngine; + } + + public getSearchEngine(): SearchEngine | null { + return this.searchEngine; + } +} + +/** + * The Search plugin is responsible for starting search indexing processes and return search results. + * @public + */ +export default createBackendPlugin({ + pluginId: 'search', + register(env) { + const searchIndexRegistry = new SearchIndexRegistry(); + env.registerExtensionPoint( + searchIndexRegistryExtensionPoint, + searchIndexRegistry, + ); + + const searchEngineRegistry = new SearchEngineRegistry(); + env.registerExtensionPoint( + searchEngineRegistryExtensionPoint, + searchEngineRegistry, + ); + + env.registerInit({ + deps: { + logger: coreServices.logger, + config: coreServices.rootConfig, + discovery: coreServices.discovery, + permissions: coreServices.permissions, + auth: coreServices.auth, + http: coreServices.httpRouter, + httpAuth: coreServices.httpAuth, + lifecycle: coreServices.rootLifecycle, + searchIndexService: searchIndexServiceRef, + }, + async init({ + config, + logger, + discovery, + permissions, + auth, + http, + httpAuth, + lifecycle, + searchIndexService, + }) { + let searchEngine = searchEngineRegistry.getSearchEngine(); + if (!searchEngine) { + searchEngine = new LunrSearchEngine({ + logger, + }); + } + + const collators = searchIndexRegistry.getCollators(); + const decorators = searchIndexRegistry.getDecorators(); + searchIndexService.init({ + searchEngine: searchEngine!, + collators, + decorators, + }); + + lifecycle.addStartupHook(async () => { + await searchIndexService.start(); + }); + + lifecycle.addShutdownHook(async () => { + await searchIndexService.stop(); + }); + + const router = await createRouter({ + config, + discovery, + permissions, + auth, + httpAuth, + logger, + engine: searchEngine, + types: searchIndexService.getDocumentTypes(), + }); + + http.use(router); + }, + }); + }, +}); diff --git a/plugins/techdocs-backend/report-alpha.api.md b/plugins/techdocs-backend/report-alpha.api.md index 9074c87138..d97dc13982 100644 --- a/plugins/techdocs-backend/report-alpha.api.md +++ b/plugins/techdocs-backend/report-alpha.api.md @@ -5,9 +5,13 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; -// @alpha -const techdocsPlugin: BackendFeature; -export default techdocsPlugin; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/techdocs-backend/report.api.md b/plugins/techdocs-backend/report.api.md index 6b84666e50..569df8ee7c 100644 --- a/plugins/techdocs-backend/report.api.md +++ b/plugins/techdocs-backend/report.api.md @@ -4,6 +4,7 @@ ```ts import { AuthService } from '@backstage/backend-plugin-api'; +import { BackendFeature } from '@backstage/backend-plugin-api'; import { CatalogApi } from '@backstage/catalog-client'; import { Config } from '@backstage/config'; import { DefaultTechDocsCollatorFactory as DefaultTechDocsCollatorFactory_2 } from '@backstage/plugin-search-backend-module-techdocs'; @@ -111,13 +112,17 @@ export type TechDocsCollatorOptions = { // @public @deprecated (undocumented) export type TechDocsDocument = TechDocsDocument_2; +// @public +const techdocsPlugin: BackendFeature; +export default techdocsPlugin; + export * from '@backstage/plugin-techdocs-node'; // Warnings were encountered during analysis: // -// src/index.d.ts:16:1 - (ae-undocumented) Missing documentation for "DocsBuildStrategy". -// src/index.d.ts:21:1 - (ae-undocumented) Missing documentation for "ShouldBuildParameters". -// src/index.d.ts:28:1 - (ae-undocumented) Missing documentation for "TechDocsDocument". +// src/index.d.ts:17:1 - (ae-undocumented) Missing documentation for "DocsBuildStrategy". +// src/index.d.ts:22:1 - (ae-undocumented) Missing documentation for "ShouldBuildParameters". +// src/index.d.ts:29:1 - (ae-undocumented) Missing documentation for "TechDocsDocument". // src/search/DefaultTechDocsCollator.d.ts:32:5 - (ae-undocumented) Missing documentation for "type". // src/search/DefaultTechDocsCollator.d.ts:33:5 - (ae-undocumented) Missing documentation for "visibilityPermission". // src/search/DefaultTechDocsCollator.d.ts:35:5 - (ae-undocumented) Missing documentation for "fromConfig". diff --git a/plugins/techdocs-backend/src/alpha.ts b/plugins/techdocs-backend/src/alpha.ts index 7ac39bde91..2c69426759 100644 --- a/plugins/techdocs-backend/src/alpha.ts +++ b/plugins/techdocs-backend/src/alpha.ts @@ -14,4 +14,8 @@ * limitations under the License. */ -export { techdocsPlugin as default } from './plugin'; +import { techdocsPlugin } from './plugin'; + +/** @alpha */ +const _feature = techdocsPlugin; +export default _feature; diff --git a/plugins/techdocs-backend/src/index.ts b/plugins/techdocs-backend/src/index.ts index 6dc68a4d44..c5fbf10c60 100644 --- a/plugins/techdocs-backend/src/index.ts +++ b/plugins/techdocs-backend/src/index.ts @@ -26,6 +26,7 @@ import { TechDocsDocument as _TechDocsDocument, } from '@backstage/plugin-techdocs-node'; +export { techdocsPlugin as default } from './plugin'; export { createRouter } from './service'; export type { RouterOptions, diff --git a/plugins/techdocs-backend/src/plugin.ts b/plugins/techdocs-backend/src/plugin.ts index 9b5ae21a52..c7d6ae5259 100644 --- a/plugins/techdocs-backend/src/plugin.ts +++ b/plugins/techdocs-backend/src/plugin.ts @@ -38,13 +38,13 @@ import { techdocsPreparerExtensionPoint, techdocsPublisherExtensionPoint, } from '@backstage/plugin-techdocs-node'; -import { createRouter } from '@backstage/plugin-techdocs-backend'; +import { createRouter } from './service'; import { catalogServiceRef } from '@backstage/plugin-catalog-node/alpha'; import * as winston from 'winston'; /** * The TechDocs plugin is responsible for serving and building documentation for any entity. - * @alpha + * @public */ export const techdocsPlugin = createBackendPlugin({ pluginId: 'techdocs', diff --git a/plugins/user-settings-backend/README.md b/plugins/user-settings-backend/README.md index 249edec592..34156b3bfb 100644 --- a/plugins/user-settings-backend/README.md +++ b/plugins/user-settings-backend/README.md @@ -16,7 +16,7 @@ yarn --cwd packages/backend add @backstage/plugin-user-settings-backend @backsta Add the plugin to your backend in `packages/backend/src/index.ts`: ```ts -backend.add(import('@backstage/plugin-user-settings-backend/alpha')); +backend.add(import('@backstage/plugin-user-settings-backend')); // The signals backend is technically optional but enables real-time update of user // settings across different sessions backend.add(import('@backstage/plugin-signals-backend')); diff --git a/plugins/user-settings-backend/dev/index.ts b/plugins/user-settings-backend/dev/index.ts index 43c75d24df..7180ff5baa 100644 --- a/plugins/user-settings-backend/dev/index.ts +++ b/plugins/user-settings-backend/dev/index.ts @@ -17,5 +17,5 @@ import { createBackend } from '@backstage/backend-defaults'; const backend = createBackend(); -backend.add(import('../src/alpha')); +backend.add(import('../src/plugin')); backend.start(); diff --git a/plugins/user-settings-backend/report-alpha.api.md b/plugins/user-settings-backend/report-alpha.api.md index 6fe4f10fe7..02c93f9aee 100644 --- a/plugins/user-settings-backend/report-alpha.api.md +++ b/plugins/user-settings-backend/report-alpha.api.md @@ -5,9 +5,13 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; -// @alpha -const _default: BackendFeature; -export default _default; +// @alpha (undocumented) +const _feature: BackendFeature; +export default _feature; + +// Warnings were encountered during analysis: +// +// src/alpha.d.ts:2:15 - (ae-undocumented) Missing documentation for "_feature". // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/user-settings-backend/report.api.md b/plugins/user-settings-backend/report.api.md index 04aecca574..cbbd8d5d6d 100644 --- a/plugins/user-settings-backend/report.api.md +++ b/plugins/user-settings-backend/report.api.md @@ -3,6 +3,7 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { BackendFeature } from '@backstage/backend-plugin-api'; import { DatabaseService } from '@backstage/backend-plugin-api'; import express from 'express'; import { IdentityApi } from '@backstage/plugin-auth-node'; @@ -11,6 +12,10 @@ import { SignalsService } from '@backstage/plugin-signals-node'; // @public @deprecated export function createRouter(options: RouterOptions): Promise; +// @public +const _default: BackendFeature; +export default _default; + // @public @deprecated export type RouterOptions = { database: DatabaseService; diff --git a/plugins/user-settings-backend/src/alpha.ts b/plugins/user-settings-backend/src/alpha.ts index ea24389e46..a8c814004b 100644 --- a/plugins/user-settings-backend/src/alpha.ts +++ b/plugins/user-settings-backend/src/alpha.ts @@ -1,5 +1,5 @@ /* - * Copyright 2023 The Backstage Authors + * Copyright 2024 The Backstage Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,37 +14,8 @@ * limitations under the License. */ -import { - coreServices, - createBackendPlugin, -} from '@backstage/backend-plugin-api'; -import { createRouterInternal } from './service/router'; -import { signalsServiceRef } from '@backstage/plugin-signals-node'; -import { DatabaseUserSettingsStore } from './database/DatabaseUserSettingsStore'; +import { default as feature } from './plugin'; -/** - * The user settings backend plugin. - * - * @alpha - */ -export default createBackendPlugin({ - pluginId: 'user-settings', - register(env) { - env.registerInit({ - deps: { - database: coreServices.database, - httpAuth: coreServices.httpAuth, - httpRouter: coreServices.httpRouter, - signals: signalsServiceRef, - }, - async init({ database, httpAuth, httpRouter, signals }) { - const userSettingsStore = await DatabaseUserSettingsStore.create({ - database, - }); - httpRouter.use( - await createRouterInternal({ userSettingsStore, httpAuth, signals }), - ); - }, - }); - }, -}); +/** @alpha */ +const _feature = feature; +export default _feature; diff --git a/plugins/user-settings-backend/src/index.ts b/plugins/user-settings-backend/src/index.ts index 395a8570bf..daf59c47e0 100644 --- a/plugins/user-settings-backend/src/index.ts +++ b/plugins/user-settings-backend/src/index.ts @@ -14,5 +14,6 @@ * limitations under the License. */ +export { default } from './plugin'; export * from './deprecated'; export * from './database'; diff --git a/plugins/user-settings-backend/src/plugin.ts b/plugins/user-settings-backend/src/plugin.ts new file mode 100644 index 0000000000..26fd3de908 --- /dev/null +++ b/plugins/user-settings-backend/src/plugin.ts @@ -0,0 +1,50 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { + coreServices, + createBackendPlugin, +} from '@backstage/backend-plugin-api'; +import { createRouterInternal } from './service/router'; +import { signalsServiceRef } from '@backstage/plugin-signals-node'; +import { DatabaseUserSettingsStore } from './database/DatabaseUserSettingsStore'; + +/** + * The user settings backend plugin. + * + * @public + */ +export default createBackendPlugin({ + pluginId: 'user-settings', + register(env) { + env.registerInit({ + deps: { + database: coreServices.database, + httpAuth: coreServices.httpAuth, + httpRouter: coreServices.httpRouter, + signals: signalsServiceRef, + }, + async init({ database, httpAuth, httpRouter, signals }) { + const userSettingsStore = await DatabaseUserSettingsStore.create({ + database, + }); + httpRouter.use( + await createRouterInternal({ userSettingsStore, httpAuth, signals }), + ); + }, + }); + }, +});