mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2024-12-12 23:09:03 +01:00
108 lines
2.9 KiB
JavaScript
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);
|
|
});
|