Asset Hash
Asset Hash is a quick wrapper around hashing libraries for efficient and fast hashing of asset files like images, web fonts, etc. By default it uses the performance-optimized xxhash algorithm.
Installation
NPM
$ npm install asset-hash
Yarn
$ yarn add asset-hash
Usage
There are two main methods: getHash(filePath, options)
and getHashedName(filePath, options)
and a more traditional class Hasher(options)
. Both methods return a Promise with there actual hash or hash file name as a result. The class offers the pretty traditional methods update(data)
and digest(options)
to send data or to retrieve the hash.
Options:
getHash()
import { getHash } from "asset-hash"
getHash("./src/fixtures/font.woff").then((hash) => {
console.log("Hash:", hash) => "Hash: fXQovA"
})
getHashedName()
The hashed file name replaces the name part of the file with the hash while keeping the file extension.
import { getHashedName } from "asset-hash"
getHashedName("./src/fixtures/font.woff").then((hashedName) => {
console.log("Hashed Filename:", hashedName) => "Hashed Filename: fXQovA.woff"
})
Hasher()
The class is e.g. useful in e.g. output.hashFunction
in Webpack
import { Hasher } from "asset-hash"
const hasher = new Hasher()
hasher.update(data)
console.log("Hashed Data:", hasher.digest()) => "Hashed Data: XDOPW"
License
Apache License; Version 2.0, January 2004
Copyright
Copyright 2017-2018
Sebastian Software GmbH