gitshasuffix plugin for gulp
A plugin for Gulp to suffix files with latest commit sha. As of v1.0.0
, this plugin works with gulp-rev-replace
.
E.g. Use instead of having timestamps on compiled files to avoid caching (versioning).
Whereas gulp-rev sets a hash based on content, this uses the sha hash from the latest git commit.
First, install gulp-gitshasuffix
as a development dependency:
npm install --save-dev gulp-gitshasuffix
Then, add it to your gulpfile.js
:
var gitshasuffix = require("gulp-gitshasuffix");
var files = gulp.src("./src/*.ext")
.pipe(gitshasuffix({
length: 6,
separator: "-"
}))
files.on('data', function (file){
console.log("Modified file:", file);
});
Full usage example:
var gitshasuffix = require("gulp-gitshasuffix");
gulp.task('moveFiles'. function () {
gulp.src("./src/*.ext")
.pipe(gitshasuffix())
.pipe(gulp.dest('./'));
});
Type: Integer
Default: 6
Length of the sha to show.
Type: String
Default: "-"
Separator before the suffix.
Type: Boolean
Default: "false"
If the sha-substring should be as a folder instead of suffix. E.g.
New path: /Code/gulp-gitshasuffix/test/fixtures/c03b75/a.txt
To see all examples run from root:
$ gulp --gulpfile examples/gulpfile.js --tasks
[gulp] Using file /Users/example/gulp-gitshasuffix/examples/gulpfile.js
[gulp] Working directory changed to /Users/example/gulp-gitshasuffix/examples
[gulp] Tasks for /Users/example/gulp-gitshasuffix/examples/gulpfile.js
[gulp] ├── default
[gulp] ├── folder
[gulp] └── folderPrefix
Run example:
$ gulp --gulpfile examples/gulpfile.js
[gulp] Using file /Users/example/gulp-gitshasuffix/examples/gulpfile.js
[gulp] Working directory changed to /Users/example/gulp-gitshasuffix/examples
[gulp] Running 'default'...
[gulp] Finished 'default' in 4.43 ms
New path: /Users/example/gulp-gitshasuffix/test/fixtures/a-eaa51c.txt
New path: /Users/example/gulp-gitshasuffix/test/fixtures/b-eaa51c.txt
New path: /Users/example/gulp-gitshasuffix/test/fixtures/c-eaa51c.txt
1.0.0:
- Adds support for
gulp-rev-replace
0.2.0:
- Adds possibility to have sha as subfolder instead of suffix
0.1.0:
- Changes to using options object instead of two parameters on input.
0.0.4:
- No longer throws unjust error on streamed contents.