@forwardslashns/fws-cli
Version:
CLI meant to work together with other Forwardslash boilerplates.
27 lines (22 loc) • 930 B
JavaScript
import { writeFile } from 'fs/promises';
import { getLogMessageInline } from './getLogMessageInline.js';
import { compileTemplate } from './compileTemplate.js';
import { resolve } from 'path';
import { ROLL_BACK } from '../consts/rollBack.js';
export const createFile = (dirName, dirType, tempName, prefix, extension, dirPath, packageMetadata) => {
const template = `temp-${dirType}-${tempName}.txt`;
const fileName = `${prefix + dirName}.${extension}`;
const writeDir = resolve(dirPath, fileName);
const data = {
str: dirName,
};
const output = compileTemplate(template, data, packageMetadata);
writeFile(writeDir, output, 'utf8').catch((exception) => {
ROLL_BACK.files.push(writeDir);
throw exception;
});
getLogMessageInline(
`Created ${extension.toUpperCase()} file: '${fileName}' in dir template-views/${dirType}s/${dirName}'`,
'cyan'
);
};