UNPKG

@trumbitta/nx-plugin-openapi

Version:

[![NPM Version](https://badge.fury.io/js/%40trumbitta%2Fnx-plugin-openapi.svg)](https://www.npmjs.com/@trumbitta/nx-plugin-openapi) [![License](https://img.shields.io/npm/l/@trumbitta/nx-plugin-openapi)]()

56 lines 2.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); // Nrwl const devkit_1 = require("@nrwl/devkit"); const run_tasks_in_serial_1 = require("@nrwl/workspace/src/utilities/run-tasks-in-serial"); // Schematics const generator_1 = tslib_1.__importDefault(require("../init/generator")); const projectType = 'library'; function default_1(tree, schema) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const tasks = []; const options = normalizeOptions(schema, tree); // Init const initTask = yield generator_1.default(tree); tasks.push(initTask); // Add Project addProject(tree, options); // Create Files createFiles(tree, options); // Format if (!options.skipFormat) { yield devkit_1.formatFiles(tree); } return run_tasks_in_serial_1.runTasksInSerial(...tasks); }); } exports.default = default_1; function normalizeOptions(options, tree) { var _a; const name = devkit_1.names(options.name).fileName; const projectDirectory = options.directory ? `${devkit_1.names(options.directory).fileName}/${name}` : name; const projectName = projectDirectory.replace(new RegExp('/', 'g'), '-'); const workspaceLayout = (_a = devkit_1.readWorkspaceConfiguration(tree).workspaceLayout) !== null && _a !== void 0 ? _a : { libsDir: 'libs' }; const projectRoot = `${workspaceLayout.libsDir}/${projectDirectory}`; const parsedTags = options.tags ? options.tags.split(',').map((s) => s.trim()) : []; return Object.assign(Object.assign({}, options), { projectName, projectRoot, projectDirectory, parsedTags }); } const addProject = (host, options) => { devkit_1.addProjectConfiguration(host, options.projectName, { root: options.projectRoot, sourceRoot: devkit_1.joinPathFragments(options.projectRoot, 'src'), projectType, targets: {}, tags: options.parsedTags, }); }; function createFiles(host, options) { !options.withSample && host.write(devkit_1.joinPathFragments(options.projectRoot, 'src/.gitkeep'), ''); options.withSample && devkit_1.generateFiles(host, devkit_1.joinPathFragments(__dirname, './files'), options.projectRoot, Object.assign(Object.assign(Object.assign({}, options), devkit_1.names(options.name)), { tmpl: '', offsetFromRoot: devkit_1.offsetFromRoot(options.projectRoot) })); } //# sourceMappingURL=generator.js.map