Skip to content

Instantly share code, notes, and snippets.

@gerred
Created March 11, 2015 19:34
Show Gist options
  • Save gerred/296a66f69069bf1721a4 to your computer and use it in GitHub Desktop.
Save gerred/296a66f69069bf1721a4 to your computer and use it in GitHub Desktop.
var gulp = require('gulp')
var atomshell = require('gulp-atom-shell')
var jade = require('gulp-jade')
var browserify = require('browserify')
var vss = require('vinyl-source-stream')
var reactify = require('reactify')
var babelify = require('babelify')
var sass = require('gulp-ruby-sass')
gulp.task('jade', function() {
return gulp.src('./src/browser/index.jade')
.pipe(jade({}))
.pipe(gulp.dest('./build/'))
})
gulp.task('main', function() {
return gulp.src('src/main.js')
.pipe(gulp.dest('./build/'))
})
gulp.task('css', function() {
return sass('src/browser/css/main.scss')
.pipe(gulp.dest('./build/browser/css/'))
})
gulp.task('node-modules', function() {
return gulp.src('src/node_modules/**/*')
.pipe(gulp.dest('./build/node_modules/'))
})
gulp.task('client-js', ['main', 'node-modules'], function() {
return gulp.src('src/client/**/*')
.pipe(gulp.dest('./build/client/'))
})
gulp.task('browser-js', function() {
var b = browserify('./src/browser/js/main.js.jsx', {extensions: ['.js', '.json', '.js.jsx']})
.transform(babelify.configure({
modules: ['common']
}))
return b.bundle()
.pipe(vss('main.js'))
.pipe(gulp.dest('./build/browser/js/'))
})
gulp.task('package', function() {
return gulp.src('./src/package.json')
.pipe(gulp.dest('./build/'))
})
gulp.task('build', ['package', 'jade', 'client-js', 'browser-js', 'css'], function() {
})
gulp.task('watch', function() {
gulp.watch('src/browser/css/**/*.scss', ['css'])
gulp.watch('src/browser/js/**/*.js.jsx', ['browser-js'])
gulp.watch('src/browser/index.jade', ['jade'])
})
gulp.task('default', ['build'], function () {
return gulp.src('src/**')
.pipe(atomshell({
platform: 'darwin',
version: '0.19.4',
productName: 'MyApp',
productVersion: '0.0.1'
}))
.pipe(atomshell.zfsdest('dist/app.zip'));
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment