diff --git a/packages/bazel/src/ngc-wrapped/index.ts b/packages/bazel/src/ngc-wrapped/index.ts index e78b106454..c0228fe4d8 100644 --- a/packages/bazel/src/ngc-wrapped/index.ts +++ b/packages/bazel/src/ngc-wrapped/index.ts @@ -184,7 +184,7 @@ export function compile({allDepsCompiledWithBazel = true, useManifestPathsAsModu } // Detect from compilerOpts whether the entrypoint is being invoked in Ivy mode. - const isInIvyMode = !!compilerOpts.enableIvy; + const isInIvyMode = compilerOpts.enableIvy === 'ngtsc'; // Disable downleveling and Closure annotation if in Ivy mode. if (isInIvyMode) { @@ -246,18 +246,9 @@ export function compile({allDepsCompiledWithBazel = true, useManifestPathsAsModu files, compilerOpts, bazelOpts, tsHost, fileLoader, generatedFileModuleResolver); } + // Also need to disable decorator downleveling in the BazelHost in Ivy mode. if (isInIvyMode) { - // Also need to disable decorator downleveling in the BazelHost in Ivy mode. bazelHost.transformDecorators = false; - - const delegate = bazelHost.shouldSkipTsickleProcessing.bind(bazelHost); - bazelHost.shouldSkipTsickleProcessing = (fileName: string) => { - // The base implementation of shouldSkipTsickleProcessing checks whether `fileName` is part of - // the original `srcs[]`. For Angular (Ivy) compilations, ngfactory/ngsummary files that are - // shims for original .ts files in the program should be treated identically. Thus, strip the - // '.ngfactory' or '.ngsummary' part of the filename away before calling the delegate. - return delegate(fileName.replace(/\.(ngfactory|ngsummary)\.ts$/, '.ts')); - }; } // Prevent tsickle adding any types at all if we don't want closure compiler annotations. diff --git a/packages/compiler-cli/src/main.ts b/packages/compiler-cli/src/main.ts index 88b2fc37b5..64f03358fb 100644 --- a/packages/compiler-cli/src/main.ts +++ b/packages/compiler-cli/src/main.ts @@ -103,9 +103,8 @@ function createEmitCallback(options: api.CompilerOptions): api.TsEmitCallback|un tsickle.TsickleHost, 'shouldSkipTsickleProcessing'|'pathToModuleName'| 'shouldIgnoreWarningsForPath'|'fileNameToModuleId'|'googmodule'|'untyped'| 'convertIndexImportShorthand'|'transformDecorators'|'transformTypesToClosure'> = { - shouldSkipTsickleProcessing: (fileName) => /\.d\.ts$/.test(fileName) || - // View Engine's generated files were never intended to be processed with tsickle. - (!options.enableIvy && GENERATED_FILES.test(fileName)), + shouldSkipTsickleProcessing: (fileName) => + /\.d\.ts$/.test(fileName) || GENERATED_FILES.test(fileName), pathToModuleName: (context, importPath) => '', shouldIgnoreWarningsForPath: (filePath) => false, fileNameToModuleId: (fileName) => fileName, diff --git a/packages/compiler-cli/test/ngtsc/ngtsc_spec.ts b/packages/compiler-cli/test/ngtsc/ngtsc_spec.ts index 5229a5c9d5..76c840ab42 100644 --- a/packages/compiler-cli/test/ngtsc/ngtsc_spec.ts +++ b/packages/compiler-cli/test/ngtsc/ngtsc_spec.ts @@ -4594,31 +4594,6 @@ runInEachFileSystem(os => { expect(trim(jsContents).startsWith(trim(fileoverview))).toBeTruthy(); }); - it('should be produced for generated factory files', () => { - env.tsconfig({ - 'annotateForClosureCompiler': true, - 'generateNgFactoryShims': true, - }); - env.write(`test.ts`, ` - import {Component} from '@angular/core'; - - @Component({ - template: '
', - }) - export class SomeComp {} - `); - - env.driveMain(); - const jsContents = env.getContents('test.ngfactory.js'); - const fileoverview = ` - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - `; - expect(trim(jsContents).startsWith(trim(fileoverview))).toBeTruthy(); - }); - it('should always be at the very beginning of a script (if placed above imports)', () => { env.tsconfig({ 'annotateForClosureCompiler': true,