|
|
@@ -10,10 +10,12 @@ var gulp = require("gulp"),
|
|
|
rename = require("gulp-rename"),
|
|
|
uglify = require("gulp-uglify"),
|
|
|
minifyCss = require("gulp-minify-css"),
|
|
|
+ minifyHtml = require("gulp-minify-html"),
|
|
|
concat = require("gulp-concat"),
|
|
|
useref = require("gulp-useref"),
|
|
|
gulpif = require("gulp-if"),
|
|
|
ngAnnotate = require("gulp-ng-annotate"),
|
|
|
+ ngHtml2Js = require("gulp-ng-html2js"),
|
|
|
errLogger = gutil.log.bind(gutil, gutil.colors.red("Error: ")),
|
|
|
opts = {
|
|
|
buildDir: "build",
|
|
|
@@ -24,6 +26,16 @@ gulp
|
|
|
.task("pre", function() {
|
|
|
gulp.src(["src/web/**/*.html", "!src/web/index.html", "!src/web/bower_components/**/*"])
|
|
|
.pipe(plumber(errLogger))
|
|
|
+ .pipe(minifyHtml())
|
|
|
+ .pipe(ngHtml2Js({
|
|
|
+ moduleName: function(file) {
|
|
|
+ var pathParts = file.path.split("/");
|
|
|
+ var prefix = pathParts[pathParts.length - 3];
|
|
|
+ var moduleName = pathParts[pathParts.length - 2];
|
|
|
+ return "modellang-ide." + (prefix === "pages" ? "" : prefix + ".") + moduleName;
|
|
|
+ }
|
|
|
+ }))
|
|
|
+ .pipe(concat("templates.min.js"))
|
|
|
.pipe(gulp.dest(opts.buildDir + "/web"));
|
|
|
|
|
|
return gulp.src("src/web/assets/**/*")
|
|
|
@@ -37,15 +49,13 @@ gulp
|
|
|
return bower();
|
|
|
})
|
|
|
|
|
|
-.task("minify", ["pre", "bower"], function() {
|
|
|
+.task("concat", ["pre", "bower"], function() {
|
|
|
var assets = useref.assets();
|
|
|
|
|
|
return gulp.src("src/web/index.html")
|
|
|
.pipe(plumber(errLogger))
|
|
|
.pipe(assets)
|
|
|
.pipe(gulpif("index.min.js", babel({blacklist: ["useStrict"]})))
|
|
|
- .pipe(gulpif("index.min.js", ngAnnotate()))
|
|
|
- .pipe(gulpif("*.js", uglify()))
|
|
|
.pipe(gulpif("*.css", minifyCss()))
|
|
|
.pipe(assets.restore())
|
|
|
.pipe(useref())
|
|
|
@@ -79,8 +89,13 @@ gulp
|
|
|
return;
|
|
|
})
|
|
|
|
|
|
-.task("build", ["minify", "parser", "generator"], function() {
|
|
|
- return;
|
|
|
+.task("build", ["concat", "parser", "generator"], function() {
|
|
|
+ return gulp.src(opts.buildDir + "/web/{index,templates}.min.js")
|
|
|
+ .pipe(plumber(errLogger))
|
|
|
+ .pipe(concat("index.min.js"))
|
|
|
+ .pipe(ngAnnotate())
|
|
|
+ .pipe(uglify())
|
|
|
+ .pipe(gulp.dest(opts.buildDir + "/web"));
|
|
|
})
|
|
|
|
|
|
.task("deploy", ["build"], function() {
|