From 1e978f42b0f93b85311b1de10abe56117970abc6 Mon Sep 17 00:00:00 2001 From: Chau Tran Date: Tue, 22 Mar 2022 15:10:04 -0500 Subject: [PATCH] fix(js): add swc/helpers to js packages on converting to swc (#9467) * fix(js): add swc/helpers to js packages on converting to swc * chore(js): update convert to swc unit test * chore(js): format Co-authored-by: Chau Tran --- .../convert-to-swc/convert-to-swc.spec.ts | 3 +++ .../convert-to-swc/convert-to-swc.ts | 26 +++++++++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) 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..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,5 +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' + ); }); }); 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);