https://github.com/remko/gulp-hashsum
Gulp plugin to generate checksum files
https://github.com/remko/gulp-hashsum
Last synced: 10 months ago
JSON representation
Gulp plugin to generate checksum files
- Host: GitHub
- URL: https://github.com/remko/gulp-hashsum
- Owner: remko
- Created: 2014-09-02T20:35:32.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2018-04-26T07:31:17.000Z (about 8 years ago)
- Last Synced: 2024-12-15T22:06:57.022Z (over 1 year ago)
- Language: JavaScript
- Size: 28.3 KB
- Stars: 14
- Watchers: 4
- Forks: 13
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# [gulp-hashsum: Generate checksum files with Gulp](https://el-tramo.be/gulp-hashsum)
A [Gulp](http://gulpjs.com/) plugin for generating a checksum file with the hash checksums of the
passed files. The file follows the same format as `shasum`, `sha1sum`, `md5sum`, and similar tools.
Since it only writes the file when the checksums have changed, can also be used as a timestamp.
## Installation
npm install gulp-hashsum --save-dev
## Usage
### Generate a hash file
The following generates a file `app/SHA1SUMS` with all the SHA-1 checksums of all the
`.js` files in the `app` directory.
var hashsum = require("gulp-hashsum");
gulp.src(["app/**/*.js"]).
pipe(hashsum({dest: "app"}));
The contents of the `SHA1SUMS` file will look like this:
3ff1f9baca7bf41fe4a12222436025c036ba88bf main.js
14de86e007f14bc0c6bc9a84d21cb9da908495ae submodule/sub.js
### Use a different hash than SHA-1
The following generates a file `app/MD5SUMS` with all the MD5 checksums of all the
`.js` files in the `app` directory.
var hashsum = require("gulp-hashsum");
gulp.src(["app/**/*.js"]).
pipe(hashsum({dest: "app", hash: "md5"}));
### Use it as a timestamp
Since `gulp-hashsum` only writes the hash file whenever its content changes, you can
use it as a checksum file, e.g. to restart Passenger Phusion whenever a file changes,
by specifying `restart.txt` as the filename:
var hashsum = require("gulp-hashsum");
gulp.src(["app/**/*.js"]).
pipe(hashsum({filename: "tmp/restart.txt"}));
### Stream
Instead of writing the checksum file to disk, you can stream it and pass it
to pipes:
var hashsum = require("gulp-hashsum");
gulp.src(["app/**/*.js"]).
pipe(hashsum({stream: true})).
pipe(gulp.dest("app"));
## API
### `hashsum(options)`
* **`options.dest`** - _string_
The destination directory of the hash file.
All paths in the hash file will be relative to this directory.
Default: `process.cwd()` (the current working directory)
* **`options.filename`** - _string_
The filename of the hash file.
Default: `SUMS` (i.e. `SHA1SUMS` when `sha1` is used as hash function)
* **`options.hash`** - _string_
The hash function to use. Must be one supported by
[crypto](https://www.npmjs.org/package/crypto).
Default: `sha1`
* **`options.force`** - _boolean_
Always overwrite the hashsum file, regardless of whether the contents changed.
Default: `false`
* **`options.delimiter`** - _string_
Separator between hashsum and filename.
Default: `` (two spaces)
* **`options.json`** - _boolean_
Format hash file as a JSON object (instead of a `options.delimiter`-delimited file).
E.g.:
{
"dir1/file1": "3ff1f9baca7bf41fe4a12222436025c036ba88bf",
"dir1/file2": "14de86e007f14bc0c6bc9a84d21cb9da908495ae"
}
Default: `false`
* **`options.stream`** - _boolean_
Instead of writing the file to disk, stream it (so it can be passed to later
pipes)
Default: `false`
## Changelog
### 1.2.0 (2018-04-16)
* Add `stream` option.
### 1.1.0 (2016-06-16)
* Add `json` option.
### 1.0.1 (2016-01-29)
* Remove `buffertools` dependency
### 1.0.0 (2014-09-29)
* Initial release