From 7c98df3c997f2bf36f08521680c5b547c21dcb36 Mon Sep 17 00:00:00 2001 From: Chau Tran Date: Tue, 22 Mar 2022 13:42:05 -0500 Subject: [PATCH 1/3] fix(js): add swc/helpers to js packages on converting to swc --- .../convert-to-swc/convert-to-swc.ts | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/packages/js/src/generators/convert-to-swc/convert-to-swc.ts b/packages/js/src/generators/convert-to-swc/convert-to-swc.ts index bc9545cd465d2..ba157a1bf1ce2 100644 --- a/packages/js/src/generators/convert-to-swc/convert-to-swc.ts +++ b/packages/js/src/generators/convert-to-swc/convert-to-swc.ts @@ -1,4 +1,5 @@ import { + addDependenciesToPackageJson, convertNxGenerator, installPackagesTask, ProjectConfiguration, @@ -10,6 +11,7 @@ import { import { join } from 'path'; import { addSwcConfig } from '../../utils/swc/add-swc-config'; import { addSwcDependencies } from '../../utils/swc/add-swc-dependencies'; +import { swcHelpersVersion } from '../../utils/versions'; import { ConvertToSwcGeneratorSchema } from './schema'; export async function convertToSwcGenerator( @@ -25,7 +27,6 @@ export async function convertToSwcGenerator( options.project, options.targets ); - return checkSwcDependencies(tree, projectConfiguration); } @@ -66,10 +67,20 @@ function checkSwcDependencies( ); const packageJson = readJson(tree, 'package.json'); + const projectPackageJsonPath = join( + projectConfiguration.root, + 'package.json' + ); + const projectPackageJson = readJson(tree, projectPackageJsonPath); + const hasSwcDependency = packageJson.dependencies && packageJson.dependencies['@swc/core']; - if (isSwcrcPresent && hasSwcDependency) return; + const hasSwcHelpers = + projectPackageJson.dependencies && + projectPackageJson.dependencies['@swc/helpers']; + + if (isSwcrcPresent && hasSwcDependency && hasSwcHelpers) return; if (!isSwcrcPresent) { addSwcConfig(tree, projectConfiguration.root); @@ -79,6 +90,17 @@ function checkSwcDependencies( addSwcDependencies(tree); } + if (!hasSwcHelpers) { + addDependenciesToPackageJson( + tree, + { + '@swc/helpers': swcHelpersVersion, + }, + {}, + projectPackageJsonPath + ); + } + return () => { if (!hasSwcDependency) { installPackagesTask(tree); From 429c699d129dc69f471b2ffb6b9df5f17acfb4d3 Mon Sep 17 00:00:00 2001 From: Chau Tran Date: Tue, 22 Mar 2022 14:20:28 -0500 Subject: [PATCH 2/3] chore(js): update convert to swc unit test --- packages/js/src/generators/convert-to-swc/convert-to-swc.spec.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/js/src/generators/convert-to-swc/convert-to-swc.spec.ts b/packages/js/src/generators/convert-to-swc/convert-to-swc.spec.ts index af11ae9c2f505..5b4600b2ac4df 100644 --- a/packages/js/src/generators/convert-to-swc/convert-to-swc.spec.ts +++ b/packages/js/src/generators/convert-to-swc/convert-to-swc.spec.ts @@ -47,5 +47,6 @@ describe('convert to swc', () => { ) ).toEqual(true); expect(tree.read('package.json', 'utf-8')).toContain('@swc/core'); + expect(tree.read('libs/tsc-lib/package.json', 'utf-8')).toContain('@swc/helpers'); }); }); From 010f0c3817138deab28e2233061acfc75c396500 Mon Sep 17 00:00:00 2001 From: Chau Tran Date: Tue, 22 Mar 2022 14:38:41 -0500 Subject: [PATCH 3/3] chore(js): format --- .../js/src/generators/convert-to-swc/convert-to-swc.spec.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/js/src/generators/convert-to-swc/convert-to-swc.spec.ts b/packages/js/src/generators/convert-to-swc/convert-to-swc.spec.ts index 5b4600b2ac4df..3e1982b4ca28a 100644 --- a/packages/js/src/generators/convert-to-swc/convert-to-swc.spec.ts +++ b/packages/js/src/generators/convert-to-swc/convert-to-swc.spec.ts @@ -47,6 +47,8 @@ describe('convert to swc', () => { ) ).toEqual(true); expect(tree.read('package.json', 'utf-8')).toContain('@swc/core'); - expect(tree.read('libs/tsc-lib/package.json', 'utf-8')).toContain('@swc/helpers'); + expect(tree.read('libs/tsc-lib/package.json', 'utf-8')).toContain( + '@swc/helpers' + ); }); });