@nativescript/nx
Version:
NativeScript Plugin for Nx
45 lines • 2.18 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.libraryGenerator = libraryGenerator;
const tslib_1 = require("tslib");
const devkit_1 = require("@nx/devkit");
const utils_1 = require("../../utils");
const js_1 = require("@nx/js");
const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
const normalize_options_1 = require("./lib/normalize-options");
const create_files_1 = require("./lib/create-files");
const update_ts_config_1 = require("./lib/update-ts-config");
function libraryGenerator(tree, schema) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
(0, ts_solution_setup_1.assertNotUsingTsSolutionSetup)(tree, 'nativescript', 'library');
if (!schema.directory) {
throw new Error((0, utils_1.missingArgument)('name', 'Provide a directory for your NativeScript lib.', 'nx g @nativescript/nx:lib <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 = [];
const jsLibGeneratorOptions = {
directory: options.directory,
name: options.name,
skipTsConfig: options.skipTsConfig,
skipFormat: true,
tags: options.tags,
unitTestRunner: options.unitTestRunner,
linter: options.linter,
testEnvironment: options.testEnvironment,
importPath: options.importPath,
pascalCaseFiles: options.pascalCaseFiles,
js: options.js,
};
tasks.push(yield (0, js_1.libraryGenerator)(tree, jsLibGeneratorOptions));
(0, create_files_1.createFiles)(tree, options);
(0, update_ts_config_1.updateTsConfig)(tree, options);
if (!options.skipFormat) {
yield (0, devkit_1.formatFiles)(tree);
}
return (0, devkit_1.runTasksInSerial)(...tasks);
});
}
exports.default = libraryGenerator;
//# sourceMappingURL=library.js.map
;