X-Git-Url: https://git.josue.xyz/?a=blobdiff_plain;f=_webi%2Freleases.js;h=6740fafd9239961f7ffcdf4dd59dc8b3b14a2d3e;hb=2e5ea286d323154705917f29a5844e91217e9236;hp=31f3b59576dd59031ddeff658157ae91669dcebc;hpb=170a124b0eea64435c8e5814d90a2df3c02b7e95;p=webi-installers%2F.git diff --git a/_webi/releases.js b/_webi/releases.js index 31f3b59..6740faf 100644 --- a/_webi/releases.js +++ b/_webi/releases.js @@ -5,6 +5,8 @@ var path = require('path'); var request = require('@root/request'); var _normalize = require('../_webi/normalize.js'); +var reInstallTpl = /\s*#?\s*{{ installer }}/; + var Releases = module.exports; Releases.get = async function (pkgdir) { var get; @@ -18,6 +20,10 @@ Releases.get = async function (pkgdir) { }); }; +function padScript(txt) { + return txt.replace(/^/g, ' '); +} + Releases.renderBash = function ( pkgdir, rel, @@ -32,6 +38,7 @@ Releases.renderBash = function ( return fs.promises .readFile(path.join(pkgdir, 'install.sh'), 'utf8') .then(function (installTxt) { + installTxt = padScript(installTxt); var vers = rel.version.split('.'); var v = { major: vers.shift() || '', @@ -136,7 +143,7 @@ Releases.renderBash = function ( /^\s*#?PKG_FORMATS=.*/m, "PKG_FORMATS='" + ((rel && rel.formats) || []).join(',') + "'" ) - .replace(/{{ installer }}/, installTxt) + .replace(reInstallTpl, '\n' + installTxt) ); }); }); @@ -156,16 +163,19 @@ Releases.renderBatch = function ( return fs.promises .readFile(path.join(pkgdir, 'install.bat'), 'utf8') .then(function (installTxt) { + installTxt = padScript(installTxt); + /* var vers = rel.version.split('.'); var v = { major: vers.shift() || '', minor: vers.shift() || '', - patch: vers.join('.').replace(/[+\-].*/, ''), + patch: vers.join('.').replace(/[+\-].*$/, ''), build: vers .join('.') - .replace(/[^+\-]*/, '') + .replace(/[^+\-]*()/, '') .replace(/^-/, '') }; + */ return fs.promises .readFile(path.join(__dirname, 'template.bat'), 'utf8') .then(function (tplTxt) { @@ -174,7 +184,7 @@ Releases.renderBatch = function ( /^(REM )?WEBI_PKG=.*/im, "WEBI_PKG='" + pkg + '@' + ver + "'" ) - .replace(/{{ installer }}/, installTxt); + .replace(reInstallTpl, '\n' + installTxt); }); }); }; @@ -193,16 +203,19 @@ Releases.renderPowerShell = function ( return fs.promises .readFile(path.join(pkgdir, 'install.ps1'), 'utf8') .then(function (installTxt) { + installTxt = padScript(installTxt); + /* var vers = rel.version.split('.'); var v = { major: vers.shift() || '', minor: vers.shift() || '', - patch: vers.join('.').replace(/[+\-].*/, ''), + patch: vers.join('.').replace(/[+\-].*$/, ''), build: vers .join('.') - .replace(/[^+\-]*/, '') + .replace(/[^+\-]*()/, '') .replace(/^-/, '') }; + */ return fs.promises .readFile(path.join(__dirname, 'template.ps1'), 'utf8') .then(function (tplTxt) { @@ -232,7 +245,7 @@ Releases.renderPowerShell = function ( /^(#)?\$Env:WEBI_PKG_FILE\s*=.*/im, "$Env:WEBI_PKG_FILE = '" + rel.name + "'" ) - .replace(/{{ installer }}/, installTxt); + .replace(reInstallTpl, '\n' + installTxt); }); }); };