2024-01-16 15:29:44 +01:00

52 lines
1.2 KiB
TypeScript

import {
addDependenciesToPackageJson,
removeDependenciesFromPackageJson,
runTasksInSerial,
type GeneratorCallback,
type Tree,
} from '@nx/devkit';
import { reactDomVersion, reactVersion } from '@nx/react/src/utils/versions';
import { addGitIgnoreEntry } from '../../utils/add-gitignore-entry';
import { nextVersion, nxVersion } from '../../utils/versions';
import { addPlugin } from './lib/add-plugin';
import type { InitSchema } from './schema';
function updateDependencies(host: Tree, schema: InitSchema) {
const tasks: GeneratorCallback[] = [];
tasks.push(removeDependenciesFromPackageJson(host, ['@nx/next'], []));
tasks.push(
addDependenciesToPackageJson(
host,
{
next: nextVersion,
react: reactVersion,
'react-dom': reactDomVersion,
},
{
'@nx/next': nxVersion,
}
)
);
return runTasksInSerial(...tasks);
}
export async function nextInitGenerator(host: Tree, schema: InitSchema) {
if (process.env.NX_PCV3 === 'true') {
addPlugin(host);
}
addGitIgnoreEntry(host);
let installTask: GeneratorCallback = () => {};
if (!schema.skipPackageJson) {
installTask = updateDependencies(host, schema);
}
return installTask;
}
export default nextInitGenerator;