-
Notifications
You must be signed in to change notification settings - Fork 46.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Streaming server renderer on top of existing client checksum validator #6836
[WIP] Streaming server renderer on top of existing client checksum validator #6836
Conversation
… the unit tests all pass right now. Still more to add.
…basic components section and upgraded several of them to use itRenders
…ator. A bunch of unit tests still fail (19 in server render test and more overall).
…ling client warning messages.
…r warning messages disable client warning messages.
…ome failures in ReactComponentTreeDevtool.
…old-client-validator
…old-client-validator
…old-client-validator
…nnecessary special cases.
…ive tests are broken; will be fixed on next merge from test branch.
…first called internally.
…old-client-validator
…old-client-validator
…old-client-validator
…as a result ended up centralizing more markup generation logic.
…old-client-validator
…oling and uncommented out the ReactComponentTreeDevtool-test server rendering piece. There are still two tests that don't pass, and they have been xit'ed out.
@@ -25,6 +25,8 @@ module.exports = function() { | |||
entries: entries, | |||
debug: config.debug, // sourcemaps | |||
standalone: config.standalone, // global | |||
builtins: {}, | |||
detectGlobals: false, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe this incantation is necessary to stop browserify from bundling in a fake version of node's stream library.
From travis, it looks like there's 2 test failures for CSS warnings when running the tests in SSR mode. The CSS error messages don't include the name of the component that has the issue, but otherwise the error messages are correct. I'll probably not fix this right now, as it looks like I'd have to implement component ownership to get the correct component name, and I'd rather wait until it's clear that this is the way to go forward. |
… that don't have special characters. The other is an inlining of creating the data-reactid
…t against this branch.
@aickin updated the pull request. |
After the merging of #10024, this PR is obsolete. Closing this PR with thanks to @spicyj, @tomocchino, and @sebmarkbage for all they did to pave the way for streaming rendering to make it into core. |
This is a work-in-progress PR to further the discussion of #6618. It re-implements server rendering in a way that supports streaming and is hopefully maintainable with unit tests.
I'm not asking for this PR to be merged right now. I'm really only opening this PR to allow folks to easily see the diff and evaluate this implementation strategy, as a robust discussion is going on in #6618 about the right way (if any) to achieve streaming render. So I'm going to propose that for now we keep the discussion about this strategy over in #6618. The one exception is if you want to comment on the code, of course feel free to do so here.
If you have any worries/objections about this plan for the discussion, please let me know!
Before submitting a pull request, please make sure the following is done...
master
. Done.grunt test
). Currently passes, but two tests have beenxit
ed out.grunt lint
) - we've done our best to make sure these rules match our internal linting guidelines. Done.