46 lines
1.1 KiB
TypeScript

import {
addDependenciesToPackageJson,
convertNxGenerator,
formatFiles,
GeneratorCallback,
Tree,
} from '@nrwl/devkit';
import { Schema } from './schema';
import { swcCoreVersion, swcHelpersVersion } from '@nrwl/js/src/utils/versions';
import { swcLoaderVersion, tsLibVersion } from '../../utils/versions';
import { addBabelInputs } from '@nrwl/js/src/utils/add-babel-inputs';
export async function rollupInitGenerator(tree: Tree, schema: Schema) {
let task: GeneratorCallback;
if (schema.compiler === 'babel') {
addBabelInputs(tree);
}
if (schema.compiler === 'swc') {
task = addDependenciesToPackageJson(
tree,
{},
{
'@swc/helpers': swcHelpersVersion,
'@swc/core': swcCoreVersion,
'swc-loader': swcLoaderVersion,
}
);
}
if (schema.compiler === 'tsc') {
task = addDependenciesToPackageJson(tree, {}, { tslib: tsLibVersion });
}
if (!schema.skipFormat) {
await formatFiles(tree);
}
return task;
}
export default rollupInitGenerator;
export const rollupInitSchematic = convertNxGenerator(rollupInitGenerator);