UNPKG

@nx/nest

Version:

The Nx Plugin for Nest contains executors and generators for allowing your workspace to create powerful Nest best in class APIs.

51 lines (50 loc) 2.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeOptions = normalizeOptions; exports.toNodeApplicationGeneratorOptions = toNodeApplicationGeneratorOptions; const devkit_1 = require("@nx/devkit"); const internal_1 = require("@nx/devkit/internal"); const internal_2 = require("@nx/js/internal"); async function normalizeOptions(tree, options) { await (0, internal_1.ensureRootProjectName)(options, 'application'); const { projectName: appProjectName, projectRoot: appProjectRoot } = await (0, internal_1.determineProjectNameAndRootOptions)(tree, { name: options.name, projectType: 'application', directory: options.directory, rootProject: options.rootProject, }); options.rootProject = appProjectRoot === '.'; const nxJson = (0, devkit_1.readNxJson)(tree); const addPlugin = process.env.NX_ADD_PLUGINS !== 'false' && nxJson.useInferencePlugins !== false; return { addPlugin, ...options, strict: options.strict ?? false, appProjectName, appProjectRoot, linter: options.linter ?? 'eslint', unitTestRunner: options.unitTestRunner ?? 'jest', e2eTestRunner: options.e2eTestRunner ?? 'jest', useProjectJson: options.useProjectJson ?? !(0, internal_2.isUsingTsSolutionSetup)(tree), }; } function toNodeApplicationGeneratorOptions(options) { return { name: options.name, directory: options.directory, frontendProject: options.frontendProject, linter: options.linter, skipFormat: true, skipPackageJson: options.skipPackageJson, tags: options.tags, unitTestRunner: options.unitTestRunner, e2eTestRunner: options.e2eTestRunner, setParserOptionsProject: options.setParserOptionsProject, rootProject: options.rootProject, bundler: 'webpack', // Some features require webpack plugins such as TS transformers isNest: true, addPlugin: options.addPlugin, useProjectJson: options.useProjectJson, }; }