UNPKG

@nxext/stencil

Version:

Nx plugin for stenciljs

56 lines 2.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.applicationSchematic = exports.applicationGenerator = void 0; const tslib_1 = require("tslib"); const typings_1 = require("./../../utils/typings"); const devkit_1 = require("@nrwl/devkit"); const utillities_1 = require("../../utils/utillities"); const init_1 = require("../init/init"); const path_1 = require("path"); const run_tasks_in_serial_1 = require("@nrwl/workspace/src/utilities/run-tasks-in-serial"); const add_project_1 = require("./lib/add-project"); const add_linting_1 = require("./lib/add-linting"); function normalizeOptions(host, options) { const { appsDir } = (0, devkit_1.getWorkspaceLayout)(host); const projectName = (0, devkit_1.names)(options.name).fileName; const projectDirectory = options.directory ? `${(0, devkit_1.names)(options.directory).fileName}/${projectName}` : projectName; const projectRoot = `${appsDir}/${projectDirectory}`; const parsedTags = options.tags ? options.tags.split(',').map((s) => s.trim()) : []; const style = (0, utillities_1.calculateStyle)(options.style); const appType = typings_1.AppType.application; return Object.assign(Object.assign({}, options), { projectName, projectRoot, projectDirectory, parsedTags, style, appType }); } function createFiles(host, options) { (0, devkit_1.generateFiles)(host, (0, path_1.join)(__dirname, './files/app'), options.projectRoot, Object.assign(Object.assign(Object.assign({}, options), (0, devkit_1.names)(options.name)), { offsetFromRoot: (0, devkit_1.offsetFromRoot)(options.projectRoot) })); if (options.unitTestRunner === 'none') { host.delete(`${options.projectRoot}/src/components/app-home/app-home.spec.ts`); host.delete(`${options.projectRoot}/src/components/app-root/app-root.spec.ts`); host.delete(`${options.projectRoot}/src/components/app-profile/app-profile.spec.ts`); } } function applicationGenerator(host, schema) { return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () { const options = normalizeOptions(host, schema); const initTask = yield (0, init_1.initGenerator)(host, Object.assign(Object.assign({}, options), { skipFormat: true })); createFiles(host, options); (0, add_project_1.addProject)(host, options); const lintTask = yield (0, add_linting_1.addLinting)(host, options); if (!options.skipFormat) { yield (0, devkit_1.formatFiles)(host); } return (0, run_tasks_in_serial_1.runTasksInSerial)(initTask, lintTask); }); } exports.applicationGenerator = applicationGenerator; exports.default = applicationGenerator; exports.applicationSchematic = (0, devkit_1.convertNxGenerator)(applicationGenerator); //# sourceMappingURL=generator.js.map