1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-12 23:09:03 +01:00
fab-manager/vendor/assets/components/angular-summernote/gulpfile.js
2016-03-23 18:39:41 +01:00

108 lines
2.9 KiB
JavaScript

var gulp = require('gulp'),
jshint = require('gulp-jshint'),
uglify = require('gulp-uglify'),
rename = require("gulp-rename"),
header = require("gulp-header"),
Server = require('karma').Server,
coveralls = require('gulp-coveralls'),
del = require('del'),
nugetpack = require('gulp-nuget-pack'),
pkg = require('./package.json');
var banner = '/* angular-summernote v<%=pkg.version%> | (c) 2016 JeongHoon Byun | MIT license */\n';
var isAngular12 = isAngular13 = false;
gulp.task('lint', function() {
return gulp.src(['./src/**/*.js', './test/**/*.test.js'])
.pipe(jshint())
.pipe(jshint.reporter('jshint-stylish'));
});
gulp.task('copy', function() {
return gulp.src('./src/angular-summernote.js')
.pipe(header(banner, {pkg: pkg}))
.pipe(gulp.dest('dist'));
});
gulp.task('build', ['copy'], function() {
return gulp.src('./src/angular-summernote.js')
.pipe(uglify({mangle: false}))
.pipe(rename({extname: '.min.js'}))
.pipe(header(banner, {pkg: pkg}))
.pipe(gulp.dest('dist'));
});
gulp.task('karma', function (done) {
var configFile = '/test/karma.conf.js';
if (isAngular12) { configFile = '/test/karma-angular-1-2-x.conf.js'; }
if (isAngular13) { configFile = '/test/karma-angular-1-3-x.conf.js'; }
if (!process.env.CI) {
new Server({
configFile: __dirname + configFile,
autoWatch: true
}, done).start();
} else {
new Server({
configFile: __dirname + configFile,
browsers: ['PhantomJS'],
singleRun: true
}, done).start();
}
});
gulp.task('test', function() {
gulp.start('karma');
});
gulp.task('test:angular12', function() {
isAngular12 = true;
gulp.start('karma');
});
gulp.task('test:angular13', function() {
isAngular13 = true;
gulp.start('karma');
});
gulp.task('test:coverage', function(done) {
var configFile = '/test/karma.conf.js';
new Server({
configFile: __dirname + configFile,
singleRun: true,
browsers: ['PhantomJS'],
reporters: ['progress', 'coverage'],
preprocessors: { '../**/src/**/*.js': 'coverage' },
coverageReporter: { type: 'lcov', dir: '../coverage/' },
plugins: [ 'karma-*' ]
}, done).start();
});
gulp.task('clean:coverage', function () {
return del([
'coverage'
]);
});
gulp.task('coveralls', ['clean:coverage', 'test:coverage'], function() {
return gulp.src('./coverage/**/lcov.info')
.pipe(coveralls());
});
gulp.task('travis', ['test', 'test:angular12', 'test:angular13'], function() {
});
gulp.task('nuget-pack', function(done) {
nugetpack({
id: "Angular.Summernote",
version: pkg.version,
authors: pkg.author.name,
description: pkg.description,
projectUrl: pkg.homepage,
licenseUrl: "https://github.com/summernote/angular-summernote/blob/master/LICENSE-MIT",
copyright: "MIT",
tags: pkg.keywords.join(' '),
outputDir: "out"
}, ['dist/*.js', 'README.md' ], done);
});