Make createBackendPlugin and createBackendModule return BackendFeature instead of () => BackendFeature

Signed-off-by: Fredrik Adelöw <freben@gmail.com>
This commit is contained in:
Fredrik Adelöw
2024-06-07 16:30:25 +02:00
parent 647bfe011a
commit 78a0b086d2
125 changed files with 482 additions and 357 deletions
+19
View File
@@ -0,0 +1,19 @@
---
'@backstage/backend-plugin-api': patch
---
**DEPRECATION**: You should no longer do a function call on backend features when adding them to backends. The support for doing that is deprecated, and you should remove all trailing `()` parentheses after plugins and modules where you add them to your backend or test backends (e.g. when using `startTestBackend`).
The background for this is that `createBackendPlugin` and `createBackendModule` function now effectively return a `BackendFeature` rather than a `() => BackendFeature`. This is part of the cleanup efforts for New Backend System 1.0. In the short run this is non-breaking because the feature type has been given a callback signature that returns itself. But we strongly recommend that you remove all now-redundant calls made to feature objects, because that callback signature will be removed in a future release.
Service factories are still callbacks at this point.
Example change:
```diff
await startTestBackend({
features: [
eventsServiceFactory(), // service - stays unchanged
- catalogModuleBitbucketCloudEntityProvider(), // module - remove parentheses
+ catalogModuleBitbucketCloudEntityProvider,
```
+87
View File
@@ -0,0 +1,87 @@
---
'@backstage/plugin-scaffolder-backend-module-confluence-to-markdown': patch
'@backstage/plugin-auth-backend-module-cloudflare-access-provider': patch
'@backstage/plugin-catalog-backend-module-scaffolder-entity-model': patch
'@backstage/plugin-search-backend-module-stack-overflow-collator': patch
'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
'@backstage/plugin-auth-backend-module-azure-easyauth-provider': patch
'@backstage/plugin-permission-backend-module-allow-all-policy': patch
'@backstage/plugin-scaffolder-backend-module-bitbucket-server': patch
'@backstage/plugin-auth-backend-module-oauth2-proxy-provider': patch
'@backstage/plugin-auth-backend-module-vmware-cloud-provider': patch
'@backstage/plugin-scaffolder-backend-module-bitbucket-cloud': patch
'@backstage/plugin-catalog-backend-module-backstage-openapi': patch
'@backstage/plugin-catalog-backend-module-bitbucket-server': patch
'@backstage/plugin-scaffolder-backend-module-notifications': patch
'@backstage/plugin-auth-backend-module-atlassian-provider': patch
'@backstage/plugin-auth-backend-module-bitbucket-provider': patch
'@backstage/plugin-auth-backend-module-microsoft-provider': patch
'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch
'@backstage/plugin-scaffolder-backend-module-cookiecutter': patch
'@backstage/plugin-auth-backend-module-onelogin-provider': patch
'@backstage/plugin-auth-backend-module-pinniped-provider': patch
'@backstage/plugin-events-backend-module-bitbucket-cloud': patch
'@backstage/plugin-auth-backend-module-aws-alb-provider': patch
'@backstage/plugin-auth-backend-module-gcp-iap-provider': patch
'@backstage/plugin-auth-backend-module-github-provider': patch
'@backstage/plugin-auth-backend-module-gitlab-provider': patch
'@backstage/plugin-auth-backend-module-google-provider': patch
'@backstage/plugin-auth-backend-module-oauth2-provider': patch
'@backstage/plugin-scaffolder-backend-module-bitbucket': patch
'@backstage/plugin-search-backend-module-elasticsearch': patch
'@backstage/plugin-auth-backend-module-guest-provider': patch
'@backstage/plugin-catalog-backend-module-unprocessed': patch
'@backstage/plugin-notifications-backend-module-email': patch
'@backstage/plugin-auth-backend-module-oidc-provider': patch
'@backstage/plugin-auth-backend-module-okta-provider': patch
'@backstage/plugin-catalog-backend-module-github-org': patch
'@backstage/plugin-catalog-backend-module-gitlab-org': patch
'@backstage/backend-dynamic-feature-service': patch
'@backstage/plugin-scaffolder-backend-module-gerrit': patch
'@backstage/plugin-scaffolder-backend-module-github': patch
'@backstage/plugin-scaffolder-backend-module-gitlab': patch
'@backstage/plugin-scaffolder-backend-module-sentry': patch
'@backstage/plugin-scaffolder-backend-module-yeoman': patch
'@backstage/plugin-catalog-backend-module-puppetdb': patch
'@backstage/plugin-scaffolder-backend-module-azure': patch
'@backstage/plugin-scaffolder-backend-module-gitea': patch
'@backstage/plugin-scaffolder-backend-module-rails': patch
'@backstage/plugin-catalog-backend-module-msgraph': patch
'@backstage/plugin-catalog-backend-module-openapi': 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-github': patch
'@backstage/plugin-events-backend-module-gitlab': patch
'@backstage/plugin-catalog-backend-module-ldap': patch
'@backstage/plugin-events-backend-module-azure': patch
'@backstage/plugin-catalog-backend-module-aws': patch
'@backstage/plugin-catalog-backend-module-gcp': patch
'@backstage/plugin-search-backend-module-pg': patch
'@backstage/plugin-notifications-backend': patch
'@backstage/plugin-user-settings-backend': patch
'@backstage/backend-test-utils': patch
'@backstage/plugin-kubernetes-backend': patch
'@backstage/plugin-permission-backend': patch
'@backstage/plugin-scaffolder-backend': patch
'@backstage/backend-app-api': patch
'@backstage/plugin-devtools-backend': patch
'@backstage/plugin-techdocs-backend': patch
'@backstage/backend-common': patch
'@backstage/plugin-catalog-backend': patch
'@backstage/plugin-signals-backend': patch
'@backstage/plugin-events-backend': patch
'@backstage/plugin-search-backend': patch
'@backstage/plugin-proxy-backend': patch
'@backstage/plugin-auth-backend': patch
'@backstage/plugin-catalog-node': patch
'@backstage/plugin-app-backend': patch
---
Internal refactor to handle `BackendFeature` contract change.
@@ -168,7 +168,7 @@ export const featureDiscoveryServiceFactory = createServiceFactory({
function isBackendFeature(value: unknown): value is BackendFeature {
return (
!!value &&
typeof value === 'object' &&
['object', 'function'].includes(typeof value) &&
(value as BackendFeature).$$type === '@backstage/BackendFeature'
);
}
@@ -153,7 +153,7 @@ describe('BackendInitializer', () => {
async init() {},
});
},
})(),
}),
);
await init.start();
@@ -184,7 +184,7 @@ describe('BackendInitializer', () => {
},
});
},
})(),
}),
);
init.add(
@@ -201,7 +201,7 @@ describe('BackendInitializer', () => {
},
});
},
})(),
}),
);
init.add(
@@ -217,7 +217,7 @@ describe('BackendInitializer', () => {
},
});
},
})(),
}),
);
await init.start();
});
@@ -235,7 +235,7 @@ describe('BackendInitializer', () => {
},
});
},
})(),
}),
);
await expect(init.start()).rejects.toThrow(
"Plugin 'test' startup failed; caused by Error: NOPE",
@@ -257,7 +257,7 @@ describe('BackendInitializer', () => {
},
});
},
})(),
}),
);
await expect(init.start()).rejects.toThrow(
"Module 'mod' for plugin 'test' startup failed; caused by Error: NOPE",
@@ -275,7 +275,7 @@ describe('BackendInitializer', () => {
async init() {},
});
},
})(),
}),
);
init.add(
createBackendPlugin({
@@ -286,7 +286,7 @@ describe('BackendInitializer', () => {
async init() {},
});
},
})(),
}),
);
await expect(init.start()).rejects.toThrow(
"Plugin 'test' is already registered",
@@ -306,7 +306,7 @@ describe('BackendInitializer', () => {
async init() {},
});
},
})(),
}),
);
init.add(
createBackendModule({
@@ -318,7 +318,7 @@ describe('BackendInitializer', () => {
async init() {},
});
},
})(),
}),
);
await expect(init.start()).rejects.toThrow(
"Module 'mod' for plugin 'test' is already registered",
@@ -348,7 +348,7 @@ describe('BackendInitializer', () => {
async init() {},
});
},
})(),
}),
);
init.add(
createBackendModule({
@@ -361,7 +361,7 @@ describe('BackendInitializer', () => {
async init() {},
});
},
})(),
}),
);
await expect(init.start()).rejects.toThrow(
"Circular dependency detected for modules of plugin 'test', 'mod-a' -> 'mod-b' -> 'mod-a'",
@@ -381,7 +381,7 @@ describe('BackendInitializer', () => {
async init() {},
});
},
})(),
}),
);
init.add(testPlugin);
init.add(
@@ -394,7 +394,7 @@ describe('BackendInitializer', () => {
async init() {},
});
},
})(),
}),
);
await expect(init.start()).rejects.toThrow(
"Illegal dependency: Module 'mod' for plugin 'test' attempted to depend on extension point 'a' for plugin 'test-a'. Extension points can only be used within their plugin's scope.",
@@ -65,9 +65,11 @@ function unwrapFeature(
if (typeof feature === 'function') {
return feature();
}
if ('$$type' in feature) {
return feature;
}
// This is a workaround where default exports get transpiled to `exports['default'] = ...`
// in CommonJS modules, which in turn results in a double `{ default: { default: ... } }` nesting
// when importing using a dynamic import.
@@ -78,5 +80,6 @@ function unwrapFeature(
? defaultFeature()
: defaultFeature;
}
return feature;
}
+3 -3
View File
@@ -13,7 +13,7 @@ import { AwsCredentialsManager } from '@backstage/integration-aws-node';
import { AwsS3Integration } from '@backstage/integration';
import { AzureDevOpsCredentialsProvider } from '@backstage/integration';
import { AzureIntegration } from '@backstage/integration';
import { BackendFeature } from '@backstage/backend-plugin-api';
import { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { BitbucketCloudIntegration } from '@backstage/integration';
import { BitbucketIntegration } from '@backstage/integration';
import { BitbucketServerIntegration } from '@backstage/integration';
@@ -428,7 +428,7 @@ export const legacyPlugin: (
>
>;
}>,
) => BackendFeature;
) => BackendFeatureCompat;
// @public
export type LegacyRootDatabaseService = {
@@ -466,7 +466,7 @@ export function makeLegacyPlugin<
createRouterImport: Promise<{
default: LegacyCreateRouter<TransformedEnv<TEnv, TEnvTransforms>>;
}>,
) => BackendFeature;
) => BackendFeatureCompat;
// @public @deprecated
export function notFoundHandler(): RequestHandler;
@@ -4,6 +4,7 @@
```ts
import { BackendFeature } from '@backstage/backend-plugin-api';
import { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { BackstagePackageJson } from '@backstage/cli-node';
import { CatalogBuilder } from '@backstage/plugin-catalog-backend';
import { Config } from '@backstage/config';
@@ -119,7 +120,7 @@ export const dynamicPluginsFeatureDiscoveryServiceFactory: () => ServiceFactory<
>;
// @public (undocumented)
export const dynamicPluginsFrontendSchemas: () => BackendFeature;
export const dynamicPluginsFrontendSchemas: BackendFeatureCompat;
// @public (undocumented)
export const dynamicPluginsRootLoggerServiceFactory: () => ServiceFactory<
@@ -154,9 +154,9 @@ describe('backend-dynamic-feature-service', () => {
const installer: NewBackendPluginInstaller = (
plugins[0] as BackendDynamicPlugin
).installer as NewBackendPluginInstaller;
expect(installer.install()).toEqual<
BackendFeature | BackendFeature[]
>({ $$type: '@backstage/BackendFeature' });
expect((installer.install() as BackendFeature).$$type).toEqual(
'@backstage/BackendFeature',
);
},
},
{
@@ -199,9 +199,9 @@ describe('backend-dynamic-feature-service', () => {
const installer: NewBackendPluginInstaller = (
plugins[0] as BackendDynamicPlugin
).installer as NewBackendPluginInstaller;
expect(installer.install()).toEqual<
BackendFeature | BackendFeature[]
>({ $$type: '@backstage/BackendFeature' });
expect((installer.install() as BackendFeature).$$type).toEqual(
'@backstage/BackendFeature',
);
},
},
{
+8 -2
View File
@@ -63,6 +63,12 @@ export interface BackendFeature {
$$type: '@backstage/BackendFeature';
}
// @public @deprecated (undocumented)
export interface BackendFeatureCompat extends BackendFeature {
// @deprecated (undocumented)
(): this;
}
// @public @deprecated (undocumented)
export type BackendModuleConfig = CreateBackendModuleOptions;
@@ -208,7 +214,7 @@ export namespace coreServices {
// @public
export function createBackendModule(
options: CreateBackendModuleOptions,
): () => BackendFeature;
): BackendFeatureCompat;
// @public
export interface CreateBackendModuleOptions {
@@ -221,7 +227,7 @@ export interface CreateBackendModuleOptions {
// @public
export function createBackendPlugin(
options: CreateBackendPluginOptions,
): () => BackendFeature;
): BackendFeatureCompat;
// @public
export interface CreateBackendPluginOptions {
+1 -1
View File
@@ -21,6 +21,6 @@
*/
export * from './services';
export type { BackendFeature } from './types';
export type { BackendFeature, BackendFeatureCompat } from './types';
export * from './paths';
export * from './wiring';
+11
View File
@@ -27,3 +27,14 @@ export interface BackendFeature {
// NOTE: This type is opaque in order to simplify future API evolution.
$$type: '@backstage/BackendFeature';
}
/**
* @public
* @deprecated This type exists only as a helper for old code that relied on `createBackendFeature` and `createBackendPlugin` to return `() => BackendFeature` instead of `BackendFeature`. You should remove the `()` parentheses at the end of your usages. This type will be removed in a future release.
*/
export interface BackendFeatureCompat extends BackendFeature {
/**
* @deprecated You do not need to use this call signature; use the type directly instead by removing the `()` parentheses at the end. This call signature will be removed in a future release.
*/
(): this;
}
@@ -33,19 +33,25 @@ describe('createExtensionPoint', () => {
describe('createBackendPlugin', () => {
it('should create a BackendPlugin', () => {
const plugin = createBackendPlugin({
const result = createBackendPlugin({
pluginId: 'x',
register(r) {
r.registerInit({ deps: {}, async init() {} });
},
});
expect(plugin).toBeDefined();
expect(plugin()).toEqual({
$$type: '@backstage/BackendFeature',
version: 'v1',
getRegistrations: expect.any(Function),
});
expect((plugin() as InternalBackendFeature).getRegistrations()).toEqual([
// legacy form
const legacy = result() as unknown as InternalBackendFeature;
expect(legacy.$$type).toEqual('@backstage/BackendFeature');
expect(legacy.version).toEqual('v1');
expect(legacy.getRegistrations).toEqual(expect.any(Function));
// new form
const plugin = result as unknown as InternalBackendFeature;
expect(plugin.$$type).toEqual('@backstage/BackendFeature');
expect(plugin.version).toEqual('v1');
expect(plugin.getRegistrations).toEqual(expect.any(Function));
expect(plugin.getRegistrations()).toEqual([
{
type: 'plugin',
pluginId: 'x',
@@ -56,6 +62,7 @@ describe('createBackendPlugin', () => {
},
},
]);
// @ts-expect-error
expect(plugin({ a: 'a' })).toBeDefined();
});
@@ -63,21 +70,26 @@ describe('createBackendPlugin', () => {
describe('createBackendModule', () => {
it('should create a BackendModule', () => {
const mod = createBackendModule({
const result = createBackendModule({
pluginId: 'x',
moduleId: 'y',
register(r) {
r.registerInit({ deps: {}, async init() {} });
},
});
expect(mod).toBeDefined();
expect(mod()).toBeDefined();
expect(mod()).toEqual({
$$type: '@backstage/BackendFeature',
version: 'v1',
getRegistrations: expect.any(Function),
});
expect((mod() as InternalBackendFeature).getRegistrations()).toEqual([
// legacy form
const legacy = result() as unknown as InternalBackendFeature;
expect(legacy.$$type).toEqual('@backstage/BackendFeature');
expect(legacy.version).toEqual('v1');
expect(legacy.getRegistrations).toEqual(expect.any(Function));
// new form
const module = result as unknown as InternalBackendFeature;
expect(module.$$type).toEqual('@backstage/BackendFeature');
expect(module.version).toEqual('v1');
expect(module.getRegistrations).toEqual(expect.any(Function));
expect(module.getRegistrations()).toEqual([
{
type: 'module',
pluginId: 'x',
@@ -89,7 +101,8 @@ describe('createBackendModule', () => {
},
},
]);
// @ts-expect-error
expect(mod({ a: 'a' })).toBeDefined();
expect(module({ a: 'a' })).toBeDefined();
});
});
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { BackendFeature, BackendFeatureFactory } from '../types';
import { BackendFeatureCompat } from '../types';
import {
BackendModuleRegistrationPoints,
BackendPluginRegistrationPoints,
@@ -90,63 +90,57 @@ export interface CreateBackendPluginOptions {
*/
export function createBackendPlugin(
options: CreateBackendPluginOptions,
): () => BackendFeature {
const factory: BackendFeatureFactory = () => {
let registrations: InternalBackendPluginRegistration[];
): BackendFeatureCompat {
function getRegistrations() {
const extensionPoints: InternalBackendPluginRegistration['extensionPoints'] =
[];
let init: InternalBackendPluginRegistration['init'] | undefined = undefined;
return {
$$type: '@backstage/BackendFeature',
version: 'v1',
getRegistrations() {
if (registrations) {
return registrations;
options.register({
registerExtensionPoint(ext, impl) {
if (init) {
throw new Error('registerExtensionPoint called after registerInit');
}
const extensionPoints: InternalBackendPluginRegistration['extensionPoints'] =
[];
let init: InternalBackendPluginRegistration['init'] | undefined =
undefined;
options.register({
registerExtensionPoint(ext, impl) {
if (init) {
throw new Error(
'registerExtensionPoint called after registerInit',
);
}
extensionPoints.push([ext, impl]);
},
registerInit(regInit) {
if (init) {
throw new Error('registerInit must only be called once');
}
init = {
deps: regInit.deps,
func: regInit.init,
};
},
});
if (!init) {
throw new Error(
`registerInit was not called by register in ${options.pluginId}`,
);
}
registrations = [
{
type: 'plugin',
pluginId: options.pluginId,
extensionPoints,
init,
},
];
return registrations;
extensionPoints.push([ext, impl]);
},
};
};
factory.$$type = '@backstage/BackendFeatureFactory';
registerInit(regInit) {
if (init) {
throw new Error('registerInit must only be called once');
}
init = {
deps: regInit.deps,
func: regInit.init,
};
},
});
return factory;
if (!init) {
throw new Error(
`registerInit was not called by register in ${options.pluginId}`,
);
}
return [
{
type: 'plugin',
pluginId: options.pluginId,
extensionPoints,
init,
},
];
}
function backendFeatureCompatWrapper() {
return backendFeatureCompatWrapper;
}
Object.assign(backendFeatureCompatWrapper, {
$$type: '@backstage/BackendFeature' as const,
version: 'v1',
getRegistrations,
});
return backendFeatureCompatWrapper as BackendFeatureCompat;
}
/**
@@ -180,62 +174,56 @@ export interface CreateBackendModuleOptions {
*/
export function createBackendModule(
options: CreateBackendModuleOptions,
): () => BackendFeature {
const factory: BackendFeatureFactory = () => {
let registrations: InternalBackendModuleRegistration[];
): BackendFeatureCompat {
function getRegistrations() {
const extensionPoints: InternalBackendPluginRegistration['extensionPoints'] =
[];
let init: InternalBackendModuleRegistration['init'] | undefined = undefined;
return {
$$type: '@backstage/BackendFeature',
version: 'v1',
getRegistrations() {
if (registrations) {
return registrations;
options.register({
registerExtensionPoint(ext, impl) {
if (init) {
throw new Error('registerExtensionPoint called after registerInit');
}
const extensionPoints: InternalBackendPluginRegistration['extensionPoints'] =
[];
let init: InternalBackendModuleRegistration['init'] | undefined =
undefined;
options.register({
registerExtensionPoint(ext, impl) {
if (init) {
throw new Error(
'registerExtensionPoint called after registerInit',
);
}
extensionPoints.push([ext, impl]);
},
registerInit(regInit) {
if (init) {
throw new Error('registerInit must only be called once');
}
init = {
deps: regInit.deps,
func: regInit.init,
};
},
});
if (!init) {
throw new Error(
`registerInit was not called by register in ${options.moduleId} module for ${options.pluginId}`,
);
}
registrations = [
{
type: 'module',
pluginId: options.pluginId,
moduleId: options.moduleId,
extensionPoints,
init,
},
];
return registrations;
extensionPoints.push([ext, impl]);
},
};
};
factory.$$type = '@backstage/BackendFeatureFactory';
registerInit(regInit) {
if (init) {
throw new Error('registerInit must only be called once');
}
init = {
deps: regInit.deps,
func: regInit.init,
};
},
});
return factory;
if (!init) {
throw new Error(
`registerInit was not called by register in ${options.moduleId} module for ${options.pluginId}`,
);
}
return [
{
type: 'module',
pluginId: options.pluginId,
moduleId: options.moduleId,
extensionPoints,
init,
},
];
}
function backendFeatureCompatWrapper() {
return backendFeatureCompatWrapper;
}
Object.assign(backendFeatureCompatWrapper, {
$$type: '@backstage/BackendFeature' as const,
version: 'v1',
getRegistrations,
});
return backendFeatureCompatWrapper as BackendFeatureCompat;
}
@@ -144,7 +144,7 @@ describe('TestBackend', () => {
});
await startTestBackend({
features: [testModule(), sf()],
features: [testModule, sf()],
});
expect(testFn).toHaveBeenCalledWith('winning');
@@ -169,7 +169,7 @@ describe('TestBackend', () => {
});
const backend = await startTestBackend({
features: [testModule()],
features: [testModule],
});
expect(shutdownSpy).not.toHaveBeenCalled();
@@ -212,7 +212,7 @@ describe('TestBackend', () => {
});
await startTestBackend({
features: [testPlugin()],
features: [testPlugin],
});
});
@@ -233,7 +233,7 @@ describe('TestBackend', () => {
},
});
const { server } = await startTestBackend({ features: [testPlugin()] });
const { server } = await startTestBackend({ features: [testPlugin] });
const res = await request(server)
.get('/api/test/ping-me')
@@ -133,7 +133,7 @@ function createExtensionPointTestModules(
ref: ExtensionPoint<unknown>,
impl: unknown,
][],
): Array<() => BackendFeature> {
): Array<BackendFeature> {
if (!extensionPointTuples) {
return [];
}
+2 -2
View File
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha
const appPlugin: () => BackendFeature;
const appPlugin: BackendFeatureCompat;
export default appPlugin;
// (No @packageDocumentation comment for this package)
@@ -47,7 +47,7 @@ describe('appPlugin', () => {
it('boots', async () => {
const { server } = await startTestBackend({
features: [
appPlugin(),
appPlugin,
mockServices.rootConfig.factory({
data: {
app: {
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { OAuthAuthenticator } from '@backstage/plugin-auth-node';
import { OAuthAuthenticatorResult } from '@backstage/plugin-auth-node';
import { PassportOAuthAuthenticatorHelper } from '@backstage/plugin-auth-node';
@@ -25,6 +25,6 @@ export namespace atlassianSignInResolvers {
}
// @public (undocumented)
const authModuleAtlassianProvider: () => BackendFeature;
const authModuleAtlassianProvider: BackendFeatureCompat;
export default authModuleAtlassianProvider;
```
@@ -5,7 +5,7 @@
```ts
/// <reference types="node" />
import { BackendFeature } from '@backstage/backend-plugin-api';
import { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { JWTHeaderParameters } from 'jose';
import { KeyObject } from 'crypto';
import type { PassportProfile } from '@backstage/plugin-auth-node/';
@@ -13,7 +13,7 @@ import { ProxyAuthenticator } from '@backstage/plugin-auth-node';
import { SignInResolverFactory } from '@backstage/plugin-auth-node';
// @public (undocumented)
const authModuleAwsAlbProvider: () => BackendFeature;
const authModuleAwsAlbProvider: BackendFeatureCompat;
export { authModuleAwsAlbProvider };
export default authModuleAwsAlbProvider;
@@ -3,13 +3,13 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { Profile } from 'passport';
import { ProxyAuthenticator } from '@backstage/plugin-auth-node';
import { SignInResolverFactory } from '@backstage/plugin-auth-node';
// @public (undocumented)
const authModuleAzureEasyAuthProvider: () => BackendFeature;
const authModuleAzureEasyAuthProvider: BackendFeatureCompat;
export default authModuleAzureEasyAuthProvider;
// @public (undocumented)
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { OAuthAuthenticator } from '@backstage/plugin-auth-node';
import { OAuthAuthenticatorResult } from '@backstage/plugin-auth-node';
import { PassportOAuthAuthenticatorHelper } from '@backstage/plugin-auth-node';
@@ -11,7 +11,7 @@ import { PassportProfile } from '@backstage/plugin-auth-node';
import { SignInResolverFactory } from '@backstage/plugin-auth-node';
// @public (undocumented)
const authModuleBitbucketProvider: () => BackendFeature;
const authModuleBitbucketProvider: BackendFeatureCompat;
export default authModuleBitbucketProvider;
// @public (undocumented)
@@ -3,13 +3,13 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { CacheService } from '@backstage/backend-plugin-api';
import { ProxyAuthenticator } from '@backstage/plugin-auth-node';
import { SignInResolverFactory } from '@backstage/plugin-auth-node';
// @public
const authModuleCloudflareAccessProvider: () => BackendFeature;
const authModuleCloudflareAccessProvider: BackendFeatureCompat;
export default authModuleCloudflareAccessProvider;
// @public
@@ -3,13 +3,13 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { JsonPrimitive } from '@backstage/types';
import { ProxyAuthenticator } from '@backstage/plugin-auth-node';
import { SignInResolverFactory } from '@backstage/plugin-auth-node';
// @public (undocumented)
const authModuleGcpIapProvider: () => BackendFeature;
const authModuleGcpIapProvider: BackendFeatureCompat;
export default authModuleGcpIapProvider;
// @public (undocumented)
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { OAuthAuthenticator } from '@backstage/plugin-auth-node';
import { OAuthAuthenticatorResult } from '@backstage/plugin-auth-node';
import { PassportOAuthAuthenticatorHelper } from '@backstage/plugin-auth-node';
@@ -11,7 +11,7 @@ import { PassportProfile } from '@backstage/plugin-auth-node';
import { SignInResolverFactory } from '@backstage/plugin-auth-node';
// @public (undocumented)
const authModuleGithubProvider: () => BackendFeature;
const authModuleGithubProvider: BackendFeatureCompat;
export default authModuleGithubProvider;
// @public (undocumented)
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { OAuthAuthenticator } from '@backstage/plugin-auth-node';
import { OAuthAuthenticatorResult } from '@backstage/plugin-auth-node';
import { PassportOAuthAuthenticatorHelper } from '@backstage/plugin-auth-node';
@@ -11,7 +11,7 @@ import { PassportProfile } from '@backstage/plugin-auth-node';
import { SignInResolverFactory } from '@backstage/plugin-auth-node';
// @public (undocumented)
const authModuleGitlabProvider: () => BackendFeature;
const authModuleGitlabProvider: BackendFeatureCompat;
export default authModuleGitlabProvider;
// @public (undocumented)
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { OAuthAuthenticator } from '@backstage/plugin-auth-node';
import { OAuthAuthenticatorResult } from '@backstage/plugin-auth-node';
import { PassportOAuthAuthenticatorHelper } from '@backstage/plugin-auth-node';
@@ -11,7 +11,7 @@ import { PassportProfile } from '@backstage/plugin-auth-node';
import { SignInResolverFactory } from '@backstage/plugin-auth-node';
// @public (undocumented)
const authModuleGoogleProvider: () => BackendFeature;
const authModuleGoogleProvider: BackendFeatureCompat;
export default authModuleGoogleProvider;
// @public (undocumented)
@@ -3,9 +3,9 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @public (undocumented)
const authModuleGuestProvider: () => BackendFeature;
const authModuleGuestProvider: BackendFeatureCompat;
export default authModuleGuestProvider;
```
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { OAuthAuthenticator } from '@backstage/plugin-auth-node';
import { OAuthAuthenticatorResult } from '@backstage/plugin-auth-node';
import { PassportOAuthAuthenticatorHelper } from '@backstage/plugin-auth-node';
@@ -11,10 +11,10 @@ import { PassportProfile } from '@backstage/plugin-auth-node';
import { SignInResolverFactory } from '@backstage/plugin-auth-node';
// @public @deprecated (undocumented)
export const authModuleMicrosoftProvider: () => BackendFeature;
export const authModuleMicrosoftProvider: BackendFeatureCompat;
// @public (undocumented)
const authModuleMicrosoftProvider_2: () => BackendFeature;
const authModuleMicrosoftProvider_2: BackendFeatureCompat;
export default authModuleMicrosoftProvider_2;
// @public (undocumented)
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { OAuthAuthenticator } from '@backstage/plugin-auth-node';
import { OAuthAuthenticatorResult } from '@backstage/plugin-auth-node';
import { PassportOAuthAuthenticatorHelper } from '@backstage/plugin-auth-node';
@@ -11,7 +11,7 @@ import { PassportProfile } from '@backstage/plugin-auth-node';
import { SignInResolverFactory } from '@backstage/plugin-auth-node';
// @public (undocumented)
const authModuleOauth2Provider: () => BackendFeature;
const authModuleOauth2Provider: BackendFeatureCompat;
export default authModuleOauth2Provider;
// @public (undocumented)
@@ -5,12 +5,12 @@
```ts
/// <reference types="node" />
import { BackendFeature } from '@backstage/backend-plugin-api';
import { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { IncomingHttpHeaders } from 'http';
import { ProxyAuthenticator } from '@backstage/plugin-auth-node';
// @public (undocumented)
const authModuleOauth2ProxyProvider: () => BackendFeature;
const authModuleOauth2ProxyProvider: BackendFeatureCompat;
export default authModuleOauth2ProxyProvider;
// @public
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { BaseClient } from 'openid-client';
import { OAuthAuthenticator } from '@backstage/plugin-auth-node';
import { PassportOAuthAuthenticatorHelper } from '@backstage/plugin-auth-node';
@@ -13,7 +13,7 @@ import { TokenSet } from 'openid-client';
import { UserinfoResponse } from 'openid-client';
// @public (undocumented)
const authModuleOidcProvider: () => BackendFeature;
const authModuleOidcProvider: BackendFeatureCompat;
export default authModuleOidcProvider;
// @public (undocumented)
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { OAuthAuthenticator } from '@backstage/plugin-auth-node';
import { OAuthAuthenticatorResult } from '@backstage/plugin-auth-node';
import { PassportOAuthAuthenticatorHelper } from '@backstage/plugin-auth-node';
@@ -11,7 +11,7 @@ import { PassportProfile } from '@backstage/plugin-auth-node';
import { SignInResolverFactory } from '@backstage/plugin-auth-node';
// @public (undocumented)
const authModuleOktaProvider: () => BackendFeature;
const authModuleOktaProvider: BackendFeatureCompat;
export default authModuleOktaProvider;
// @public (undocumented)
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { OAuthAuthenticator } from '@backstage/plugin-auth-node';
import { OAuthAuthenticatorResult } from '@backstage/plugin-auth-node';
import { PassportOAuthAuthenticatorHelper } from '@backstage/plugin-auth-node';
@@ -11,7 +11,7 @@ import { PassportProfile } from '@backstage/plugin-auth-node';
import { SignInResolverFactory } from '@backstage/plugin-auth-node';
// @public (undocumented)
const authModuleOneLoginProvider: () => BackendFeature;
const authModuleOneLoginProvider: BackendFeatureCompat;
export default authModuleOneLoginProvider;
// @public (undocumented)
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { BaseClient } from 'openid-client';
import { Config } from '@backstage/config';
import { OAuthAuthenticator } from '@backstage/plugin-auth-node';
@@ -11,10 +11,10 @@ import { Strategy } from 'openid-client';
import { TokenSet } from 'openid-client';
// @public @deprecated (undocumented)
export const authModulePinnipedProvider: () => BackendFeature;
export const authModulePinnipedProvider: BackendFeatureCompat;
// @public (undocumented)
const authModulePinnipedProvider_2: () => BackendFeature;
const authModulePinnipedProvider_2: BackendFeatureCompat;
export default authModulePinnipedProvider_2;
// @public (undocumented)
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { OAuthAuthenticator } from '@backstage/plugin-auth-node';
import { OAuthAuthenticatorResult } from '@backstage/plugin-auth-node';
import { PassportOAuthAuthenticatorHelper } from '@backstage/plugin-auth-node';
@@ -12,7 +12,7 @@ import { SignInResolverFactory } from '@backstage/plugin-auth-node';
import { Strategy } from 'passport-oauth2';
// @public
const authModuleVmwareCloudProvider: () => BackendFeature;
const authModuleVmwareCloudProvider: BackendFeatureCompat;
export default authModuleVmwareCloudProvider;
// @public
+2 -2
View File
@@ -12,7 +12,7 @@ import { AuthResolverContext as AuthResolverContext_2 } from '@backstage/plugin-
import { AuthService } from '@backstage/backend-plugin-api';
import { AwsAlbResult as AwsAlbResult_2 } from '@backstage/plugin-auth-backend-module-aws-alb-provider';
import { AzureEasyAuthResult } from '@backstage/plugin-auth-backend-module-azure-easyauth-provider';
import { BackendFeature } from '@backstage/backend-plugin-api';
import { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { BackstageSignInResult } from '@backstage/plugin-auth-node';
import { CacheService } from '@backstage/backend-plugin-api';
import { CatalogApi } from '@backstage/catalog-client';
@@ -57,7 +57,7 @@ export type AuthHandlerResult = {
};
// @public
const authPlugin: () => BackendFeature;
const authPlugin: BackendFeatureCompat;
export default authPlugin;
// @public @deprecated (undocumented)
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha
const catalogModuleAwsS3EntityProvider: () => BackendFeature;
const catalogModuleAwsS3EntityProvider: BackendFeatureCompat;
export default catalogModuleAwsS3EntityProvider;
// (No @packageDocumentation comment for this package)
@@ -56,7 +56,7 @@ describe('catalogModuleAwsS3EntityProvider', () => {
await startTestBackend({
extensionPoints: [[catalogProcessingExtensionPoint, extensionPoint]],
features: [
catalogModuleAwsS3EntityProvider(),
catalogModuleAwsS3EntityProvider,
mockServices.rootConfig.factory({ data: config }),
scheduler.factory,
],
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha
const catalogModuleAzureDevOpsEntityProvider: () => BackendFeature;
const catalogModuleAzureDevOpsEntityProvider: BackendFeatureCompat;
export default catalogModuleAzureDevOpsEntityProvider;
// (No @packageDocumentation comment for this package)
@@ -59,7 +59,7 @@ describe('catalogModuleAzureDevOpsEntityProvider', () => {
await startTestBackend({
extensionPoints: [[catalogProcessingExtensionPoint, extensionPoint]],
features: [
catalogModuleAzureDevOpsEntityProvider(),
catalogModuleAzureDevOpsEntityProvider,
mockServices.rootConfig.factory({ data: config }),
mockServices.logger.factory(),
scheduler.factory,
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @public (undocumented)
const catalogModuleInternalOpenApiSpec: () => BackendFeature;
const catalogModuleInternalOpenApiSpec: BackendFeatureCompat;
export { catalogModuleInternalOpenApiSpec };
export default catalogModuleInternalOpenApiSpec;
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha (undocumented)
const catalogModuleBitbucketCloudEntityProvider: () => BackendFeature;
const catalogModuleBitbucketCloudEntityProvider: BackendFeatureCompat;
export default catalogModuleBitbucketCloudEntityProvider;
// (No @packageDocumentation comment for this package)
@@ -58,7 +58,7 @@ describe('catalogModuleBitbucketCloudEntityProvider', () => {
],
features: [
eventsServiceFactory(),
catalogModuleBitbucketCloudEntityProvider(),
catalogModuleBitbucketCloudEntityProvider,
mockServices.rootConfig.factory({
data: {
catalog: {
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha (undocumented)
const catalogModuleBitbucketServerEntityProvider: () => BackendFeature;
const catalogModuleBitbucketServerEntityProvider: BackendFeatureCompat;
export default catalogModuleBitbucketServerEntityProvider;
// (No @packageDocumentation comment for this package)
@@ -63,7 +63,7 @@ describe('catalogModuleBitbucketServerEntityProvider', () => {
await startTestBackend({
extensionPoints: [[catalogProcessingExtensionPoint, extensionPoint]],
features: [
catalogModuleBitbucketServerEntityProvider(),
catalogModuleBitbucketServerEntityProvider,
mockServices.rootConfig.factory({ data: config }),
mockServices.logger.factory(),
scheduler.factory,
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { Config } from '@backstage/config';
import * as container from '@google-cloud/container';
import { EntityProvider } from '@backstage/plugin-catalog-node';
@@ -12,7 +12,7 @@ import { LoggerService } from '@backstage/backend-plugin-api';
import { SchedulerService } from '@backstage/backend-plugin-api';
// @public
const catalogModuleGcpGkeEntityProvider: () => BackendFeature;
const catalogModuleGcpGkeEntityProvider: BackendFeatureCompat;
export default catalogModuleGcpGkeEntityProvider;
// @public
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha (undocumented)
const catalogModuleGerritEntityProvider: () => BackendFeature;
const catalogModuleGerritEntityProvider: BackendFeatureCompat;
export default catalogModuleGerritEntityProvider;
// (No @packageDocumentation comment for this package)
@@ -69,7 +69,7 @@ describe('catalogModuleGerritEntityProvider', () => {
await startTestBackend({
extensionPoints: [[catalogProcessingExtensionPoint, extensionPoint]],
features: [
catalogModuleGerritEntityProvider(),
catalogModuleGerritEntityProvider,
mockServices.rootConfig.factory({ data: config }),
mockServices.logger.factory(),
scheduler.factory,
@@ -3,14 +3,14 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { ExtensionPoint } from '@backstage/backend-plugin-api';
import { GithubMultiOrgEntityProvider } from '@backstage/plugin-catalog-backend-module-github';
import { TeamTransformer } from '@backstage/plugin-catalog-backend-module-github';
import { UserTransformer } from '@backstage/plugin-catalog-backend-module-github';
// @public
const catalogModuleGithubOrgEntityProvider: () => BackendFeature;
const catalogModuleGithubOrgEntityProvider: BackendFeatureCompat;
export default catalogModuleGithubOrgEntityProvider;
export { GithubMultiOrgEntityProvider };
@@ -60,7 +60,7 @@ describe('catalogModuleGithubOrgEntityProvider', () => {
await startTestBackend({
extensionPoints: [[catalogProcessingExtensionPoint, extensionPoint]],
features: [
catalogModuleGithubOrgEntityProvider(),
catalogModuleGithubOrgEntityProvider,
mockServices.rootConfig.factory({ data: config }),
scheduler.factory,
],
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha
const githubCatalogModule: () => BackendFeature;
const githubCatalogModule: BackendFeatureCompat;
export default githubCatalogModule;
// (No @packageDocumentation comment for this package)
@@ -69,7 +69,7 @@ describe('githubCatalogModule', () => {
[catalogAnalysisExtensionPoint, analysisExtensionPoint],
],
features: [
githubCatalogModule(),
githubCatalogModule,
mockServices.rootConfig.factory({ data: config }),
scheduler.factory,
],
@@ -3,9 +3,9 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @public
const catalogModuleGitlabOrgDiscoveryEntityProvider: () => BackendFeature;
const catalogModuleGitlabOrgDiscoveryEntityProvider: BackendFeatureCompat;
export default catalogModuleGitlabOrgDiscoveryEntityProvider;
```
@@ -83,7 +83,7 @@ describe('catalogModuleGitlabOrgDiscoveryEntityProvider', () => {
extensionPoints: [[catalogProcessingExtensionPoint, extensionPoint]],
features: [
eventsServiceFactory(),
catalogModuleGitlabOrgDiscoveryEntityProvider(),
catalogModuleGitlabOrgDiscoveryEntityProvider,
mockServices.rootConfig.factory({ data: config }),
mockServices.logger.factory(),
scheduler.factory,
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha
const catalogModuleGitlabDiscoveryEntityProvider: () => BackendFeature;
const catalogModuleGitlabDiscoveryEntityProvider: BackendFeatureCompat;
export default catalogModuleGitlabDiscoveryEntityProvider;
// (No @packageDocumentation comment for this package)
@@ -82,7 +82,7 @@ describe('catalogModuleGitlabDiscoveryEntityProvider', () => {
extensionPoints: [[catalogProcessingExtensionPoint, extensionPoint]],
features: [
eventsServiceFactory(),
catalogModuleGitlabDiscoveryEntityProvider(),
catalogModuleGitlabDiscoveryEntityProvider,
mockServices.rootConfig.factory({ data: config }),
mockServices.logger.factory(),
scheduler.factory,
@@ -3,13 +3,13 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
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;
const catalogModuleIncrementalIngestionEntityProvider: BackendFeatureCompat;
export default catalogModuleIncrementalIngestionEntityProvider;
// @alpha
@@ -45,7 +45,7 @@ describe('catalogModuleIncrementalIngestionEntityProvider', () => {
],
features: [
httpRouterMock.factory,
catalogModuleIncrementalIngestionEntityProvider(),
catalogModuleIncrementalIngestionEntityProvider,
createBackendModule({
pluginId: 'catalog',
moduleId: 'incremental-test',
@@ -63,7 +63,7 @@ async function main() {
}),
);
backend.add(import('@backstage/plugin-catalog-backend/alpha'));
backend.add(catalogModuleIncrementalIngestionEntityProvider());
backend.add(catalogModuleIncrementalIngestionEntityProvider);
backend.add(
createBackendModule({
pluginId: 'catalog',
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { CatalogProcessor } from '@backstage/plugin-catalog-node';
import { CatalogProcessorEmit } from '@backstage/plugin-catalog-node';
import { Client } from 'ldapjs';
@@ -31,7 +31,7 @@ export type BindConfig = {
};
// @public
const catalogModuleLdapOrgEntityProvider: () => BackendFeature;
const catalogModuleLdapOrgEntityProvider: BackendFeatureCompat;
export default catalogModuleLdapOrgEntityProvider;
// @public
@@ -3,14 +3,14 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { ExtensionPoint } from '@backstage/backend-plugin-api';
import { GroupTransformer } from '@backstage/plugin-catalog-backend-module-msgraph';
import { OrganizationTransformer } from '@backstage/plugin-catalog-backend-module-msgraph';
import { UserTransformer } from '@backstage/plugin-catalog-backend-module-msgraph';
// @alpha
const catalogModuleMicrosoftGraphOrgEntityProvider: () => BackendFeature;
const catalogModuleMicrosoftGraphOrgEntityProvider: BackendFeatureCompat;
export default catalogModuleMicrosoftGraphOrgEntityProvider;
// @alpha
@@ -61,7 +61,7 @@ describe('catalogModuleMicrosoftGraphOrgEntityProvider', () => {
await startTestBackend({
extensionPoints: [[catalogProcessingExtensionPoint, extensionPoint]],
features: [
catalogModuleMicrosoftGraphOrgEntityProvider(),
catalogModuleMicrosoftGraphOrgEntityProvider,
mockServices.rootConfig.factory({ data: config }),
scheduler.factory,
],
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { CatalogProcessor } from '@backstage/plugin-catalog-node';
import { Config } from '@backstage/config';
import { Entity } from '@backstage/catalog-model';
@@ -15,7 +15,7 @@ import { ScmIntegrations } from '@backstage/integration';
import { UrlReader } from '@backstage/backend-common';
// @public
const catalogModuleJsonSchemaRefPlaceholderResolver: () => BackendFeature;
const catalogModuleJsonSchemaRefPlaceholderResolver: BackendFeatureCompat;
export default catalogModuleJsonSchemaRefPlaceholderResolver;
// @public (undocumented)
@@ -37,7 +37,7 @@ describe('catalogModuleJsonSchemaRefPlaceholderResolver', () => {
await startTestBackend({
extensionPoints: [[catalogProcessingExtensionPoint, extensionPoint]],
features: [catalogModuleJsonSchemaRefPlaceholderResolver()],
features: [catalogModuleJsonSchemaRefPlaceholderResolver],
});
expect(Object.keys(registeredPlaceholderResolvers)).toEqual([
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha
const catalogModulePuppetDbEntityProvider: () => BackendFeature;
const catalogModulePuppetDbEntityProvider: BackendFeatureCompat;
export default catalogModulePuppetDbEntityProvider;
// (No @packageDocumentation comment for this package)
@@ -55,7 +55,7 @@ describe('catalogModulePuppetDbEntityProvider', () => {
await startTestBackend({
extensionPoints: [[catalogProcessingExtensionPoint, extensionPoint]],
features: [
catalogModulePuppetDbEntityProvider(),
catalogModulePuppetDbEntityProvider,
mockServices.rootConfig.factory({ data: config }),
scheduler.factory,
],
@@ -3,14 +3,14 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { CatalogProcessor } from '@backstage/plugin-catalog-node';
import { CatalogProcessorEmit } from '@backstage/plugin-catalog-node';
import { Entity } from '@backstage/catalog-model';
import { LocationSpec } from '@backstage/plugin-catalog-common';
// @public
const catalogModuleScaffolderEntityModel: () => BackendFeature;
const catalogModuleScaffolderEntityModel: BackendFeatureCompat;
export default catalogModuleScaffolderEntityModel;
// @public
@@ -24,7 +24,7 @@ describe('catalogModuleScaffolderEntityModel', () => {
const extensionPoint = { addProcessor: jest.fn() };
await startTestBackend({
extensionPoints: [[catalogProcessingExtensionPoint, extensionPoint]],
features: [catalogModuleScaffolderEntityModel()],
features: [catalogModuleScaffolderEntityModel],
});
expect(extensionPoint.addProcessor).toHaveBeenCalledWith(
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { DiscoveryService } from '@backstage/backend-plugin-api';
import { HttpAuthService } from '@backstage/backend-plugin-api';
import { HttpRouterService } from '@backstage/backend-plugin-api';
@@ -11,7 +11,7 @@ import { Knex } from 'knex';
import { PermissionsService } from '@backstage/backend-plugin-api';
// @public
const catalogModuleUnprocessedEntities: () => BackendFeature;
const catalogModuleUnprocessedEntities: BackendFeatureCompat;
export default catalogModuleUnprocessedEntities;
// @public
+2 -2
View File
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { ConditionalPolicyDecision } from '@backstage/plugin-permission-common';
import { Conditions } from '@backstage/plugin-permission-node';
import { EntitiesSearchFilter } from '@backstage/plugin-catalog-node';
@@ -75,7 +75,7 @@ export type CatalogPermissionRule<
> = PermissionRule<Entity, EntitiesSearchFilter, 'catalog-entity', TParams>;
// @alpha
const catalogPlugin: () => BackendFeature;
const catalogPlugin: BackendFeatureCompat;
export default catalogPlugin;
// @alpha
@@ -38,7 +38,7 @@ describe('catalogServiceRef', () => {
});
await startTestBackend({
features: [testModule()],
features: [testModule],
});
});
});
+2 -2
View File
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { Config } from '@backstage/config';
import { ConfigInfo } from '@backstage/plugin-devtools-common';
import { DevToolsInfo } from '@backstage/plugin-devtools-common';
@@ -29,7 +29,7 @@ export class DevToolsBackendApi {
}
// @public
const devtoolsPlugin: () => BackendFeature;
const devtoolsPlugin: BackendFeatureCompat;
export default devtoolsPlugin;
// @public (undocumented)
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha
const eventsModuleAwsSqsConsumingEventPublisher: () => BackendFeature;
const eventsModuleAwsSqsConsumingEventPublisher: BackendFeatureCompat;
export default eventsModuleAwsSqsConsumingEventPublisher;
// (No @packageDocumentation comment for this package)
@@ -36,7 +36,7 @@ describe('eventsModuleAwsSqsConsumingEventPublisher', () => {
await startTestBackend({
features: [
eventsServiceFactory(),
eventsModuleAwsSqsConsumingEventPublisher(),
eventsModuleAwsSqsConsumingEventPublisher,
mockServices.rootConfig.factory({
data: {
events: {
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha
const eventsModuleAzureDevOpsEventRouter: () => BackendFeature;
const eventsModuleAzureDevOpsEventRouter: BackendFeatureCompat;
export default eventsModuleAzureDevOpsEventRouter;
export { eventsModuleAzureDevOpsEventRouter };
@@ -32,7 +32,7 @@ describe('eventsModuleAzureDevOpsEventRouter', () => {
});
await startTestBackend({
features: [eventsServiceFactory(), eventsModuleAzureDevOpsEventRouter()],
features: [eventsServiceFactory(), eventsModuleAzureDevOpsEventRouter],
});
expect(events.subscribed).toHaveLength(1);
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha
const eventsModuleBitbucketCloudEventRouter: () => BackendFeature;
const eventsModuleBitbucketCloudEventRouter: BackendFeatureCompat;
export default eventsModuleBitbucketCloudEventRouter;
export { eventsModuleBitbucketCloudEventRouter };
@@ -32,10 +32,7 @@ describe('eventsModuleBitbucketCloudEventRouter', () => {
});
await startTestBackend({
features: [
eventsServiceFactory(),
eventsModuleBitbucketCloudEventRouter(),
],
features: [eventsServiceFactory(), eventsModuleBitbucketCloudEventRouter],
});
expect(events.subscribed).toHaveLength(1);
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha
const eventsModuleGerritEventRouter: () => BackendFeature;
const eventsModuleGerritEventRouter: BackendFeatureCompat;
export default eventsModuleGerritEventRouter;
export { eventsModuleGerritEventRouter };
@@ -32,7 +32,7 @@ describe('eventsModuleGerritEventRouter', () => {
});
await startTestBackend({
features: [eventsServiceFactory(), eventsModuleGerritEventRouter()],
features: [eventsServiceFactory(), eventsModuleGerritEventRouter],
});
expect(events.subscribed).toHaveLength(1);
@@ -3,13 +3,13 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha
export const eventsModuleGithubEventRouter: () => BackendFeature;
export const eventsModuleGithubEventRouter: BackendFeatureCompat;
// @alpha
export const eventsModuleGithubWebhook: () => BackendFeature;
export const eventsModuleGithubWebhook: BackendFeatureCompat;
// (No @packageDocumentation comment for this package)
```
@@ -32,7 +32,7 @@ describe('eventsModuleGithubEventRouter', () => {
});
await startTestBackend({
features: [eventsServiceFactory(), eventsModuleGithubEventRouter()],
features: [eventsServiceFactory(), eventsModuleGithubEventRouter],
});
expect(events.subscribed).toHaveLength(1);
@@ -48,7 +48,7 @@ describe('eventsModuleGithubWebhook', () => {
await startTestBackend({
extensionPoints: [[eventsExtensionPoint, extensionPoint]],
features: [
eventsModuleGithubWebhook(),
eventsModuleGithubWebhook,
mockServices.rootConfig.factory({
data: {
events: {
@@ -3,13 +3,13 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha
export const eventsModuleGitlabEventRouter: () => BackendFeature;
export const eventsModuleGitlabEventRouter: BackendFeatureCompat;
// @alpha
export const eventsModuleGitlabWebhook: () => BackendFeature;
export const eventsModuleGitlabWebhook: BackendFeatureCompat;
// (No @packageDocumentation comment for this package)
```
@@ -32,7 +32,7 @@ describe('eventsModuleGitlabEventRouter', () => {
});
await startTestBackend({
features: [eventsServiceFactory(), eventsModuleGitlabEventRouter()],
features: [eventsServiceFactory(), eventsModuleGitlabEventRouter],
});
expect(events.subscribed).toHaveLength(1);
@@ -43,7 +43,7 @@ describe('gitlabWebhookEventsModule', () => {
await startTestBackend({
extensionPoints: [[eventsExtensionPoint, extensionPoint]],
features: [
eventsModuleGitlabWebhook(),
eventsModuleGitlabWebhook,
mockServices.rootConfig.factory({
data: {
events: {
+2 -2
View File
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha
const eventsPlugin: () => BackendFeature;
const eventsPlugin: BackendFeatureCompat;
export default eventsPlugin;
// (No @packageDocumentation comment for this package)
@@ -57,8 +57,8 @@ describe('eventsPlugin', () => {
extensionPoints: [],
features: [
eventsServiceFactory(),
eventsPlugin(),
testModule(),
eventsPlugin,
testModule,
mockServices.logger.factory(),
mockServices.rootConfig.factory({
data: {
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import express from 'express';
import { IdentityApi } from '@backstage/plugin-auth-node';
import { LoggerService } from '@backstage/backend-plugin-api';
@@ -12,7 +12,7 @@ import { LoggerService } from '@backstage/backend-plugin-api';
export function createRouter(options: RouterOptions): Promise<express.Router>;
// @public
const exampleTodoListPlugin: () => BackendFeature;
const exampleTodoListPlugin: BackendFeatureCompat;
export default exampleTodoListPlugin;
// @public
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha
const kubernetesPlugin: () => BackendFeature;
const kubernetesPlugin: BackendFeatureCompat;
export default kubernetesPlugin;
// (No @packageDocumentation comment for this package)
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { ExtensionPoint } from '@backstage/backend-plugin-api';
import { Notification as Notification_2 } from '@backstage/plugin-notifications-common';
@@ -17,7 +17,7 @@ export interface NotificationsEmailTemplateExtensionPoint {
export const notificationsEmailTemplateExtensionPoint: ExtensionPoint<NotificationsEmailTemplateExtensionPoint>;
// @public (undocumented)
const notificationsModuleEmail: () => BackendFeature;
const notificationsModuleEmail: BackendFeatureCompat;
export default notificationsModuleEmail;
// @public (undocumented)
+2 -2
View File
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @public
const notificationsPlugin: () => BackendFeature;
const notificationsPlugin: BackendFeatureCompat;
export default notificationsPlugin;
// (No @packageDocumentation comment for this package)
@@ -3,9 +3,9 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @public
const permissionModuleAllowAllPolicy: () => BackendFeature;
const permissionModuleAllowAllPolicy: BackendFeatureCompat;
export default permissionModuleAllowAllPolicy;
```
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha
const permissionPlugin: () => BackendFeature;
const permissionPlugin: BackendFeatureCompat;
export default permissionPlugin;
// (No @packageDocumentation comment for this package)
+2 -2
View File
@@ -3,10 +3,10 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
// @alpha
const _default: () => BackendFeature;
const _default: BackendFeatureCompat;
export default _default;
// (No @packageDocumentation comment for this package)
@@ -3,14 +3,14 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { Config } from '@backstage/config';
import { JsonObject } from '@backstage/types';
import { ScmIntegrationRegistry } from '@backstage/integration';
import { TemplateAction } from '@backstage/plugin-scaffolder-node';
// @public
const azureModule: () => BackendFeature;
const azureModule: BackendFeatureCompat;
export default azureModule;
// @public
@@ -3,14 +3,14 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { Config } from '@backstage/config';
import { JsonObject } from '@backstage/types';
import { ScmIntegrationRegistry } from '@backstage/integration';
import { TemplateAction } from '@backstage/plugin-scaffolder-node';
// @public
const bitbucketCloudModule: () => BackendFeature;
const bitbucketCloudModule: BackendFeatureCompat;
export default bitbucketCloudModule;
// @public
@@ -3,14 +3,14 @@
> 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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { Config } from '@backstage/config';
import { JsonObject } from '@backstage/types';
import { ScmIntegrationRegistry } from '@backstage/integration';
import { TemplateAction } from '@backstage/plugin-scaffolder-node';
// @public
const bitbucketServerModule: () => BackendFeature;
const bitbucketServerModule: BackendFeatureCompat;
export default bitbucketServerModule;
// @public
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import * as bitbucketCloud from '@backstage/plugin-scaffolder-backend-module-bitbucket-cloud';
import * as bitbucketServer from '@backstage/plugin-scaffolder-backend-module-bitbucket-server';
import { Config } from '@backstage/config';
@@ -12,7 +12,7 @@ import { ScmIntegrationRegistry } from '@backstage/integration';
import { TemplateAction } from '@backstage/plugin-scaffolder-node';
// @public @deprecated
const bitbucketModule: () => BackendFeature;
const bitbucketModule: BackendFeatureCompat;
export default bitbucketModule;
// @public @deprecated (undocumented)
@@ -3,7 +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 { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { Config } from '@backstage/config';
import { JsonObject } from '@backstage/types';
import { ScmIntegrations } from '@backstage/integration';
@@ -11,7 +11,7 @@ import { TemplateAction } from '@backstage/plugin-scaffolder-node';
import { UrlReader } from '@backstage/backend-common';
// @public
const confluenceToMarkdownModule: () => BackendFeature;
const confluenceToMarkdownModule: BackendFeatureCompat;
export default confluenceToMarkdownModule;
// @public (undocumented)

Some files were not shown because too many files have changed in this diff Show More