Skip to content

Commit 6c74952

Browse files
gaearonbvaughn
authored andcommitted
Build shallow renderer independently (#9375)
1 parent 7dbf2b3 commit 6c74952

File tree

2 files changed

+41
-1
lines changed

2 files changed

+41
-1
lines changed

gulpfile.js

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,24 @@ var paths = {
8282
],
8383
lib: 'build/node_modules/react-native/lib',
8484
},
85+
reactShallowRenderer: {
86+
src: [
87+
// Shallow renderer reuses some DOM code
88+
'src/renderers/dom/**/*.js',
89+
'src/renderers/testing/**/*.js',
90+
'src/renderers/shared/**/*.js',
91+
92+
'src/ReactVersion.js',
93+
'src/shared/**/*.js',
94+
'!src/shared/vendor/**/*.js',
95+
'!src/**/__benchmarks__/**/*.js',
96+
'!src/**/__tests__/**/*.js',
97+
'!src/**/__mocks__/**/*.js',
98+
],
99+
// We put it into a subfolder of test renderer but
100+
// with a separate copy of the reconciler.
101+
lib: 'build/node_modules/react-test-renderer/lib/shallow/',
102+
},
85103
reactTestRenderer: {
86104
src: [
87105
'src/renderers/testing/**/*.js',
@@ -153,6 +171,12 @@ var moduleMapReactNative = Object.assign(
153171
moduleMapBase
154172
);
155173

174+
var moduleMapReactShallowRenderer = Object.assign(
175+
{},
176+
rendererSharedState,
177+
moduleMapBase
178+
);
179+
156180
var moduleMapReactTestRenderer = Object.assign(
157181
{},
158182
rendererSharedState,
@@ -184,6 +208,13 @@ var babelOptsReactNative = {
184208
],
185209
};
186210

211+
var babelOptsReactShallowRenderer = {
212+
plugins: [
213+
devExpressionWithCodes, // this pass has to run before `rewrite-modules`
214+
[babelPluginModules, {map: moduleMapReactShallowRenderer}],
215+
],
216+
};
217+
187218
var babelOptsReactTestRenderer = {
188219
plugins: [
189220
devExpressionWithCodes, // this pass has to run before `rewrite-modules`
@@ -204,6 +235,7 @@ gulp.task('react:clean', function() {
204235
paths.react.lib,
205236
paths.reactDOM.lib,
206237
paths.reactNative.lib,
238+
paths.reactShallowRenderer.lib,
207239
paths.reactTestRenderer.lib,
208240
]);
209241
});
@@ -231,6 +263,13 @@ gulp.task('react:modules', function() {
231263
.pipe(flatten())
232264
.pipe(gulp.dest(paths.reactNative.lib)),
233265

266+
gulp
267+
.src(paths.reactShallowRenderer.src)
268+
.pipe(stripProvidesModule())
269+
.pipe(babel(babelOptsReactShallowRenderer))
270+
.pipe(flatten())
271+
.pipe(gulp.dest(paths.reactShallowRenderer.lib)),
272+
234273
gulp
235274
.src(paths.reactTestRenderer.src)
236275
.pipe(stripProvidesModule())
@@ -245,6 +284,7 @@ gulp.task('react:extract-errors', function() {
245284
paths.react.src,
246285
paths.reactDOM.src,
247286
paths.reactNative.src,
287+
paths.reactShallowRenderer.src,
248288
paths.reactTestRenderer.src
249289
)).pipe(extractErrors(errorCodeOpts));
250290
});
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
'use strict';
22

3-
module.exports = require('./lib/ReactShallowRenderer');
3+
module.exports = require('./lib/shallow/ReactShallowRenderer');

0 commit comments

Comments
 (0)