nestjs-ddd-cli
Version:
CLI for generating NestJS DDD boilerplate code
96 lines • 3.85 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.prepareTemplateData = prepareTemplateData;
exports.ensureDir = ensureDir;
exports.fileExists = fileExists;
exports.writeFile = writeFile;
exports.readTemplate = readTemplate;
exports.compileTemplate = compileTemplate;
exports.generateFromTemplate = generateFromTemplate;
exports.getModulePath = getModulePath;
const fs = __importStar(require("fs-extra"));
const path = __importStar(require("path"));
const handlebars_1 = __importDefault(require("handlebars"));
const naming_utils_1 = require("./naming.utils");
function prepareTemplateData(entityName, moduleName) {
return {
entityName,
entityNamePascal: (0, naming_utils_1.toPascalCase)(entityName),
entityNameCamel: (0, naming_utils_1.toCamelCase)(entityName),
entityNameKebab: (0, naming_utils_1.toKebabCase)(entityName),
entityNameSnake: (0, naming_utils_1.toSnakeCase)(entityName),
entityNamePlural: (0, naming_utils_1.toPlural)((0, naming_utils_1.toPascalCase)(entityName)),
entityNamePluralKebab: (0, naming_utils_1.toKebabCase)((0, naming_utils_1.toPlural)(entityName)),
tableName: (0, naming_utils_1.toTableName)(entityName),
moduleName,
moduleNameKebab: (0, naming_utils_1.toKebabCase)(moduleName),
};
}
async function ensureDir(dirPath) {
await fs.ensureDir(dirPath);
}
async function fileExists(filePath) {
try {
await fs.access(filePath);
return true;
}
catch {
return false;
}
}
async function writeFile(filePath, content) {
await ensureDir(path.dirname(filePath));
await fs.writeFile(filePath, content, 'utf-8');
}
async function readTemplate(templatePath) {
return fs.readFile(templatePath, 'utf-8');
}
function compileTemplate(template, data) {
const compiledTemplate = handlebars_1.default.compile(template);
return compiledTemplate(data);
}
async function generateFromTemplate(templatePath, outputPath, data) {
const template = await readTemplate(templatePath);
const content = compileTemplate(template, data);
await writeFile(outputPath, content);
}
function getModulePath(basePath, moduleName) {
return path.join(basePath, 'src', 'modules', (0, naming_utils_1.toKebabCase)(moduleName));
}
//# sourceMappingURL=file.utils.js.map