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')
r('file.[hash:7].[chunkhash]', 'aGFzaC1yZXBsYWNl')
r('file.[hash:7].js', null, '1234567')
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