clean up deprecations of techdocs-node plugin
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
This commit is contained in:
@@ -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<GeneratorBuilder>;
|
||||
@@ -78,7 +76,7 @@ export const getDocFilesFromRepository: (
|
||||
opts?:
|
||||
| {
|
||||
etag?: string | undefined;
|
||||
logger?: Logger | undefined;
|
||||
logger?: Logger_2 | undefined;
|
||||
}
|
||||
| undefined,
|
||||
) => Promise<PreparerResponse>;
|
||||
@@ -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<PreparerResponse>;
|
||||
}
|
||||
|
||||
@@ -52,11 +52,10 @@ const mockUrlReader: jest.Mocked<UrlReader> = {
|
||||
|
||||
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':
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -44,18 +44,17 @@ export class Preparers implements PreparerBuilder {
|
||||
): Promise<PreparerBuilder> {
|
||||
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;
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user