@nx/next
Version:
64 lines (63 loc) • 2.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.nextInitGenerator = nextInitGenerator;
exports.nextInitGeneratorInternal = nextInitGeneratorInternal;
const devkit_1 = require("@nx/devkit");
const add_plugin_1 = require("@nx/devkit/src/utils/add-plugin");
const version_utils_1 = require("@nx/react/src/utils/version-utils");
const add_gitignore_entry_1 = require("../../utils/add-gitignore-entry");
const versions_1 = require("../../utils/versions");
const version_utils_2 = require("../../utils/version-utils");
async function updateDependencies(host, schema) {
const tasks = [];
tasks.push((0, devkit_1.removeDependenciesFromPackageJson)(host, ['@nx/next'], []));
const versions = await (0, version_utils_2.getNextDependenciesVersionsToInstall)(host, await (0, version_utils_1.isReact18)(host));
const reactVersions = await (0, version_utils_1.getReactDependenciesVersionsToInstall)(host);
tasks.push((0, devkit_1.addDependenciesToPackageJson)(host, {
next: versions.next,
react: reactVersions.react,
'react-dom': reactVersions['react-dom'],
}, {
'@nx/next': versions_1.nxVersion,
}, undefined, schema.keepExistingVersions));
return (0, devkit_1.runTasksInSerial)(...tasks);
}
function nextInitGenerator(tree, schema) {
return nextInitGeneratorInternal(tree, { addPlugin: false, ...schema });
}
async function nextInitGeneratorInternal(host, schema) {
const nxJson = (0, devkit_1.readNxJson)(host);
const addPluginDefault = process.env.NX_ADD_PLUGINS !== 'false' &&
nxJson.useInferencePlugins !== false;
schema.addPlugin ??= addPluginDefault;
if (schema.addPlugin) {
const { createNodesV2 } = await Promise.resolve().then(() => require('../../plugins/plugin'));
await (0, add_plugin_1.addPlugin)(host, await (0, devkit_1.createProjectGraphAsync)(), '@nx/next/plugin', createNodesV2, {
startTargetName: ['start', 'next:start', 'next-start'],
buildTargetName: ['build', 'next:build', 'next-build'],
devTargetName: ['dev', 'next:dev', 'next-dev'],
serveStaticTargetName: [
'serve-static',
'next:serve-static',
'next-serve-static',
],
buildDepsTargetName: [
'build-deps',
'next:build-deps',
'next-build-deps',
],
watchDepsTargetName: [
'watch-deps',
'next:watch-deps',
'next-watch-deps',
],
}, schema.updatePackageScripts);
}
(0, add_gitignore_entry_1.addGitIgnoreEntry)(host);
let installTask = () => { };
if (!schema.skipPackageJson) {
installTask = await updateDependencies(host, schema);
}
return installTask;
}
exports.default = nextInitGenerator;