1.0.5 • Published 8 years ago
hash-replace v1.0.5
hash-replace
Substitute a webpack-style hash template string.
Install
$ npm install hash-replace --saveUsage
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=md5defaults to'md5' - hashName
Stringif the value oftemplate.hashNameandhashNamenot matches, the template will not be substituted. - digestType
String=hexdefaults to'hex' - maxLength
Number=Number.POSITIVE_INFINITYmaximum length of the hash. If unset, there will no limit.
- hashType
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=Ifreplaceris unset, it will try to digest thecontentto get the crypted hash.
License
MIT