From 20c429880c1ae96d4962fd034e1a10a18aaa72dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Wed, 30 Aug 2023 13:12:54 +0200 Subject: [PATCH] update reports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- .../src/wiring/parameters.test.ts | 6 ++-- .../frontend-app-api/src/wiring/parameters.ts | 4 +-- packages/frontend-plugin-api/api-report.md | 33 ++++++++++--------- 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/packages/frontend-app-api/src/wiring/parameters.test.ts b/packages/frontend-app-api/src/wiring/parameters.test.ts index 036de02252..eeb0df8530 100644 --- a/packages/frontend-app-api/src/wiring/parameters.test.ts +++ b/packages/frontend-app-api/src/wiring/parameters.test.ts @@ -211,7 +211,7 @@ describe('readAppExtensionParameters', () => { }), ), ).toThrow( - "Invalid extension configuration at app.extensions[0], extension ID must only contain letters, numbers, dashes, and dots, got 'core.router/routes'", + "Invalid extension configuration at app.extensions[0], extension ID must only contain letters, numbers, and dots; got 'core.router/routes'", ); }); }); @@ -260,10 +260,10 @@ describe('expandShorthandExtensionParameters', () => { disabled: false, }); expect(() => run('')).toThrowErrorMatchingInlineSnapshot( - `"Invalid extension configuration at app.extensions[1], extension ID must only contain letters, numbers, dashes, and dots, got ''"`, + `"Invalid extension configuration at app.extensions[1], extension ID must only contain letters, numbers, and dots; got ''"`, ); expect(() => run('core.router/routes')).toThrowErrorMatchingInlineSnapshot( - `"Invalid extension configuration at app.extensions[1], extension ID must only contain letters, numbers, dashes, and dots, got 'core.router/routes'"`, + `"Invalid extension configuration at app.extensions[1], extension ID must only contain letters, numbers, and dots; got 'core.router/routes'"`, ); }); diff --git a/packages/frontend-app-api/src/wiring/parameters.ts b/packages/frontend-app-api/src/wiring/parameters.ts index 1b6173fca0..60de094aee 100644 --- a/packages/frontend-app-api/src/wiring/parameters.ts +++ b/packages/frontend-app-api/src/wiring/parameters.ts @@ -61,10 +61,10 @@ export function expandShorthandExtensionParameters( } function assertValidId(id: string) { - if (!id.match(/^[\.a-zA-Z0-9-]+$/)) { + if (!id.match(/^[\.a-zA-Z0-9]+$/)) { throw new Error( errorMsg( - `extension ID must only contain letters, numbers, dashes, and dots, got '${id}'`, + `extension ID must only contain letters, numbers, and dots; got '${id}'`, ), ); } diff --git a/packages/frontend-plugin-api/api-report.md b/packages/frontend-plugin-api/api-report.md index 34ca6fdb5a..3068b25437 100644 --- a/packages/frontend-plugin-api/api-report.md +++ b/packages/frontend-plugin-api/api-report.md @@ -19,7 +19,7 @@ export interface BackstagePlugin { // (undocumented) $$type: 'backstage-plugin'; // (undocumented) - defaultExtensionInstances: ExtensionInstanceParameters[]; + defaultExtensions: Extension[]; // (undocumented) id: string; } @@ -27,7 +27,7 @@ export interface BackstagePlugin { // @public (undocumented) export interface BackstagePluginOptions { // (undocumented) - defaultExtensionInstances?: ExtensionInstanceParameters[]; + defaultExtensions?: Extension[]; // (undocumented) id: string; } @@ -61,9 +61,13 @@ export interface CreateExtensionOptions< >, TConfig, > { + // (undocumented) + at: string; // (undocumented) configSchema?: PortableSchema; // (undocumented) + disabled?: boolean; + // (undocumented) factory(options: { bind: ExtensionDataBind; config: TConfig; @@ -74,6 +78,8 @@ export interface CreateExtensionOptions< }; }): void; // (undocumented) + id: string; + // (undocumented) inputs?: TPoint; // (undocumented) output: TData; @@ -99,6 +105,9 @@ export function createPageExtension< configSchema: PortableSchema; } ) & { + id: string; + at?: string; + disabled?: boolean; inputs?: TInputs; component: (props: { config: TConfig; @@ -124,14 +133,20 @@ export interface Extension { // (undocumented) $$type: 'extension'; // (undocumented) + at: string; + // (undocumented) configSchema?: PortableSchema; // (undocumented) + disabled: boolean; + // (undocumented) factory(options: { bind: ExtensionDataBind; config: TConfig; inputs: Record>>; }): void; // (undocumented) + id: string; + // (undocumented) inputs: Record< string, { @@ -159,20 +174,6 @@ export type ExtensionDataValue = { [K in keyof TData]: TData[K]['T']; }; -// @public (undocumented) -export interface ExtensionInstanceParameters { - // (undocumented) - at: string; - // (undocumented) - config?: unknown; - // (undocumented) - disabled?: boolean; - // (undocumented) - extension: Extension; - // (undocumented) - id: string; -} - // @public (undocumented) export type PortableSchema = { parse: (input: unknown) => TOutput;