Skip to content

Commit efe65f3

Browse files
committed
Squashed 'app/packages/meteor-react-router-ssr/' changes from 8464456..6939eaf
6939eaf Merge pull request #2 from thereactivestack-legacy/master 27bb636 Merge pull request #94 from krizka/master 47a349b Merge pull request #90 from AirBorne04/patch-1 ef47394 Merge pull request #109 from cdmbase/master d2c1785 Released 3.1.6 e64db68 update react-router dependency 40d9c49 make data available when using subscriptions inside createContainer 5d7e7cf - remove deepmerge dependency - deepMerge -> object construct 25e8dbb move the patch subscribe git-subtree-dir: app/packages/meteor-react-router-ssr git-subtree-split: 6939eafef4e4631655485e7f8480f168bad8df0e
1 parent 71a76eb commit efe65f3

File tree

3 files changed

+13
-10
lines changed

3 files changed

+13
-10
lines changed

lib/server.jsx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,11 @@ ReactRouterSSR.LoadWebpackStats = function(stats) {
4343
webpackStats = stats;
4444
};
4545

46-
ReactRouterSSR.Run = function(routes, clientOptions, serverOptions) {
47-
// this line just patches Subscribe and find mechanisms
48-
patchSubscribeData(ReactRouterSSR);
46+
// this line just patches Subscribe and find mechanisms
47+
patchSubscribeData(ReactRouterSSR);
4948

49+
ReactRouterSSR.Run = function(routes, clientOptions, serverOptions) {
50+
5051
if (!clientOptions) {
5152
clientOptions = {};
5253
}
@@ -218,6 +219,11 @@ function generateSSRData(clientOptions, serverOptions, req, res, renderProps) {
218219
}
219220

220221
if (!serverOptions.disableSSR){
222+
// I'm pretty sure this could be avoided in a more elegant way?
223+
ReactDOMServer.renderToString(app);
224+
const context = FastRender.frContext.get();
225+
const data = context.getData();
226+
InjectData.pushData(res, 'fast-render-data', data);
221227
html = ReactDOMServer.renderToString(app);
222228
} else if (serverOptions.loadingScreen){
223229
html = serverOptions.loadingScreen;

lib/ssr_context.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
// server/ssr_context.js
22
// stolen from https://github.com/kadirahq/flow-router/blob/ssr/server/ssr_context.js
33

4-
import deepMerge from 'deepmerge';
5-
64
export default class SsrContext {
75
constructor() {
86
this._collections = {};
@@ -26,8 +24,8 @@ export default class SsrContext {
2624
);
2725
}
2826

29-
const args = [name].concat(params);
30-
const data = fastRenderContext.subscribe(...args);
27+
28+
const data = fastRenderContext.subscribe(name, ...params);
3129
this.addData(data);
3230
}
3331

@@ -38,9 +36,9 @@ export default class SsrContext {
3836
collData.forEach((item) => {
3937
const existingDoc = collection.findOne(item._id);
4038
if (existingDoc) {
41-
const newDoc = deepMerge(existingDoc, item);
39+
const newDoc = { ...existingDoc, ...item };
4240
delete newDoc._id;
43-
collection.update(item._id, newDoc);
41+
collection.update(item._id, { $set: newDoc });
4442
} else {
4543
collection.insert(item);
4644
}

package.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ Package.describe({
99
Npm.depends({
1010
'cookie-parser': '1.4.1',
1111
'cheerio': '0.20.0',
12-
'deepmerge': '0.2.10'
1312
});
1413

1514
Package.onUse(function(api) {

0 commit comments

Comments
 (0)