generator-begcode
Version:
Spring Boot + Angular/React/Vue in one handy generator
54 lines (53 loc) • 2.07 kB
JavaScript
import chalk from 'chalk';
import { createNeedleCallback } from './base/support/needles.js';
export default class {
generator;
constructor(generator) {
this.generator = generator;
}
get clientSrcDir() {
return this.generator.sharedData.getApplication().clientSrcDir;
}
get clientFramework() {
return this.generator.sharedData.getApplication().clientFramework;
}
addBlockContentToFile(rewriteFileModel, errorMessage) {
const ignoreNonExisting = errorMessage ?? true;
const { path: rewritePath, file } = rewriteFileModel;
let fullPath;
if (rewritePath) {
fullPath = this.generator.destinationPath(rewritePath, file);
}
else {
fullPath = this.generator.destinationPath(file);
}
this.generator.editFile(fullPath, { ignoreNonExisting }, createNeedleCallback({
needle: rewriteFileModel.needle,
contentToAdd: rewriteFileModel.splicable,
contentToCheck: rewriteFileModel.regexp,
ignoreWhitespaces: rewriteFileModel.prettierAware,
autoIndent: false,
}));
}
editFile(fullPath, errorMessage, needleData) {
const ignoreNonExisting = errorMessage ?? true;
this.generator.editFile(fullPath, { ignoreNonExisting }, createNeedleCallback(needleData));
}
logNeedleNotFound(exception, message, fullPath) {
if (!message) {
message = 'File rewrite failed.';
}
this.generator.log(chalk.yellow('\nUnable to find ') + fullPath + chalk.yellow(` or missing required jhipster-needle. ${message}\n`));
this.generator.log.debug('Error:', exception);
}
generateFileModelWithPath(aPath, aFile, needleTag, ...content) {
return Object.assign(this.generateFileModel(aFile, needleTag, ...content), { path: aPath });
}
generateFileModel(aFile, needleTag, ...content) {
return {
file: aFile,
needle: needleTag,
splicable: content,
};
}
}