fix: hide sensitive info for Buffer
and undefined
This commit is contained in:
parent
cb36dd4890
commit
8b3605dd04
@ -1,11 +1,8 @@
|
|||||||
const {escapeRegExp} = require('lodash');
|
const {escapeRegExp} = require('lodash');
|
||||||
|
|
||||||
const regexp = new RegExp(
|
const toReplace = Object.keys(process.env).filter(envVar => /token|password|credential|secret|private/i.test(envVar));
|
||||||
Object.keys(process.env)
|
const regexp = new RegExp(toReplace.map(envVar => escapeRegExp(process.env[envVar])).join('|'), 'g');
|
||||||
.filter(envVar => /token|password|credential|secret|private/i.test(envVar))
|
|
||||||
.map(envVar => escapeRegExp(process.env[envVar]))
|
|
||||||
.join('|'),
|
|
||||||
'g'
|
|
||||||
);
|
|
||||||
|
|
||||||
module.exports = output => output.replace(regexp, '[secure]');
|
module.exports = output => {
|
||||||
|
return output && toReplace.length > 0 ? output.toString().replace(regexp, '[secure]') : output;
|
||||||
|
};
|
||||||
|
@ -32,3 +32,11 @@ test.serial('Escape regexp special characters', t => {
|
|||||||
'https://user:[secure]@host.com'
|
'https://user:[secure]@host.com'
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test.serial('Accept "undefined" input', t => {
|
||||||
|
t.is(require('../lib/hide-sensitive')(), undefined);
|
||||||
|
});
|
||||||
|
|
||||||
|
test.serial('Return same string if no environment variable has to be replaced', t => {
|
||||||
|
t.is(require('../lib/hide-sensitive')('test'), 'test');
|
||||||
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user