gulp-gitshasuffix

A plugin for Gulp to suffix files with latest commit sha.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
gulp-gitshasuffix
1101.0.07 years ago9 years agoMinified + gzip package size for gulp-gitshasuffix in KB

Readme

gulp-gitshasuffix
!NPM versionnpm-imagenpm-url !Build Statustravis-imagetravis-url !Dependency Statusdepstat-imagedepstat-url
gitshasuffix plugin for gulp

Usage

A plugin for Gulp to suffix files with latest commit sha.
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('./'));
});

API

gitshasuffix(options)

options.length

Type: Integer
Default: 6
Length of the sha to show.

options.separator

Type: String
Default: "-"
Separator before the suffix.

options.folder

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

Examples

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

Changelog

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.

License

MIT License