|
7 | 7 |
|
8 | 8 | 'use strict';
|
9 | 9 |
|
10 |
| -var babel = require('gulp-babel'); |
| 10 | +var packageData = require('./package.json'); |
| 11 | +var moduleMap = require('./scripts/module-map'); |
| 12 | +var fbjsConfigurePreset = require('babel-preset-fbjs/configure'); |
11 | 13 | var del = require('del');
|
| 14 | +var gulpCheckDependencies = require('fbjs-scripts/gulp/check-dependencies'); |
| 15 | +var gulp = require('gulp'); |
| 16 | +var babel = require('gulp-babel'); |
12 | 17 | var cleanCSS = require('gulp-clean-css');
|
13 | 18 | var concatCSS = require('gulp-concat-css');
|
14 | 19 | var derequire = require('gulp-derequire');
|
15 | 20 | var flatten = require('gulp-flatten');
|
16 |
| -var gulp = require('gulp'); |
17 |
| -var gulpif = require('gulp-if'); |
18 |
| -var gulpUtil = require('gulp-util'); |
19 | 21 | var header = require('gulp-header');
|
20 |
| -var packageData = require('./package.json'); |
| 22 | +var gulpif = require('gulp-if'); |
21 | 23 | var rename = require('gulp-rename');
|
| 24 | +var gulpUtil = require('gulp-util'); |
22 | 25 | var StatsPlugin = require('stats-webpack-plugin');
|
23 | 26 | var through = require('through2');
|
24 | 27 | var UglifyJsPlugin = require('uglifyjs-webpack-plugin');
|
25 | 28 | var webpackStream = require('webpack-stream');
|
26 | 29 |
|
27 |
| -var fbjsConfigurePreset = require('babel-preset-fbjs/configure'); |
28 |
| -var gulpCheckDependencies = require('fbjs-scripts/gulp/check-dependencies'); |
29 |
| - |
30 |
| -var moduleMap = require('./scripts/module-map'); |
31 |
| - |
32 | 30 | var paths = {
|
33 | 31 | dist: 'dist',
|
34 | 32 | lib: 'lib',
|
@@ -70,7 +68,12 @@ var COPYRIGHT_HEADER = `/**
|
70 | 68 | */
|
71 | 69 | `;
|
72 | 70 |
|
| 71 | +var wpStream = null; |
| 72 | + |
73 | 73 | var buildDist = function(opts) {
|
| 74 | + if (wpStream !== null) { |
| 75 | + return wpStream; |
| 76 | + } |
74 | 77 | var webpackOpts = {
|
75 | 78 | externals: {
|
76 | 79 | immutable: {
|
@@ -114,14 +117,15 @@ var buildDist = function(opts) {
|
114 | 117 | if (!opts.debug) {
|
115 | 118 | webpackOpts.plugins.push(new UglifyJsPlugin());
|
116 | 119 | }
|
117 |
| - return webpackStream(webpackOpts, null, function(err, stats) { |
| 120 | + wpStream = webpackStream(webpackOpts, null, function(err, stats) { |
118 | 121 | if (err) {
|
119 | 122 | throw new gulpUtil.PluginError('webpack', err);
|
120 | 123 | }
|
121 | 124 | if (stats.compilation.errors.length) {
|
122 | 125 | gulpUtil.log('webpack', '\n' + stats.toString({colors: true}));
|
123 | 126 | }
|
124 | 127 | });
|
| 128 | + return wpStream; |
125 | 129 | };
|
126 | 130 |
|
127 | 131 | gulp.task(
|
|
0 commit comments