|
|
@ -4,17 +4,15 @@ var path = require("path");
|
|
|
|
var xtend = require("xtend");
|
|
|
|
var xtend = require("xtend");
|
|
|
|
var rfr = require("rfr");
|
|
|
|
var rfr = require("rfr");
|
|
|
|
|
|
|
|
|
|
|
|
var riot = require("gulp-riot");
|
|
|
|
|
|
|
|
var sass = require("gulp-sass");
|
|
|
|
|
|
|
|
var jade = require("gulp-jade");
|
|
|
|
|
|
|
|
var babel = require("gulp-babel");
|
|
|
|
|
|
|
|
var livereload = require("gulp-livereload");
|
|
|
|
var livereload = require("gulp-livereload");
|
|
|
|
var cache = require("gulp-cached");
|
|
|
|
|
|
|
|
var remember = require("gulp-remember");
|
|
|
|
|
|
|
|
var plumber = require("gulp-plumber");
|
|
|
|
|
|
|
|
var rename = require("gulp-rename");
|
|
|
|
var rename = require("gulp-rename");
|
|
|
|
var namedLog = require("gulp-named-log");
|
|
|
|
var namedLog = require("gulp-named-log");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var presetES2015 = require("@joepie91/gulp-preset-es2015");
|
|
|
|
|
|
|
|
var presetJade = require("@joepie91/gulp-preset-jade");
|
|
|
|
|
|
|
|
var presetSCSS = require("@joepie91/gulp-preset-scss");
|
|
|
|
|
|
|
|
var presetRiot = require("@joepie91/gulp-preset-riot");
|
|
|
|
|
|
|
|
|
|
|
|
var runProcess = rfr("src/gulp/run-process");
|
|
|
|
var runProcess = rfr("src/gulp/run-process");
|
|
|
|
var patchLivereloadLogger = rfr("src/gulp/patch-livereload-logger");
|
|
|
|
var patchLivereloadLogger = rfr("src/gulp/patch-livereload-logger");
|
|
|
|
|
|
|
|
|
|
|
@ -22,10 +20,6 @@ var loggerOptions = {
|
|
|
|
basePath: __dirname
|
|
|
|
basePath: __dirname
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var babelLogger = namedLog("babel", loggerOptions);
|
|
|
|
|
|
|
|
var jadeLogger = namedLog("jade", loggerOptions);
|
|
|
|
|
|
|
|
var sassLogger = namedLog("sass", loggerOptions);
|
|
|
|
|
|
|
|
var riotLogger = namedLog("riot", loggerOptions);
|
|
|
|
|
|
|
|
var electronLogger = namedLog("electron", loggerOptions);
|
|
|
|
var electronLogger = namedLog("electron", loggerOptions);
|
|
|
|
var livereloadLogger = namedLog("livereload", loggerOptions);
|
|
|
|
var livereloadLogger = namedLog("livereload", loggerOptions);
|
|
|
|
|
|
|
|
|
|
|
@ -39,14 +33,6 @@ var sources = {
|
|
|
|
"riot-components": "src/components/**/*.tag"
|
|
|
|
"riot-components": "src/components/**/*.tag"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function getLiveReloadStream() {
|
|
|
|
|
|
|
|
var lr = livereload({
|
|
|
|
|
|
|
|
quiet: true
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return lr;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gulp.task("electron", ['babel-lib', 'babel-main', 'jade-views', 'sass-main', 'riot-components'], function() {
|
|
|
|
gulp.task("electron", ['babel-lib', 'babel-main', 'jade-views', 'sass-main', 'riot-components'], function() {
|
|
|
|
var electronProcess = runProcess(path.join(__dirname, "node_modules/.bin/electron"), [__dirname], {
|
|
|
|
var electronProcess = runProcess(path.join(__dirname, "node_modules/.bin/electron"), [__dirname], {
|
|
|
|
logger: electronLogger,
|
|
|
|
logger: electronLogger,
|
|
|
@ -58,67 +44,56 @@ gulp.task("electron", ['babel-lib', 'babel-main', 'jade-views', 'sass-main', 'ri
|
|
|
|
|
|
|
|
|
|
|
|
gulp.task('babel-main', function() {
|
|
|
|
gulp.task('babel-main', function() {
|
|
|
|
return gulp.src(sources["babel-main"])
|
|
|
|
return gulp.src(sources["babel-main"])
|
|
|
|
.pipe(plumber(babelLogger.error))
|
|
|
|
.pipe(presetES2015({
|
|
|
|
.pipe(cache("babel-main"))
|
|
|
|
livereload: livereload,
|
|
|
|
.pipe(babel({presets: ["es2015"]}))
|
|
|
|
basePath: __dirname
|
|
|
|
.pipe(babelLogger.stream())
|
|
|
|
}))
|
|
|
|
.pipe(getLiveReloadStream())
|
|
|
|
|
|
|
|
.pipe(rename("app.es5.js"))
|
|
|
|
.pipe(rename("app.es5.js"))
|
|
|
|
.pipe(gulp.dest("./"));
|
|
|
|
.pipe(gulp.dest("./"));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
gulp.task('babel-lib', function() {
|
|
|
|
gulp.task('babel-lib', function() {
|
|
|
|
return gulp.src(sources["babel-lib"])
|
|
|
|
return gulp.src(sources["babel-lib"])
|
|
|
|
.pipe(plumber(babelLogger.error))
|
|
|
|
.pipe(presetES2015({
|
|
|
|
.pipe(cache("babel-lib"))
|
|
|
|
livereload: livereload,
|
|
|
|
.pipe(babel({presets: ["es2015"]}))
|
|
|
|
basePath: __dirname
|
|
|
|
.pipe(babelLogger.stream())
|
|
|
|
}))
|
|
|
|
.pipe(getLiveReloadStream())
|
|
|
|
.pipe(gulp.dest("./lib/"));
|
|
|
|
.pipe(gulp.dest("lib/"));
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
gulp.task("jade-views", function() {
|
|
|
|
gulp.task("jade-views", function() {
|
|
|
|
return gulp.src(sources["jade-views"])
|
|
|
|
return gulp.src(sources["jade-views"])
|
|
|
|
.pipe(plumber(jadeLogger.error))
|
|
|
|
.pipe(presetJade({
|
|
|
|
.pipe(cache("jade-views"))
|
|
|
|
livereload: livereload,
|
|
|
|
.pipe(jade())
|
|
|
|
basePath: __dirname
|
|
|
|
.pipe(jadeLogger.stream())
|
|
|
|
}))
|
|
|
|
.pipe(getLiveReloadStream())
|
|
|
|
|
|
|
|
.pipe(gulp.dest("lib/views/"));
|
|
|
|
.pipe(gulp.dest("lib/views/"));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
gulp.task("sass-main", function() {
|
|
|
|
gulp.task("sass-main", function() {
|
|
|
|
return gulp.src(sources["sass-main"])
|
|
|
|
return gulp.src(sources["sass-main"])
|
|
|
|
.pipe(plumber(sassLogger.error))
|
|
|
|
.pipe(presetSCSS({
|
|
|
|
.pipe(cache("sass-main"))
|
|
|
|
livereload: livereload,
|
|
|
|
.pipe(sass())
|
|
|
|
basePath: __dirname
|
|
|
|
.pipe(sassLogger.stream())
|
|
|
|
}))
|
|
|
|
.pipe(getLiveReloadStream())
|
|
|
|
|
|
|
|
.pipe(gulp.dest("lib/stylesheets/"));
|
|
|
|
.pipe(gulp.dest("lib/stylesheets/"));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
gulp.task("riot-components", function() {
|
|
|
|
gulp.task("riot-components", function() {
|
|
|
|
return gulp.src(sources["riot-components"])
|
|
|
|
return gulp.src(sources["riot-components"])
|
|
|
|
.pipe(plumber(riotLogger.error))
|
|
|
|
.pipe(presetRiot({
|
|
|
|
.pipe(cache("riot-components"))
|
|
|
|
livereload: livereload,
|
|
|
|
.pipe(riot({
|
|
|
|
basePath: __dirname
|
|
|
|
type: "babel",
|
|
|
|
|
|
|
|
template: "jade",
|
|
|
|
|
|
|
|
style: "scss"
|
|
|
|
|
|
|
|
}))
|
|
|
|
}))
|
|
|
|
.pipe(riotLogger.stream())
|
|
|
|
|
|
|
|
.pipe(getLiveReloadStream())
|
|
|
|
|
|
|
|
.pipe(gulp.dest("lib/components/"));
|
|
|
|
.pipe(gulp.dest("lib/components/"));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
gulp.task('watch', function () {
|
|
|
|
gulp.task('watch', function () {
|
|
|
|
livereload.listen();
|
|
|
|
livereload.listen();
|
|
|
|
|
|
|
|
|
|
|
|
gulp.watch(sources["babel-lib"], ["babel-lib"]);
|
|
|
|
Object.keys(sources).forEach(function(source) {
|
|
|
|
gulp.watch(sources["babel-main"], ["babel-main"]);
|
|
|
|
gulp.watch(sources[source], [source]);
|
|
|
|
gulp.watch(sources["jade-views"], ["jade-views"]);
|
|
|
|
});
|
|
|
|
gulp.watch(sources["sass-main"], ["sass-main"]);
|
|
|
|
|
|
|
|
gulp.watch(sources["riot-components"], ["riot-components"]);
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
gulp.task('default', ['watch', 'electron']);
|
|
|
|
gulp.task('default', ['watch', 'electron']);
|
|
|
|