UNPKG

@nativescript/nx

Version:

NativeScript Plugin for Nx

49 lines 2.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.applicationGenerator = applicationGenerator; const tslib_1 = require("tslib"); const devkit_1 = require("@nx/devkit"); const js_1 = require("@nx/js"); const utils_1 = require("../../utils"); const app_resources_1 = require("../app-resources/app-resources"); const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup"); const normalize_options_1 = require("./lib/normalize-options"); const target_defaults_utils_1 = require("@nx/devkit/src/generators/target-defaults-utils"); const log_show_project_command_1 = require("@nx/devkit/src/utils/log-show-project-command"); const create_files_1 = require("./lib/create-files"); const project_json_1 = require("./lib/project-json"); const add_linting_1 = require("./lib/add-linting"); function applicationGenerator(tree, schema) { return tslib_1.__awaiter(this, void 0, void 0, function* () { (0, ts_solution_setup_1.assertNotUsingTsSolutionSetup)(tree, 'nativescript', 'application'); if (!schema.directory) { throw new Error((0, utils_1.missingArgument)('name', 'Provide a directory for your NativeScript app.', 'nx g @nativescript/nx:app <directory>')); } const commonOptions = (0, utils_1.preRun)(tree, schema, true); schema = Object.assign(Object.assign({}, schema), (0, utils_1.getAppNamingConvention)(schema, 'nativescript')); const options = yield (0, normalize_options_1.normalizeOptions)(tree, schema); const tasks = []; tasks.push(yield (0, js_1.initGenerator)(tree, Object.assign(Object.assign({}, options), { skipFormat: true }))); (0, target_defaults_utils_1.addBuildTargetDefaults)(tree, options.buildExecutor); (0, devkit_1.addProjectConfiguration)(tree, options.name, (0, project_json_1.getProjectConfiguration)(options)); (0, create_files_1.createFiles)(tree, options); // add extra files per options // if (options.routing && ['angular'].includes(options.framework)) { // createFiles(tree, options, 'routing'); // } // add app resources (0, app_resources_1.appResources)(tree, { path: options.projectRoot, }); tasks.push(yield (0, add_linting_1.addLinting)(tree, options)); (0, utils_1.updatePluginSettings)(tree, options); tasks.push((0, utils_1.updatePluginDependencies)(tree, options)); if (!options.skipFormat) { yield (0, devkit_1.formatFiles)(tree); } tasks.push(() => (0, log_show_project_command_1.logShowProjectCommand)(options.name)); return (0, devkit_1.runTasksInSerial)(...tasks); }); } exports.default = applicationGenerator; //# sourceMappingURL=application.js.map