@nestjs-mod/schematics
Version:
The Nx Plugin for NestJS that contains executors and generators for allowing your workspace to create NestJS-mod applications
44 lines • 2.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.applicationGenerator = applicationGenerator;
exports.applicationGeneratorInternal = applicationGeneratorInternal;
const devkit_1 = require("@nx/devkit");
const node_1 = require("@nx/node");
const init_1 = require("../init/init");
const add_custom_1 = require("../init/lib/add-custom");
const add_project_1 = require("./lib/add-project");
const create_files_1 = require("./lib/create-files");
const ensure_dependencies_1 = require("./lib/ensure-dependencies");
const normalize_options_1 = require("./lib/normalize-options");
const update_tsconfig_1 = require("./lib/update-tsconfig");
async function applicationGenerator(tree, rawOptions) {
return await applicationGeneratorInternal(tree, {
...rawOptions,
});
}
async function applicationGeneratorInternal(tree, rawOptions) {
const options = await (0, normalize_options_1.normalizeOptionsApp)(tree, rawOptions);
const tasks = [];
const initTask = await (0, init_1.initGenerator)(tree, {
skipPackageJson: options.skipPackageJson,
skipFormat: true,
});
tasks.push(initTask);
const nodeApplicationTask = await (0, node_1.applicationGenerator)(tree, (0, normalize_options_1.toNodeApplicationGeneratorOptions)(options));
tasks.push(nodeApplicationTask);
(0, create_files_1.createFiles)(tree, options);
await (0, add_custom_1.addEnvFile)(tree, rawOptions.name || '');
(0, add_custom_1.addScript)(tree, rawOptions.name);
(0, add_custom_1.addAppPackageJsonFile)(tree, rawOptions.name || '', options.directory);
(0, update_tsconfig_1.updateTsConfig)(tree, options);
(0, add_project_1.addProject)(tree, options);
if (!options.skipPackageJson) {
tasks.push((0, ensure_dependencies_1.ensureDependencies)(tree));
}
if (!options.skipFormat) {
await (0, devkit_1.formatFiles)(tree);
}
return (0, devkit_1.runTasksInSerial)(...tasks);
}
exports.default = applicationGenerator;
//# sourceMappingURL=application.js.map