@nx/next
Version:
97 lines (96 loc) • 4.26 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
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(() => __importStar(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;