<commit_before>var gulp = require('gulp');
var gutil = require('gulp-util');
var sass = require('gulp-sass');
var livereload = require('gulp-livereload');
var nodemon = require('gulp-nodemon');
var jshint = require('gulp-jshint');
var mocha = require('gulp-mocha');

var path = {
  sass: './ionic/scss/*.scss',
  cssRoot: './ionic/www/css',
  server: './server/index.js',
  serverSideJs: './server/**/*.js',
  client: 'ionic/www/**/*.js',
  test: './test/**/*.js',
  clientSideJs: './ionic/www/js/**/*.js'
}

gulp.task('sass', function () {
  return gulp.src(path.sass)
    .pipe(sass())
    .pipe(gulp.dest(path.cssRoot));
});

gulp.task('watch', function() {
  // watch scss files
  gulp.watch(path.sass, ['sass']);

  // Watch any files in dist/, reload on change
  livereload.listen();
  gulp.watch(path.client).on('change', livereload.changed);

  //watch for any changes made to js files in client and server
  gulp.watch([path.clientSideJs, path.serverSideJs], ['lint']);
});

// TODO: watch out for dev mode vs prod mode
gulp.task('lint', function() {
  return gulp.src([path.clientSideJs, path.serverSideJs])
    .pipe(jshint())
    .pipe(jshint.reporter('default'));
});

gulp.task('mocha', function () {
  return gulp.src(path.test)
    .pipe(mocha({reporter: 'nyan'}));
});

gulp.task('mochaWatch', function() {
  return gulp.watch(path.serverSideJs, ['mocha']);
})

gulp.task('expressDev', function() {
  nodemon({
    script: path.server,
  })

  .on('restart', function() {
    console.log('restarted server');
  });
});<commit_msg>Fix gulpfile.js<commit_after>var gulp = require('gulp');
var gutil = require('gulp-util');
var sass = require('gulp-sass');
var livereload = require('gulp-livereload');
var nodemon = require('gulp-nodemon');
var jshint = require('gulp-jshint');
var mocha = require('gulp-mocha');

var path = {
  sass: './ionic/scss/*.scss',
  cssRoot: './ionic/www/css',
  server: './server/index.js',
  serverSideJs: './server/**/*.js',
  test: './test/**/*.js',
  clientSideJs: './ionic/www/js/**/*.js'
}

gulp.task('sass', function () {
  return gulp.src(path.sass)
    .pipe(sass())
    .pipe(gulp.dest(path.cssRoot));
});

gulp.task('watch', function() {
  // watch scss files
  gulp.watch(path.sass, ['sass']);

  // Watch any files in dist/, reload on change
  livereload.listen();
  gulp.watch(path.clientSideJs).on('change', livereload.changed);

  //watch for any changes made to js files in client and server
  gulp.watch([path.clientSideJs, path.serverSideJs], ['lint']);
});

// TODO: watch out for dev mode vs prod mode
gulp.task('lint', function() {
  return gulp.src([path.clientSideJs, path.serverSideJs])
    .pipe(jshint())
    .pipe(jshint.reporter('default'));
});

gulp.task('mocha', function () {
  return gulp.src(path.test)
    .pipe(mocha({reporter: 'nyan'}));
});

gulp.task('mochaWatch', function() {
  return gulp.watch(path.serverSideJs, ['mocha']);
})

gulp.task('expressDev', function() {
  nodemon({
    script: path.server,
  })

  .on('restart', function() {
    console.log('restarted server');
  });
});
{'fraction_non_alphanumeric': 0.21295994789970693, 'fraction_numerical': 0.0, 'mean_word_length': 4.027823240589198, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 5, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7264784', 'n_tokens_mistral': 1152, 'n_tokens_neox': 1120, 'n_words': 223}