gen-jhipster
Version:
VHipster - Spring Boot + Angular/React/Vue in one handy generator
20 lines (19 loc) • 813 B
JavaScript
import { existsSync } from 'node:fs';
import { isAbsolute, join, resolve } from 'node:path';
export const getGeneratorRelativeFolder = (generatorName) => {
generatorName = generatorName.replace('jhipster:', '');
return join('generators', generatorName.split(':').join('/generators/'));
};
export const getGeneratorFolder = (generatorName) => resolve(import.meta.dirname, '../..', getGeneratorRelativeFolder(generatorName));
const getGenerator = (generatorName) => {
if (isAbsolute(generatorName)) {
return generatorName;
}
const generatorFolder = getGeneratorFolder(generatorName);
const resolved = resolve(generatorFolder, 'index.ts');
if (existsSync(resolved)) {
return resolved;
}
return resolve(generatorFolder, 'index.js');
};
export default getGenerator;