From bb9d68c6338accceb5df78ea7209c50d4acf478c Mon Sep 17 00:00:00 2001 From: Stefano D'Angelo Date: Wed, 4 Jun 2025 11:33:36 +0200 Subject: [PATCH] extended file copy/generation api to allow chmod --- tibia | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tibia b/tibia index 9dd986d..fa6e688 100755 --- a/tibia +++ b/tibia @@ -115,21 +115,27 @@ var doT = require("dot"); doT.templateSettings.strip = false; var api = { - generateFileFromTemplateFile: function (templateFile, outFile, data) { + generateFileFromTemplateFile: function (templateFile, outFile, data, mode) { if (!outputData) return; var dir = outputDir + path.sep + path.dirname(outFile); fs.mkdirSync(dir, { recursive: true }); var t = doT.template(fs.readFileSync(template + path.sep + templateFile, { encoding: "utf-8" })); - fs.writeFileSync(outputDir + path.sep + outFile, t(data), { encoding: "utf-8" }); + var outputFile = outputDir + path.sep + outFile; + fs.writeFileSync(outputFile, t(data), { encoding: "utf-8" }); + if (mode !== undefined) + fs.chmodSync(outputFile, mode); }, - copyFile: function (inFile, outFile) { + copyFile: function (inFile, outFile, mode) { if (!outputCommon) return; var dir = outputDir + path.sep + path.dirname(outFile); fs.mkdirSync(dir, { recursive: true }); - fs.copyFileSync(template + path.sep + inFile, outputDir + path.sep + outFile); + var outputFile = outputDir + path.sep + outFile; + fs.copyFileSync(template + path.sep + inFile, outputFile); + if (mode !== undefined) + fs.chmodSync(outputFile, mode); }, templateDir: template