mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-16 06:07:21 +01:00
feat: pre-compile babel when used in production
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,6 +1,8 @@
|
||||
.DS_Store
|
||||
website/public/gen
|
||||
website/public/common
|
||||
website/transpiled-babel/
|
||||
common/transpiled-babel/
|
||||
node_modules
|
||||
*.swp
|
||||
.idea*
|
||||
|
||||
2
Procfile
2
Procfile
@@ -1 +1 @@
|
||||
web: node ./website/src/server.js
|
||||
web: node ./website/transpiled-babel/server.js
|
||||
|
||||
7
common/browserify.js
Normal file
7
common/browserify.js
Normal file
@@ -0,0 +1,7 @@
|
||||
var shared = require('./script/index');
|
||||
var _ = require('lodash');
|
||||
var moment = require('moment');
|
||||
|
||||
window.habitrpgShared = shared;
|
||||
window._ = _;
|
||||
window.moment = moment;
|
||||
@@ -1,9 +1,9 @@
|
||||
module.exports = require('./script/index');
|
||||
var _ = require('lodash');
|
||||
var moment = require('moment');
|
||||
var pathToCommon;
|
||||
|
||||
if (typeof window !== 'undefined') {
|
||||
window.habitrpgShared = module.exports;
|
||||
window._ = _;
|
||||
window.moment = moment;
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
pathToCommon = './transpiled-babel/index';
|
||||
} else {
|
||||
pathToCommon = './script/index';
|
||||
}
|
||||
|
||||
module.exports = require(pathToCommon);
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
"grunt-hashres": "~0.4.1",
|
||||
"grunt-karma": "~0.12.1",
|
||||
"gulp": "^3.9.0",
|
||||
"gulp-babel": "^6.1.2",
|
||||
"gulp-eslint": "^1.0.0",
|
||||
"gulp-grunt": "^0.5.2",
|
||||
"gulp-imagemin": "^2.3.0",
|
||||
|
||||
@@ -8,7 +8,7 @@ import babel from 'babelify';
|
||||
|
||||
gulp.task('browserify', function () {
|
||||
let bundler = browserify({
|
||||
entries: './common/index.js',
|
||||
entries: './common/browserify.js',
|
||||
debug: true,
|
||||
transform: [[babel, { compact: false }]],
|
||||
});
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import gulp from 'gulp';
|
||||
import babel from 'gulp-babel';
|
||||
require('gulp-grunt')(gulp);
|
||||
|
||||
gulp.task('build', () => {
|
||||
@@ -9,6 +10,20 @@ gulp.task('build', () => {
|
||||
}
|
||||
});
|
||||
|
||||
gulp.task('build:src', () => {
|
||||
return gulp.src('website/src/**/*.js')
|
||||
.pipe(babel())
|
||||
.pipe(gulp.dest('website/transpiled-babel/'));
|
||||
});
|
||||
|
||||
gulp.task('build:common', () => {
|
||||
return gulp.src('common/script/**/*.js')
|
||||
.pipe(babel())
|
||||
.pipe(gulp.dest('common/transpiled-babel/'));
|
||||
});
|
||||
|
||||
gulp.task('build:server', ['build:src', 'build:common']);
|
||||
|
||||
gulp.task('build:dev', ['browserify', 'prepare:staticNewStuff'], (done) => {
|
||||
gulp.start('grunt-build:dev', done);
|
||||
});
|
||||
@@ -17,6 +32,6 @@ gulp.task('build:dev:watch', ['build:dev'], () => {
|
||||
gulp.watch(['website/public/**/*.styl', 'common/script/*']);
|
||||
});
|
||||
|
||||
gulp.task('build:prod', ['browserify', 'prepare:staticNewStuff'], (done) => {
|
||||
gulp.task('build:prod', ['browserify', 'build:server', 'prepare:staticNewStuff'], (done) => {
|
||||
gulp.start('grunt-build:prod', done);
|
||||
});
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
require('babel-register');
|
||||
}
|
||||
// Only do the minimal amount of work before forking just in case of a dyno restart
|
||||
var cluster = require("cluster");
|
||||
var _ = require('lodash');
|
||||
|
||||
Reference in New Issue
Block a user