|
|
|
'use strict';
|
|
|
|
|
|
|
|
var path = require('path');
|
|
|
|
var gulp = require('gulp');
|
|
|
|
var conf = require('./conf');
|
|
|
|
|
|
|
|
var $ = require('gulp-load-plugins')();
|
|
|
|
|
|
|
|
var wiredep = require('wiredep').stream;
|
|
|
|
var _ = require('lodash');
|
|
|
|
|
|
|
|
var browserSync = require('browser-sync');
|
|
|
|
|
|
|
|
gulp.task('inject-reload', ['inject'], function () {
|
|
|
|
browserSync.reload();
|
|
|
|
});
|
|
|
|
|
|
|
|
gulp.task('inject', ['scripts', 'styles', 'injectAuth', 'inject404', 'copyVendorImages'], function () {
|
|
|
|
var injectStyles = gulp.src([
|
|
|
|
path.join(conf.paths.tmp, '/serve/app/main.css'),
|
|
|
|
path.join('!' + conf.paths.tmp, '/serve/app/vendor.css')
|
|
|
|
], {read: false});
|
|
|
|
|
|
|
|
var injectScripts = gulp.src([
|
|
|
|
path.join(conf.paths.src, '/assets/js/**/*.js'),
|
|
|
|
path.join(conf.paths.src, '/app/**/*.module.js'),
|
|
|
|
path.join(conf.paths.src, '/app/**/*.js'),
|
|
|
|
path.join('!' + conf.paths.src, '/app/**/*.spec.js'),
|
|
|
|
path.join('!' + conf.paths.src, '/app/**/*.mock.js'),
|
|
|
|
])
|
|
|
|
/*.pipe($.angularFilesort())*/.on('error', conf.errorHandler('AngularFilesort'));
|
|
|
|
|
|
|
|
var injectOptions = {
|
|
|
|
ignorePath: [conf.paths.src, path.join(conf.paths.tmp, '/serve')],
|
|
|
|
addRootSlash: false
|
|
|
|
};
|
|
|
|
|
|
|
|
return gulp.src(path.join(conf.paths.src, '/index.html'))
|
|
|
|
.pipe($.inject(injectStyles, injectOptions))
|
|
|
|
.pipe($.inject(injectScripts, injectOptions))
|
|
|
|
.pipe(wiredep(_.extend({}, conf.wiredep)))
|
|
|
|
.pipe(gulp.dest(path.join(conf.paths.tmp, '/serve')));
|
|
|
|
});
|
|
|
|
|
|
|
|
gulp.task('injectAuth', ['stylesAuth'], function () {
|
|
|
|
return injectAlone({
|
|
|
|
css: [path.join('!' + conf.paths.tmp, '/serve/app/vendor.css'), path.join(conf.paths.tmp, '/serve/app/auth.css')],
|
|
|
|
paths: [path.join(conf.paths.src, '/auth.html'), path.join(conf.paths.src, '/reg.html')]
|
|
|
|
})
|
|
|
|
});
|
|
|
|
|
|
|
|
gulp.task('inject404', ['styles404'], function () {
|
|
|
|
return injectAlone({
|
|
|
|
css: [path.join('!' + conf.paths.tmp, '/serve/app/vendor.css'), path.join(conf.paths.tmp, '/serve/app/404.css')],
|
|
|
|
paths: path.join(conf.paths.src, '/404.html')
|
|
|
|
})
|
|
|
|
});
|
|
|
|
|
|
|
|
var injectAlone = function (options) {
|
|
|
|
var injectStyles = gulp.src(
|
|
|
|
options.css
|
|
|
|
, {read: false});
|
|
|
|
|
|
|
|
var injectOptions = {
|
|
|
|
ignorePath: [conf.paths.src, path.join(conf.paths.tmp, '/serve')],
|
|
|
|
addRootSlash: false
|
|
|
|
};
|
|
|
|
|
|
|
|
return gulp.src(options.paths)
|
|
|
|
.pipe($.inject(injectStyles, injectOptions))
|
|
|
|
.pipe(wiredep(_.extend({}, conf.wiredep)))
|
|
|
|
.pipe(gulp.dest(path.join(conf.paths.tmp, '/serve')));
|
|
|
|
};
|