hash-replace
v1.0.5
Published
Substitute a webpack-style hash template string. [hash:7]->abcdefg
Downloads
2,599
Maintainers
Readme
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 oftemplate.hashName
andhashName
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.
- 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=
Ifreplacer
is unset, it will try to digest thecontent
to get the crypted hash.
License
MIT