38 lines
1.0 KiB
JavaScript
38 lines
1.0 KiB
JavaScript
|
|
var config = require('../config');
|
|
var gulp = require('gulp');
|
|
|
|
var eslint = require('gulp-eslint');
|
|
var babel = require("gulp-babel");
|
|
var sort = require('gulp-sort');
|
|
var concat = require('gulp-concat');
|
|
var wrap = require("gulp-wrap-js");
|
|
var embedTemplates = require('gulp-angular-embed-templates');
|
|
|
|
module.exports = function (files, out) {
|
|
|
|
console.log("JS: ", files, " -> ", config.root + config.targets.js + out)
|
|
|
|
var task = gulp.src(files);
|
|
|
|
// check for js errors
|
|
task = task.pipe(eslint());
|
|
// outputs the lint results to the console
|
|
task = task.pipe(eslint.format());
|
|
|
|
// sort files in stream by path or any custom sort comparator
|
|
task = task.pipe(babel())
|
|
.pipe(sort());
|
|
|
|
//in production, embed the templates
|
|
task = task.pipe(embedTemplates({ basePath: "./src/", minimize: { loose: true } }))
|
|
|
|
task = task.pipe(concat(out))
|
|
.pipe(wrap('(function(){\n%= body %\n})();'))
|
|
.pipe(gulp.dest(config.root + config.targets.js));
|
|
|
|
|
|
return task;
|
|
|
|
};
|