@rxap/plugin-library
Version:
This package provides generators and executors for managing and maintaining Nx plugin libraries. It includes functionality for generating index exports, fixing dependencies, generating JSON schemas, and more. It helps streamline the development process fo
54 lines • 2.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.initGenerator = initGenerator;
const tslib_1 = require("tslib");
const devkit_1 = require("@nx/devkit");
const utilities_1 = require("@rxap/utilities");
const workspace_utilities_1 = require("@rxap/workspace-utilities");
const init_project_1 = require("./init-project");
const init_workspace_1 = require("./init-workspace");
require("colors");
function skipProject(tree, options, project, projectName) {
if (options.project === projectName) {
return false;
}
if (projectName === options.project) {
return false;
}
if ((0, workspace_utilities_1.SkipNonLibraryProject)(tree, options, project, projectName)) {
return true;
}
return false;
}
function initGenerator(tree, options) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
var _a, _b, _c;
(_a = options.project) !== null && _a !== void 0 ? _a : (options.project = undefined);
(_b = options.projects) !== null && _b !== void 0 ? _b : (options.projects = []);
if (options.project) {
(0, utilities_1.CoerceArrayItems)(options.projects, [options.project]);
}
if (options.indexExport !== undefined) {
(_c = options.targets) !== null && _c !== void 0 ? _c : (options.targets = {});
options.targets.indexExport = options.indexExport;
delete options.indexExport;
}
console.log('library init generator:', options);
(0, init_workspace_1.initWorkspace)(tree, options);
if (!options.skipProjects) {
for (const [projectName, project] of (0, devkit_1.getProjects)(tree).entries()) {
if (skipProject(tree, options, project, projectName)) {
continue;
}
(0, workspace_utilities_1.GenerateSerializedSchematicFile)(tree, (0, workspace_utilities_1.GetProjectRoot)(tree, projectName), '@rxap/plugin-library', 'init', (0, utilities_1.DeleteProperties)(options, ['project', 'projects', 'overwrite', 'skipProjects']));
yield (0, init_project_1.initProject)(tree, projectName, project, options);
(0, devkit_1.updateProjectConfiguration)(tree, projectName, project);
}
}
if (!options.skipFormat) {
yield (0, devkit_1.formatFiles)(tree);
}
});
}
exports.default = initGenerator;
//# sourceMappingURL=generator.js.map