unpack props inside component bodies

Signed-off-by: Fredrik Adelöw <freben@gmail.com>
This commit is contained in:
Fredrik Adelöw
2023-02-27 15:31:15 +01:00
parent babbaa9391
commit 65454876fb
51 changed files with 253 additions and 297 deletions
@@ -46,9 +46,9 @@ export class DirectoryPreparer implements PreparerBase {
*/
static fromConfig(
config: Config,
{ logger, reader }: PreparerConfig,
options: PreparerConfig,
): DirectoryPreparer {
return new DirectoryPreparer(config, logger, reader);
return new DirectoryPreparer(config, options.logger, options.reader);
}
private constructor(
@@ -40,11 +40,14 @@ export class Preparers implements PreparerBuilder {
*/
static async fromConfig(
backstageConfig: Config,
{ logger, reader }: PreparerConfig,
options: PreparerConfig,
): Promise<PreparerBuilder> {
const preparers = new Preparers();
const urlPreparer = UrlPreparer.fromConfig({ reader, logger });
const urlPreparer = UrlPreparer.fromConfig({
reader: options.reader,
logger: options.logger,
});
preparers.register('url', urlPreparer);
/**
@@ -52,8 +55,8 @@ export class Preparers implements PreparerBuilder {
* When using dir preparer, the docs will be fetched using URL Reader.
*/
const directoryPreparer = DirectoryPreparer.fromConfig(backstageConfig, {
logger,
reader,
reader: options.reader,
logger: options.logger,
});
preparers.register('dir', directoryPreparer);
@@ -38,8 +38,8 @@ export class UrlPreparer implements PreparerBase {
* Returns a directory preparer instance
* @param config - A URL preparer config containing the a logger and reader
*/
static fromConfig({ reader, logger }: PreparerConfig): UrlPreparer {
return new UrlPreparer(reader, logger);
static fromConfig(options: PreparerConfig): UrlPreparer {
return new UrlPreparer(options.reader, options.logger);
}
private constructor(reader: UrlReader, logger: Logger) {
@@ -35,8 +35,10 @@ export class Publisher {
*/
static async fromConfig(
config: Config,
{ logger, discovery }: PublisherFactory,
options: PublisherFactory,
): Promise<PublisherBase> {
const { logger, discovery } = options;
const publisherType = (config.getOptionalString(
'techdocs.publisher.type',
) ?? 'local') as PublisherType;