clean up deprecations of techdocs-node plugin

Signed-off-by: Emma Indal <emma.indahl@gmail.com>
This commit is contained in:
Emma Indal
2022-03-14 14:03:24 +01:00
parent 7cb5788e9c
commit cb4f0e4f07
5 changed files with 35 additions and 41 deletions
@@ -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,