@nx/rspack
Version:
88 lines (87 loc) • 3.45 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = default_1;
const tslib_1 = require("tslib");
const devkit_1 = require("@nx/devkit");
const package_json_1 = require("nx/package.json");
const configuration_1 = tslib_1.__importDefault(require("../configuration/configuration"));
const init_1 = tslib_1.__importDefault(require("../init/init"));
const normalize_options_1 = require("./lib/normalize-options");
async function default_1(tree, _options) {
const tasks = [];
const initTask = await (0, init_1.default)(tree, {
..._options,
});
tasks.push(initTask);
const options = await (0, normalize_options_1.normalizeOptions)(tree, _options);
options.style ??= 'css';
if (options.framework === 'nest') {
const { applicationGenerator: nestAppGenerator } = (0, devkit_1.ensurePackage)('@nx/nest', package_json_1.version);
const createAppTask = await nestAppGenerator(tree, {
...options,
skipFormat: true,
tags: options.tags ?? '',
addPlugin: false,
});
const convertAppTask = await (0, configuration_1.default)(tree, {
project: options.name,
target: 'node',
newProject: false,
buildTarget: 'build',
framework: 'nest',
});
tasks.push(createAppTask, convertAppTask);
}
else if (options.framework === 'web') {
const { applicationGenerator: webAppGenerator } = (0, devkit_1.ensurePackage)('@nx/web', package_json_1.version);
const createAppTask = await webAppGenerator(tree, {
bundler: 'webpack',
name: options.name,
style: options.style,
directory: options.directory,
tags: options.tags ?? '',
unitTestRunner: options.unitTestRunner,
e2eTestRunner: options.e2eTestRunner,
rootProject: options.rootProject,
skipFormat: true,
addPlugin: false,
});
const convertAppTask = await (0, configuration_1.default)(tree, {
project: options.name,
target: 'web',
newProject: false,
buildTarget: 'build',
serveTarget: 'serve',
framework: 'web',
addPlugin: false,
});
tasks.push(createAppTask, convertAppTask);
}
else {
// default to react
const { applicationGenerator: reactAppGenerator } = (0, devkit_1.ensurePackage)('@nx/react', package_json_1.version);
const createAppTask = await reactAppGenerator(tree, {
bundler: 'webpack',
name: options.name,
style: options.style,
directory: options.directory,
tags: options.tags ?? '',
unitTestRunner: options.unitTestRunner,
e2eTestRunner: options.e2eTestRunner,
rootProject: options.rootProject,
skipFormat: true,
addPlugin: false,
});
const convertAppTask = await (0, configuration_1.default)(tree, {
project: options.name,
target: 'web',
newProject: false,
buildTarget: 'build',
serveTarget: 'serve',
framework: 'react',
});
tasks.push(createAppTask, convertAppTask);
}
await (0, devkit_1.formatFiles)(tree);
return (0, devkit_1.runTasksInSerial)(...tasks);
}