Skip to content

for when you want to log an object but hide certain restricted fields, e.g., password

License

Notifications You must be signed in to change notification settings

bcoe/hide-secrets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hide-secrets

Build Status Coverage Status NPM version js-standard-style

var hide = require('hide-secrets')

var obj = {
  innerObject: {
    password: 'abc123',
    email: 'ben@npmjs.com',
    token: 'my-secret-token'
  },
  auth: '' // empty strings are left empty.
}

console.log(hide(obj))

outputs

{
  innerObject: {
    password: '[SECRET]',
    email: 'ben@npmjs.com',
    token: '[SECRET]'
  },
  auth: ''
}

Currently the following fields are obfuscated by default:

password, pass, token, auth, secret, passphrase.

If you want to override this list of obfuscated terms, simply:

  1. create your own list of terms:

    const badWords = [
      'super-secret-1', 'double-secret-probation'
    ]
  2. pass this as configuration to hide-secrets:

    console.log(hide(obj, {badWords}))

Any keys within obj that are contained within the badWords array will be hidden.

License

ISC

About

for when you want to log an object but hide certain restricted fields, e.g., password

Resources

License

Stars

Watchers

Forks

Packages