hash-replace

1.0.5 • Public • Published

Build Status Coverage

hash-replace

Substitute a webpack-style hash template string.

Install

$ npm install hash-replace --save

Usage

import replace from 'hash-replace'
const r = replace('hash')
 
// example-1
// only replace [hash], but not [chunkhash]
r('file.[hash:7].[chunkhash]', 'aGFzaC1yZXBsYWNl')
// -> 'file.aGFzaC1.[chunkhash]'
 
// example-2
// If the second argument is null, then it will generate hash from the
// value of the third argument
r('file.[hash:7].js', null, '1234567')
// -> 'file.fcea920.js'

replace(hashName)(template, replacer, content)

  • hashName String
  • template String
    • hashType String=md5 defaults to 'md5'
    • hashName String if the value of template.hashName and hashName not matches, the template will not be substituted.
    • digestType String=hex defaults to 'hex'
    • maxLength Number=Number.POSITIVE_INFINITY maximum length of the hash. If unset, there will no limit.

The template has the following structure:

'[hash]'
'[hashName:maxLength]'
'[hashType:hashName:digestType]'
'[hashType:hashName:digestType:maxLength]'

And example-2 is equivalent to:

r('file.[md5:hash:hex:7].js', null, '1234567')
  • replacer String=|function(match, hashType, digestType, length)=
const r = replace('contenthash')
const filename =
  r('file.[contenthash:7].js', null, fileContent)
  • content String=|Buffer= If replacer is unset, it will try to digest the content to get the crypted hash.

License

MIT

Package Sidebar

Install

npm i hash-replace

Weekly Downloads

3,314

Version

1.0.5

License

MIT

Last publish

Collaborators

  • kael