Package Exports
- hash-replace
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (hash-replace) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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#️⃣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