Fix for vendor files not working correctly with manifest
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@ -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
|
||||||
|
49
gulpfile.js
49
gulpfile.js
@ -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();
|
||||||
|
@ -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",
|
||||||
|
@ -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')
|
||||||
|
Reference in New Issue
Block a user