Skip to content

react-rails 2.0 #689

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

Merged
merged 80 commits into from
Apr 13, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
26756c8
refactor(ServerRendering) simpler server rendering assets
rmosolgo Feb 8, 2016
6fe8c19
feat(ServerRendering) generate an initializer to precompile the manif…
rmosolgo Feb 22, 2016
81cc0c9
Use the existing build files
rmosolgo Feb 23, 2016
fd65406
refactor(react_ujs) build UJS with webpack
rmosolgo Apr 3, 2017
7d5b9a1
test(webpacker) add test for webpack-based component loading
rmosolgo Apr 3, 2017
6d5ff63
fix(WebpackerTest) reload manifest before running test
rmosolgo Apr 4, 2017
6062707
refactor(test_helper) move WebpackerHelpers to module
rmosolgo Apr 4, 2017
caf58e6
prep for npm
rmosolgo Apr 4, 2017
38c89a9
Add readme for npm
rmosolgo Apr 4, 2017
c248b9f
Merge pull request #471 from reactjs/ssr-js-refactor
rmosolgo Apr 4, 2017
217d81b
yarn install before running tests
rmosolgo Apr 4, 2017
5428180
add repository to npm
rmosolgo Apr 4, 2017
47873d4
Add ujs:publish task
rmosolgo Apr 4, 2017
d62f518
update tests for server_rendering and turbolinks changes
rmosolgo Apr 4, 2017
c89ac91
Merge pull request #678 from reactjs/webpack-ujs
rmosolgo Apr 4, 2017
ebfd719
fix?(ci) update node version for webpacker
rmosolgo Apr 4, 2017
46caaa3
feat(ServerRendering) reload when new files are added; support config…
rmosolgo Apr 4, 2017
a0fa128
feat(ServerRendering) support per-request renderers
rmosolgo Jun 28, 2016
24fc7dc
refactor(Controller hooks) use around-actions
rmosolgo Jun 29, 2016
05f6a3c
feat(ServerRendering) add end-to-end test of per-request prerenderer
rmosolgo Apr 4, 2017
865f80e
Merge pull request #682 from reactjs/reload-new-files
rmosolgo Apr 5, 2017
f7544d3
refactor(controller_lifecycle) simplify per-request renderer API; fix…
rmosolgo Apr 5, 2017
36a82cc
Manually edit no-sprockets gemfile:
rmosolgo Apr 5, 2017
f654c33
fix(tests) don't check out a renderer when there's no sprockets
rmosolgo Apr 5, 2017
79101ff
Merge pull request #559 from reactjs/per-request-js-ctx
rmosolgo Apr 5, 2017
379147e
feat(ComponentGenerator) output components to Webpacker source dir if…
rmosolgo Apr 5, 2017
41721c5
feat(InstallGenerator) setup webpacker if found
rmosolgo Apr 5, 2017
e33848f
update tests for react_ujs dependency
rmosolgo Apr 5, 2017
ce68d57
Merge pull request #684 from reactjs/generate-webpacker
rmosolgo Apr 5, 2017
010c14b
feat(ServerRendering) add WebpackerManifestContainer
rmosolgo Apr 4, 2017
15d5d2d
feat(WebpackerManifestContainer) use webpack-dev-server if detected
rmosolgo Apr 5, 2017
51ec36c
feat(ServerRendering) watch app/javascripts; improve UJS for server r…
rmosolgo Apr 6, 2017
df71768
Update readme and gemspec
rmosolgo Apr 6, 2017
1099032
fix link
rmosolgo Apr 6, 2017
d3d82a0
Merge pull request #685 from reactjs/redocument
rmosolgo Apr 6, 2017
295e6ca
fix(ServerRendering) improve webpacker + V8 server rendering
rmosolgo Apr 6, 2017
ed89ebf
Fix rake for webpacker
rmosolgo Apr 7, 2017
e581a5f
Ensure webpacker compiled
rmosolgo Apr 7, 2017
c542b1e
Add debug output
rmosolgo Apr 7, 2017
07b7031
improve debug info, extend wait
rmosolgo Apr 7, 2017
cab006d
fix clear path, fix env var
rmosolgo Apr 7, 2017
339799a
clean up dev-server packs
rmosolgo Apr 7, 2017
fbe18b8
Merge pull request #683 from reactjs/webpacker-ssr
rmosolgo Apr 7, 2017
b9923c4
Support webpacker-but-not-sprockets
rmosolgo Apr 7, 2017
c61e8c9
refactor(test) put sprockets helpers in module
rmosolgo Apr 7, 2017
73c40a5
refactor(BundleRenderer) rename SprocketsRenderer -> BundleRenderer s…
rmosolgo Apr 7, 2017
8ad5cf6
fix? component mount test: make sure the proper packs were compiled
rmosolgo Apr 7, 2017
7b6f03b
update gemfiles for travis
rmosolgo Apr 7, 2017
e2fe21f
Merge pull request #686 from reactjs/webpacker-without-sprockets
rmosolgo Apr 7, 2017
7367f2b
Support server-rendering from webpack-dev-server
rmosolgo Apr 7, 2017
e2a2e33
Debug kill
rmosolgo Apr 7, 2017
f70e7e9
try hup, test webpacker first
rmosolgo Apr 10, 2017
16e6bf0
Wait for specific pid
rmosolgo Apr 10, 2017
13c57db
try a system kill -9
rmosolgo Apr 10, 2017
e7fb25a
try repeatedly killing???
rmosolgo Apr 10, 2017
2bae39a
More debug
rmosolgo Apr 10, 2017
e55dd83
Try sigint
rmosolgo Apr 10, 2017
435d3c5
find and kill the pid on 8080
rmosolgo Apr 10, 2017
7dd8c5b
check the right pid
rmosolgo Apr 10, 2017
3532fc5
Remove putses
rmosolgo Apr 10, 2017
c001a41
Merge pull request #687 from reactjs/support-webpack-dev-server
rmosolgo Apr 10, 2017
ffe0347
Update built UJS and publish
rmosolgo Apr 10, 2017
88a90af
fix generated components dir
rmosolgo Apr 10, 2017
cd513c8
feat(ujs) rename loadContext -> useContext, add global fallback
rmosolgo Apr 10, 2017
1d18a8e
update docs for global fallback
rmosolgo Apr 10, 2017
d16c932
update webpacker path helper; fix some tests
rmosolgo Apr 11, 2017
36f51b4
fix(turbolinks) use good turbolinks events
rmosolgo Apr 11, 2017
7141010
Make sure UJS is only ever loaded once
rmosolgo Apr 12, 2017
a89d84f
Merge pull request #690 from reactjs/fix-turbolinks-events
rmosolgo Apr 12, 2017
e199d3f
fix(ComponentMount) move the console replay tag outside the rails mou…
rmosolgo Apr 12, 2017
c2d6827
Merge pull request #691 from reactjs/fix-console-replay
rmosolgo Apr 12, 2017
7317247
rebuild ujs, add some docs, simplify reloading
rmosolgo Apr 12, 2017
5cbbcca
simplify to_prepare
rmosolgo Apr 12, 2017
bbb1ff1
use context-specific file checker
rmosolgo Apr 12, 2017
292f917
doc(Readme) document per_request_react_rails_prerenderer
rmosolgo Apr 12, 2017
7353d98
fix(console_replay) clear state between renders
rmosolgo Apr 12, 2017
c8b7756
make sure replay is true
rmosolgo Apr 12, 2017
968d766
Merge pull request #692 from reactjs/fix-console-replay-state
rmosolgo Apr 12, 2017
54c8ac3
update changelog
rmosolgo Apr 13, 2017
d40a893
make sure compiled
rmosolgo Apr 13, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
Gemfile.lock
*.log
test/dummy/tmp
test/dummy/public/packs
gemfiles/*.lock
*.swp
/vendor/react
react-builds/node_modules
**/node_modules
react-builds/build
coverage/
20 changes: 15 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,25 @@
language: ruby
sudo: required
dist: trusty
cache: bundler
cache:
bundler: true
yarn: true
rvm:
- 2.3.0
- 2.1
- jruby-9.0.1.0

gemfile:
# These have webpacker:
- gemfiles/rails_4.2_sprockets_4.gemfile
- gemfiles/rails_5_no_sprockets_webpacker.gemfile
# These don't have webpacker:
- gemfiles/rails_3.2.gemfile
- gemfiles/rails_4.0.5.gemfile
- gemfiles/rails_4.0_with_therubyracer.gemfile
- gemfiles/rails_4.1.gemfile
- gemfiles/rails_4.2_sprockets_2.gemfile
- gemfiles/rails_4.2_sprockets_3.gemfile
- gemfiles/rails_4.2_sprockets_4.gemfile
- gemfiles/rails_5.gemfile
- gemfiles/rails_5_no_sprockets.gemfile
- gemfiles/rails_5_sprockets_4.gemfile

Expand All @@ -35,7 +39,7 @@ matrix:
- rvm: 2.1
gemfile: gemfiles/rails_4.2_sprockets_4.gemfile
- rvm: 2.1
gemfile: gemfiles/rails_5.gemfile
gemfile: gemfiles/rails_5_no_sprockets_webpacker.gemfile
- rvm: 2.1
gemfile: gemfiles/rails_5_no_sprockets.gemfile
- rvm: 2.1
Expand All @@ -49,14 +53,20 @@ matrix:
- rvm: jruby-9.0.1.0
gemfile: gemfiles/rails_4.2_sprockets_2.gemfile
- rvm: jruby-9.0.1.0
gemfile: gemfiles/rails_5_mini_racer.gemfile
gemfile: gemfiles/rails_5_no_sprockets_webpacker.gemfile

allow_failures:
- rvm: jruby-9.0.1.0

before_install:
- nvm install 7.8.0 && nvm use 7.8.0
- mkdir travis-phantomjs
- wget https://rmosolgo.github.io/assets/phantomjs-2.1.1-linux-x86_64.tar.bz2 -O $PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
- tar -xvf $PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2 -C $PWD/travis-phantomjs
- export PATH=$PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64/bin:$PATH
- phantomjs --version
# Repo for Yarn
- sudo apt-key adv --fetch-keys http://dl.yarnpkg.com/debian/pubkey.gpg
- echo "deb http://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
- sudo apt-get update -qq
- sudo apt-get install -y -qq yarn
15 changes: 13 additions & 2 deletions Appraisals
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,25 @@ appraise "rails-4.2-sprockets_4" do
gem 'rails', '~> 4.2.1'
gem "sprockets", "~> 4.0.x"
gem "turbolinks", "~> 2.5.0"
gem "webpacker", github: "rails/webpacker"
# This ExecJS backend provides stateful context
# which the default nodejs backend does not
gem "mini_racer"
end

appraise "rails-5" do
appraise "rails-5_no_sprockets_webpacker" do
gem 'rails', '~> 5.0.0'
gem "turbolinks", "~> 5.0.0"
gem "webpacker", github: "rails/webpacker"
# This ExecJS backend provides stateful context
# which the default nodejs backend does not
gem "therubyracer"
end

appraise "rails-5-no_sprockets" do
# Appraisal adds `turbolinks` to this gemfile because it is
# present in `./Gemfile`.
# But it causes this gemfile to break, so it must be removed
# from `./gemfiles/rails_5_no_sprockets.gemfile` manually.
gem 'rails', '~> 5.0.0'
end

Expand Down
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,35 @@

#### Bug Fixes

## 2.0.0 (April 13, 2017)

#### Breaking Changes

- Server rendering loads `server_rendering.js` by default #471 . Upgrade by adding a new file which requires the previous defaults:

```js
// app/assets/javascripts/server_rendering.js
// = require react-server
// = require components
```


#### New Features

- Webpacker support:
- `react_component` can find components via `require.context` + `ReactRailsUJS.useContext` #678
- Server rendering detects Webpacker and uses packs #683, #687
- `ReactRailsUJS` is available from `npm` with `yarn add react_ujs` or `npm install react_ujs` #678
- `per_request_react_rails_prerenderer` Allows you to check out a renderer for the _whole request_ instead of once-per-`react_component` #559

#### Bug Fixes

- Improved watching of server-rendering JS files #687
- Fix console replay:
- Put the `<script>` tag outside the React.js container to avoid React warnings #691
- Clear console history between renders #692
- Use better Turbolinks events #690

## 1.11.0 (April 4, 2017)

#### New Features
Expand Down
2 changes: 2 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
source 'http://rubygems.org'

gemspec
# This is an optional dev-dependency, required whenever sprockets is required
gem "turbolinks"
Loading