diff --git a/.eslintignore b/.eslintignore index e0b10d03b..6d98106b6 100644 --- a/.eslintignore +++ b/.eslintignore @@ -7,6 +7,7 @@ node_package/tests/node_modules node_package/webpack.config.js **/node_modules/** **/assets/webpack/** +**/public/webpack/** **/generated/** **/app/assets/javascripts/application.js **/coverage/** diff --git a/.gitignore b/.gitignore index 3c55121fe..e170c797a 100644 --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,7 @@ /spec/examples.txt /spec/dummy/client/node_modules -/spec/dummy/app/assets/webpack/ +/spec/dummy/public/webpack/ /spec/dummy/coverage/ /spec/react_on_rails/dummy-for-generators/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 77c255de3..ac0e2e29c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,25 @@ Contributors: please follow the recommendations outlined at [keepachangelog.com] ## [Unreleased] *Please add entries here for your pull requests.* +## [8.0.0] - 2017-05-03 + +### Added +Support for WebpackerLite in the generators. [#822](https://github.com/shakacode/react_on_rails/pull/822) by [kaizencodes](https://github.com/kaizencodes) and [justin808](https://github.com/justin808). + +1. You do not need to switch to WebpackerLite to use 8.0.0. +2. You can find an upgrade example in [react-webpack-rails-tutorial PR #387](https://github.com/shakacode/react-webpack-rails-tutorial/pull/387). + +### Changed +Breaking change is that the default value of symlink_non_digested_assets_regex has changed from this +old value to nil. This is a breaking change if you didn't have this value set in your +config/initializers/react_on_rails.rb file and you need this because you're using webpack's CSS +features and you have not switched to webpacker lite. + +``` +symlink_non_digested_assets_regex: /\.(png|jpg|jpeg|gif|tiff|woff|ttf|eot|svg|map)/, +``` + + ## [7.0.4] - 2017-04-27 - Return empty json when nil in json_safe_and_pretty [#824](https://github.com/shakacode/react_on_rails/pull/824) by [dzirtusss](https://github.com/dzirtusss) diff --git a/README.md b/README.md index 5ceb421ec..9166dc19a 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ **For a complete example of this gem, see our live demo at [www.reactrails.com](http://www.reactrails.com). ([Source Code](https://github.com/shakacode/react-webpack-rails-tutorial))** -**Speaking!**: Justin is speaking [GORUCO](http://goruco.com/#speakers) on Saturday, June 24, 2017 in NYC: "Front-End Sadness to Happiness: The React on Rails Story". [Email Justin](mailto:justin@shakacode.com) to give this talk at your local meetup or company. [Subscribe](https://app.mailerlite.com/webforms/landing/l1d9x5) to be notified of local and *online* presentations of this talk. +**Speaking!**: Justin is speaking [GORUCO](http://goruco.com/#speakers) on Saturday, June 24, 2017 in NYC: "Front-End Sadness to Happiness: The React on Rails Story". [Email Justin](mailto:justin@shakacode.com) to give this talk at your local meetup or company. [Subscribe](https://app.mailerlite.com/webforms/landing/l1d9x5) to be notified of local and *online* presentations of this talk. **Aloha from Justin Gordon** ([bio](http://www.railsonmaui.com/about)) and the [ShakaCode](http://www.shakacode.com) Team! We're actively looking for new projects involving React, React-Native, and Rails, including conversion of AngularJs to React. Please [contact me](mailto:justin@shakacode.com) if we could potentially help you in any way. Besides consulting on bigger projects, [ShakaCode](http://www.shakacode.com) is doing ScreenHero plus Slack/Github based [coaching](http://www.shakacode.com/work/shakacode-coaching-plan.pdf) for React on Rails. See our blog post [Can ShakaCode Help You?](https://blog.shakacode.com/can-shakacode-help-you-4a5b1e5a8a63#.jex6tg9w9) for more information. @@ -49,7 +49,7 @@ For more testimonials, see [Live Projects](PROJECTS.md) and [Kudos](./KUDOS.md). * [284 Ruby Rogues: React on Rails with Justin Gordon and Rob Wise](https://devchat.tv/ruby-rogues/284-rr-react-on-rails-with-justin-gordon-and-rob-wise) # NEWS -* 2017-04-25: 7.0.0 Shipped! Performance improvements! Please upgrade! Only "breaking" change is that you have to update both the node module and the Ruby gem. +* 2017-04-25: 7.0.0 Shipped! Performance improvements! Please upgrade! Only "breaking" change is that you have to update both the node module and the Ruby gem. * 2017-04-09: 8.0.0 beta work to include webpacker_lite gem has begun. See [#786](https://github.com/shakacode/react_on_rails/issues/786). * *See [NEWS.md](NEWS.md) for more notes over time.* @@ -106,6 +106,10 @@ Universal React with Rails: Part I](https://medium.com/@alexfedoseev/isomorphic- We're definitely not doing that. With react_on_rails, webpack is mainly generating a nice JavaScript file for inclusion into `application.js`. We're going to KISS. And that's all relative given how much there is to get right in an enterprise class web application. +## Upgrade + +To upgrade existing apps to react on rails 7 see the [Installation Overview](docs/basics/installation-overview.md) + ## Getting Started **For more detailed instructions**, see the [React on Rails Basic Tutorial](docs/tutorial.md). @@ -144,9 +148,9 @@ We're definitely not doing that. With react_on_rails, webpack is mainly generati foreman start -f Procfile.dev ``` -8. Visit [localhost:5000/hello_world](http://localhost:5000/hello_world). Note, `foreman` defaults to PORT 5000 unless you set the value of PORT in your environment. For example, you can `export PORT=3000` to use the Rails default port of 3000. +8. Visit [localhost:3000/hello_world](http://localhost:3000/hello_world). Note, `foreman` defaults to PORT 5000 unless you set the value of PORT in your environment. For example, you can `export PORT=3000` to use the Rails default port of 3000. For the hello_world example this is already set. -### Installation Summary +### Installation Overview See the [Installation Overview](docs/basics/installation-overview.md) for a concise set summary of what's in a React on Rails installation. @@ -222,7 +226,7 @@ In the following screenshot you can see the 3 parts of React on Rails rendering: 2. The wrapper div `
` specifies the div where to place the React rendering. It encloses the server-rendered HTML for the React component 3. Additional JavaScript is placed to console log any messages, such as server rendering errors. Note, these server side logs can be configured to only be sent to the server logs. -**Note**: +**Note**: * If server rendering is not used (prerender: false), then the major difference is that the HTML rendered for the React component only contains the outer div: `
`. The first specification of the React component is just the same. * The below image is not yet updated for version 7.0.0 which uses a `