diff --git a/packages/compiler-cli/src/ngcc/src/packages/transformer.ts b/packages/compiler-cli/src/ngcc/src/packages/transformer.ts index a1321ec155..455c03d122 100644 --- a/packages/compiler-cli/src/ngcc/src/packages/transformer.ts +++ b/packages/compiler-cli/src/ngcc/src/packages/transformer.ts @@ -62,14 +62,7 @@ export class Transformer { // Create the TS program and necessary helpers. // TODO : create a custom compiler host that reads from .bak files if available. const host = ts.createCompilerHost(options); - let rootDirs: string[]|undefined = undefined; - if (options.rootDirs !== undefined) { - rootDirs = options.rootDirs; - } else if (options.rootDir !== undefined) { - rootDirs = [options.rootDir]; - } else { - rootDirs = [host.getCurrentDirectory()]; - } + const rootDirs = this.getRootDirs(host, options); const entryPointFilePath = entryPoint[format]; if (!entryPointFilePath) { throw new Error( @@ -113,6 +106,16 @@ export class Transformer { writeMarkerFile(entryPoint, format); } + getRootDirs(host: ts.CompilerHost, options: ts.CompilerOptions) { + if (options.rootDirs !== undefined) { + return options.rootDirs; + } else if (options.rootDir !== undefined) { + return [options.rootDir]; + } else { + return [host.getCurrentDirectory()]; + } + } + getHost(isCore: boolean, format: string, program: ts.Program, dtsMapper: DtsMapper): NgccReflectionHost { switch (format) {