chore(build): remove use of q.denodeify
This change also makes webpack properly reject promise on build errors Closes #6546
This commit is contained in:
parent
ebe14720eb
commit
b2db6401cc
10
gulpfile.js
10
gulpfile.js
@ -717,12 +717,11 @@ gulp.task('build.payload.js', ['build.js'], function(done) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('!build.payload.js.webpack', function() {
|
gulp.task('!build.payload.js.webpack', function() {
|
||||||
var q = require('q');
|
var webpack = require('./tools/build/webpack/promiseify');
|
||||||
var webpack = q.denodeify(require('webpack'));
|
|
||||||
|
|
||||||
var ES5_PROD_ROOT = __dirname + '/' + CONFIG.dest.js.prod.es5;
|
var ES5_PROD_ROOT = __dirname + '/' + CONFIG.dest.js.prod.es5;
|
||||||
|
|
||||||
return q.all(PAYLOAD_TESTS_CONFIG.ts.cases.map(function(caseName) {
|
return Promise.all(PAYLOAD_TESTS_CONFIG.ts.cases.map(function(caseName) {
|
||||||
var CASE_PATH = PAYLOAD_TESTS_CONFIG.ts.dist(caseName, 'webpack');
|
var CASE_PATH = PAYLOAD_TESTS_CONFIG.ts.dist(caseName, 'webpack');
|
||||||
|
|
||||||
return webpack({
|
return webpack({
|
||||||
@ -1346,8 +1345,7 @@ gulp.task('!bundles.js.docs', ['clean'], function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('!bundles.js.umd', ['build.js.dev'], function() {
|
gulp.task('!bundles.js.umd', ['build.js.dev'], function() {
|
||||||
var q = require('q');
|
var webpack = require('./tools/build/webpack/promiseify');
|
||||||
var webpack = q.denodeify(require('webpack'));
|
|
||||||
|
|
||||||
function resolveOptions(devOrProd) {
|
function resolveOptions(devOrProd) {
|
||||||
return {
|
return {
|
||||||
@ -1403,7 +1401,7 @@ gulp.task('!bundles.js.umd', ['build.js.dev'], function() {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
return q.all([
|
return Promise.all([
|
||||||
webpack(webPackConf([__dirname + '/tools/build/webpack/angular2-all.umd.js'], 'angular2-all',
|
webpack(webPackConf([__dirname + '/tools/build/webpack/angular2-all.umd.js'], 'angular2-all',
|
||||||
'dev')),
|
'dev')),
|
||||||
webpack(webPackConf([__dirname + '/tools/build/webpack/angular2-all.umd.js'], 'angular2-all',
|
webpack(webPackConf([__dirname + '/tools/build/webpack/angular2-all.umd.js'], 'angular2-all',
|
||||||
|
32
tools/build/webpack/promiseify.js
Normal file
32
tools/build/webpack/promiseify.js
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
var webpack = require('webpack');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Wraps the original `webpack` function to convert execution
|
||||||
|
* result to a promise and properly report errors.
|
||||||
|
*
|
||||||
|
* @param options
|
||||||
|
* @returns {Function}
|
||||||
|
*/
|
||||||
|
function webPackPromiseify(options) {
|
||||||
|
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
|
||||||
|
webpack(options, function(err, stats) {
|
||||||
|
var jsonStats = stats.toJson() || {};
|
||||||
|
var statsErrors = jsonStats.errors || [];
|
||||||
|
|
||||||
|
if (err) {
|
||||||
|
return reject(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (statsErrors.length) {
|
||||||
|
return reject(statsErrors);
|
||||||
|
}
|
||||||
|
|
||||||
|
return resolve(stats);
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = webPackPromiseify;
|
Loading…
x
Reference in New Issue
Block a user