From a79c224e97de3fbda0ff6ffffd63678509c5f4bc Mon Sep 17 00:00:00 2001 From: Martin <7252614+Lhoerion@users.noreply.github.com> Date: Fri, 23 Apr 2021 19:22:56 +0200 Subject: [PATCH 1/7] feat: Add disableAliases option --- src/lib/converter/converter.ts | 3 +++ src/lib/converter/symbols.ts | 1 + src/lib/utils/options/declaration.ts | 1 + src/lib/utils/options/sources/typedoc.ts | 6 ++++++ 4 files changed, 11 insertions(+) diff --git a/src/lib/converter/converter.ts b/src/lib/converter/converter.ts index 8c015a922..2beae63de 100644 --- a/src/lib/converter/converter.ts +++ b/src/lib/converter/converter.ts @@ -53,6 +53,9 @@ export class Converter extends ChildableComponent< @BindOption("excludeProtected") excludeProtected!: boolean; + @BindOption("disableAliases") + disableAliases!: boolean; + /** * General events */ diff --git a/src/lib/converter/symbols.ts b/src/lib/converter/symbols.ts index cf6136e0b..e90c76309 100644 --- a/src/lib/converter/symbols.ts +++ b/src/lib/converter/symbols.ts @@ -73,6 +73,7 @@ export function convertSymbol( // but aren't aliased symbols because `export *` was used. const previous = context.project.getReflectionFromSymbol(symbol); if ( + !context.converter.disableAliases && previous && previous.parent?.kindOf(ReflectionKind.Module | ReflectionKind.Project) ) { diff --git a/src/lib/utils/options/declaration.ts b/src/lib/utils/options/declaration.ts index cf5fa2252..67598226d 100644 --- a/src/lib/utils/options/declaration.ts +++ b/src/lib/utils/options/declaration.ts @@ -46,6 +46,7 @@ export interface TypeDocOptionMap { excludeNotDocumented: boolean; excludeInternal: boolean; disableSources: boolean; + disableAliases: boolean; includes: string; media: string; diff --git a/src/lib/utils/options/sources/typedoc.ts b/src/lib/utils/options/sources/typedoc.ts index 15fa05456..7f900277e 100644 --- a/src/lib/utils/options/sources/typedoc.ts +++ b/src/lib/utils/options/sources/typedoc.ts @@ -72,6 +72,12 @@ export function addTypeDocOptions(options: Pick) { "Disables setting the source of a reflection when documenting it.", type: ParameterType.Boolean, }); + options.addDeclaration({ + name: "disableAliases", + help: + "Disables creating aliases for shared reflections.", + type: ParameterType.Boolean, + }); options.addDeclaration({ name: "includes", help: From a6384bb452afb09fa306b47d32fbd7854e04afa1 Mon Sep 17 00:00:00 2001 From: Martin <7252614+Lhoerion@users.noreply.github.com> Date: Fri, 23 Apr 2021 20:54:40 +0200 Subject: [PATCH 2/7] fix: Check disableAliases option directly --- src/lib/converter/converter.ts | 3 --- src/lib/converter/symbols.ts | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/lib/converter/converter.ts b/src/lib/converter/converter.ts index 2beae63de..8c015a922 100644 --- a/src/lib/converter/converter.ts +++ b/src/lib/converter/converter.ts @@ -53,9 +53,6 @@ export class Converter extends ChildableComponent< @BindOption("excludeProtected") excludeProtected!: boolean; - @BindOption("disableAliases") - disableAliases!: boolean; - /** * General events */ diff --git a/src/lib/converter/symbols.ts b/src/lib/converter/symbols.ts index e90c76309..a6f70061b 100644 --- a/src/lib/converter/symbols.ts +++ b/src/lib/converter/symbols.ts @@ -73,7 +73,7 @@ export function convertSymbol( // but aren't aliased symbols because `export *` was used. const previous = context.project.getReflectionFromSymbol(symbol); if ( - !context.converter.disableAliases && + !context.converter.application.options.getValue("disableAliases") && previous && previous.parent?.kindOf(ReflectionKind.Module | ReflectionKind.Project) ) { From c2b848e72803e430789b3f5980503717e587bafa Mon Sep 17 00:00:00 2001 From: Martin <7252614+Lhoerion@users.noreply.github.com> Date: Fri, 23 Apr 2021 20:55:07 +0200 Subject: [PATCH 3/7] fix: Add missing check in convertAlias function --- src/lib/converter/symbols.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/converter/symbols.ts b/src/lib/converter/symbols.ts index a6f70061b..5daf104da 100644 --- a/src/lib/converter/symbols.ts +++ b/src/lib/converter/symbols.ts @@ -712,7 +712,9 @@ function convertAlias( context.resolveAliasedSymbol(symbol), exportSymbol ?? symbol ); - } else { + } else if ( + !context.converter.application.options.getValue("disableAliases") + ) { createAlias(reflection, context, symbol, exportSymbol); } } From dabf4258d0bb1250b2a1504734f3ef6543223bb8 Mon Sep 17 00:00:00 2001 From: Martin <7252614+Lhoerion@users.noreply.github.com> Date: Fri, 23 Apr 2021 20:59:19 +0200 Subject: [PATCH 4/7] chore: Fix linting problems --- src/lib/utils/options/sources/typedoc.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib/utils/options/sources/typedoc.ts b/src/lib/utils/options/sources/typedoc.ts index 7f900277e..e2eace1a8 100644 --- a/src/lib/utils/options/sources/typedoc.ts +++ b/src/lib/utils/options/sources/typedoc.ts @@ -74,8 +74,7 @@ export function addTypeDocOptions(options: Pick) { }); options.addDeclaration({ name: "disableAliases", - help: - "Disables creating aliases for shared reflections.", + help: "Disables creating aliases for shared reflections.", type: ParameterType.Boolean, }); options.addDeclaration({ From 53c7deeb5ed204f6d236e9f4298319a256619e83 Mon Sep 17 00:00:00 2001 From: Martin <7252614+Lhoerion@users.noreply.github.com> Date: Sat, 24 Apr 2021 18:57:25 +0200 Subject: [PATCH 5/7] fix: Add missing null check --- src/lib/converter/symbols.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/converter/symbols.ts b/src/lib/converter/symbols.ts index 5daf104da..a98a2ef92 100644 --- a/src/lib/converter/symbols.ts +++ b/src/lib/converter/symbols.ts @@ -713,6 +713,7 @@ function convertAlias( exportSymbol ?? symbol ); } else if ( + !reflection || !context.converter.application.options.getValue("disableAliases") ) { createAlias(reflection, context, symbol, exportSymbol); From 255528142e6ebd8d6687a86528309143d36003cd Mon Sep 17 00:00:00 2001 From: Martin <7252614+Lhoerion@users.noreply.github.com> Date: Sat, 24 Apr 2021 20:00:09 +0200 Subject: [PATCH 6/7] Revert "fix: Add missing null check" This reverts commit 53c7deeb5ed204f6d236e9f4298319a256619e83. --- src/lib/converter/symbols.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib/converter/symbols.ts b/src/lib/converter/symbols.ts index a98a2ef92..5daf104da 100644 --- a/src/lib/converter/symbols.ts +++ b/src/lib/converter/symbols.ts @@ -713,7 +713,6 @@ function convertAlias( exportSymbol ?? symbol ); } else if ( - !reflection || !context.converter.application.options.getValue("disableAliases") ) { createAlias(reflection, context, symbol, exportSymbol); From fc68efac6a0fa652ec70079fdcbc7c87e7071089 Mon Sep 17 00:00:00 2001 From: Martin <7252614+Lhoerion@users.noreply.github.com> Date: Sat, 24 Apr 2021 20:03:14 +0200 Subject: [PATCH 7/7] fix: Move alias switch check --- src/lib/converter/symbols.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/lib/converter/symbols.ts b/src/lib/converter/symbols.ts index 5daf104da..a68c99201 100644 --- a/src/lib/converter/symbols.ts +++ b/src/lib/converter/symbols.ts @@ -705,16 +705,17 @@ function convertAlias( const reflection = context.project.getReflectionFromSymbol( context.resolveAliasedSymbol(symbol) ); - if (!reflection) { + if ( + !reflection || + context.converter.application.options.getValue("disableAliases") + ) { // We don't have this, convert it. convertSymbol( context, context.resolveAliasedSymbol(symbol), exportSymbol ?? symbol ); - } else if ( - !context.converter.application.options.getValue("disableAliases") - ) { + } else { createAlias(reflection, context, symbol, exportSymbol); } }