From 2f4f28760f011cba65a0932c61e08036151b7415 Mon Sep 17 00:00:00 2001 From: Chau Tran Date: Thu, 23 Feb 2023 09:01:15 -0600 Subject: [PATCH] =?UTF-8?q?fix(js):=20generate=20correct=20build=20options?= =?UTF-8?q?=20for=20rollup=20bundler;=20by=20defaul=E2=80=A6=20(#15184)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/src/generators/library/library.spec.ts | 29 +++++++++++++++++++ packages/js/src/generators/library/library.ts | 9 +++++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/packages/js/src/generators/library/library.spec.ts b/packages/js/src/generators/library/library.spec.ts index 798521edbb..e18ca315a1 100644 --- a/packages/js/src/generators/library/library.spec.ts +++ b/packages/js/src/generators/library/library.spec.ts @@ -810,6 +810,35 @@ describe('lib', () => { }); }); + describe('bundler=rollup', () => { + it('should generate correct options for build', async () => { + await libraryGenerator(tree, { + ...defaultOptions, + name: 'myLib', + buildable: true, + bundler: 'rollup', + }); + + const config = readProjectConfiguration(tree, 'my-lib'); + expect(config.targets.build.options.project).toEqual( + `libs/my-lib/package.json` + ); + }); + + it('should set compiler to swc', async () => { + await libraryGenerator(tree, { + ...defaultOptions, + name: 'myLib', + buildable: true, + bundler: 'rollup', + compiler: 'swc', + }); + + const config = readProjectConfiguration(tree, 'my-lib'); + expect(config.targets.build.options.compiler).toEqual('swc'); + }); + }); + describe('--publishable', () => { it('should generate the build target', async () => { await libraryGenerator(tree, { diff --git a/packages/js/src/generators/library/library.ts b/packages/js/src/generators/library/library.ts index 0b0ef4dd78..62ec892c9f 100644 --- a/packages/js/src/generators/library/library.ts +++ b/packages/js/src/generators/library/library.ts @@ -83,7 +83,7 @@ export async function projectGenerator( }); tasks.push(viteTask); } - if (schema.bundler === 'rollup') { + if (options.bundler === 'rollup') { ensureBabelRootConfigExists(tree); } @@ -160,6 +160,13 @@ function addProject( }, }; + if (options.bundler === 'rollup') { + projectConfiguration.targets.build.options.project = `${options.projectRoot}/package.json`; + if (options.compiler === 'swc') { + projectConfiguration.targets.build.options.compiler = 'swc'; + } + } + if (options.compiler === 'swc' && options.skipTypeCheck) { projectConfiguration.targets.build.options.skipTypeCheck = true; }