UNPKG

ndn-js-contrib

Version:

Reusable 'Classes' for Named Data Networking: NameTree, PIT, FIB, ContentStore, Interfaces, and Transports

116 lines (93 loc) 2.93 kB
var git_branch = "next" var gulp = require('gulp'); var gutil = require('gulp-util'); var jshint = require('gulp-jshint'); var git = require('gulp-git'); var connect = require('gulp-connect'); var browserify = require('browserify'); var leveldown = require("leveldown") var source = require('vinyl-source-stream'); var buffer = require('vinyl-buffer'); var uglify = require('gulp-uglify'); var mocha = require('gulp-mocha'); var Peer = require('peer').PeerServer; var clean = require('gulp-clean'); var WebSocket = require('ws'); var babel = require("gulp-babel"); gulp.task('browserify-tests',['mocha'], function () { // set up the browserify instance on a task basis var b = browserify(); b.add('./test/NameTree.js') .add('./test/ContentStore.js') .add('./test/PIT.js') .add('./test/FIB.js') .add('./test/Repository.js') .add('./test/Node.js'); var stream = b.bundle() .pipe(source('tests.js')) .pipe(buffer()) .pipe(gulp.dest('./test/browser/')); gulp.src('./test/browser/index.html') .pipe(connect.reload()); return stream; }); gulp.task('mocha', function() { return gulp.src(['test/*.js'], { read: false }) .pipe(mocha({ reporter: 'list' })) .on('error', gutil.log); }); gulp.task('lint', function() { return gulp.src('./dist/**/*.js') .pipe(jshint({laxcomma:true})) .pipe(jshint.reporter('default')) //.pipe(jshint.reporter('fail')) }); gulp.task('live-chat',['browserify-chat'], function () { gulp.src('./test/index.html') .pipe(connect.reload()); }); gulp.task('live-tests',['browserify-tests'], function () { gulp.src('./test/index.html') .pipe(connect.reload()); }); gulp.task('jsdoc', function(){ gulp.src("./src/DataStructures/ContentStore.js") .pipe(jsdoc.parser({plugins: ['plugins/commentsOnly.js']})) .pipe(jsdoc.generator('./doc')) }); gulp.task('watch', function() { connect.server({ root: './test/', port: 9000, livereload: true }); global.ps = Peer({port:8787}) global.wss = new WebSocket.Server({port:10101}); var browsers = { firefox: false , chrome: false } wss.on('connection',function(socket){ socket.on('message',function(msg){ console.log("got message", msg) var browserResult = false; if (msg.indexOf("success") === 0){ browserResult = true; } if (msg.indexOf("Chrome") > 0){ browsers.chrome = browserResult; } else if (msg.indexOf("Gecko") > 0){ browsers.firefox = browserResult; } console.log(browsers, browserResult) if (browsers.chrome && browsers.firefox){ browsers.chrome = false; browsers.firefox = false; gulp.src(['./src/DataStructures/*.js']) .pipe(git.commit("auto commit: " + new Date())); } }) }) console.log("watching") return gulp.watch(["src/DataStructures/*.js"], ['browserify-tests']); })