@nestjs/schematics
Version:
Nest - modern, fast, powerful node.js web framework (@schematics)
22 lines (21 loc) • 692 B
JavaScript
import { join } from '@angular-devkit/core';
export class ModuleFinder {
tree;
constructor(tree) {
this.tree = tree;
}
find(options) {
const generatedDirectoryPath = options.path;
const generatedDirectory = this.tree.getDir(generatedDirectoryPath);
return this.findIn(generatedDirectory);
}
findIn(directory) {
if (!directory) {
return null;
}
const moduleFilename = directory.subfiles.find((filename) => /\.module\.(t|j)s$/.test(filename));
return moduleFilename !== undefined
? join(directory.path, moduleFilename.valueOf())
: this.findIn(directory.parent);
}
}