@nestjs/cli
Version:
Nest - modern, fast, powerful node.js web framework (@cli)
34 lines (33 loc) • 1.46 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.CustomCollection = void 0;
const tools_1 = require("@angular-devkit/schematics/tools");
const abstract_collection_1 = require("./abstract.collection");
class CustomCollection extends abstract_collection_1.AbstractCollection {
getSchematics() {
const workflow = new tools_1.NodeWorkflow(process.cwd(), {});
const collection = workflow.engine.createCollection(this.collection);
const collectionDescriptions = [
collection.description,
...(collection.baseDescriptions ?? []),
];
const usedNames = new Set();
const schematics = [];
for (const collectionDesc of collectionDescriptions) {
const schematicsDescs = Object.entries(collectionDesc.schematics);
for (const [name, { description, aliases = [] }] of schematicsDescs) {
if (usedNames.has(name)) {
continue;
}
usedNames.add(name);
const alias = aliases.find((a) => !usedNames.has(a)) ?? name;
for (const alias of aliases) {
usedNames.add(alias);
}
schematics.push({ name, alias, description });
}
}
return schematics.sort((a, b) => a.name < b.name ? -1 : a.name > b.name ? 1 : 0);
}
}
exports.CustomCollection = CustomCollection;
;