UNPKG

@nx/rspack

Version:

The Nx Plugin for Rspack contains executors and generators that support building applications using Rspack.

88 lines (87 loc) 3.45 kB
"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); }