@@ -177,6 +177,16 @@ const inputAsyncArrowFn = tags.stripIndent`
177177 }); })();
178178` ;
179179
180+ const inputDebugInfo = tags . stripIndent `
181+ import { Component } from '@angular/core';
182+ import * as i0 from "@angular/core";
183+ export class TestCmp {
184+ }
185+ TestCmp.ɵfac = function TestCmp_Factory(t) { return new (t || TestCmp)(); };
186+ TestCmp.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TestCmp, selectors: [["test-cmp"]], decls: 0, vars: 0, template: function TestCmp_Template(rf, ctx) { }, encapsulation: 2 });
187+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TestCmp, { className: "TestCmp" }); })();
188+ ` ;
189+
180190describe ( '@ngtools/webpack transformers' , ( ) => {
181191 describe ( 'remove-ivy-dev-calls' , ( ) => {
182192 it ( 'should allow removing only set class metadata with pure annotation' , ( ) => {
@@ -194,7 +204,7 @@ describe('@ngtools/webpack transformers', () => {
194204 ` ;
195205
196206 const result = transform ( input , ( getTypeChecker ) =>
197- removeIvyJitSupportCalls ( true , false , getTypeChecker ) ,
207+ removeIvyJitSupportCalls ( true , false , false , getTypeChecker ) ,
198208 ) ;
199209
200210 expect ( tags . oneLine `${ result } ` ) . toEqual ( tags . oneLine `${ output } ` ) ;
@@ -215,7 +225,7 @@ describe('@ngtools/webpack transformers', () => {
215225 ` ;
216226
217227 const result = transform ( inputNoPure , ( getTypeChecker ) =>
218- removeIvyJitSupportCalls ( true , false , getTypeChecker ) ,
228+ removeIvyJitSupportCalls ( true , false , false , getTypeChecker ) ,
219229 ) ;
220230
221231 expect ( tags . oneLine `${ result } ` ) . toEqual ( tags . oneLine `${ output } ` ) ;
@@ -248,7 +258,7 @@ describe('@ngtools/webpack transformers', () => {
248258 ` ;
249259
250260 const result = transform ( input , ( getTypeChecker ) =>
251- removeIvyJitSupportCalls ( false , true , getTypeChecker ) ,
261+ removeIvyJitSupportCalls ( false , true , false , getTypeChecker ) ,
252262 ) ;
253263
254264 expect ( tags . oneLine `${ result } ` ) . toEqual ( tags . oneLine `${ output } ` ) ;
@@ -281,7 +291,7 @@ describe('@ngtools/webpack transformers', () => {
281291 ` ;
282292
283293 const result = transform ( inputNoPure , ( getTypeChecker ) =>
284- removeIvyJitSupportCalls ( false , true , getTypeChecker ) ,
294+ removeIvyJitSupportCalls ( false , true , false , getTypeChecker ) ,
285295 ) ;
286296
287297 expect ( tags . oneLine `${ result } ` ) . toEqual ( tags . oneLine `${ output } ` ) ;
@@ -299,7 +309,7 @@ describe('@ngtools/webpack transformers', () => {
299309 ` ;
300310
301311 const result = transform ( input , ( getTypeChecker ) =>
302- removeIvyJitSupportCalls ( true , true , getTypeChecker ) ,
312+ removeIvyJitSupportCalls ( true , true , false , getTypeChecker ) ,
303313 ) ;
304314
305315 expect ( tags . oneLine `${ result } ` ) . toEqual ( tags . oneLine `${ output } ` ) ;
@@ -317,23 +327,23 @@ describe('@ngtools/webpack transformers', () => {
317327 ` ;
318328
319329 const result = transform ( inputNoPure , ( getTypeChecker ) =>
320- removeIvyJitSupportCalls ( true , true , getTypeChecker ) ,
330+ removeIvyJitSupportCalls ( true , true , false , getTypeChecker ) ,
321331 ) ;
322332
323333 expect ( tags . oneLine `${ result } ` ) . toEqual ( tags . oneLine `${ output } ` ) ;
324334 } ) ;
325335
326336 it ( 'should allow removing neither set class metadata nor ng module scope with pure annotation' , ( ) => {
327337 const result = transform ( input , ( getTypeChecker ) =>
328- removeIvyJitSupportCalls ( false , false , getTypeChecker ) ,
338+ removeIvyJitSupportCalls ( false , false , false , getTypeChecker ) ,
329339 ) ;
330340
331341 expect ( tags . oneLine `${ result } ` ) . toEqual ( tags . oneLine `${ input } ` ) ;
332342 } ) ;
333343
334344 it ( 'should allow removing neither set class metadata nor ng module scope' , ( ) => {
335345 const result = transform ( inputNoPure , ( getTypeChecker ) =>
336- removeIvyJitSupportCalls ( false , false , getTypeChecker ) ,
346+ removeIvyJitSupportCalls ( false , false , false , getTypeChecker ) ,
337347 ) ;
338348
339349 expect ( tags . oneLine `${ result } ` ) . toEqual ( tags . oneLine `${ inputNoPure } ` ) ;
@@ -364,7 +374,7 @@ describe('@ngtools/webpack transformers', () => {
364374 ` ;
365375
366376 const result = transform ( imports + input , ( getTypeChecker ) =>
367- removeIvyJitSupportCalls ( true , true , getTypeChecker ) ,
377+ removeIvyJitSupportCalls ( true , true , false , getTypeChecker ) ,
368378 ) ;
369379
370380 expect ( tags . oneLine `${ result } ` ) . toEqual ( tags . oneLine `${ output } ` ) ;
@@ -395,7 +405,7 @@ describe('@ngtools/webpack transformers', () => {
395405 ` ;
396406
397407 const result = transform ( imports + inputNoPure , ( getTypeChecker ) =>
398- removeIvyJitSupportCalls ( true , true , getTypeChecker ) ,
408+ removeIvyJitSupportCalls ( true , true , false , getTypeChecker ) ,
399409 ) ;
400410
401411 expect ( tags . oneLine `${ result } ` ) . toEqual ( tags . oneLine `${ output } ` ) ;
@@ -413,7 +423,7 @@ describe('@ngtools/webpack transformers', () => {
413423 ` ;
414424
415425 const result = transform ( inputArrowFnWithBody , ( getTypeChecker ) =>
416- removeIvyJitSupportCalls ( true , true , getTypeChecker ) ,
426+ removeIvyJitSupportCalls ( true , true , false , getTypeChecker ) ,
417427 ) ;
418428
419429 expect ( tags . oneLine `${ result } ` ) . toEqual ( tags . oneLine `${ output } ` ) ;
@@ -431,7 +441,7 @@ describe('@ngtools/webpack transformers', () => {
431441 ` ;
432442
433443 const result = transform ( inputArrowFnWithImplicitReturn , ( getTypeChecker ) =>
434- removeIvyJitSupportCalls ( true , true , getTypeChecker ) ,
444+ removeIvyJitSupportCalls ( true , true , false , getTypeChecker ) ,
435445 ) ;
436446
437447 expect ( tags . oneLine `${ result } ` ) . toEqual ( tags . oneLine `${ output } ` ) ;
@@ -446,7 +456,7 @@ describe('@ngtools/webpack transformers', () => {
446456 ` ;
447457
448458 const result = transform ( inputAsync , ( getTypeChecker ) =>
449- removeIvyJitSupportCalls ( true , false , getTypeChecker ) ,
459+ removeIvyJitSupportCalls ( true , false , false , getTypeChecker ) ,
450460 ) ;
451461
452462 expect ( tags . oneLine `${ result } ` ) . toEqual ( tags . oneLine `${ output } ` ) ;
@@ -461,7 +471,22 @@ describe('@ngtools/webpack transformers', () => {
461471 ` ;
462472
463473 const result = transform ( inputAsyncArrowFn , ( getTypeChecker ) =>
464- removeIvyJitSupportCalls ( true , false , getTypeChecker ) ,
474+ removeIvyJitSupportCalls ( true , false , false , getTypeChecker ) ,
475+ ) ;
476+
477+ expect ( tags . oneLine `${ result } ` ) . toEqual ( tags . oneLine `${ output } ` ) ;
478+ } ) ;
479+
480+ it ( 'should remove setClassDebugInfo calls' , ( ) => {
481+ const output = tags . stripIndent `
482+ import * as i0 from "@angular/core";
483+ export class TestCmp { }
484+ TestCmp.ɵfac = function TestCmp_Factory(t) { return new (t || TestCmp)(); };
485+ TestCmp.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TestCmp, selectors: [["test-cmp"]], decls: 0, vars: 0, template: function TestCmp_Template(rf, ctx) { }, encapsulation: 2 });
486+ ` ;
487+
488+ const result = transform ( inputDebugInfo , ( getTypeChecker ) =>
489+ removeIvyJitSupportCalls ( true , false , true , getTypeChecker ) ,
465490 ) ;
466491
467492 expect ( tags . oneLine `${ result } ` ) . toEqual ( tags . oneLine `${ output } ` ) ;
0 commit comments