@backstage/backend-plugin-api 0.1.2-next.0 → 0.1.2-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/alpha/package.json +1 -1
- package/dist/index.alpha.d.ts +6 -7
- package/dist/index.beta.d.ts +6 -7
- package/dist/index.cjs.js +2 -2
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +6 -7
- package/package.json +5 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @backstage/backend-plugin-api
|
|
2
2
|
|
|
3
|
+
## 0.1.2-next.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 2c57c0c499: Made `ApiRef.defaultFactory` internal.
|
|
8
|
+
- 91eed37a39: Updated `createBackendPlugin` and `createBackendModule` to properly forward lack of options.
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
- @backstage/backend-common@0.15.1-next.2
|
|
11
|
+
- @backstage/plugin-permission-common@0.6.4-next.1
|
|
12
|
+
|
|
3
13
|
## 0.1.2-next.0
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
package/alpha/package.json
CHANGED
package/dist/index.alpha.d.ts
CHANGED
|
@@ -60,10 +60,14 @@ export declare const cacheServiceRef: ServiceRef<PluginCacheManager>;
|
|
|
60
60
|
export declare const configServiceRef: ServiceRef<Config>;
|
|
61
61
|
|
|
62
62
|
/** @public */
|
|
63
|
-
export declare function createBackendModule<TOptions
|
|
63
|
+
export declare function createBackendModule<TOptions extends {
|
|
64
|
+
[name: string]: unknown;
|
|
65
|
+
} | undefined = undefined>(config: BackendModuleConfig<TOptions>): undefined extends TOptions ? (options?: TOptions) => BackendFeature : (options: TOptions) => BackendFeature;
|
|
64
66
|
|
|
65
67
|
/** @public */
|
|
66
|
-
export declare function createBackendPlugin<TOptions
|
|
68
|
+
export declare function createBackendPlugin<TOptions extends {
|
|
69
|
+
[name: string]: unknown;
|
|
70
|
+
} | undefined = undefined>(config: BackendPluginConfig<TOptions>): undefined extends TOptions ? (options?: TOptions) => BackendFeature : (options: TOptions) => BackendFeature;
|
|
67
71
|
|
|
68
72
|
/** @public */
|
|
69
73
|
export declare function createExtensionPoint<T>(options: {
|
|
@@ -186,11 +190,6 @@ export declare type ServiceRef<T> = {
|
|
|
186
190
|
* Attempting to actually read this value will result in an exception.
|
|
187
191
|
*/
|
|
188
192
|
T: T;
|
|
189
|
-
/**
|
|
190
|
-
* The default factory that will be used to create service
|
|
191
|
-
* instances if no other factory is provided.
|
|
192
|
-
*/
|
|
193
|
-
defaultFactory?: (service: ServiceRef<T>) => Promise<ServiceFactory<T>>;
|
|
194
193
|
toString(): string;
|
|
195
194
|
$$ref: 'service';
|
|
196
195
|
};
|
package/dist/index.beta.d.ts
CHANGED
|
@@ -60,10 +60,14 @@ export declare const cacheServiceRef: ServiceRef<PluginCacheManager>;
|
|
|
60
60
|
export declare const configServiceRef: ServiceRef<Config>;
|
|
61
61
|
|
|
62
62
|
/** @public */
|
|
63
|
-
export declare function createBackendModule<TOptions
|
|
63
|
+
export declare function createBackendModule<TOptions extends {
|
|
64
|
+
[name: string]: unknown;
|
|
65
|
+
} | undefined = undefined>(config: BackendModuleConfig<TOptions>): undefined extends TOptions ? (options?: TOptions) => BackendFeature : (options: TOptions) => BackendFeature;
|
|
64
66
|
|
|
65
67
|
/** @public */
|
|
66
|
-
export declare function createBackendPlugin<TOptions
|
|
68
|
+
export declare function createBackendPlugin<TOptions extends {
|
|
69
|
+
[name: string]: unknown;
|
|
70
|
+
} | undefined = undefined>(config: BackendPluginConfig<TOptions>): undefined extends TOptions ? (options?: TOptions) => BackendFeature : (options: TOptions) => BackendFeature;
|
|
67
71
|
|
|
68
72
|
/** @public */
|
|
69
73
|
export declare function createExtensionPoint<T>(options: {
|
|
@@ -186,11 +190,6 @@ export declare type ServiceRef<T> = {
|
|
|
186
190
|
* Attempting to actually read this value will result in an exception.
|
|
187
191
|
*/
|
|
188
192
|
T: T;
|
|
189
|
-
/**
|
|
190
|
-
* The default factory that will be used to create service
|
|
191
|
-
* instances if no other factory is provided.
|
|
192
|
-
*/
|
|
193
|
-
defaultFactory?: (service: ServiceRef<T>) => Promise<ServiceFactory<T>>;
|
|
194
193
|
toString(): string;
|
|
195
194
|
$$ref: 'service';
|
|
196
195
|
};
|
package/dist/index.cjs.js
CHANGED
|
@@ -16,11 +16,11 @@ function createServiceRef(options) {
|
|
|
16
16
|
get T() {
|
|
17
17
|
throw new Error(`tried to read ServiceRef.T of ${this}`);
|
|
18
18
|
},
|
|
19
|
-
defaultFactory,
|
|
20
19
|
toString() {
|
|
21
20
|
return `serviceRef{${options.id}}`;
|
|
22
21
|
},
|
|
23
|
-
$$ref: "service"
|
|
22
|
+
$$ref: "service",
|
|
23
|
+
__defaultFactory: defaultFactory
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
function createServiceFactory(factory) {
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/services/system/types.ts","../src/services/definitions/configServiceRef.ts","../src/services/definitions/httpRouterServiceRef.ts","../src/services/definitions/loggerServiceRef.ts","../src/services/definitions/urlReaderServiceRef.ts","../src/services/definitions/cacheServiceRef.ts","../src/services/definitions/databaseServiceRef.ts","../src/services/definitions/discoveryServiceRef.ts","../src/services/definitions/tokenManagerServiceRef.ts","../src/services/definitions/permissionsServiceRef.ts","../src/services/definitions/schedulerServiceRef.ts","../src/services/helpers/loggerToWinstonLogger.ts","../src/wiring/factories.ts"],"sourcesContent":["/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * TODO\n *\n * @public\n */\nexport type ServiceRef<T> = {\n id: string;\n\n /**\n * Utility for getting the type of the service, using `typeof serviceRef.T`.\n * Attempting to actually read this value will result in an exception.\n */\n T: T;\n\n /**\n * The default factory that will be used to create service\n * instances if no other factory is provided.\n */\n defaultFactory?: (service: ServiceRef<T>) => Promise<ServiceFactory<T>>;\n\n toString(): string;\n\n $$ref: 'service';\n};\n\n/** @public */\nexport type TypesToServiceRef<T> = { [key in keyof T]: ServiceRef<T[key]> };\n\n/** @public */\nexport type DepsToDepFactories<T> = {\n [key in keyof T]: (pluginId: string) => Promise<T[key]>;\n};\n\n/** @public */\nexport type FactoryFunc<Impl> = (pluginId: string) => Promise<Impl>;\n\n/** @public */\nexport type ServiceFactory<TService = unknown> = {\n service: ServiceRef<TService>;\n deps: { [key in string]: ServiceRef<unknown> };\n factory(deps: { [key in string]: unknown }): Promise<FactoryFunc<TService>>;\n};\n\n/**\n * @public\n */\nexport function createServiceRef<T>(options: {\n id: string;\n defaultFactory?: (service: ServiceRef<T>) => Promise<ServiceFactory<T>>;\n}): ServiceRef<T> {\n const { id, defaultFactory } = options;\n return {\n id,\n get T(): T {\n throw new Error(`tried to read ServiceRef.T of ${this}`);\n },\n defaultFactory,\n toString() {\n return `serviceRef{${options.id}}`;\n },\n $$ref: 'service', // TODO: declare\n };\n}\n\n/**\n * @public\n */\nexport function createServiceFactory<\n TService,\n TImpl extends TService,\n TDeps extends { [name in string]: unknown },\n>(factory: {\n service: ServiceRef<TService>;\n deps: TypesToServiceRef<TDeps>;\n factory(deps: DepsToDepFactories<TDeps>): Promise<FactoryFunc<TImpl>>;\n}): ServiceFactory<TService> {\n return factory as ServiceFactory<TService>;\n}\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Config } from '@backstage/config';\nimport { createServiceRef } from '../system/types';\n\n/**\n * @public\n */\nexport const configServiceRef = createServiceRef<Config>({\n id: 'core.config',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createServiceRef } from '../system/types';\nimport { Handler } from 'express';\n\n/**\n * @public\n */\nexport interface HttpRouterService {\n use(handler: Handler): void;\n}\n\n/**\n * @public\n */\nexport const httpRouterServiceRef = createServiceRef<HttpRouterService>({\n id: 'core.httpRouter',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createServiceRef } from '../system/types';\n\n/**\n * @public\n */\nexport interface Logger {\n info(message: string): void;\n child(fields: { [name: string]: string }): Logger;\n}\n\n/**\n * @public\n */\nexport const loggerServiceRef = createServiceRef<Logger>({\n id: 'core.logger',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createServiceRef } from '../system/types';\nimport { UrlReader } from '@backstage/backend-common';\n\n/**\n * @public\n */\nexport const urlReaderServiceRef = createServiceRef<UrlReader>({\n id: 'core.urlReader',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createServiceRef } from '../system/types';\nimport { PluginCacheManager } from '@backstage/backend-common';\n\n/**\n * @public\n */\nexport const cacheServiceRef = createServiceRef<PluginCacheManager>({\n id: 'core.cache',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { PluginDatabaseManager } from '@backstage/backend-common';\nimport { createServiceRef } from '../system/types';\n\n/**\n * @public\n */\nexport const databaseServiceRef = createServiceRef<PluginDatabaseManager>({\n id: 'core.database',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createServiceRef } from '../system/types';\nimport { PluginEndpointDiscovery } from '@backstage/backend-common';\n\n/**\n * @public\n */\nexport const discoveryServiceRef = createServiceRef<PluginEndpointDiscovery>({\n id: 'core.discovery',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createServiceRef } from '../system/types';\nimport { TokenManager } from '@backstage/backend-common';\n\n/**\n * @public\n */\nexport const tokenManagerServiceRef = createServiceRef<TokenManager>({\n id: 'core.tokenManager',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createServiceRef } from '../system/types';\nimport {\n PermissionAuthorizer,\n PermissionEvaluator,\n} from '@backstage/plugin-permission-common';\n\n/**\n * @public\n */\nexport const permissionsServiceRef = createServiceRef<\n PermissionEvaluator | PermissionAuthorizer\n>({\n id: 'core.permissions',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createServiceRef } from '../system/types';\nimport { PluginTaskScheduler } from '@backstage/backend-tasks';\n\n/**\n * @public\n */\nexport const schedulerServiceRef = createServiceRef<PluginTaskScheduler>({\n id: 'core.scheduler',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Logger as BackstageLogger } from '../definitions';\nimport { Logger as WinstonLogger, createLogger } from 'winston';\nimport Transport, { TransportStreamOptions } from 'winston-transport';\n\nclass BackstageLoggerTransport extends Transport {\n constructor(\n private readonly backstageLogger: BackstageLogger,\n opts?: TransportStreamOptions,\n ) {\n super(opts);\n }\n\n log(info: { message: string }, callback: VoidFunction) {\n // TODO: add support for levels and fields\n this.backstageLogger.info(info.message);\n callback();\n }\n}\n\n/** @public */\nexport function loggerToWinstonLogger(\n logger: BackstageLogger,\n opts?: TransportStreamOptions,\n): WinstonLogger {\n return createLogger({\n transports: [new BackstageLoggerTransport(logger, opts)],\n });\n}\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n BackendRegistrationPoints,\n BackendFeature,\n ExtensionPoint,\n} from './types';\n\n/** @public */\nexport function createExtensionPoint<T>(options: {\n id: string;\n}): ExtensionPoint<T> {\n return {\n id: options.id,\n get T(): T {\n throw new Error(`tried to read ExtensionPoint.T of ${this}`);\n },\n toString() {\n return `extensionPoint{${options.id}}`;\n },\n $$ref: 'extension-point', // TODO: declare\n };\n}\n\n/** @public */\nexport interface BackendPluginConfig<TOptions> {\n id: string;\n register(reg: BackendRegistrationPoints, options: TOptions): void;\n}\n\n/** @public */\nexport function createBackendPlugin<TOptions>(\n config: BackendPluginConfig<TOptions>,\n): undefined extends TOptions\n ? (options?: TOptions) => BackendFeature\n : (options: TOptions) => BackendFeature {\n return (options?: TOptions) => ({\n id: config.id,\n register(register: BackendRegistrationPoints) {\n return config.register(register, options!);\n },\n });\n}\n\n/** @public */\nexport interface BackendModuleConfig<TOptions> {\n pluginId: string;\n moduleId: string;\n register(\n reg: Omit<BackendRegistrationPoints, 'registerExtensionPoint'>,\n options: TOptions,\n ): void;\n}\n\n/** @public */\nexport function createBackendModule<TOptions>(\n config: BackendModuleConfig<TOptions>,\n): undefined extends TOptions\n ? (options?: TOptions) => BackendFeature\n : (options: TOptions) => BackendFeature {\n return (options?: TOptions) => ({\n id: `${config.pluginId}.${config.moduleId}`,\n register(register: BackendRegistrationPoints) {\n // TODO: Hide registerExtensionPoint\n return config.register(register, options!);\n },\n });\n}\n"],"names":["Transport","createLogger"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/services/system/types.ts","../src/services/definitions/configServiceRef.ts","../src/services/definitions/httpRouterServiceRef.ts","../src/services/definitions/loggerServiceRef.ts","../src/services/definitions/urlReaderServiceRef.ts","../src/services/definitions/cacheServiceRef.ts","../src/services/definitions/databaseServiceRef.ts","../src/services/definitions/discoveryServiceRef.ts","../src/services/definitions/tokenManagerServiceRef.ts","../src/services/definitions/permissionsServiceRef.ts","../src/services/definitions/schedulerServiceRef.ts","../src/services/helpers/loggerToWinstonLogger.ts","../src/wiring/factories.ts"],"sourcesContent":["/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * TODO\n *\n * @public\n */\nexport type ServiceRef<T> = {\n id: string;\n\n /**\n * Utility for getting the type of the service, using `typeof serviceRef.T`.\n * Attempting to actually read this value will result in an exception.\n */\n T: T;\n\n toString(): string;\n\n $$ref: 'service';\n};\n\n/**\n * @internal\n */\nexport type InternalServiceRef<T> = ServiceRef<T> & {\n /**\n * The default factory that will be used to create service\n * instances if no other factory is provided.\n */\n __defaultFactory?: (service: ServiceRef<T>) => Promise<ServiceFactory<T>>;\n};\n\n/** @public */\nexport type TypesToServiceRef<T> = { [key in keyof T]: ServiceRef<T[key]> };\n\n/** @public */\nexport type DepsToDepFactories<T> = {\n [key in keyof T]: (pluginId: string) => Promise<T[key]>;\n};\n\n/** @public */\nexport type FactoryFunc<Impl> = (pluginId: string) => Promise<Impl>;\n\n/** @public */\nexport type ServiceFactory<TService = unknown> = {\n service: ServiceRef<TService>;\n deps: { [key in string]: ServiceRef<unknown> };\n factory(deps: { [key in string]: unknown }): Promise<FactoryFunc<TService>>;\n};\n\n/**\n * @public\n */\nexport function createServiceRef<T>(options: {\n id: string;\n defaultFactory?: (service: ServiceRef<T>) => Promise<ServiceFactory<T>>;\n}): ServiceRef<T> {\n const { id, defaultFactory } = options;\n return {\n id,\n get T(): T {\n throw new Error(`tried to read ServiceRef.T of ${this}`);\n },\n toString() {\n return `serviceRef{${options.id}}`;\n },\n $$ref: 'service', // TODO: declare\n __defaultFactory: defaultFactory,\n } as InternalServiceRef<T>;\n}\n\n/**\n * @public\n */\nexport function createServiceFactory<\n TService,\n TImpl extends TService,\n TDeps extends { [name in string]: unknown },\n>(factory: {\n service: ServiceRef<TService>;\n deps: TypesToServiceRef<TDeps>;\n factory(deps: DepsToDepFactories<TDeps>): Promise<FactoryFunc<TImpl>>;\n}): ServiceFactory<TService> {\n return factory as ServiceFactory<TService>;\n}\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Config } from '@backstage/config';\nimport { createServiceRef } from '../system/types';\n\n/**\n * @public\n */\nexport const configServiceRef = createServiceRef<Config>({\n id: 'core.config',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createServiceRef } from '../system/types';\nimport { Handler } from 'express';\n\n/**\n * @public\n */\nexport interface HttpRouterService {\n use(handler: Handler): void;\n}\n\n/**\n * @public\n */\nexport const httpRouterServiceRef = createServiceRef<HttpRouterService>({\n id: 'core.httpRouter',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createServiceRef } from '../system/types';\n\n/**\n * @public\n */\nexport interface Logger {\n info(message: string): void;\n child(fields: { [name: string]: string }): Logger;\n}\n\n/**\n * @public\n */\nexport const loggerServiceRef = createServiceRef<Logger>({\n id: 'core.logger',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createServiceRef } from '../system/types';\nimport { UrlReader } from '@backstage/backend-common';\n\n/**\n * @public\n */\nexport const urlReaderServiceRef = createServiceRef<UrlReader>({\n id: 'core.urlReader',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createServiceRef } from '../system/types';\nimport { PluginCacheManager } from '@backstage/backend-common';\n\n/**\n * @public\n */\nexport const cacheServiceRef = createServiceRef<PluginCacheManager>({\n id: 'core.cache',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { PluginDatabaseManager } from '@backstage/backend-common';\nimport { createServiceRef } from '../system/types';\n\n/**\n * @public\n */\nexport const databaseServiceRef = createServiceRef<PluginDatabaseManager>({\n id: 'core.database',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createServiceRef } from '../system/types';\nimport { PluginEndpointDiscovery } from '@backstage/backend-common';\n\n/**\n * @public\n */\nexport const discoveryServiceRef = createServiceRef<PluginEndpointDiscovery>({\n id: 'core.discovery',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createServiceRef } from '../system/types';\nimport { TokenManager } from '@backstage/backend-common';\n\n/**\n * @public\n */\nexport const tokenManagerServiceRef = createServiceRef<TokenManager>({\n id: 'core.tokenManager',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createServiceRef } from '../system/types';\nimport {\n PermissionAuthorizer,\n PermissionEvaluator,\n} from '@backstage/plugin-permission-common';\n\n/**\n * @public\n */\nexport const permissionsServiceRef = createServiceRef<\n PermissionEvaluator | PermissionAuthorizer\n>({\n id: 'core.permissions',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createServiceRef } from '../system/types';\nimport { PluginTaskScheduler } from '@backstage/backend-tasks';\n\n/**\n * @public\n */\nexport const schedulerServiceRef = createServiceRef<PluginTaskScheduler>({\n id: 'core.scheduler',\n});\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Logger as BackstageLogger } from '../definitions';\nimport { Logger as WinstonLogger, createLogger } from 'winston';\nimport Transport, { TransportStreamOptions } from 'winston-transport';\n\nclass BackstageLoggerTransport extends Transport {\n constructor(\n private readonly backstageLogger: BackstageLogger,\n opts?: TransportStreamOptions,\n ) {\n super(opts);\n }\n\n log(info: { message: string }, callback: VoidFunction) {\n // TODO: add support for levels and fields\n this.backstageLogger.info(info.message);\n callback();\n }\n}\n\n/** @public */\nexport function loggerToWinstonLogger(\n logger: BackstageLogger,\n opts?: TransportStreamOptions,\n): WinstonLogger {\n return createLogger({\n transports: [new BackstageLoggerTransport(logger, opts)],\n });\n}\n","/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n BackendRegistrationPoints,\n BackendFeature,\n ExtensionPoint,\n} from './types';\n\n/** @public */\nexport function createExtensionPoint<T>(options: {\n id: string;\n}): ExtensionPoint<T> {\n return {\n id: options.id,\n get T(): T {\n throw new Error(`tried to read ExtensionPoint.T of ${this}`);\n },\n toString() {\n return `extensionPoint{${options.id}}`;\n },\n $$ref: 'extension-point', // TODO: declare\n };\n}\n\n/** @public */\nexport interface BackendPluginConfig<TOptions> {\n id: string;\n register(reg: BackendRegistrationPoints, options: TOptions): void;\n}\n\n/** @public */\nexport function createBackendPlugin<\n TOptions extends { [name: string]: unknown } | undefined = undefined,\n>(\n config: BackendPluginConfig<TOptions>,\n): undefined extends TOptions\n ? (options?: TOptions) => BackendFeature\n : (options: TOptions) => BackendFeature {\n return (options?: TOptions) => ({\n id: config.id,\n register(register: BackendRegistrationPoints) {\n return config.register(register, options!);\n },\n });\n}\n\n/** @public */\nexport interface BackendModuleConfig<TOptions> {\n pluginId: string;\n moduleId: string;\n register(\n reg: Omit<BackendRegistrationPoints, 'registerExtensionPoint'>,\n options: TOptions,\n ): void;\n}\n\n/** @public */\nexport function createBackendModule<\n TOptions extends { [name: string]: unknown } | undefined = undefined,\n>(\n config: BackendModuleConfig<TOptions>,\n): undefined extends TOptions\n ? (options?: TOptions) => BackendFeature\n : (options: TOptions) => BackendFeature {\n return (options?: TOptions) => ({\n id: `${config.pluginId}.${config.moduleId}`,\n register(register: BackendRegistrationPoints) {\n // TODO: Hide registerExtensionPoint\n return config.register(register, options!);\n },\n });\n}\n"],"names":["Transport","createLogger"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -60,10 +60,14 @@ export declare const cacheServiceRef: ServiceRef<PluginCacheManager>;
|
|
|
60
60
|
export declare const configServiceRef: ServiceRef<Config>;
|
|
61
61
|
|
|
62
62
|
/** @public */
|
|
63
|
-
export declare function createBackendModule<TOptions
|
|
63
|
+
export declare function createBackendModule<TOptions extends {
|
|
64
|
+
[name: string]: unknown;
|
|
65
|
+
} | undefined = undefined>(config: BackendModuleConfig<TOptions>): undefined extends TOptions ? (options?: TOptions) => BackendFeature : (options: TOptions) => BackendFeature;
|
|
64
66
|
|
|
65
67
|
/** @public */
|
|
66
|
-
export declare function createBackendPlugin<TOptions
|
|
68
|
+
export declare function createBackendPlugin<TOptions extends {
|
|
69
|
+
[name: string]: unknown;
|
|
70
|
+
} | undefined = undefined>(config: BackendPluginConfig<TOptions>): undefined extends TOptions ? (options?: TOptions) => BackendFeature : (options: TOptions) => BackendFeature;
|
|
67
71
|
|
|
68
72
|
/** @public */
|
|
69
73
|
export declare function createExtensionPoint<T>(options: {
|
|
@@ -186,11 +190,6 @@ export declare type ServiceRef<T> = {
|
|
|
186
190
|
* Attempting to actually read this value will result in an exception.
|
|
187
191
|
*/
|
|
188
192
|
T: T;
|
|
189
|
-
/**
|
|
190
|
-
* The default factory that will be used to create service
|
|
191
|
-
* instances if no other factory is provided.
|
|
192
|
-
*/
|
|
193
|
-
defaultFactory?: (service: ServiceRef<T>) => Promise<ServiceFactory<T>>;
|
|
194
193
|
toString(): string;
|
|
195
194
|
$$ref: 'service';
|
|
196
195
|
};
|
package/package.json
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/backend-plugin-api",
|
|
3
3
|
"description": "Core API used by Backstage backend plugins",
|
|
4
|
-
"version": "0.1.2-next.
|
|
4
|
+
"version": "0.1.2-next.1",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
|
-
"private": false,
|
|
8
7
|
"publishConfig": {
|
|
9
8
|
"access": "public",
|
|
10
9
|
"main": "dist/index.cjs.js",
|
|
@@ -34,21 +33,21 @@
|
|
|
34
33
|
"start": "backstage-cli package start"
|
|
35
34
|
},
|
|
36
35
|
"dependencies": {
|
|
37
|
-
"@backstage/backend-common": "^0.15.1-next.
|
|
36
|
+
"@backstage/backend-common": "^0.15.1-next.2",
|
|
38
37
|
"@backstage/backend-tasks": "^0.3.5-next.0",
|
|
39
38
|
"@backstage/config": "^1.0.1",
|
|
40
|
-
"@backstage/plugin-permission-common": "^0.6.4-next.
|
|
39
|
+
"@backstage/plugin-permission-common": "^0.6.4-next.1",
|
|
41
40
|
"@types/express": "^4.17.6",
|
|
42
41
|
"express": "^4.17.1",
|
|
43
42
|
"winston": "^3.2.1",
|
|
44
43
|
"winston-transport": "^4.5.0"
|
|
45
44
|
},
|
|
46
45
|
"devDependencies": {
|
|
47
|
-
"@backstage/cli": "^0.
|
|
46
|
+
"@backstage/cli": "^0.19.0-next.2"
|
|
48
47
|
},
|
|
49
48
|
"files": [
|
|
50
49
|
"dist",
|
|
51
50
|
"alpha"
|
|
52
51
|
],
|
|
53
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "24f889f173370f060725fcf9404081e40769beb4"
|
|
54
53
|
}
|