react_on_rails 2.1.1 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -3
- data/README.md +3 -2
- data/docs/additional_reading/babel.md +3 -0
- data/docs/additional_reading/turbolinks.md +32 -1
- data/docs/contributing.md +29 -5
- data/lib/react_on_rails/version.rb +1 -1
- data/lib/react_on_rails/version_checker.rb +1 -1
- data/package.json +2 -1
- metadata +3 -3
- data/app/assets/javascripts/debug_turbolinks.js +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff569925f1a426faa8225029a9aafe82ecf5fa79
|
4
|
+
data.tar.gz: 4ce5a157fb81a422afa0f180d65fde5ec5a77e8f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 001b480c4688afd9509688efce9ae15843a1fff806c743eed38d3a83d8fec795b57ee65f97da805275d1a929be75cff1fbbd67caa31d5a130ae3c9d063da7a0e
|
7
|
+
data.tar.gz: c923e3c422e59c109e04f77ccbd27f63473c0927d80258b5b7883eb5fb648a174ec5997f01b166b6a508e8e2d7a2f40bc21edac04bf19e1143027a6c51ad1881
|
data/CHANGELOG.md
CHANGED
@@ -4,10 +4,18 @@ All notable changes to this project will be documented in this file. Items under
|
|
4
4
|
Contributors: please follow the recommendations outlined at [keepachangelog.com](http://keepachangelog.com/). Please use the existing headings and styling as a guide, and add a link for the version diff at the bottom of the file. Also, please update the `Unreleased` link to compare to the latest release version.
|
5
5
|
|
6
6
|
## [Unreleased]
|
7
|
+
|
8
|
+
## [2.2.0] - 2016-01-29
|
9
|
+
##### Added
|
10
|
+
- New JavaScript API for debugging TurboLinks issues. Be sure to see [turbolinks docs](docs/additional_reading/turbolinks.md). `ReactOnRails.setOptions({ traceTurbolinks: true });`. Removed the file `debug_turbolinks` added in 2.1.1. See [#243](https://github.com/shakacode/react_on_rails/pull/243).
|
11
|
+
|
12
|
+
## [2.1.1] - 2016-01-28
|
13
|
+
|
7
14
|
##### Fixed
|
8
15
|
- Fixed regression where apps that were not using Turbolinks would not render components on page load.
|
9
16
|
|
10
17
|
##### Added
|
18
|
+
- `ReactOnRails.render` returns a virtualDomElement Reference to your React component's backing instance. See [#234](https://github.com/shakacode/react_on_rails/pull/234).
|
11
19
|
- `debug_turbolinks` helper for debugging turbolinks issues. See [turbolinks](docs/additional_reading/turbolinks.md).
|
12
20
|
- Enhanced regression testing for non-turbolinks apps. Runs all tests for dummy app with turbolinks both disabled and enabled.
|
13
21
|
|
@@ -72,7 +80,7 @@ Best done with Object destructing:
|
|
72
80
|
- JS Linter uses ShakaCode JavaScript style: https://github.com/shakacode/style-guide-javascript
|
73
81
|
- Generators account these differences.
|
74
82
|
|
75
|
-
##### Migration Steps
|
83
|
+
##### Migration Steps v1 to v2
|
76
84
|
[Example of upgrading](https://github.com/shakacode/react-webpack-rails-tutorial/commit/5b1b8698e8daf0f0b94e987740bc85ee237ef608)
|
77
85
|
|
78
86
|
1. Update the `react_on_rails` gem.
|
@@ -82,7 +90,8 @@ Best done with Object destructing:
|
|
82
90
|
5. Update your index.jade to use the new API `ReactOnRails.render("MyApp", !{props}, 'app');`
|
83
91
|
6. Update your webpack files per the example commit. Remove globally exposing React and ReactDom, as well as their inclusion in the `entry` section. These are automatically included now.
|
84
92
|
7. Run `cd client && npm i --save react-on-rails` to get react-on-rails into your `client/package.json`.
|
85
|
-
8. You should also update any other dependencies if possible to match up with the [react-webpack-rails-tutorial](https://github.com/shakacode/react-webpack-rails-tutorial/).
|
93
|
+
8. You should also update any other dependencies if possible to match up with the [react-webpack-rails-tutorial](https://github.com/shakacode/react-webpack-rails-tutorial/). This includes updating to Babel 6.
|
94
|
+
9. If you want to stick with Babel 5 for a bit, see [Issue #238](https://github.com/shakacode/react_on_rails/issues/238).
|
86
95
|
|
87
96
|
---
|
88
97
|
|
@@ -119,7 +128,9 @@ Best done with Object destructing:
|
|
119
128
|
##### Fixed
|
120
129
|
- Fix several generator related issues.
|
121
130
|
|
122
|
-
[Unreleased]: https://github.com/shakacode/react_on_rails/compare/
|
131
|
+
[Unreleased]: https://github.com/shakacode/react_on_rails/compare/2.2.0...HEAD
|
132
|
+
[2.2.0]: https://github.com/shakacode/react_on_rails/compare/2.1.1...2.2.0
|
133
|
+
[2.1.1]: https://github.com/shakacode/react_on_rails/compare/v2.1.0...2.1.1
|
123
134
|
[2.1.0]: https://github.com/shakacode/react_on_rails/compare/v2.0.2...v2.1.0
|
124
135
|
[2.0.2]: https://github.com/shakacode/react_on_rails/compare/v2.0.1...v2.0.2
|
125
136
|
[2.0.1]: https://github.com/shakacode/react_on_rails/compare/v2.0.0...v2.0.1
|
data/README.md
CHANGED
@@ -2,9 +2,9 @@
|
|
2
2
|
|
3
3
|
# NEWS
|
4
4
|
|
5
|
-
* 2.
|
5
|
+
* 2.2 has shipped on Tuesday, 1/29/2016. Please see the [Changelog](CHANGELOG.md) for details, and let us know if you see any issues! [Migration steps from 1.x](https://github.com/shakacode/react_on_rails/blob/master/CHANGELOG.md#migration-steps-v1-to-v2).
|
6
6
|
* Highlights:
|
7
|
-
1. Fixed a **critical** problem with TurboLinks.
|
7
|
+
1. Fixed a **critical** problem with TurboLinks. Be sure to see [turbolinks docs](docs/additional_reading/turbolinks.md) for more information on how to debug TurboLinks issues.
|
8
8
|
2. Provides a convenient helper to ensure that JavaScript assets are compiled before running tests.
|
9
9
|
* React on Rails does not yet have *generator* support for building new apps that use CSS modules and hot reloading via the Rails server as is demonstrated in the [shakacode/react-webpack-rails-tutorial](https://github.com/shakacode/react-webpack-rails-tutorial/). *We do support this, but we don't generate the code.* If you did generate a fresh app from react_on_rails and want to move to CSS Modules, then see [PR 175: Babel 6 / CSS Modules / Rails hot reloading](https://github.com/shakacode/react-webpack-rails-tutorial/pull/175). Note, while there are probably fixes after this PR was accepted, this has the majority of the changes. See [the tutorial](https://github.com/shakacode/react-webpack-rails-tutorial/#news) for more information. Ping us if you want to help!
|
10
10
|
* [ShakaCode](http://www.shakacode.com) is doing Skype plus Slack/Github based coaching for "React on Rails". [Click here](http://www.shakacode.com/work/index.html) for more information.
|
@@ -378,6 +378,7 @@ Note: If you have components from react-rails you want to use, then you will nee
|
|
378
378
|
|
379
379
|
## Additional Reading
|
380
380
|
+ [The React on Rails Doctrine](http://www.shakacode.com/2016/01/26/the-react-on-rails-doctrine.html)
|
381
|
+
+ [Babel](docs/additional_reading/babel.md)
|
381
382
|
+ [Generated Client Code](docs/additional_reading/generated_client_code.md)
|
382
383
|
+ [Heroku Deployment](docs/additional_reading/heroku_deployment.md)
|
383
384
|
+ [Manual Installation](docs/additional_reading/manual_installation.md)
|
@@ -19,8 +19,39 @@ the JavaScript and stylesheets are cached by the browser, as they will still req
|
|
19
19
|
```javascript
|
20
20
|
//= require turbolinks
|
21
21
|
```
|
22
|
+
Note, in the future, we might change to installing this via npm.
|
22
23
|
|
23
24
|
## Troubleshooting
|
24
|
-
To turn on tracing of Turbolinks events,
|
25
|
+
To turn on tracing of Turbolinks events, put this in your registration file, where you register your components.
|
26
|
+
|
27
|
+
```js
|
28
|
+
ReactOnRails.setOptions({
|
29
|
+
traceTurbolinks: true,
|
30
|
+
});
|
31
|
+
```
|
32
|
+
|
33
|
+
Rather than setting the value to true, you could set it to TRACE_TURBOLINKS, and then you could place this in your `webpack.client.base.config.js`:
|
34
|
+
|
35
|
+
Define this const at the top of the file:
|
36
|
+
```js
|
37
|
+
const devBuild = process.env.NODE_ENV !== 'production';
|
38
|
+
```
|
39
|
+
|
40
|
+
Add this DefinePlugin option:
|
41
|
+
```js
|
42
|
+
plugins: [
|
43
|
+
new webpack.DefinePlugin({
|
44
|
+
TRACE_TURBOLINKS: devBuild,
|
45
|
+
}),
|
46
|
+
```
|
47
|
+
|
48
|
+
At Webpack compile time, the value of devBuild is inserted into your file.
|
49
|
+
|
50
|
+
Once you do that, you'll see messages prefixed with **TURBO:** like this in the browser console:
|
51
|
+
|
52
|
+
```
|
53
|
+
TURBO: WITH TURBOLINKS: document page:before-unload and page:change handlers installed. (program)
|
54
|
+
TURBO: reactOnRailsPageLoaded
|
55
|
+
```
|
25
56
|
|
26
57
|
We've noticed that Turbolinks doesn't work if you use the ruby gem version of jQuery and jQuery ujs. Therefore we recommend using the node packages instead. See the [tutorial app](https://github.com/shakacode/react-webpack-rails-tutorial) for how to accomplish this.
|
data/docs/contributing.md
CHANGED
@@ -41,13 +41,33 @@ npm i
|
|
41
41
|
npm run build
|
42
42
|
```
|
43
43
|
|
44
|
-
Use
|
45
|
-
|
46
|
-
|
47
|
-
|
44
|
+
Use a relative path in your `package.json`, like this:
|
45
|
+
```sh
|
46
|
+
cd client
|
47
|
+
npm install --save "react-on-rails@../../react_on_rails"
|
48
48
|
```
|
49
49
|
|
50
|
-
|
50
|
+
When you use a relative path, be sure to run the above `npm install` command whenever you change the node package for react-on-rails.
|
51
|
+
|
52
|
+
Wihle we'd prefer to us `npm link`, we get errors. If you can figure out how to get `npm link react-on-rails` to work with this project, please file an issue or PR! This used to work with babel 5.
|
53
|
+
|
54
|
+
This is the error:
|
55
|
+
|
56
|
+
```
|
57
|
+
16:34:11 rails-client-assets.1 | ERROR in /react_on_rails/node_package/lib/ReactOnRails.js
|
58
|
+
16:34:11 rails-client-assets.1 | Module build failed: ReferenceError: Unknown plugin "react-transform" specified in "base" at 0, attempted to resolve relative to "/react_on_rails/node_package/lib"
|
59
|
+
16:34:11 rails-client-assets.1 | at /react-webpack-rails-tutorial/client/node_modules/babel-core/lib/transformation/file/options/option-manager.js:193:17
|
60
|
+
16:34:11 rails-client-assets.1 | at Array.map (native)
|
61
|
+
16:34:11 rails-client-assets.1 | at Function.normalisePlugins (/react-webpack-rails-tutorial/client/node_modules/babel-core/lib/transformation/file/options/option-manager.js:173:20)
|
62
|
+
16:34:11 rails-client-assets.1 | at OptionManager.mergeOptions (/react-webpack-rails-tutorial/client/node_modules/babel-core/lib/transformation/file/options/option-manager.js:271:36)
|
63
|
+
16:34:11 rails-client-assets.1 | at OptionManager.init (/react-webpack-rails-tutorial/client/node_modules/babel-core/lib/transformation/file/options/option-manager.js:416:10)
|
64
|
+
16:34:11 rails-client-assets.1 | at File.initOptions (/react-webpack-rails-tutorial/client/node_modules/babel-core/lib/transformation/file/index.js:191:75)
|
65
|
+
16:34:11 rails-client-assets.1 | at new File (/react-webpack-rails-tutorial/client/node_modules/babel-core/lib/transformation/file/index.js:122:22)
|
66
|
+
16:34:11 rails-client-assets.1 | at Pipeline.transform (/react-webpack-rails-tutorial/client/node_modules/babel-core/lib/transformation/pipeline.js:42:16)
|
67
|
+
16:34:11 rails-client-assets.1 | at transpile (/react-webpack-rails-tutorial/client/node_modules/babel-loader/index.js:14:22)
|
68
|
+
16:34:11 rails-client-assets.1 | at Object.module.exports (/react-webpack-rails-tutorial/client/node_modules/babel-loader/index.js:88:12)
|
69
|
+
16:34:11 rails-client-assets.1 | @ ./app/bundles/comments/startup/clientRegistration.jsx 15:20-45
|
70
|
+
```
|
51
71
|
|
52
72
|
# Development Setup for Gem and Node Package Contributors
|
53
73
|
|
@@ -164,6 +184,10 @@ All linting is performed from the docker container for CI. You will need docker
|
|
164
184
|
Once you have docker and docker-compose running locally, run `docker-compose build lint`. This will build the `reactonrails_lint` docker image and docker-compose `lint` container. The initial build is slow, but after the install, startup is very quick.
|
165
185
|
|
166
186
|
### Linting Commands
|
187
|
+
Run `rake lint`.
|
188
|
+
|
189
|
+
Alternately with Docker:
|
190
|
+
|
167
191
|
Run `rake -D docker` to see all docker linting commands for rake. `rake docker:lint` will run all linters. For individual rake linting commands please refer to `rake -D docker` for the list.
|
168
192
|
|
169
193
|
You can run specific linting for directories or files by using `docker-compose run lint rubocop (file path or directory)`, etc.
|
data/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "react-on-rails",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.2.0",
|
4
4
|
"description": "react-on-rails JavaScript for react_on_rails Ruby gem",
|
5
5
|
"main": "node_package/lib/ReactOnRails.js",
|
6
6
|
"directories": {
|
@@ -50,6 +50,7 @@
|
|
50
50
|
"symlink-node-package": "node_package/scripts/symlink-node-package",
|
51
51
|
"prepublish": "npm run build",
|
52
52
|
"build": "node_package/scripts/build",
|
53
|
+
"build-watch": "$(npm bin)/babel --watch --out-dir node_package/lib node_package/src",
|
53
54
|
"eslint": "eslint . --ext .jsx and .js",
|
54
55
|
"jscs": "jscs . -e -v",
|
55
56
|
"lint": "npm run eslint && npm run jscs",
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: react_on_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Gordon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-01-
|
11
|
+
date: 2016-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: connection_pool
|
@@ -285,10 +285,10 @@ files:
|
|
285
285
|
- Gemfile
|
286
286
|
- README.md
|
287
287
|
- Rakefile
|
288
|
-
- app/assets/javascripts/debug_turbolinks.js
|
289
288
|
- app/helpers/react_on_rails_helper.rb
|
290
289
|
- docker-compose.yml
|
291
290
|
- docs/LICENSE
|
291
|
+
- docs/additional_reading/babel.md
|
292
292
|
- docs/additional_reading/heroku_deployment.md
|
293
293
|
- docs/additional_reading/manual_installation.md
|
294
294
|
- docs/additional_reading/node_dependencies_and_npm.md
|