@nx/rspack
Version:
31 lines (30 loc) • 1.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.normalizeOptions = normalizeOptions;
const project_name_and_root_utils_1 = require("@nx/devkit/src/generators/project-name-and-root-utils");
const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
async function normalizeOptions(host, options) {
await (0, project_name_and_root_utils_1.ensureRootProjectName)(options, 'application');
const { projectName, projectRoot: appProjectRoot, importPath, } = await (0, project_name_and_root_utils_1.determineProjectNameAndRootOptions)(host, {
...options,
projectType: 'application',
});
// --monorepo takes precedence over --rootProject
// This won't be needed once we add --bundler=rspack to the @nx/react:app preset
const rootProject = !options.monorepo && options.rootProject;
const isTsSolutionSetup = (0, ts_solution_setup_1.isUsingTsSolutionSetup)(host);
const appProjectName = !isTsSolutionSetup || options.name ? projectName : importPath;
const e2eProjectName = options.rootProject ? 'e2e' : `${projectName}-e2e`;
const normalized = {
...options,
rootProject,
name: appProjectName,
projectName: appProjectName,
appProjectRoot,
e2eProjectName,
fileName: 'app',
};
normalized.unitTestRunner ??= 'jest';
normalized.e2eTestRunner ??= 'cypress';
return normalized;
}