UNPKG

angular-ui-mention

Version:

Facebook-like @mentions for text inputs built around composability

85 lines (74 loc) 2.18 kB
var gulp = require('gulp'), plugins = require('gulp-load-plugins')(), Karma = require('karma').Server ngAnnotate = require('gulp-ng-annotate'); var paths = { scripts: { src: ['src/**/*.js'], dest: 'dist', file: 'mention.js' }, styles: { src: ['src/**/*.scss'], dest: 'dist', file: 'mention.css' }, example: { scripts: { src: ['example/**/*.es6.js'], dest: 'example', file: 'example.js' }, styles: { src: ['example/**/*.scss'], dest: 'example' } } }; gulp.task('scripts', scripts(paths.scripts)); gulp.task('scripts:example', scripts(paths.example.scripts)); gulp.task('styles', styles(paths.styles)); gulp.task('styles:example', styles(paths.example.styles)); gulp.task('default', gulp.series('scripts')); gulp.task('example', gulp.series('scripts:example', 'styles:example')); gulp.task('watch', function(){ gulp.watch(paths.scripts.src, gulp.series('scripts')); gulp.watch(paths.styles.src, gulp.series('styles')); }); gulp.task('watch:example', function(){ gulp.watch(paths.example.scripts.src, gulp.series('scripts:example')); gulp.watch(paths.example.styles.src, gulp.series('styles:example')); }); gulp.task('karma', karma()); gulp.task('watch:karma', karma({ singleRun: false, autoWatch: true })); function karma (opts) { opts = opts || {}; opts.configFile = __dirname + '/karma.conf.js'; return function (done) { return new Karma(opts, done).start(); } } function scripts(path, concat) { return function() { return gulp.src(path.src) .pipe(plugins.sourcemaps.init()) .pipe(plugins.babel()) .pipe(plugins.angularFilesort()) .pipe(plugins.concat(path.file)) .pipe(ngAnnotate()) .pipe(gulp.dest(path.dest)) .pipe(plugins.uglify({ mangle: false })) .pipe(plugins.extReplace('.min.js')) .pipe(gulp.dest(path.dest)) .pipe(plugins.sourcemaps.write('.')); } } function styles(path) { return function() { return gulp.src(path.src) .pipe(plugins.sourcemaps.init()) .pipe(plugins.sass()) .pipe(gulp.dest(path.dest)) .pipe(plugins.sourcemaps.write('.')); } }