| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | 
							- 'use strict';
 
- var gulp = require('gulp');
 
- var jshint = require('gulp-jshint');
 
- var exec = require('gulp-exec');
 
- var stylish = require('jshint-stylish');
 
- var browserify = require('gulp-browserify');
 
- var uglify = require('gulp-uglify');
 
- var rename = require('gulp-rename');
 
- var karma = require('karma');
 
- var coveralls = require('gulp-coveralls');
 
- var istanbul = require('gulp-istanbul');
 
- var mocha = require('gulp-mocha');
 
- var paths = {
 
-   index: './index.js',
 
-   tests: './test/**/*.js'
 
- };
 
- function preTest(src) {
 
-   return gulp.src(src)
 
-     .pipe(istanbul())
 
-     .pipe(istanbul.hookRequire());
 
- }
 
- function test(src){
 
-   return gulp.src(src)
 
-     .pipe(mocha())
 
-     .pipe(istanbul.writeReports());
 
- }
 
- function testKarma(done){
 
-   new karma.Server({
 
-     configFile: __dirname + '/karma.conf.js',
 
-     singleRun: true
 
-   }, done).start();
 
- }
 
- function lint(src){
 
-   return gulp.src(src)
 
-     .pipe(jshint('.jshintrc'))
 
-     .pipe(jshint.reporter(stylish));
 
- }
 
- gulp.task('dist', function(){
 
-   gulp.src([paths.index])
 
-     .pipe(browserify({
 
-       insertGlobals : true,
 
-       debug: true,
 
-       standalone: 'objectHash'
 
-     }))
 
-     .pipe(rename('object_hash.js'))
 
-     .pipe(uglify({outSourceMap: true}))
 
-     .pipe(gulp.dest('./dist'));
 
-     // tests
 
-   gulp.src([paths.tests])
 
-     .pipe(browserify())
 
-     .pipe(rename('object_hash_test.js'))
 
-     .pipe(gulp.dest('./dist'));
 
- });
 
- gulp.task('pre-test', function() {
 
-   preTest([paths.index]);
 
- });
 
- gulp.task('test', ['pre-test'], function() {
 
-   test([paths.tests]);
 
- });
 
- gulp.task('karma', function() {
 
-   testKarma();
 
- });
 
- gulp.task('coveralls', function() {
 
-   gulp.src('coverage/**/lcov.info')
 
-     .pipe(coveralls());
 
- });
 
- gulp.task('lint', function () {
 
-   return lint([paths.index]);
 
- });
 
- gulp.task('watch', function () {
 
-   // watch and lint any files that are added or changed
 
-   gulp.watch([paths.index, paths.tests], function(event){
 
-     if(event.type !== 'deleted') {
 
-       lint([event.path]);
 
-     }
 
-   });
 
-   // run the tests when something changes
 
-   gulp.watch([paths.index, paths.tests], ['test', 'karma']);
 
- });
 
- gulp.task('default', ['watch']);
 
 
  |