Cleaned up git
[iotcloud.git] / version1 / src / js / iotjs / gulpfile.js
diff --git a/version1/src/js/iotjs/gulpfile.js b/version1/src/js/iotjs/gulpfile.js
new file mode 100644 (file)
index 0000000..ed79d92
--- /dev/null
@@ -0,0 +1,49 @@
+var gulp = require('gulp');
+var gulpif = require('gulp-if');
+var clean = require('gulp-clean');
+var order = require('gulp-order');
+var rename = require('gulp-rename');
+var concat = require('gulp-concat');
+var jshint = require('gulp-jshint');
+var uglify = require('gulp-uglify');
+var stylish = require('jshint-stylish');
+var livereload = require('gulp-livereload');
+var sourcemaps = require('gulp-sourcemaps');
+var flags = require('minimist')(process.argv.slice(2));
+
+// Gulp command line arguments
+var production = flags.production || false;
+var debug = flags.debug || !production;
+var watch = flags.watch;
+
+gulp.task('build',  ['clean'], function() {
+  // Single entry point to browserify
+  gulp.src(['src/*.js', 'vendor/*.js'])
+      .pipe(order([ // The order of concatenation
+        'src/main.js'
+      ], {base: '.'}))
+      .pipe(gulpif(debug, sourcemaps.init()))
+      .pipe(gulpif(production, uglify()))
+      .pipe(concat('iotjs.js'))
+      .pipe(gulpif(debug, sourcemaps.write()))
+      .pipe(gulp.dest('./build/'))
+      .pipe(gulpif(watch, livereload()));
+});
+
+gulp.task('lint', function() {
+  return gulp.src('src/*.js')
+    .pipe(jshint())
+    .pipe(jshint.reporter(stylish))
+});
+
+gulp.task('clean', function() {
+   return gulp.src(['./build'], {read: false})
+          .pipe(clean({force: true}));
+});
+
+gulp.task('watch', function() {
+  livereload.listen();
+  gulp.watch('src/*', ['lint', 'build']);
+});
+
+gulp.task('default', ['clean', 'lint', 'build']);