===========================================================
                                      .___ __  __   
          _________________  __ __  __| _/|__|/  |_ 
         / ___\_` __ \__  \ |  |  \/ __ | | \\_  __\
        / /_/  >  | \// __ \|  |  / /_/ | |  ||  |  
        \___  /|__|  (____  /____/\____ | |__||__|  
       /_____/            \/           \/           
              grep rough audit - static analysis tool
                  v2.8 written by @Wireghoul
=================================[justanotherhacker.com]===
node-ssri-8.0.0/README.md-9-
node-ssri-8.0.0/README.md:10:`$ npm install --save ssri`
node-ssri-8.0.0/README.md-11-
##############################################
node-ssri-8.0.0/index.js-27-const getOptString = options => !options || !options.length ? ''
node-ssri-8.0.0/index.js:28:  : `?${options.join('?')}`
node-ssri-8.0.0/index.js-29-
##############################################
node-ssri-8.0.0/index.js-80-    const newSri = parse(this.hashes.map((h, i) => {
node-ssri-8.0.0/index.js:81:      return `${this.algorithms[i]}-${h.digest('base64')}${this.optString}`
node-ssri-8.0.0/index.js-82-    }).join(' '), this.opts)
##############################################
node-ssri-8.0.0/index.js-85-    if (typeof this.expectedSize === 'number' && this.size !== this.expectedSize) {
node-ssri-8.0.0/index.js:86:      const err = new Error(`stream size mismatch when checking ${this.sri}.\n  Wanted: ${this.expectedSize}\n  Found: ${this.size}`)
node-ssri-8.0.0/index.js-87-      err.code = 'EBADSIZE'
##############################################
node-ssri-8.0.0/index.js-92-    } else if (this.sri && !match) {
node-ssri-8.0.0/index.js:93:      const err = new Error(`${this.sri} integrity checksum failed when using ${this.algorithm}: wanted ${this.digests} but got ${newSri}. (${this.size} bytes)`)
node-ssri-8.0.0/index.js-94-      err.code = 'EINTEGRITY'
##############################################
node-ssri-8.0.0/index.js-169-    const options = this.options && this.options.length
node-ssri-8.0.0/index.js:170:      ? `?${this.options.join('?')}`
node-ssri-8.0.0/index.js-171-      : ''
node-ssri-8.0.0/index.js:172:    return `${this.algorithm}-${this.digest}${options}`
node-ssri-8.0.0/index.js-173-  }
##############################################
node-ssri-8.0.0/index.js-204-      : stringify(integrity, opts)
node-ssri-8.0.0/index.js:205:    return parse(`${this.toString(opts)} ${other}`, opts)
node-ssri-8.0.0/index.js-206-  }
##############################################
node-ssri-8.0.0/index.js-318-    const hash = new Hash(
node-ssri-8.0.0/index.js:319:      `${algo}-${digest}${optString}`,
node-ssri-8.0.0/index.js-320-      opts
##############################################
node-ssri-8.0.0/index.js-370-  } else if (typeof opts.size === 'number' && (data.length !== opts.size)) {
node-ssri-8.0.0/index.js:371:    const err = new Error(`data size mismatch when checking ${sri}.\n  Wanted: ${opts.size}\n  Found: ${data.length}`)
node-ssri-8.0.0/index.js-372-    err.code = 'EBADSIZE'
##############################################
node-ssri-8.0.0/index.js-377-  } else {
node-ssri-8.0.0/index.js:378:    const err = new Error(`Integrity checksum failed when using ${algorithm}: Wanted ${sri}, but got ${newSri}. (${data.length} bytes)`)
node-ssri-8.0.0/index.js-379-    err.code = 'EINTEGRITY'
##############################################
node-ssri-8.0.0/index.js-433-        const hash = new Hash(
node-ssri-8.0.0/index.js:434:          `${algo}-${digest}${optString}`,
node-ssri-8.0.0/index.js-435-          opts
##############################################
node-ssri-8.0.0/test/check.js-34-  t.deepEqual(
node-ssri-8.0.0/test/check.js:35:    ssri.checkData(TEST_DATA, `sha512-${hash(TEST_DATA, 'sha512')}`),
node-ssri-8.0.0/test/check.js-36-    meta,
##############################################
node-ssri-8.0.0/test/check.js-54-      TEST_DATA,
node-ssri-8.0.0/test/check.js:55:      `sha512-nope sha512-${hash(TEST_DATA, 'sha512')}`
node-ssri-8.0.0/test/check.js-56-    ),
##############################################
node-ssri-8.0.0/test/check.js-92-      'sha512-nope',
node-ssri-8.0.0/test/check.js:93:      `sha1-${hash(TEST_DATA, 'sha1')}`,
node-ssri-8.0.0/test/check.js:94:      `sha512-${hash(TEST_DATA, 'sha512')}`
node-ssri-8.0.0/test/check.js-95-    ].join(' '), {
##############################################
node-ssri-8.0.0/test/check.js-107-    ssri.checkData(TEST_DATA, [
node-ssri-8.0.0/test/check.js:108:      `sha256-${hash(TEST_DATA, 'sha256')}`,
node-ssri-8.0.0/test/check.js:109:      `sha1-${hash(TEST_DATA, 'sha1')}`,
node-ssri-8.0.0/test/check.js:110:      `sha512-${hash(TEST_DATA, 'sha512')}`
node-ssri-8.0.0/test/check.js-111-    ].join(' '), {
##############################################
node-ssri-8.0.0/test/check.js-123-    ssri.checkData(TEST_DATA, [
node-ssri-8.0.0/test/check.js:124:      `sha1-${hash(TEST_DATA, 'sha1')}`,
node-ssri-8.0.0/test/check.js:125:      `sha384-${hash(TEST_DATA, 'sha384')}`,
node-ssri-8.0.0/test/check.js:126:      `sha256-${hash(TEST_DATA, 'sha256')}`
node-ssri-8.0.0/test/check.js-127-    ].join(' ')),
##############################################
node-ssri-8.0.0/test/check.js-148-      fileStream(),
node-ssri-8.0.0/test/check.js:149:      `sha512-${hash(TEST_DATA, 'sha512')}`
node-ssri-8.0.0/test/check.js-150-    )
##############################################
node-ssri-8.0.0/test/check.js-160-      fileStream(),
node-ssri-8.0.0/test/check.js:161:      `sha512-nope sha512-${hash(TEST_DATA, 'sha512')}`
node-ssri-8.0.0/test/check.js-162-    )
##############################################
node-ssri-8.0.0/test/check.js-197-      'sha512-nope',
node-ssri-8.0.0/test/check.js:198:      `sha1-${hash(TEST_DATA, 'sha1')}`,
node-ssri-8.0.0/test/check.js:199:      `sha512-${hash(TEST_DATA, 'sha512')}`
node-ssri-8.0.0/test/check.js-200-    ].join(' '), {
##############################################
node-ssri-8.0.0/test/check.js-213-    return ssri.checkStream(fileStream(), [
node-ssri-8.0.0/test/check.js:214:      `sha1-${hash(TEST_DATA, 'sha1')}`,
node-ssri-8.0.0/test/check.js:215:      `sha384-${hash(TEST_DATA, 'sha384')}`,
node-ssri-8.0.0/test/check.js:216:      `sha256-${hash(TEST_DATA, 'sha256')}`
node-ssri-8.0.0/test/check.js-217-    ].join(' '))
##############################################
node-ssri-8.0.0/test/check.js-226-    return ssri.checkStream(fileStream(), [
node-ssri-8.0.0/test/check.js:227:      `sha1-${hash(TEST_DATA, 'sha1')}`,
node-ssri-8.0.0/test/check.js:228:      `sha384-${hash(TEST_DATA, 'sha384')}`,
node-ssri-8.0.0/test/check.js:229:      `sha256-${hash(TEST_DATA, 'sha256')}`
node-ssri-8.0.0/test/check.js-230-    ].join(' '), {
##############################################
node-ssri-8.0.0/test/check.js-241-    return ssri.checkStream(fileStream(), [
node-ssri-8.0.0/test/check.js:242:      `sha1-${hash(TEST_DATA, 'sha1')}`,
node-ssri-8.0.0/test/check.js:243:      `sha384-${hash(TEST_DATA, 'sha384')}`,
node-ssri-8.0.0/test/check.js:244:      `sha256-${hash(TEST_DATA, 'sha256')}`
node-ssri-8.0.0/test/check.js-245-    ].join(' '), {
##############################################
node-ssri-8.0.0/test/check.js-256-    return ssri.checkStream(
node-ssri-8.0.0/test/check.js:257:      fileStream(), `sha256-${hash(TEST_DATA, 'sha256')}`, {
node-ssri-8.0.0/test/check.js-258-        size: TEST_DATA.length - 1
##############################################
node-ssri-8.0.0/test/from.js-35-    ssri.fromData(TEST_DATA).toString(),
node-ssri-8.0.0/test/from.js:36:    `sha512-${hash(TEST_DATA, 'sha512')}`,
node-ssri-8.0.0/test/from.js-37-    'generates sha512 integrity object from Buffer data'
##############################################
node-ssri-8.0.0/test/from.js-40-    ssri.fromData(TEST_DATA.toString('utf8')).toString(),
node-ssri-8.0.0/test/from.js:41:    `sha512-${hash(TEST_DATA, 'sha512')}`,
node-ssri-8.0.0/test/from.js-42-    'generates sha512 integrity object from String data'
##############################################
node-ssri-8.0.0/test/from.js-45-    ssri.fromData(TEST_DATA, { algorithms: ['sha256', 'sha384'] }).toString(),
node-ssri-8.0.0/test/from.js:46:    `sha256-${hash(TEST_DATA, 'sha256')} sha384-${hash(TEST_DATA, 'sha384')}`,
node-ssri-8.0.0/test/from.js-47-    'can generate multiple metadata entries with opts.algorithms'
##############################################
node-ssri-8.0.0/test/from.js-53-    }).toString(), [
node-ssri-8.0.0/test/from.js:54:      `sha256-${hash(TEST_DATA, 'sha256')}?foo?bar`,
node-ssri-8.0.0/test/from.js:55:      `sha384-${hash(TEST_DATA, 'sha384')}?foo?bar`
node-ssri-8.0.0/test/from.js-56-    ].join(' '),
##############################################
node-ssri-8.0.0/test/from.js-67-      integrity.toString(),
node-ssri-8.0.0/test/from.js:68:      `sha512-${hash(TEST_DATA, 'sha512')}`,
node-ssri-8.0.0/test/from.js-69-      'generates sha512 from a stream'
##############################################
node-ssri-8.0.0/test/from.js-77-      integrity.toString(), [
node-ssri-8.0.0/test/from.js:78:        `sha256-${hash(TEST_DATA, 'sha256')}`,
node-ssri-8.0.0/test/from.js:79:        `sha384-${hash(TEST_DATA, 'sha384')}`
node-ssri-8.0.0/test/from.js-80-      ].join(' '),
##############################################
node-ssri-8.0.0/test/from.js-89-      integrity.toString(), [
node-ssri-8.0.0/test/from.js:90:        `sha256-${hash(TEST_DATA, 'sha256')}?foo?bar`,
node-ssri-8.0.0/test/from.js:91:        `sha384-${hash(TEST_DATA, 'sha384')}?foo?bar`
node-ssri-8.0.0/test/from.js-92-      ].join(' '),
##############################################
node-ssri-8.0.0/test/parse.js-16-  const sha = hash(TEST_DATA, 'sha512')
node-ssri-8.0.0/test/parse.js:17:  const integrity = `sha512-${sha}`
node-ssri-8.0.0/test/parse.js-18-  t.deepEqual(ssri.parse(integrity), {
##############################################
node-ssri-8.0.0/test/parse.js-30-  const sha = hash(TEST_DATA, 'sha512')
node-ssri-8.0.0/test/parse.js:31:  const integrity = `sha512-${sha}`
node-ssri-8.0.0/test/parse.js-32-  t.deepEqual(ssri.parse(integrity, { single: true }), {
##############################################
node-ssri-8.0.0/test/parse.js-51-    sha512: [{
node-ssri-8.0.0/test/parse.js:52:      source: `sha512-${digest}?foo`,
node-ssri-8.0.0/test/parse.js-53-      algorithm,
##############################################
node-ssri-8.0.0/test/parse.js-63-
node-ssri-8.0.0/test/parse.js:64:  t.match(ssri.parse(`foo-${hash}`, {
node-ssri-8.0.0/test/parse.js-65-    strict: true,
##############################################
node-ssri-8.0.0/test/parse.js-67-  }), {
node-ssri-8.0.0/test/parse.js:68:    source: `foo-${hash}`,
node-ssri-8.0.0/test/parse.js-69-    algorithm: '',
##############################################
node-ssri-8.0.0/test/parse.js-73-
node-ssri-8.0.0/test/parse.js:74:  t.match(ssri.parse(`foo-${hash}`, {
node-ssri-8.0.0/test/parse.js-75-    strict: false,
##############################################
node-ssri-8.0.0/test/parse.js-77-  }), {
node-ssri-8.0.0/test/parse.js:78:    source: `foo-${hash}`,
node-ssri-8.0.0/test/parse.js-79-    algorithm: 'foo',
##############################################
node-ssri-8.0.0/test/parse.js-83-
node-ssri-8.0.0/test/parse.js:84:  t.match(ssri.parse(`sha512-${hash}`, {
node-ssri-8.0.0/test/parse.js-85-    strict: true,
##############################################
node-ssri-8.0.0/test/parse.js-87-  }), {
node-ssri-8.0.0/test/parse.js:88:    source: `sha512-${hash}`,
node-ssri-8.0.0/test/parse.js-89-    algorithm: 'sha512',
##############################################
node-ssri-8.0.0/test/parse.js-116-    sha512: [{
node-ssri-8.0.0/test/parse.js:117:      source: `sha512-${digest}?foo`,
node-ssri-8.0.0/test/parse.js-118-      algorithm,
##############################################
node-ssri-8.0.0/test/parse.js-128-  const hashes = [
node-ssri-8.0.0/test/parse.js:129:    `sha1-${hash(TEST_DATA, 'sha1')}`,
node-ssri-8.0.0/test/parse.js:130:    `sha256-${hash(TEST_DATA, 'sha256')}`,
node-ssri-8.0.0/test/parse.js-131-    'sha1-OthERhaSh',
##############################################
node-ssri-8.0.0/test/parse.js-190-  const missingDigest = 'sha512-'
node-ssri-8.0.0/test/parse.js:191:  const valid = `sha512-${hash(TEST_DATA, 'sha512')}`
node-ssri-8.0.0/test/parse.js-192-  t.equal(ssri.parse([
##############################################
node-ssri-8.0.0/test/parse.js-201-test('trims whitespace from either end', t => {
node-ssri-8.0.0/test/parse.js:202:  const integrity = `      sha512-${hash(TEST_DATA, 'sha512')}    `
node-ssri-8.0.0/test/parse.js-203-  t.deepEqual(ssri.parse(integrity), {
##############################################
node-ssri-8.0.0/test/parse.js-214-test('supports strict spec parsing', t => {
node-ssri-8.0.0/test/parse.js:215:  const valid = `sha512-${hash(TEST_DATA, 'sha512')}`
node-ssri-8.0.0/test/parse.js:216:  const badAlgorithm = `sha1-${hash(TEST_DATA, 'sha1')}`
node-ssri-8.0.0/test/parse.js-217-  const badBase64 = 'sha512-@#$@%#$'
node-ssri-8.0.0/test/parse.js:218:  const badOpts = `${valid}?\x01\x02`
node-ssri-8.0.0/test/parse.js-219-  t.deepEqual(ssri.parse([
##############################################
node-ssri-8.0.0/test/stringify.js-106-    ssri.stringify(sriLike, { strict: true }),
node-ssri-8.0.0/test/stringify.js:107:    `sha256-${hash(TEST_DATA, 'sha256')}?foo`,
node-ssri-8.0.0/test/stringify.js-108-    'entries that do not conform to strict spec interpretation removed'
##############################################
node-ssri-8.0.0/figgy-pudding/README.md-12-
node-ssri-8.0.0/figgy-pudding/README.md:13:`$ npm install figgy-pudding`
node-ssri-8.0.0/figgy-pudding/README.md-14-
##############################################
node-ssri-8.0.0/figgy-pudding/README.md-45-  opts = PrintOpts(opts)
node-ssri-8.0.0/figgy-pudding/README.md:46:  const uri = `https://registry.npmjs.com/${name}`
node-ssri-8.0.0/figgy-pudding/README.md-47-  const res = await fetch(uri, opts.concat({
##############################################
node-ssri-8.0.0/figgy-pudding/index.js-15-        } else {
node-ssri-8.0.0/figgy-pudding/index.js:16:          throw new Error(`Alias refers to invalid key: ${key} -> ${alias}`)
node-ssri-8.0.0/figgy-pudding/index.js-17-        }
##############################################
node-ssri-8.0.0/figgy-pudding/index.js-93-  throw Object.assign(new Error(
node-ssri-8.0.0/figgy-pudding/index.js:94:    `invalid config key requested: ${key}`
node-ssri-8.0.0/figgy-pudding/index.js-95-  ), {code: 'EBADKEY'})
##############################################
node-ssri-8.0.0/minipass/test/basic.js-251-  fs.writeFileSync(file, `
node-ssri-8.0.0/minipass/test/basic.js:252:    const MP = require(${module})
node-ssri-8.0.0/minipass/test/basic.js-253-    const mp = new MP()