Files
oneuptime/Scripts/Install/ReplaceValueInConfig.js
Simon Larsen 19b0a1f2a8 require fs
2023-11-03 16:00:35 +00:00

54 lines
1.3 KiB
JavaScript

// This script merges config.env.tpl to config.env
const fs = require('fs');
const init = () => {
let env = '';
try {
env = fs.readFileSync('./config.env', 'utf8');
} catch (err) {
// do nothing.
}
const envValToReplace = process.argv[2];
if (!envValToReplace) {
// eslint-disable-next-line
console.log('Please have env var to replace');
return;
}
const envValToReplaceWith= process.argv[3];
if (!envValToReplaceWith) {
// eslint-disable-next-line
console.log('Please have env var to replace with');
return;
}
const linesInEnv = env.split('\n');
const linesToRender = [];
let found = false;
for (let line of linesInEnv) {
// this is a comment, ignore.
if (!line.startsWith(envValToReplace)) {
linesToRender.push(line);
} else {
found = true;
const items = line.split('=');
items[1] = envValToReplaceWith;
line = items.join('=');
linesToRender.push(line);
}
}
if (!found) {
linesToRender.push(envValToReplace + '=' + envValToReplaceWith);
}
// write the file back to disk and exit.
fs.writeFileSync('./config.env', linesToRender.join('\n'));
};
init();