Move browserify task to gulp

This commit is contained in:
Blade Barringer
2015-11-11 08:59:07 -06:00
parent 9408effb4e
commit 25ae2e4252
4 changed files with 34 additions and 28 deletions

View File

@@ -51,17 +51,6 @@ module.exports = function(grunt) {
} }
}, },
browserify: {
dist: {
src: ["common/index.js"],
dest: "common/dist/scripts/habitrpg-shared.js"
},
options: {
transform: ['coffeeify']
//debug: true Huge data uri source map (400kb!)
}
},
copy: { copy: {
build: { build: {
files: [ files: [
@@ -134,8 +123,8 @@ module.exports = function(grunt) {
}); });
// Register tasks. // Register tasks.
grunt.registerTask('build:prod', ['loadManifestFiles', 'clean:build', 'browserify', 'uglify', 'stylus', 'cssmin', 'copy:build', 'hashres']); grunt.registerTask('build:prod', ['loadManifestFiles', 'clean:build', 'uglify', 'stylus', 'cssmin', 'copy:build', 'hashres']);
grunt.registerTask('build:dev', ['browserify', 'cssmin', 'stylus']); grunt.registerTask('build:dev', ['cssmin', 'stylus']);
grunt.registerTask('build:test', ['test:prepare:translations', 'build:dev']); grunt.registerTask('build:test', ['test:prepare:translations', 'build:dev']);
grunt.registerTask('test:prepare:translations', function() { grunt.registerTask('test:prepare:translations', function() {
@@ -148,7 +137,6 @@ module.exports = function(grunt) {
}); });
// Load tasks // Load tasks
grunt.loadNpmTasks('grunt-browserify');
grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-clean'); grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-stylus'); grunt.loadNpmTasks('grunt-contrib-stylus');

View File

@@ -9,7 +9,7 @@
"async": "~0.9.0", "async": "~0.9.0",
"aws-sdk": "^2.0.25", "aws-sdk": "^2.0.25",
"babel": "^5.5.4", "babel": "^5.5.4",
"gulp-babel": "^5.2.1", "babelify": "^7.2.0",
"bower": "~1.3.12", "bower": "~1.3.12",
"browserify": "~12.0.1", "browserify": "~12.0.1",
"coffee-script": "1.6.x", "coffee-script": "1.6.x",
@@ -23,7 +23,6 @@
"firebase-token-generator": "^2.0.0", "firebase-token-generator": "^2.0.0",
"glob": "^4.3.5", "glob": "^4.3.5",
"grunt": "~0.4.1", "grunt": "~0.4.1",
"grunt-browserify": "^3.3.0",
"grunt-cli": "~0.1.9", "grunt-cli": "~0.1.9",
"grunt-contrib-clean": "~0.6.0", "grunt-contrib-clean": "~0.6.0",
"grunt-contrib-copy": "~0.6.0", "grunt-contrib-copy": "~0.6.0",
@@ -38,6 +37,8 @@
"gulp-grunt": "^0.5.2", "gulp-grunt": "^0.5.2",
"gulp-imagemin": "^2.3.0", "gulp-imagemin": "^2.3.0",
"gulp-nodemon": "^2.0.4", "gulp-nodemon": "^2.0.4",
"gulp-sourcemaps": "^1.6.0",
"gulp-uglify": "^1.4.2",
"gulp.spritesmith": "^4.1.0", "gulp.spritesmith": "^4.1.0",
"icalendar": "lefnire/node-icalendar#e06da0e55901f0ba940dfadc42c158ed0b1fead9", "icalendar": "lefnire/node-icalendar#e06da0e55901f0ba940dfadc42c158ed0b1fead9",
"image-size": "~0.3.2", "image-size": "~0.3.2",
@@ -75,6 +76,8 @@
"swagger-node-express": "lefnire/swagger-node-express#habitrpg", "swagger-node-express": "lefnire/swagger-node-express#habitrpg",
"universal-analytics": "~0.3.2", "universal-analytics": "~0.3.2",
"validator": "~3.19.0", "validator": "~3.19.0",
"vinyl-buffer": "^1.0.0",
"vinyl-source-stream": "^1.1.0",
"winston": "~0.8.0", "winston": "~0.8.0",
"winston-mail": "~0.2.9", "winston-mail": "~0.2.9",
"winston-newrelic": "~0.1.4" "winston-newrelic": "~0.1.4"

View File

@@ -1,16 +1,31 @@
import gulp from 'gulp'; import gulp from 'gulp';
import babel from 'gulp-babel'; import browserify from 'browserify';
import source from 'vinyl-source-stream';
import buffer from 'vinyl-buffer';
import uglify from 'gulp-uglify';
import sourcemaps from 'gulp-sourcemaps';
import babel from 'babelify';
const ES2015_SOURCE = 'common/script/src/**/*.js'; gulp.task('browserify', function () {
const ES2015_DIST = 'common/dist/scripts/'; let bundler = browserify({
entries: './common/index.js',
gulp.task('babel:common', () => { debug: true,
return gulp.src(ES2015_SOURCE) transform: [[babel, { compact: false }]]
.pipe(babel())
.pipe(gulp.dest(ES2015_DIST));
}); });
gulp.task('babel:common:watch', () => { return bundler.bundle()
gulp.watch([ES2015_SOURCE], ['babel:common']); .pipe(source('habitrpg-shared.js'))
.pipe(buffer())
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(uglify())
.on('error', function (err) {
console.error(err);
this.emit('end');
})
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('./common/dist/scripts/'));
}); });
gulp.task('browserify:watch', () => {
gulp.watch('./common/script/**/*.js', ['browserify']);
});

View File

@@ -9,7 +9,7 @@ gulp.task('build', () => {
} }
}); });
gulp.task('build:dev', ['babel:common', 'prepare:staticNewStuff'], (done) => { gulp.task('build:dev', ['browserify', 'prepare:staticNewStuff'], (done) => {
gulp.start('grunt-build:dev', done); gulp.start('grunt-build:dev', done);
}); });
@@ -17,6 +17,6 @@ gulp.task('build:dev:watch', ['build:dev'], () => {
gulp.watch(['website/public/**/*.styl', 'common/script/*']); gulp.watch(['website/public/**/*.styl', 'common/script/*']);
}); });
gulp.task('build:prod', ['babel:common', 'prepare:staticNewStuff'], (done) => { gulp.task('build:prod', ['browserify', 'prepare:staticNewStuff'], (done) => {
gulp.start('grunt-build:prod', done); gulp.start('grunt-build:prod', done);
}); });