nx/packages/rollup/src/utils/ensure-dependencies.ts

41 lines
1.0 KiB
TypeScript

import {
addDependenciesToPackageJson,
type GeneratorCallback,
type Tree,
} from '@nx/devkit';
import { swcCoreVersion, swcHelpersVersion } from '@nx/js/src/utils/versions';
import { coreJsVersion, swcLoaderVersion, tsLibVersion } from './versions';
export type EnsureDependenciesOptions = {
compiler?: 'babel' | 'swc' | 'tsc';
};
export function ensureDependencies(
tree: Tree,
options: EnsureDependenciesOptions
): GeneratorCallback {
switch (options.compiler) {
case 'swc':
return addDependenciesToPackageJson(
tree,
{},
{
'@swc/helpers': swcHelpersVersion,
'@swc/core': swcCoreVersion,
'swc-loader': swcLoaderVersion,
}
);
case 'babel':
return addDependenciesToPackageJson(
tree,
{},
{
'core-js': coreJsVersion, // needed for preset-env to work
tslib: tsLibVersion,
}
);
default:
return addDependenciesToPackageJson(tree, {}, { tslib: tsLibVersion });
}
}