Fix for vendor files not working correctly with manifest

This commit is contained in:
Berkeley Martinez
2015-11-11 13:29:33 -08:00
parent 87fa38182e
commit 0a46dc16a6
4 changed files with 23 additions and 37 deletions

1
.gitignore vendored
View File

@ -44,6 +44,7 @@ public/js/commonFramework*
public/js/sandbox* public/js/sandbox*
public/js/iFrameScripts* public/js/iFrameScripts*
public/js/plugin* public/js/plugin*
public/js/vendor*
public/css/main* public/css/main*
server/rev-manifest.json server/rev-manifest.json

View File

@ -19,7 +19,7 @@ var Rx = require('rx'),
merge = require('merge-stream'), merge = require('merge-stream'),
// react app // react app
webpack = require('gulp-webpack'), webpack = require('webpack-stream'),
webpackConfig = require('./webpack.config.js'), webpackConfig = require('./webpack.config.js'),
webpackConfigNode = require('./webpack.config.node.js'), webpackConfigNode = require('./webpack.config.node.js'),
@ -356,40 +356,25 @@ function getFilesGlob(files) {
}); });
} }
gulp.task('vendor', ['js'], function() {
var manifestName = 'js-manifest.json';
var dest = paths.publicJs;
var vendorFiles = merge(
gulp.src(getFilesGlob(paths.vendorMain))
.pipe(concat('vendor-main.js')),
gulp.src(paths.vendorChallenges)
.pipe(__DEV__ ? gutil.noop() : uglify())
.pipe(concat('vendor-challenges.js'))
);
return vendorFiles.pipe(gulp.dest(dest))
// create registry file
.pipe(rev())
// copy revisioned assets to dest
.pipe(gulp.dest(dest))
// create manifest file
.pipe(rev.manifest(manifestName))
.pipe(delRev(
dest,
manifestName
))
// copy manifest file to dest
.pipe(gulp.dest(paths.manifest));
});
gulp.task('js', function() { gulp.task('js', function() {
var manifestName = 'js-manifest.json'; var manifestName = 'js-manifest.json';
var dest = paths.publicJs; var dest = paths.publicJs;
return gulp.src(paths.js) var jsFiles = merge(
.pipe(plumber({ errorHandler: errorHandler }))
.pipe(__DEV__ ? gutil.noop() : uglify()) gulp.src(getFilesGlob(paths.vendorMain))
.pipe(concat('vendor-main.js')),
gulp.src(paths.vendorChallenges)
.pipe(__DEV__ ? gutil.noop() : uglify())
.pipe(concat('vendor-challenges.js')),
gulp.src(paths.js)
.pipe(plumber({ errorHandler: errorHandler }))
.pipe(__DEV__ ? gutil.noop() : uglify())
);
return jsFiles
.pipe(gulp.dest(dest)) .pipe(gulp.dest(dest))
// create registry file // create registry file
.pipe(rev()) .pipe(rev())
@ -444,7 +429,7 @@ function buildManifest() {
.pipe(gulp.dest('server/')); .pipe(gulp.dest('server/'));
} }
var buildDependents = ['less', 'js', 'dependents', 'vendor']; var buildDependents = ['less', 'js', 'dependents'];
gulp.task('build-manifest', buildDependents, function() { gulp.task('build-manifest', buildDependents, function() {
return buildManifest(); return buildManifest();

View File

@ -10,7 +10,7 @@
"create-rev": "test ! -e server/rev-manifest.json && echo '\n\ncreating manifest\n\n' && touch server/rev-manifest.json && echo '{}' >> server/rev-manifest.json", "create-rev": "test ! -e server/rev-manifest.json && echo '\n\ncreating manifest\n\n' && touch server/rev-manifest.json && echo '{}' >> server/rev-manifest.json",
"build": "NODE_ENV=production gulp build -p", "build": "NODE_ENV=production gulp build -p",
"start": "babel-node server/server.js", "start": "babel-node server/server.js",
"prestart-production": "bower cache clean && bower install && gulp build", "prestart-production": "bower cache clean && bower install && gulp build -p",
"start-production": "node pm2Start", "start-production": "node pm2Start",
"lint": "npm run lint-js && npm run lint-json", "lint": "npm run lint-js && npm run lint-json",
"lint-challenges": "jsonlint -q seed/challenges/*.json", "lint-challenges": "jsonlint -q seed/challenges/*.json",
@ -122,12 +122,9 @@
"url-regex": "^3.0.0", "url-regex": "^3.0.0",
"validator": "^4.2.1", "validator": "^4.2.1",
"webpack": "^1.9.12", "webpack": "^1.9.12",
"webpack-stream": "^2.1.1",
"xss-filters": "^1.2.6", "xss-filters": "^1.2.6",
<<<<<<< HEAD
"yargs": "^3.30.0" "yargs": "^3.30.0"
=======
"yargs": "^3.29.0"
>>>>>>> bundle vendor files
}, },
"devDependencies": { "devDependencies": {
"blessed": "~0.1.81", "blessed": "~0.1.81",

View File

@ -1,3 +1,4 @@
var webpack = require('webpack');
var path = require('path'); var path = require('path');
var webpack = require('webpack'); var webpack = require('webpack');
@ -31,6 +32,8 @@ module.exports = {
] ]
}, },
plugins: [ plugins: [
new webpack.optimize.DedupePlugin(),
new webpack.optimize.OccurenceOrderPlugin(true),
new webpack.DefinePlugin({ new webpack.DefinePlugin({
'process.env': { 'process.env': {
'NODE_ENV': JSON.stringify(__DEV__ ? 'development' : 'production') 'NODE_ENV': JSON.stringify(__DEV__ ? 'development' : 'production')