From 4e6068c8666ff4ecc90bc9f7e69250735e318088 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 2 Jul 2018 13:43:10 -0400 Subject: [PATCH] fix(@angular-devkit/build-optimizer): support object literal methods Fixes: #11399 --- .../src/transforms/prefix-functions.ts | 1 + .../src/transforms/prefix-functions_spec.ts | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions.ts b/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions.ts index 69ebea755218..5a9e2d9ec36e 100644 --- a/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions.ts +++ b/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions.ts @@ -63,6 +63,7 @@ export function findTopLevelFunctions(parentNode: ts.Node): Set { || ts.isFunctionExpression(node) || ts.isClassDeclaration(node) || ts.isArrowFunction(node) + || ts.isMethodDeclaration(node) ) { return; } diff --git a/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions_spec.ts b/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions_spec.ts index 36925cbc60ee..662f69ce9711 100644 --- a/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions_spec.ts +++ b/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions_spec.ts @@ -162,5 +162,21 @@ describe('prefix-functions', () => { expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); }); + + it('doesn\'t add comment when inside object literal method', () => { + const input = tags.stripIndent` + const literal = { + method() { + var newClazz = new Clazz(); + } + }; + `; + const output = tags.stripIndent` + ${emptyImportsComment} + ${input} + `; + + expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); + }); }); });