win10-rocks
Version:
Build apps for Win10 using the winjs-rocks MVVM architecture
76 lines (67 loc) • 1.9 kB
JavaScript
var gulp = require('gulp'),
mocha = require('gulp-mocha'),
async = require('async'),
source = require('vinyl-source-stream'),
browserify = require('browserify'),
runSequence = require('gulp-run-sequence'),
requireGlobify = require('require-globify'),
path = require('path'),
glob = require("glob"),
nodemon = require('gulp-nodemon'),
del = require('del'),
mkdirp = require('mkdirp'),
browserSync = require('browser-sync').create(),
exec = require('child_process').exec;
gulp.task("web:dist", function(cb) {
runSequence(
'dist:clean',
'web:dist:deploy',
'web:dist:bundle',
"web:dist:clean:entry", cb);
});
gulp.task('web:dist:deploy', function() {
return gulp.src(['./src/**', './package/web/**'])
.pipe(gulp.dest('./dist/web'));
});
gulp.task('web:dist:clean:entry', function(cb) {
del([
'dist/web/app.js'
], cb);
});
gulp.task('web:dist:bundle', function() {
var b = browserify({
entries: 'dist/web/app.js',
transform: [requireGlobify]
});
return b.bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest('./dist/web'));
});
gulp.task("web:host", ["web:dist"], function() {
browserSync.init({
server: {
files: "dist/web/**/*",
baseDir: "./dist/web",
index: "default.html"
}
});
});
gulp.task("web:reload", ["web:dist"], function() {
return gulp.src(['./dist/web/**'])
.pipe(browserSync.reload({
stream: true
}));
})
gulp.task("web:watch", ["web:host"], function(cb) {
gulp.watch(["./src/**", './package/web/**'], function() {
gulp.run("web:reload");
});
});
gulp.task("deploy:manifold", ["web:dist"], function(cb) {
var distDir = path.join(__dirname, "deploy");
exec('node_modules/manifoldjs/manifoldjs.js http://win10.rocks -d ' + distDir + " -c -l info -b", {
cwd: path.join(__dirname)
}, function(err, stdout, stderr) {
return cb(err);
});
});