diff --git a/scripts/set-user-credentials.js b/scripts/set-user-credentials.js index 839e6c2ff..91b6521c0 100644 --- a/scripts/set-user-credentials.js +++ b/scripts/set-user-credentials.js @@ -1,52 +1,68 @@ /* eslint-disable flowtype/require-valid-file-annotation */ const basePath = process.argv[2]; const fs = require('fs'); const readline = require('readline'); +const Writable = require('stream').Writable; + +let silenceOutput = false; + +const outStream = new Writable({ + write: function (chunk, encoding, callback) { + if (!silenceOutput) { + process.stdout.write(chunk, encoding); + } + callback(); + }, +}); -// Create an interface for reading input const rl = readline.createInterface({ input: process.stdin, - output: process.stdout, + output: outStream, + terminal: true, }); const data = {}; rl.question('username: ', value1 => { data.username = value1; rl.question('password: ', value2 => { - data.password = value2; + silenceOutput = false; + rl.output.write('\n'); + data.password = value2; writeFiles(data); // Close the readline interface rl.close(); }); + + silenceOutput = true; }); function writeFiles(credentials) { try { const userCredentials = { username: credentials.username, password: credentials.password, usingIdentityCredentials: true, }; const userCredentialsJSON = JSON.stringify(userCredentials, null, 2); const keyserverSecrets = `${basePath}/keyserver/secrets`; if (!fs.existsSync(keyserverSecrets)) { fs.mkdirSync(keyserverSecrets); } fs.writeFileSync( `${keyserverSecrets}/user_credentials.json`, userCredentialsJSON, ); } catch (e) { console.error( 'Failure creating configuration files: ' + 'admin data could not be correctly written', ); throw e; } }