react_on_rails 10.1.3 → 10.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/CHANGELOG.md +11 -1
- data/PROJECTS.md +8 -1
- data/README.md +9 -6
- data/app/helpers/react_on_rails_helper.rb +2 -2
- data/docs/additional-reading/elastic-beanstalk.md +53 -33
- data/lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb +1 -1
- data/lib/react_on_rails/locales_to_js.rb +1 -1
- data/lib/react_on_rails/utils.rb +1 -1
- data/lib/react_on_rails/version.rb +1 -1
- data/lib/react_on_rails/version_checker.rb +1 -3
- data/package.json +1 -1
- data/react_on_rails.gemspec +6 -0
- metadata +7 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: cf2961b3168fa3053ed43d36eda3e644c37ec679
|
4
|
+
data.tar.gz: 4e6aa1237e92667735efeb47092b58466e93b040
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d1ed494bfb5f01d3cfec7946459070145543104b483ee35612d683031e4027e89d8d47e64811a40a29d321d22985c4da5a7741375198a53dc0c3cd3be8308b9
|
7
|
+
data.tar.gz: 9cd73592f960f72e22d0318daa3c87d8f22d07513d0121997467140f854b43da062e1f03da10fdadec8c6b503d997421ad6d0bae2e8a83819f7ffb75ad707995
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,15 @@ Contributors: please follow the recommendations outlined at [keepachangelog.com]
|
|
6
6
|
## [Unreleased]
|
7
7
|
Changes since last non-beta release.
|
8
8
|
|
9
|
+
### [10.1.4] - 2018-04-11
|
10
|
+
|
11
|
+
#### Fixed
|
12
|
+
- Changed i18n parsing to convert ruby i18n argument syntax into FormatJS argument syntax. [PR 1046](https://github.com/shakacode/react_on_rails/pull/1046) by [sepehr500](https://github.com/sepehr500).
|
13
|
+
|
14
|
+
- Fixed an issue where the spec compiler check would fail if the project path contained spaces. [PR 1045](https://github.com/shakacode/react_on_rails/pull/1045) by [andrewmarkle](https://github.com/andrewmarkle).
|
15
|
+
|
16
|
+
- Updated the default `build_production_command` that caused production assets to be built with development settings. [PR 1053](https://github.com/shakacode/react_on_rails/pull/1053) by [Roman Kushnir](https://github.com/RKushnir).
|
17
|
+
|
9
18
|
*Please add entries here for your pull requests that are not yet released.*
|
10
19
|
|
11
20
|
### [10.1.3] - 2018-02-28
|
@@ -691,7 +700,8 @@ Best done with Object destructing:
|
|
691
700
|
##### Fixed
|
692
701
|
- Fix several generator related issues.
|
693
702
|
|
694
|
-
[Unreleased]: https://github.com/shakacode/react_on_rails/compare/10.1.
|
703
|
+
[Unreleased]: https://github.com/shakacode/react_on_rails/compare/10.1.4...master
|
704
|
+
[10.1.4]: https://github.com/shakacode/react_on_rails/compare/10.1.3...10.1.4
|
695
705
|
[10.1.3]: https://github.com/shakacode/react_on_rails/compare/10.1.2...10.1.3
|
696
706
|
[10.1.2]: https://github.com/shakacode/react_on_rails/compare/10.1.1...10.1.2
|
697
707
|
[10.1.1]: https://github.com/shakacode/react_on_rails/compare/10.1.0...10.1.1
|
data/PROJECTS.md
CHANGED
@@ -1,9 +1,16 @@
|
|
1
1
|
# Projects using React on Rails
|
2
2
|
|
3
|
+
[Click here](https://publicwww.com/websites/%22react-on-rails%22++-undeveloped.com/) for a search for public sites using React on Rails.
|
4
|
+
|
5
|
+
Public Sites Using React on Rails:
|
6
|
+
|
7
|
+
March 27, 2018: 2126<br>
|
8
|
+
April 11, 2018: 2138
|
9
|
+
|
3
10
|
*Please support the project by [emailing Justin Gordon](mailto:justin@shakacode.com) of any projects, yours or others, that use React on Rails. You can confirm a project uses React on Rails as the source will contain **`js-react-on-rails`**.*
|
4
11
|
|
5
12
|
## Commercial Products Live
|
6
|
-
* **[
|
13
|
+
* **[Hawaii Chee](https://www.hawaiichee.com/)**, the signature product of [ShakaCode](http://www.shakacode.com), which is a vacation rental site focusing on Hawaii.
|
7
14
|
* **[KissKissBankBank](https://www.kisskissbankbank.com/)**, large French crowdfunding platform.
|
8
15
|
* **[HVMN](https://hvmn.com)**: Web ecommerce site for "biohacking" products.
|
9
16
|
* **[GuavaPass](https://guavapass.com/)**: Coaching client of [ShakaCode](http://www.shakacode.com) and React on Rails fan!
|
data/README.md
CHANGED
@@ -2,9 +2,11 @@
|
|
2
2
|
|
3
3
|
*If this projects helps you, please give us a star!*
|
4
4
|
|
5
|
-
[The ShakaCode team has availability to help your project](http://www.shakacode.com/
|
5
|
+
# [The ShakaCode team has availability to help your project as of 2018-03-27](http://www.shakacode.com/services).
|
6
6
|
|
7
|
-
|
7
|
+
If your team might need my help, please [email me](mailto:justin@shakacode.com) for a free half-hour project consultation, on anything from React on Rails to any aspect of web or mobile application development for both consumer and enterprise products.
|
8
|
+
|
9
|
+
## React on Rails v10 is based on Webpacker 3.0!
|
8
10
|
|
9
11
|
* See the article [Introducing React on Rails v9 with Webpacker Support](https://blog.shakacode.com/introducing-react-on-rails-v9-with-webpacker-support-f2584c6c8fa4) for an overview of the integration of React on Rails with Webpacker.
|
10
12
|
* [Video of running the v9 installer with Webpacker v3](https://youtu.be/M0WUM_XPaII).
|
@@ -31,9 +33,10 @@ First be sure to run `rails -v` and check that you are using Rails 5.1.3 or abov
|
|
31
33
|
|
32
34
|
1. New Rails app: `rails new my-app --webpack=react`. `cd` into the directory.
|
33
35
|
2. Add gem version: `gem 'react_on_rails', '10.0.2' # prefer exact gem version to match npm version`
|
34
|
-
3.
|
35
|
-
4.
|
36
|
-
5.
|
36
|
+
3. `bundle install`
|
37
|
+
4. Run the generator: `rails generate react_on_rails:install`
|
38
|
+
5. Start the app: `rails s`
|
39
|
+
6. Visit http://localhost:3000/hello_world
|
37
40
|
|
38
41
|
### Turn on server rendering
|
39
42
|
|
@@ -133,7 +136,7 @@ For more testimonials, see [Live Projects](PROJECTS.md) and [Kudos](./KUDOS.md).
|
|
133
136
|
|
134
137
|
**Project Objective**: To provide an opinionated and optimal framework for integrating Ruby on Rails with React via the [**Webpacker**](https://github.com/rails/webpacker) gem.
|
135
138
|
|
136
|
-
React on Rails integrates Facebook's [React](https://github.com/facebook/react) front-end framework with Rails. React v0.14.x and greater is supported, with server rendering. [Redux](https://github.com/reactjs/redux) and [React-Router](https://github.com/reactjs/react-
|
139
|
+
React on Rails integrates Facebook's [React](https://github.com/facebook/react) front-end framework with Rails. React v0.14.x and greater is supported, with server rendering. [Redux](https://github.com/reactjs/redux) and [React-Router](https://github.com/reactjs/react-router) are supported as well, also with server rendering, using **execJS**.
|
137
140
|
|
138
141
|
## Table of Contents
|
139
142
|
|
@@ -305,9 +305,9 @@ module ReactOnRailsHelper
|
|
305
305
|
# IMPORTANT: Ensure that we mark string as html_safe to avoid escaping.
|
306
306
|
# rubocop:disable Layout/IndentHeredoc
|
307
307
|
<<-HTML.html_safe
|
308
|
+
#{rendered_output}
|
308
309
|
#{component_specification_tag}
|
309
|
-
|
310
|
-
#{console_script}
|
310
|
+
#{console_script}
|
311
311
|
HTML
|
312
312
|
# rubocop:enable Layout/IndentHeredoc
|
313
313
|
end
|
@@ -3,41 +3,61 @@
|
|
3
3
|
In order to deploy a React on Rails app to elastic beanstalk, you must install yarn on each instance.
|
4
4
|
If yarn is not installed, asset compilation will fail on the elastic beanstalk instance.
|
5
5
|
|
6
|
-
You can install yarn by adding a `
|
6
|
+
You can install `yarn` by adding a `0x_install_yarn.config` file to your `.ebextensions` folder which contains these commands.
|
7
7
|
|
8
8
|
```
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
9
|
+
files:
|
10
|
+
"/opt/elasticbeanstalk/hooks/appdeploy/pre/09_yarn.sh" :
|
11
|
+
mode: "000755"
|
12
|
+
owner: root
|
13
|
+
group: root
|
14
|
+
content: |
|
15
|
+
#!/usr/bin/env bash
|
16
|
+
set -xe
|
17
|
+
|
18
|
+
EB_SCRIPT_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k script_dir)
|
19
|
+
EB_APP_STAGING_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k app_staging_dir)
|
20
|
+
EB_APP_USER=$(/opt/elasticbeanstalk/bin/get-config container -k app_user)
|
21
|
+
EB_SUPPORT_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k support_dir)
|
22
|
+
|
23
|
+
. $EB_SUPPORT_DIR/envvars
|
24
|
+
. $EB_SCRIPT_DIR/use-app-ruby.sh
|
25
|
+
|
26
|
+
# Install nodejs
|
27
|
+
echo "install nodejs"
|
28
|
+
curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
|
29
|
+
yum -y install nodejs
|
30
|
+
echo "install yarn"
|
31
|
+
# install yarn
|
32
|
+
wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo;
|
33
|
+
yum -y install yarn;
|
34
|
+
|
35
|
+
# yarn install
|
36
|
+
cd $EB_APP_STAGING_DIR
|
37
|
+
yarn
|
38
|
+
|
39
|
+
# mkdir /home/webapp
|
40
|
+
mkdir -p /home/webapp
|
41
|
+
chown webapp:webapp /home/webapp
|
42
|
+
chmod 700 /home/webapp
|
43
|
+
```
|
44
|
+
|
45
|
+
This script installs `yarn` and all `node.js` dependencies before the rails do `assets:precompile`. Also, it creates `/home/webapp` directory allowing the precompile task to create temp files.
|
46
|
+
|
47
|
+
Your app can be deployed to elastic beanstalk successfully. However, the react app javascript files are under `public/packs`. If you are using nginx, you need to let it know the location of `https://yourhost/packs`.
|
41
48
|
|
49
|
+
In your `proxy.conf` setting, please add the following code.
|
50
|
+
|
51
|
+
```
|
52
|
+
...
|
53
|
+
server{
|
54
|
+
...
|
55
|
+
location /packs {
|
56
|
+
root /var/app/current/public;
|
57
|
+
}
|
58
|
+
...
|
59
|
+
}
|
60
|
+
...
|
42
61
|
```
|
43
62
|
|
63
|
+
You can find an example code here: https://github.com/imgarylai/react_on_rails_with_aws_ebs.
|
data/lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
ReactOnRails.configure do |config|
|
6
6
|
# This configures the script to run to build the production assets by webpack. Set this to nil
|
7
7
|
# if you don't want react_on_rails building this file for you.
|
8
|
-
config.build_production_command = "RAILS_ENV=production bin/webpack"
|
8
|
+
config.build_production_command = "RAILS_ENV=production NODE_ENV=production bin/webpack"
|
9
9
|
|
10
10
|
################################################################################
|
11
11
|
################################################################################
|
data/lib/react_on_rails/utils.rb
CHANGED
@@ -146,7 +146,7 @@ exitstatus: #{status.exitstatus}#{stdout_msg}#{stderr_msg}
|
|
146
146
|
end
|
147
147
|
|
148
148
|
def self.prepend_cd_node_modules_directory(cmd)
|
149
|
-
"cd #{ReactOnRails.configuration.node_modules_location} && #{cmd}"
|
149
|
+
"cd \"#{ReactOnRails.configuration.node_modules_location}\" && #{cmd}"
|
150
150
|
end
|
151
151
|
|
152
152
|
def self.source_path
|
@@ -82,9 +82,7 @@ module ReactOnRails
|
|
82
82
|
def major_minor_patch
|
83
83
|
return if relative_path?
|
84
84
|
match = raw.match(MAJOR_MINOR_PATCH_VERSION_REGEX)
|
85
|
-
unless match
|
86
|
-
raise "Cannot parse version number '#{raw}' (wildcard versions are not supported)"
|
87
|
-
end
|
85
|
+
raise "Cannot parse version number '#{raw}' (wildcard versions are not supported)" unless match
|
88
86
|
[match[1], match[2], match[3]]
|
89
87
|
end
|
90
88
|
|
data/package.json
CHANGED
data/react_on_rails.gemspec
CHANGED
@@ -47,5 +47,11 @@ Gem::Specification.new do |s|
|
|
47
47
|
s.add_development_dependency "rails", "~> 5.1.2"
|
48
48
|
s.add_development_dependency "rake", "~> 10.0"
|
49
49
|
s.add_development_dependency "rspec"
|
50
|
+
|
51
|
+
s.post_install_message = <<~MSG
|
52
|
+
Email contact@shakacode.com for access to our slack room and information about our "pro support plan"
|
53
|
+
which supports better performance, via caching helpers and our node rendering server.
|
54
|
+
|
55
|
+
MSG
|
50
56
|
end
|
51
57
|
# rubocop:enable Metrics/BlockLength
|
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: 10.1.
|
4
|
+
version: 10.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Gordon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-04-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -459,7 +459,10 @@ homepage: https://github.com/shakacode/react_on_rails
|
|
459
459
|
licenses:
|
460
460
|
- MIT
|
461
461
|
metadata: {}
|
462
|
-
post_install_message:
|
462
|
+
post_install_message: |+
|
463
|
+
Email contact@shakacode.com for access to our slack room and information about our "pro support plan"
|
464
|
+
which supports better performance, via caching helpers and our node rendering server.
|
465
|
+
|
463
466
|
rdoc_options: []
|
464
467
|
require_paths:
|
465
468
|
- lib
|
@@ -475,7 +478,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
475
478
|
version: '0'
|
476
479
|
requirements: []
|
477
480
|
rubyforge_project:
|
478
|
-
rubygems_version: 2.
|
481
|
+
rubygems_version: 2.6.14
|
479
482
|
signing_key:
|
480
483
|
specification_version: 4
|
481
484
|
summary: Rails with react server rendering with webpack.
|