diff --git a/apps/api-extractor/src/generators/ApiReportGenerator.ts b/apps/api-extractor/src/generators/ApiReportGenerator.ts index a18a62fe05..c4db9b49bd 100644 --- a/apps/api-extractor/src/generators/ApiReportGenerator.ts +++ b/apps/api-extractor/src/generators/ApiReportGenerator.ts @@ -21,6 +21,7 @@ import { AstNamespaceImport } from '../analyzer/AstNamespaceImport'; import type { AstEntity } from '../analyzer/AstEntity'; import type { IAstModuleExportInfo } from '../analyzer/AstModule'; import { SourceFileLocationFormatter } from '../analyzer/SourceFileLocationFormatter'; +import { SyntaxHelpers } from '../analyzer/SyntaxHelpers'; import { ExtractorMessageId } from '../api/ExtractorMessageId'; import type { ApiReportVariant } from '../api/IConfigFile'; import type { SymbolMetadata } from '../collector/SymbolMetadata'; @@ -224,7 +225,10 @@ export class ApiReportGenerator { if (collectorEntity.nameForEmit === exportedName) { exportClauses.push(collectorEntity.nameForEmit); } else { - exportClauses.push(`${collectorEntity.nameForEmit} as ${exportedName}`); + const safeExportedName: string = SyntaxHelpers.isSafeUnquotedMemberIdentifier(exportedName) + ? exportedName + : JSON.stringify(exportedName); + exportClauses.push(`${collectorEntity.nameForEmit} as ${safeExportedName}`); } } writer.writeLine(exportClauses.join(',\n')); diff --git a/apps/api-extractor/src/generators/DtsRollupGenerator.ts b/apps/api-extractor/src/generators/DtsRollupGenerator.ts index 9bb69345e0..cf2cc13300 100644 --- a/apps/api-extractor/src/generators/DtsRollupGenerator.ts +++ b/apps/api-extractor/src/generators/DtsRollupGenerator.ts @@ -21,6 +21,7 @@ import type { DeclarationMetadata } from '../collector/DeclarationMetadata'; import { AstNamespaceImport } from '../analyzer/AstNamespaceImport'; import type { IAstModuleExportInfo } from '../analyzer/AstModule'; import { SourceFileLocationFormatter } from '../analyzer/SourceFileLocationFormatter'; +import { SyntaxHelpers } from '../analyzer/SyntaxHelpers'; import type { AstEntity } from '../analyzer/AstEntity'; /** @@ -216,7 +217,10 @@ export class DtsRollupGenerator { if (collectorEntity.nameForEmit === exportedName) { exportClauses.push(collectorEntity.nameForEmit); } else { - exportClauses.push(`${collectorEntity.nameForEmit} as ${exportedName}`); + const safeExportedName: string = SyntaxHelpers.isSafeUnquotedMemberIdentifier(exportedName) + ? exportedName + : JSON.stringify(exportedName); + exportClauses.push(`${collectorEntity.nameForEmit} as ${safeExportedName}`); } } writer.writeLine(exportClauses.join(',\n'));