From 68acc5b355d52c185a2f725c87041088cae6cd2a Mon Sep 17 00:00:00 2001 From: Pete Bacon Darwin Date: Wed, 8 Aug 2018 22:10:16 +0100 Subject: [PATCH] feat(ivy): compile all package formats in ngcc (#25406) PR Close #25406 --- integration/ngcc/test.sh | 2 +- packages/compiler-cli/src/ngcc/src/main.ts | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/integration/ngcc/test.sh b/integration/ngcc/test.sh index 8d98c5ebc9..4752d4d765 100755 --- a/integration/ngcc/test.sh +++ b/integration/ngcc/test.sh @@ -4,7 +4,7 @@ set -x PATH=$PATH:$(npm bin) -ivy-ngcc node_modules/@angular/common esm2015 +ivy-ngcc node_modules/@angular/common cp -r node_modules_ngtsc/* node_modules/ ngc -p tsconfig-app.json diff --git a/packages/compiler-cli/src/ngcc/src/main.ts b/packages/compiler-cli/src/ngcc/src/main.ts index 878507821c..b1e8ebc13e 100644 --- a/packages/compiler-cli/src/ngcc/src/main.ts +++ b/packages/compiler-cli/src/ngcc/src/main.ts @@ -9,14 +9,19 @@ import {resolve} from 'path'; import {PackageTransformer} from './transform/package_transformer'; export function mainNgcc(args: string[]): number { - const packagePath = resolve(args[0]); - const format = args[1] || 'fesm2015'; + const packagePaths = args[0] ? [resolve(args[0])] : []; + const formats = args[1] ? [args[1]] : ['fesm2015', 'esm2015', 'fesm5', 'esm5']; // TODO: find all the package types to transform // TODO: error/warning logging/handling etc const transformer = new PackageTransformer(); - transformer.transform(packagePath, format); + packagePaths.forEach(packagePath => { + formats.forEach(format => { + console.warn(`Compiling ${packagePath}:${format}`); + transformer.transform(packagePath, format); + }); + }); return 0; }