react_on_rails 12.0.3.beta.0 → 12.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +12 -2
  3. data/.eslintrc +2 -1
  4. data/.github/workflows/lint-js-and-ruby.yml +3 -3
  5. data/.github/workflows/main.yml +6 -6
  6. data/.github/workflows/package-js-tests.yml +2 -2
  7. data/.github/workflows/rspec-package-specs.yml +2 -2
  8. data/.prettierrc +0 -3
  9. data/.rubocop.yml +46 -38
  10. data/CHANGELOG.md +32 -13
  11. data/CONTRIBUTING.md +3 -2
  12. data/Gemfile +1 -33
  13. data/Gemfile.development_dependencies +51 -0
  14. data/NEWS.md +0 -1
  15. data/README.md +63 -55
  16. data/docs/{basics → additional-details}/generator-details.md +1 -6
  17. data/docs/{outdated → additional-details}/manual-installation-overview.md +6 -6
  18. data/docs/{basics → additional-details}/migrating-from-react-rails.md +0 -0
  19. data/docs/{additional-reading → additional-details}/recommended-project-structure.md +0 -0
  20. data/docs/{additional-reading → additional-details}/updating-dependencies.md +0 -0
  21. data/docs/additional-details/upgrade-webpacker-v3-to-v4.md +10 -0
  22. data/docs/api/javascript-api.md +2 -2
  23. data/docs/api/redux-store-api.md +3 -3
  24. data/docs/api/view-helpers-api.md +7 -8
  25. data/docs/basics/client-vs-server-rendering.md +3 -3
  26. data/docs/basics/configuration.md +42 -25
  27. data/docs/basics/deployment.md +2 -2
  28. data/docs/{outdated → basics}/how-react-on-rails-works.md +8 -9
  29. data/docs/basics/installation-into-an-existing-rails-app.md +13 -6
  30. data/docs/basics/react-server-rendering.md +3 -3
  31. data/docs/basics/rspec-configuration.md +10 -10
  32. data/docs/{tutorial.md → basics/tutorial.md} +23 -31
  33. data/docs/basics/upgrading-react-on-rails.md +32 -12
  34. data/docs/basics/webpack-configuration.md +4 -6
  35. data/docs/contributor-info/linters.md +5 -6
  36. data/docs/contributor-info/pull-requests.md +2 -4
  37. data/docs/contributor-info/releasing.md +1 -1
  38. data/docs/{additional-reading → deployment}/elastic-beanstalk.md +0 -0
  39. data/docs/{basics → deployment}/heroku-deployment.md +0 -0
  40. data/docs/home.md +382 -0
  41. data/docs/{additional-reading → javascript}/angular-js-integration-migration.md +0 -0
  42. data/docs/{additional-reading → javascript}/asset-pipeline.md +0 -0
  43. data/docs/{additional-reading → javascript}/capistrano-deployment.md +0 -0
  44. data/docs/{outdated → javascript}/code-splitting.md +5 -5
  45. data/docs/{additional-reading → javascript}/converting-from-custom-webpack-config-to-rails-webpacker-config.md +3 -3
  46. data/docs/{additional-reading → javascript}/credits.md +0 -0
  47. data/docs/{additional-reading → javascript}/foreman-issues.md +0 -0
  48. data/docs/{additional-reading → javascript}/images.md +5 -6
  49. data/docs/{additional-reading → javascript}/node-dependencies-and-npm.md +0 -0
  50. data/docs/{additional-reading → javascript}/react-and-redux.md +0 -0
  51. data/docs/{additional-reading → javascript}/react-helmet.md +0 -0
  52. data/docs/{additional-reading → javascript}/react-router.md +0 -0
  53. data/docs/{additional-reading → javascript}/server-rendering-tips.md +0 -0
  54. data/docs/{additional-reading → javascript}/troubleshooting-when-using-webpacker.md +0 -0
  55. data/docs/{additional-reading → javascript}/webpack-v1-notes.md +0 -0
  56. data/docs/{additional-reading → javascript}/webpack.md +0 -0
  57. data/docs/{articles.md → misc/articles.md} +1 -1
  58. data/docs/misc/doctrine.md +5 -5
  59. data/docs/{coding-style → misc}/style.md +0 -0
  60. data/docs/{additional-reading → misc}/tips.md +0 -0
  61. data/docs/outdated/deferred-rendering.md +39 -0
  62. data/docs/outdated/rails-assets-relative-paths.md +3 -3
  63. data/docs/outdated/rails-assets.md +8 -8
  64. data/docs/outdated/rails3.md +2 -2
  65. data/docs/rails-webpacker-react-integration-options.md +182 -0
  66. data/docs/{additional-reading → rails}/convert-rails-5-api-only-app.md +1 -1
  67. data/docs/{additional-reading → rails}/rails-engine-integration.md +0 -0
  68. data/docs/{additional-reading → rails}/rails_view_rendering_from_inline_javascript.md +0 -0
  69. data/docs/{additional-reading → rails}/turbolinks.md +0 -0
  70. data/docs/testimonials/testimonials.md +6 -6
  71. data/lib/generators/react_on_rails/base_generator.rb +8 -1
  72. data/lib/generators/react_on_rails/dev_tests_generator.rb +1 -1
  73. data/lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb +4 -1
  74. data/lib/generators/react_on_rails/templates/dev_tests/spec/simplecov_helper.rb +1 -1
  75. data/lib/generators/react_on_rails/templates/dev_tests/spec/{features → system}/hello_world_spec.rb +2 -2
  76. data/lib/react_on_rails/configuration.rb +2 -0
  77. data/lib/react_on_rails/git_utils.rb +3 -3
  78. data/lib/react_on_rails/helper.rb +30 -11
  79. data/lib/react_on_rails/locales/base.rb +3 -3
  80. data/lib/react_on_rails/locales/to_js.rb +0 -4
  81. data/lib/react_on_rails/locales/to_json.rb +0 -4
  82. data/lib/react_on_rails/prerender_error.rb +1 -1
  83. data/lib/react_on_rails/react_component/render_options.rb +16 -7
  84. data/lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb +8 -6
  85. data/lib/react_on_rails/test_helper.rb +2 -0
  86. data/lib/react_on_rails/test_helper/webpack_assets_compiler.rb +1 -1
  87. data/lib/react_on_rails/utils.rb +19 -3
  88. data/lib/react_on_rails/version.rb +1 -1
  89. data/lib/react_on_rails/webpacker_utils.rb +5 -1
  90. data/lib/tasks/assets.rake +20 -11
  91. data/package.json +24 -29
  92. data/rakelib/docker.rake +0 -5
  93. data/rakelib/lint.rake +3 -9
  94. data/rakelib/release.rake +29 -15
  95. data/rakelib/run_rspec.rake +10 -11
  96. data/rakelib/task_helpers.rb +16 -4
  97. data/react_on_rails.gemspec +3 -17
  98. data/yarn.lock +2549 -5169
  99. metadata +48 -228
  100. data/.release-it.json +0 -3
  101. data/docs/additional-reading/upgrade-webpacker-v3-to-v4.md +0 -10
  102. data/docs/additional-reading/webpack-dev-server.md +0 -15
  103. data/ruby-lint.yml +0 -25
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5f71a30ded8cae1a38bfc7f419bbd39eed35d83e365eab74c148102f23e6d083
4
- data.tar.gz: 70f4b3c869c3810804c7d01996699a1c7a6c145fca3cc35b7add4e0984c5bbce
3
+ metadata.gz: d21e318bd7a5cd5a23314d208656044b3b6f6671dc83f856286a251f2fab1e80
4
+ data.tar.gz: cbdc47532388cb7d82d58407d6df26873836f2ee4c81637cb023ce39b34a649d
5
5
  SHA512:
6
- metadata.gz: 3849a1ebf62f6d81625c3c23e48dc1928990eecd4acc3d44c005e2d09859d39e86dd4c9a3c35b3db4da70ee8588e406c98d6396f8157a3874c0a83d6629ae901
7
- data.tar.gz: 707c8b7a6fe991315b6d433324d4c4fef5a170f1b0b09241d9faee034bd8d82cb2551634a6a157d35af89640017030fccf4a283175118ec1e06f1b4299877389
6
+ metadata.gz: cddbe6aa508f27ce7517d26dab65c3a28021f6bb0d36d0fb681c033f7811e73f1da8b17e6c3893c4ecedce9731c4dcbf916b058a76823202b38e0ae81eb28b75
7
+ data.tar.gz: f9cdf4391e482786f77a386f3c12148e4d2ad065f41e109902fed660e074cff5be9c9d6f8cc2b2995279751eb94a76ad12090f9174c689cf92193d58d667d912
data/.circleci/config.yml CHANGED
@@ -2,7 +2,7 @@ version: 2
2
2
 
3
3
  aliases:
4
4
  - &docker-image
5
- - image: circleci/ruby:2.6-node-browsers
5
+ - image: circleci/ruby:2.7-node-browsers
6
6
 
7
7
  # Print critical data and executables versions.
8
8
  - &print-system-info
@@ -31,9 +31,9 @@ aliases:
31
31
  - &install-package-node-modules
32
32
  name: Install Node modules with Yarn for renderer package
33
33
  command: |
34
+ sudo yarn global add yalc
34
35
  yarn install --no-progress --no-emoji
35
36
  yarn run eslint -v
36
- sudo yarn global add yalc
37
37
 
38
38
  # Install/update Node modules for dummy app unless existing set of modules is satisfying Yarn.
39
39
  - &install-dummy-app-node-modules
@@ -274,6 +274,16 @@ jobs:
274
274
  # TODO -- need to leverage Circle CI containers
275
275
  command: |
276
276
  bundle exec rake run_rspec:all_dummy
277
+ # The following step will run only if the main job is finished successfully.
278
+ # Build hook is triggered by curl command described here https://docs.netlify.com/configure-builds/build-hooks/
279
+ # NETLIFY_HOOK is an environment variable on CircleCI to keep sensitive data outside the repo
280
+ - run:
281
+ name: Deploy SC website
282
+ command: |
283
+ if [ $CIRCLE_BRANCH = "master" ]; then
284
+ curl -X POST -d '{}' ${NETLIFY_HOOK}
285
+ fi
286
+ when: on_success
277
287
  - store_test_results:
278
288
  path: ~/rspec
279
289
  - store_artifacts:
data/.eslintrc CHANGED
@@ -1,4 +1,3 @@
1
- ---
2
1
  extends:
3
2
  - eslint-config-shakacode
4
3
  - prettier
@@ -32,8 +31,10 @@ overrides:
32
31
  - "@typescript-eslint"
33
32
  rules:
34
33
  "@typescript-eslint/no-namespace": 0
34
+ "@typescript-eslint/no-shadow": ["error"]
35
35
 
36
36
  rules:
37
+ no-shadow: 0
37
38
  no-console: 0
38
39
  function-paren-newline: 0
39
40
  object-curly-newline: 0
@@ -6,8 +6,8 @@ jobs:
6
6
  build:
7
7
  strategy:
8
8
  matrix:
9
- ruby: [2.6]
10
- node: [12]
9
+ ruby: [2.7]
10
+ node: [14]
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
13
  - uses: actions/checkout@v2
@@ -16,7 +16,7 @@ jobs:
16
16
  with:
17
17
  ruby-version: ${{ matrix.ruby }}
18
18
  - name: Setup Node
19
- uses: actions/setup-node@v1.4.3
19
+ uses: actions/setup-node@v2-beta
20
20
  with:
21
21
  node-version: ${{ matrix.node }}
22
22
  - name: Print system information
@@ -6,8 +6,8 @@ jobs:
6
6
  build-dummy-app-webpack-test-bundles:
7
7
  strategy:
8
8
  matrix:
9
- ruby: [2.6]
10
- node: [12]
9
+ ruby: [2.7]
10
+ node: [14]
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
13
  - uses: actions/checkout@v2
@@ -16,7 +16,7 @@ jobs:
16
16
  with:
17
17
  ruby-version: ${{ matrix.ruby }}
18
18
  - name: Setup Node
19
- uses: actions/setup-node@v1.4.3
19
+ uses: actions/setup-node@v2-beta
20
20
  with:
21
21
  node-version: ${{ matrix.node }}
22
22
  - name: Print system information
@@ -70,8 +70,8 @@ jobs:
70
70
  needs: build-dummy-app-webpack-test-bundles
71
71
  strategy:
72
72
  matrix:
73
- ruby: [2.6]
74
- node: [12]
73
+ ruby: [2.7]
74
+ node: [14]
75
75
  rake_task: ['run_rspec:all_dummy', 'run_rspec:all_but_examples', 'run_rspec:examples']
76
76
  runs-on: ubuntu-latest
77
77
  steps:
@@ -81,7 +81,7 @@ jobs:
81
81
  with:
82
82
  ruby-version: ${{ matrix.ruby }}
83
83
  - name: Setup Node
84
- uses: actions/setup-node@v1.4.3
84
+ uses: actions/setup-node@v2-beta
85
85
  with:
86
86
  node-version: ${{ matrix.node }}
87
87
  - name: Print system information
@@ -6,12 +6,12 @@ jobs:
6
6
  build:
7
7
  strategy:
8
8
  matrix:
9
- node: [12]
9
+ node: [12, 14]
10
10
  runs-on: ubuntu-latest
11
11
  steps:
12
12
  - uses: actions/checkout@v2
13
13
  - name: Setup Node
14
- uses: actions/setup-node@v1.4.3
14
+ uses: actions/setup-node@v2-beta
15
15
  with:
16
16
  node-version: ${{ matrix.node }}
17
17
  - name: Print system information
@@ -6,8 +6,8 @@ jobs:
6
6
  build:
7
7
  strategy:
8
8
  matrix:
9
- ruby: [2.6]
10
- node: [12]
9
+ ruby: [2.7]
10
+ node: [14]
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
13
  - uses: actions/checkout@v2
data/.prettierrc CHANGED
@@ -8,9 +8,6 @@ bracketSpacing: true
8
8
  jsxBracketSameLine: false
9
9
  parser: flow
10
10
 
11
- extends:
12
- - tslint-config-prettier
13
-
14
11
  overrides:
15
12
  - files: "*.@(css|scss)"
16
13
  options:
data/.rubocop.yml CHANGED
@@ -1,7 +1,11 @@
1
1
  # This is the configuration used to check the rubocop source code.
2
2
  # Check out: https://github.com/bbatsov/rubocop
3
+ require:
4
+ - rubocop-performance
5
+ - rubocop-rspec
3
6
 
4
7
  AllCops:
8
+ NewCops: enable
5
9
  DisplayCopNames: true
6
10
  TargetRubyVersion: 2.5
7
11
 
@@ -13,34 +17,25 @@ AllCops:
13
17
  - '**/*.rake'
14
18
 
15
19
  Exclude:
16
- - 'vendor/**/*'
17
- - 'spec/fixtures/**/*'
18
- - 'node_modules/**/.*'
19
- - 'node_modules/**/*'
20
+ <% `git status --ignored --porcelain`.lines.grep(/^!! /).each do |path| %>
21
+ - <%= path.sub(/^!! /, '') %>
22
+ <% end %>
23
+ - '**/*.js'
24
+ - '**/node_modules/**/*'
25
+ - '**/public/**/*'
26
+ - '**/tmp/**/*'
20
27
  - 'coverage/**/*'
21
- - 'db/**/*'
22
- - 'db/schema.rb'
23
- - 'db/seeds.rb'
24
- - 'client/node_modules/**/*.*'
25
- - 'client/node_modules/**/.*'
26
- - 'bin/**/*'
27
- - !ruby/regexp /old_and_unused\.rb$/
28
- - 'spec/react_on_rails/dummy-for-generators/**/*'
29
- - 'spec/dummy/Procfile.*'
30
- - 'spec/dummy/bin/**/*'
31
- - 'spec/dummy/node_modules/**/*'
32
- - 'spec/dummy/node_modules/**/.*'
33
- - 'gen-examples/examples/**/.*'
34
28
  - 'gen-examples/examples/**/*'
29
+ - 'node_modules/**/*'
30
+ - 'spec/dummy/bin/*'
31
+ - 'spec/fixtures/**/*'
32
+ - 'spec/react_on_rails/dummy-for-generators/**/*'
33
+ - 'tmp/**/*'
34
+ - 'vendor/**/*'
35
35
 
36
36
  Naming/FileName:
37
37
  Exclude:
38
38
  - 'Gemfile'
39
- - 'spec/dummy/Gemfile'
40
-
41
- # Turn off until we require 2.3 ruby
42
- Style/SafeNavigation:
43
- Enabled: false
44
39
 
45
40
  Layout/LineLength:
46
41
  Max: 120
@@ -94,28 +89,41 @@ Metrics/ModuleLength:
94
89
  Naming/RescuedExceptionsVariableName:
95
90
  Enabled: false
96
91
 
97
- Style/GlobalVars:
92
+ RSpec/AnyInstance:
98
93
  Exclude:
99
- - 'spec/dummy/config/environments/development.rb'
94
+ - 'spec/react_on_rails/git_utils_spec.rb'
95
+ - 'spec/react_on_rails/locales_to_js_spec.rb'
100
96
 
101
- Style/FrozenStringLiteralComment:
102
- EnforcedStyle: always
97
+ RSpec/DescribeClass:
98
+ Enabled: false
103
99
 
104
- Layout/EmptyLinesAroundAttributeAccessor:
105
- Enabled: true
100
+ RSpec/ExampleLength:
101
+ Enabled: false
106
102
 
107
- Layout/SpaceAroundMethodCallOperator:
108
- Enabled: true
103
+ RSpec/MessageSpies:
104
+ Enabled: false
109
105
 
110
- Lint/RaiseException:
111
- Enabled: true
106
+ RSpec/NestedGroups:
107
+ Max: 4
112
108
 
113
- Lint/StructNewOverride:
114
- Enabled: true
109
+ RSpec/BeforeAfterAll:
110
+ Exclude:
111
+ - 'spec/react_on_rails/generators/dev_tests_generator_spec.rb'
112
+ - 'spec/react_on_rails/generators/install_generator_spec.rb'
115
113
 
116
- Style/ExponentialNotation:
117
- Enabled: true
114
+ RSpec/MessageChain:
115
+ Enabled: false
118
116
 
119
- Style/SlicingWithRange:
120
- Enabled: true
117
+ RSpec/MultipleExpectations:
118
+ Enabled: false
119
+
120
+ RSpec/MultipleDescribes:
121
+ Exclude:
122
+ - 'spec/dummy/spec/system/integration_spec.rb'
123
+
124
+ RSpec/MultipleMemoizedHelpers:
125
+ Max: 12
121
126
 
127
+ Style/GlobalVars:
128
+ Exclude:
129
+ - 'spec/dummy/config/environments/development.rb'
data/CHANGELOG.md CHANGED
@@ -17,7 +17,23 @@ Changes since last non-beta release.
17
17
 
18
18
  *Please add entries here for your pull requests that are not yet released.*
19
19
 
20
- ### [12.0.3] - 2020-09-02
20
+ ### [12.2.0] - 2021-03-25
21
+ #### Added
22
+ - Ability to configure server react rendering to throw rather than just logging the error. Useful for
23
+ React on Rails Pro Node rendering [PR 1365](https://github.com/shakacode/react_on_rails/pull/1365) by [justin808](https://github.com/justin808).
24
+
25
+ ### [12.1.0] - 2021-03-23
26
+ #### Added
27
+ - Added the ability to assign a module with a `call` method to `config.build_production_command`. See [the configuration docs](./docs/basics/configuration.md). [PR 1362: Accept custom module for config.build_production_command](https://github.com/shakacode/react_on_rails/pull/1362).
28
+
29
+ #### Fixed
30
+ - Stop setting NODE_ENV value during precompile, as it interferred with rails/webpacker's setting of NODE_ENV to production by default. Fixes [#1334](https://github.com/shakacode/react_on_rails/issues/1334). [PR 1356: Don't set NODE_ENV in assets.rake](https://github.com/shakacode/react_on_rails/pull/1356) by [alexrozanski](https://github.com/alexrozanski).
31
+
32
+ ### [12.0.4] - 2020-11-14
33
+ #### Fixed
34
+ - Install generator now specifies the version. Fixes [React on Rails Generator installs the older npm package #1336](https://github.com/shakacode/react_on_rails/issues/1336). [PR 1338: Fix Generator to use Exact NPM Version](https://github.com/shakacode/react_on_rails/pull/1338) by [justin808](https://github.com/justin808).
35
+
36
+ ### [12.0.3] - 2020-09-20
21
37
  #### Fixed
22
38
  - Async script loading optimizes page load speed. With this fix, a bundle
23
39
  can be loaded "async" and a handler function can determine when to hydrate.
@@ -27,7 +43,7 @@ Changes since last non-beta release.
27
43
 
28
44
  ### [12.0.2] - 2020-07-09
29
45
  #### Fixed
30
- - Remove dependency upon Redux for Typescript types. [PR 1323](https://github.com/shakacode/react_on_rails/pull/1306) by [justin808](https://github.com/justin808).
46
+ - Remove dependency upon Redux for Typescript types. [PR 1323](https://github.com/shakacode/react_on_rails/pull/1306) by [justin808](https://github.com/justin808).
31
47
 
32
48
  ### [12.0.1] - 2020-07-09
33
49
  #### Fixed
@@ -53,8 +69,8 @@ invoked to return the React component. In that case, you won't need to pass any
53
69
  See [docs/basics/upgrading-react-on-rails](./docs/basics/upgrading-react-on-rails.md#upgrading-to-v12)
54
70
  for details.
55
71
 
56
- #### Other Updates
57
- * `react_on_rails` fully supports `rails/webpacker`. The example test app in `spec/dummy` was recently converted over to use rails/webpacker v4+. It's a good example of how to leverage rails/webpacker's webpack configuration for server-side rendering.
72
+ #### Other Updates
73
+ * `react_on_rails` fully supports `rails/webpacker`. The example test app in `spec/dummy` was recently converted over to use rails/webpacker v4+. It's a good example of how to leverage rails/webpacker's webpack configuration for server-side rendering.
58
74
  * Changed the precompile task to use the rails/webpacker one by default
59
75
  * Updated generators to use React hooks
60
76
  * Requires the use of rails/webpacker view helpers
@@ -69,19 +85,19 @@ for details.
69
85
  * Added configuration option `same_bundle_for_client_and_server` with default `false` because
70
86
 
71
87
  1. Production applications would typically have a server bundle that differs from the client bundle
72
- 2. This change only affects trying to use HMR with react_on_rails with rails/webpacker.
73
-
74
- The previous behavior was to always go to the webpack-dev-server for the server bundle if the
75
- webpack-dev-server was running _and_ the server bundle was found in the `manifest.json`.
76
-
88
+ 2. This change only affects trying to use HMR with react_on_rails with rails/webpacker.
89
+
90
+ The previous behavior was to always go to the webpack-dev-server for the server bundle if the
91
+ webpack-dev-server was running _and_ the server bundle was found in the `manifest.json`.
92
+
77
93
  If you are using the **same bundle for client and server rendering**, then set this configuration option
78
94
  to `true`. By [justin808](https://github.com/shakacode/react_on_rails/pull/1240).
79
-
95
+
80
96
  * Added support to export locales in JSON format. New option added `i18n_output_format` which allows to
81
97
  specify locales format either `JSON` or `JS`. **`JSON` format is now the default.**
82
-
98
+
83
99
  **Use this config setting to get the old behavior: config.i18n_output_format = 'js'**
84
-
100
+
85
101
  [PR 1271](https://github.com/shakacode/react_on_rails/pull/1271) by [ashgaliyev](https://github.com/ashgaliyev).
86
102
 
87
103
  - Added Typescript definitions to the Node package. By [justin808](https://github.com/justin808) and [judahmeek](https://github.com/judahmeek) in [PR 1287](https://github.com/shakacode/react_on_rails/pull/1287).
@@ -943,7 +959,10 @@ Best done with Object destructing:
943
959
  ##### Fixed
944
960
  - Fix several generator related issues.
945
961
 
946
- [Unreleased]: https://github.com/shakacode/react_on_rails/compare/12.0.3...master
962
+ [Unreleased]: https://github.com/shakacode/react_on_rails/compare/12.2.0...master
963
+ [12.2.0]: https://github.com/shakacode/react_on_rails/compare/12.1.0...12.2.0
964
+ [12.1.0]: https://github.com/shakacode/react_on_rails/compare/12.0.4...12.1.0
965
+ [12.0.4]: https://github.com/shakacode/react_on_rails/compare/12.0.3...12.0.4
947
966
  [12.0.3]: https://github.com/shakacode/react_on_rails/compare/12.0.2...12.0.3
948
967
  [12.0.2]: https://github.com/shakacode/react_on_rails/compare/12.0.1...12.0.2
949
968
  [12.0.1]: https://github.com/shakacode/react_on_rails/compare/12.0.0...12.0.1
data/CONTRIBUTING.md CHANGED
@@ -5,6 +5,7 @@
5
5
  * See other docs in [docs/contributor-info](./docs/contributor-info)
6
6
 
7
7
  ## To run tests:
8
+ * [Yalc](https://github.com/whitecolor/yalc) must be installed globally for most local development.
8
9
  * After updating code via git, to prepare all examples and run all tests:
9
10
 
10
11
  ```sh
@@ -64,7 +65,7 @@ yarn
64
65
  # Update the lib directory with babel compiled files
65
66
  yarn run build-watch
66
67
  ```
67
-
68
+
68
69
  You need to do this once:
69
70
 
70
71
  ```
@@ -192,7 +193,7 @@ Then run `bundle`.
192
193
 
193
194
  The main installer can be run with ```rails generate react_on_rails:install```
194
195
 
195
- Then use yalc to add the npm module.
196
+ Then use yalc to add the npm module.
196
197
 
197
198
  Be sure that your ran this first at the top level of React on Rails
198
199
 
data/Gemfile CHANGED
@@ -5,36 +5,4 @@ source "https://rubygems.org"
5
5
  # Specify your gem"s dependencies in react_on_rails.gemspec
6
6
  gemspec
7
7
 
8
- # The following gems are dependencies of the gem's dummy/example apps, not the gem itself.
9
- # They must be defined here because of the way Travis CI works, in that it will only
10
- # bundle install from a single Gemfile. Therefore, all gems that we will need for any dummy/example
11
- # app have to be manually added to this file.
12
- gem "bootsnap", ">= 1.1.0", require: false
13
- gem "bootstrap-sass"
14
- gem "jbuilder"
15
- gem "jquery-rails"
16
- gem "mini_racer"
17
- gem "puma"
18
- gem "rails_12factor"
19
- gem "ruby-lint", require: false
20
- gem "sass-rails"
21
- gem "scss_lint", require: false
22
- gem "sdoc", group: :doc
23
- gem "spring"
24
- gem "sprockets", "~>3.0"
25
- gem "sqlite3", "~> 1.3.6"
26
- gem "turbolinks"
27
- gem "uglifier"
28
- gem "web-console", group: :development
29
-
30
- # below are copied from spec/dummy/Gemfile
31
- gem "capybara"
32
- gem "capybara-screenshot"
33
- gem "launchy"
34
- gem "rspec-rails"
35
- gem "rspec-retry"
36
- gem "selenium-webdriver"
37
- gem "webpacker", ">= 4.0.0"
38
-
39
- gem "equivalent-xml", github: "mbklein/equivalent-xml"
40
- gem "rainbow"
8
+ eval_gemfile File.expand_path("./Gemfile.development_dependencies", __dir__)
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ gem "webpacker"
4
+ gem "bootsnap", require: false
5
+ gem "rails"
6
+ gem "sqlite3"
7
+ gem "sass-rails"
8
+ gem "uglifier"
9
+ gem "jquery-rails"
10
+ gem "puma"
11
+
12
+ # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
13
+ gem "turbolinks" if ENV["DISABLE_TURBOLINKS"].nil? || ENV["DISABLE_TURBOLINKS"].strip.empty?
14
+
15
+ # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
16
+ gem "jbuilder"
17
+ # bundle exec rake doc:rails generates the API under doc/api.
18
+ gem "sdoc", group: :doc
19
+
20
+ gem "sprockets"
21
+
22
+ gem "amazing_print"
23
+ gem "mini_racer"
24
+
25
+ group :development, :test do
26
+ gem "listen"
27
+ gem "pry"
28
+ gem "pry-byebug"
29
+ gem "pry-doc"
30
+ gem "pry-rails"
31
+ gem "pry-rescue"
32
+ gem "rubocop", require: false
33
+ gem "rubocop-performance", require: false
34
+ gem "rubocop-rspec", require: false
35
+ gem "scss_lint", require: false
36
+ gem "spring"
37
+ end
38
+
39
+ group :test do
40
+ gem "capybara"
41
+ gem "capybara-screenshot"
42
+ gem "coveralls", require: false
43
+ gem "equivalent-xml"
44
+ gem "generator_spec"
45
+ gem "launchy"
46
+ gem "rspec_junit_formatter"
47
+ gem "rspec-rails"
48
+ gem "rspec-retry"
49
+ gem "selenium-webdriver"
50
+ gem "webdrivers", "3.9.4"
51
+ end