From cb4f0e4f07c7a7d18e4ec5ce9c2f10cca0bf3171 Mon Sep 17 00:00:00 2001 From: Emma Indal Date: Mon, 14 Mar 2022 14:03:24 +0100 Subject: [PATCH] clean up deprecations of techdocs-node plugin Signed-off-by: Emma Indal --- plugins/techdocs-node/api-report.md | 22 ++++++++----------- .../src/stages/prepare/dir.test.ts | 21 ++++++++---------- .../techdocs-node/src/stages/prepare/dir.ts | 15 ++++++++----- .../src/stages/prepare/preparers.ts | 7 +++--- .../techdocs-node/src/stages/prepare/url.ts | 11 +++++----- 5 files changed, 35 insertions(+), 41 deletions(-) diff --git a/plugins/techdocs-node/api-report.md b/plugins/techdocs-node/api-report.md index 4c88ab0fc0..a5446c77cd 100644 --- a/plugins/techdocs-node/api-report.md +++ b/plugins/techdocs-node/api-report.md @@ -11,7 +11,7 @@ import { ContainerRunner } from '@backstage/backend-common'; import { Entity } from '@backstage/catalog-model'; import express from 'express'; import { IndexableDocument } from '@backstage/plugin-search-common'; -import { Logger } from 'winston'; +import { Logger as Logger_2 } from 'winston'; import { PluginEndpointDiscovery } from '@backstage/backend-common'; import { ScmIntegrationRegistry } from '@backstage/integration'; import { UrlReader } from '@backstage/backend-common'; @@ -19,8 +19,6 @@ import { Writable } from 'stream'; // @public export class DirectoryPreparer implements PreparerBase { - // @deprecated - constructor(config: Config, _logger: Logger | null, reader: UrlReader); static fromConfig( config: Config, { logger, reader }: PreparerConfig, @@ -45,7 +43,7 @@ export type GeneratorBuilder = { // @public export type GeneratorOptions = { containerRunner: ContainerRunner; - logger: Logger; + logger: Logger_2; }; // @public @@ -54,7 +52,7 @@ export type GeneratorRunOptions = { outputDir: string; parsedLocationAnnotation?: ParsedLocationAnnotation; etag?: string; - logger: Logger; + logger: Logger_2; logStream?: Writable; }; @@ -63,7 +61,7 @@ export class Generators implements GeneratorBuilder { static fromConfig( config: Config, options: { - logger: Logger; + logger: Logger_2; containerRunner: ContainerRunner; }, ): Promise; @@ -78,7 +76,7 @@ export const getDocFilesFromRepository: ( opts?: | { etag?: string | undefined; - logger?: Logger | undefined; + logger?: Logger_2 | undefined; } | undefined, ) => Promise; @@ -120,13 +118,13 @@ export type PreparerBuilder = { // @public export type PreparerConfig = { - logger: Logger; + logger: Logger_2; reader: UrlReader; }; // @public export type PreparerOptions = { - logger?: Logger; + logger?: Logger_2; etag?: ETag; }; @@ -168,7 +166,7 @@ export interface PublisherBase { // @public export type PublisherFactory = { - logger: Logger; + logger: Logger_2; discovery: PluginEndpointDiscovery; }; @@ -216,7 +214,7 @@ export interface TechDocsDocument extends IndexableDocument { // @public export class TechdocsGenerator implements GeneratorBase { constructor(options: { - logger: Logger; + logger: Logger_2; containerRunner: ContainerRunner; config: Config; scmIntegrations: ScmIntegrationRegistry; @@ -250,8 +248,6 @@ export const transformDirLocation: ( // @public export class UrlPreparer implements PreparerBase { - // @deprecated - constructor(reader: UrlReader, logger: Logger); static fromConfig({ reader, logger }: PreparerConfig): UrlPreparer; prepare(entity: Entity, options?: PreparerOptions): Promise; } diff --git a/plugins/techdocs-node/src/stages/prepare/dir.test.ts b/plugins/techdocs-node/src/stages/prepare/dir.test.ts index 2bf3fe29fc..829c414ddb 100644 --- a/plugins/techdocs-node/src/stages/prepare/dir.test.ts +++ b/plugins/techdocs-node/src/stages/prepare/dir.test.ts @@ -52,11 +52,10 @@ const mockUrlReader: jest.Mocked = { describe('directory preparer', () => { it('should merge managed-by-location and techdocs-ref when techdocs-ref is relative', async () => { - const directoryPreparer = new DirectoryPreparer( - mockConfig, + const directoryPreparer = DirectoryPreparer.fromConfig(mockConfig, { logger, - mockUrlReader, - ); + reader: mockUrlReader, + }); const mockEntity = createMockEntity({ 'backstage.io/managed-by-location': @@ -69,11 +68,10 @@ describe('directory preparer', () => { }); it('should reject when techdocs-ref is absolute', async () => { - const directoryPreparer = new DirectoryPreparer( - mockConfig, + const directoryPreparer = DirectoryPreparer.fromConfig(mockConfig, { logger, - mockUrlReader, - ); + reader: mockUrlReader, + }); const mockEntity = createMockEntity({ 'backstage.io/managed-by-location': @@ -87,11 +85,10 @@ describe('directory preparer', () => { }); it('should reject when managed-by-location has an unknown type', async () => { - const directoryPreparer = new DirectoryPreparer( - mockConfig, + const directoryPreparer = DirectoryPreparer.fromConfig(mockConfig, { logger, - mockUrlReader, - ); + reader: mockUrlReader, + }); const mockEntity = createMockEntity({ 'backstage.io/managed-by-location': diff --git a/plugins/techdocs-node/src/stages/prepare/dir.ts b/plugins/techdocs-node/src/stages/prepare/dir.ts index 42bfa5b903..c0298c0dab 100644 --- a/plugins/techdocs-node/src/stages/prepare/dir.ts +++ b/plugins/techdocs-node/src/stages/prepare/dir.ts @@ -39,12 +39,6 @@ export class DirectoryPreparer implements PreparerBase { private readonly scmIntegrations: ScmIntegrationRegistry; private readonly reader: UrlReader; - /** @deprecated use static fromConfig method instead */ - constructor(config: Config, _logger: Logger | null, reader: UrlReader) { - this.reader = reader; - this.scmIntegrations = ScmIntegrations.fromConfig(config); - } - /** * Returns a directory preparer instance * @param config - A backstage config @@ -57,6 +51,15 @@ export class DirectoryPreparer implements PreparerBase { return new DirectoryPreparer(config, logger, reader); } + private constructor( + config: Config, + _logger: Logger | null, + reader: UrlReader, + ) { + this.reader = reader; + this.scmIntegrations = ScmIntegrations.fromConfig(config); + } + /** {@inheritDoc PreparerBase.prepare} */ async prepare( entity: Entity, diff --git a/plugins/techdocs-node/src/stages/prepare/preparers.ts b/plugins/techdocs-node/src/stages/prepare/preparers.ts index 575294e91a..a8c175125a 100644 --- a/plugins/techdocs-node/src/stages/prepare/preparers.ts +++ b/plugins/techdocs-node/src/stages/prepare/preparers.ts @@ -44,18 +44,17 @@ export class Preparers implements PreparerBuilder { ): Promise { const preparers = new Preparers(); - const urlPreparer = new UrlPreparer(reader, logger); + const urlPreparer = UrlPreparer.fromConfig({ reader, logger }); preparers.register('url', urlPreparer); /** * Dir preparer is a syntactic sugar for users to define techdocs-ref annotation. * When using dir preparer, the docs will be fetched using URL Reader. */ - const directoryPreparer = new DirectoryPreparer( - backstageConfig, + const directoryPreparer = DirectoryPreparer.fromConfig(backstageConfig, { logger, reader, - ); + }); preparers.register('dir', directoryPreparer); return preparers; diff --git a/plugins/techdocs-node/src/stages/prepare/url.ts b/plugins/techdocs-node/src/stages/prepare/url.ts index 8026dca41e..0d2907d7d1 100644 --- a/plugins/techdocs-node/src/stages/prepare/url.ts +++ b/plugins/techdocs-node/src/stages/prepare/url.ts @@ -34,12 +34,6 @@ export class UrlPreparer implements PreparerBase { private readonly logger: Logger; private readonly reader: UrlReader; - /** @deprecated use static fromConfig method instead */ - constructor(reader: UrlReader, logger: Logger) { - this.logger = logger; - this.reader = reader; - } - /** * Returns a directory preparer instance * @param config - A URL preparer config containing the a logger and reader @@ -48,6 +42,11 @@ export class UrlPreparer implements PreparerBase { return new UrlPreparer(reader, logger); } + private constructor(reader: UrlReader, logger: Logger) { + this.logger = logger; + this.reader = reader; + } + /** {@inheritDoc PreparerBase.prepare} */ async prepare( entity: Entity,