react_on_rails 12.0.2 → 12.1.0
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 +4 -4
- data/.circleci/config.yml +12 -2
- data/.eslintrc +2 -1
- data/.github/workflows/lint-js-and-ruby.yml +53 -0
- data/.github/workflows/main.yml +178 -0
- data/.github/workflows/package-js-tests.yml +35 -0
- data/.github/workflows/rspec-package-specs.yml +45 -0
- data/.prettierrc +0 -3
- data/.rubocop.yml +46 -38
- data/CHANGELOG.md +35 -12
- data/CONTRIBUTING.md +4 -3
- data/Gemfile +1 -33
- data/Gemfile.development_dependencies +51 -0
- data/README.md +63 -55
- data/docs/{basics → additional-details}/generator-details.md +1 -6
- data/docs/{outdated → additional-details}/manual-installation-overview.md +6 -6
- data/docs/{basics → additional-details}/migrating-from-react-rails.md +0 -0
- data/docs/{additional-reading → additional-details}/recommended-project-structure.md +0 -0
- data/docs/{additional-reading → additional-details}/updating-dependencies.md +0 -0
- data/docs/additional-details/upgrade-webpacker-v3-to-v4.md +10 -0
- data/docs/api/javascript-api.md +2 -2
- data/docs/api/redux-store-api.md +3 -3
- data/docs/api/view-helpers-api.md +7 -8
- data/docs/basics/client-vs-server-rendering.md +3 -3
- data/docs/basics/configuration.md +42 -25
- data/docs/basics/deployment.md +2 -2
- data/docs/basics/hmr-and-hot-reloading-with-the-webpack-dev-server.md +16 -14
- data/docs/{outdated → basics}/how-react-on-rails-works.md +8 -9
- data/docs/basics/installation-into-an-existing-rails-app.md +13 -6
- data/docs/basics/react-server-rendering.md +3 -3
- data/docs/basics/rspec-configuration.md +10 -10
- data/docs/{tutorial.md → basics/tutorial.md} +23 -31
- data/docs/basics/upgrading-react-on-rails.md +32 -12
- data/docs/basics/webpack-configuration.md +4 -6
- data/docs/contributor-info/linters.md +5 -6
- data/docs/contributor-info/pull-requests.md +2 -4
- data/docs/contributor-info/releasing.md +1 -1
- data/docs/{additional-reading → deployment}/elastic-beanstalk.md +0 -0
- data/docs/{basics → deployment}/heroku-deployment.md +0 -0
- data/docs/home.md +382 -0
- data/docs/{additional-reading → javascript}/angular-js-integration-migration.md +0 -0
- data/docs/{additional-reading → javascript}/asset-pipeline.md +0 -0
- data/docs/{additional-reading → javascript}/capistrano-deployment.md +0 -0
- data/docs/{outdated → javascript}/code-splitting.md +5 -5
- data/docs/{additional-reading → javascript}/converting-from-custom-webpack-config-to-rails-webpacker-config.md +3 -3
- data/docs/{additional-reading → javascript}/credits.md +0 -0
- data/docs/{additional-reading → javascript}/foreman-issues.md +0 -0
- data/docs/{additional-reading → javascript}/images.md +5 -6
- data/docs/{additional-reading → javascript}/node-dependencies-and-npm.md +0 -0
- data/docs/{additional-reading → javascript}/react-and-redux.md +0 -0
- data/docs/{additional-reading → javascript}/react-helmet.md +0 -0
- data/docs/{additional-reading → javascript}/react-router.md +0 -0
- data/docs/{additional-reading → javascript}/server-rendering-tips.md +0 -0
- data/docs/{additional-reading → javascript}/troubleshooting-when-using-webpacker.md +0 -0
- data/docs/{additional-reading → javascript}/webpack-v1-notes.md +0 -0
- data/docs/{additional-reading → javascript}/webpack.md +0 -0
- data/docs/{articles.md → misc/articles.md} +1 -1
- data/docs/misc/doctrine.md +5 -5
- data/docs/{coding-style → misc}/style.md +0 -0
- data/docs/{additional-reading → misc}/tips.md +0 -0
- data/docs/outdated/deferred-rendering.md +39 -0
- data/docs/outdated/rails-assets-relative-paths.md +3 -3
- data/docs/outdated/rails-assets.md +8 -8
- data/docs/outdated/rails3.md +2 -2
- data/docs/rails-webpacker-react-integration-options.md +182 -0
- data/docs/{additional-reading → rails}/convert-rails-5-api-only-app.md +1 -1
- data/docs/{additional-reading → rails}/rails-engine-integration.md +0 -0
- data/docs/{additional-reading → rails}/rails_view_rendering_from_inline_javascript.md +0 -0
- data/docs/{additional-reading → rails}/turbolinks.md +0 -0
- data/docs/testimonials/testimonials.md +6 -6
- data/lib/generators/react_on_rails/base_generator.rb +8 -1
- data/lib/generators/react_on_rails/dev_tests_generator.rb +1 -1
- data/lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb +8 -2
- data/lib/generators/react_on_rails/templates/dev_tests/spec/simplecov_helper.rb +1 -1
- data/lib/generators/react_on_rails/templates/dev_tests/spec/{features → system}/hello_world_spec.rb +2 -2
- data/lib/react_on_rails/configuration.rb +2 -0
- data/lib/react_on_rails/git_utils.rb +3 -3
- data/lib/react_on_rails/helper.rb +15 -9
- data/lib/react_on_rails/locales/base.rb +3 -3
- data/lib/react_on_rails/locales/to_js.rb +0 -4
- data/lib/react_on_rails/locales/to_json.rb +0 -4
- data/lib/react_on_rails/prerender_error.rb +1 -1
- data/lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb +6 -6
- data/lib/react_on_rails/test_helper.rb +2 -0
- data/lib/react_on_rails/test_helper/webpack_assets_compiler.rb +1 -1
- data/lib/react_on_rails/utils.rb +19 -3
- data/lib/react_on_rails/version.rb +1 -1
- data/lib/react_on_rails/webpacker_utils.rb +5 -1
- data/lib/tasks/assets.rake +20 -11
- data/package.json +24 -29
- data/rakelib/docker.rake +0 -5
- data/rakelib/lint.rake +3 -9
- data/rakelib/release.rake +27 -13
- data/rakelib/run_rspec.rake +10 -11
- data/rakelib/task_helpers.rb +16 -4
- data/react_on_rails.gemspec +3 -17
- data/yarn.lock +2272 -4960
- metadata +50 -225
- data/docs/additional-reading/upgrade-webpacker-v3-to-v4.md +0 -10
- data/docs/additional-reading/webpack-dev-server.md +0 -15
- data/ruby-lint.yml +0 -25
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1ff3b26eb01a206fc2f0a4e3a623463d88a4216c95a36c90b2fa55c5717a308c
|
|
4
|
+
data.tar.gz: 28b373978a8eb7502c018e03aeec17058ba65d6ced76a50aa932894c76f835df
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ccb1f3c3d34b9ddbca43e8fe349a2cb3ee27892a1b52d9fe938070f2947ed402fef03d7328041f4f02a7d0b5401b90cdcdc1141230d96efd2ced6da2bc0668b7
|
|
7
|
+
data.tar.gz: 488f77190eee0fb0ca008535d7fbb8f5a43c380c31c9d4bdacf8d563383a0dc87b0e643eafde37a7d9ffc36e093d8a648c3c95f6b238bf567dcf76caf078027b
|
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.
|
|
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
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
name: Lint JS and Ruby
|
|
2
|
+
|
|
3
|
+
on: [push, pull_request]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build:
|
|
7
|
+
strategy:
|
|
8
|
+
matrix:
|
|
9
|
+
ruby: [2.7]
|
|
10
|
+
node: [14]
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v2
|
|
14
|
+
- name: Setup Ruby
|
|
15
|
+
uses: ruby/setup-ruby@v1
|
|
16
|
+
with:
|
|
17
|
+
ruby-version: ${{ matrix.ruby }}
|
|
18
|
+
- name: Setup Node
|
|
19
|
+
uses: actions/setup-node@v2-beta
|
|
20
|
+
with:
|
|
21
|
+
node-version: ${{ matrix.node }}
|
|
22
|
+
- name: Print system information
|
|
23
|
+
run: |
|
|
24
|
+
echo "Linux release: "; cat /etc/issue
|
|
25
|
+
echo "Current user: "; whoami
|
|
26
|
+
echo "Current directory: "; pwd
|
|
27
|
+
echo "Ruby version: "; ruby -v
|
|
28
|
+
echo "Node version: "; node -v
|
|
29
|
+
echo "Yarn version: "; yarn --version
|
|
30
|
+
echo "Bundler version: "; bundle --version
|
|
31
|
+
- name: Save root node_modules to cache
|
|
32
|
+
uses: actions/cache@v2
|
|
33
|
+
with:
|
|
34
|
+
path: node_modules
|
|
35
|
+
key: v4-package-node-modules-cache-${{ hashFiles('yarn.lock') }}
|
|
36
|
+
- name: Save root ruby gems to cache
|
|
37
|
+
uses: actions/cache@v2
|
|
38
|
+
with:
|
|
39
|
+
path: vendor/bundle
|
|
40
|
+
key: v4-package-app-gem-cache-${{ hashFiles('react_on_rails.gemspec') }}
|
|
41
|
+
- name: Install Node modules with Yarn for renderer package
|
|
42
|
+
run: |
|
|
43
|
+
yarn install --no-progress --no-emoji
|
|
44
|
+
yarn run eslint -v
|
|
45
|
+
sudo yarn global add yalc
|
|
46
|
+
- name: Install Ruby Gems for package
|
|
47
|
+
run: bundle check --path=vendor/bundle || bundle install --path=vendor/bundle --jobs=4 --retry=3
|
|
48
|
+
- name: Linting of Ruby
|
|
49
|
+
run: bundle exec rubocop
|
|
50
|
+
- name: Linting of JS
|
|
51
|
+
run: yarn start lint
|
|
52
|
+
- name: Check formatting
|
|
53
|
+
run: yarn start format.listDifferent
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
name: Main test
|
|
2
|
+
|
|
3
|
+
on: [push, pull_request]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build-dummy-app-webpack-test-bundles:
|
|
7
|
+
strategy:
|
|
8
|
+
matrix:
|
|
9
|
+
ruby: [2.7]
|
|
10
|
+
node: [14]
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v2
|
|
14
|
+
- name: Setup Ruby
|
|
15
|
+
uses: ruby/setup-ruby@v1
|
|
16
|
+
with:
|
|
17
|
+
ruby-version: ${{ matrix.ruby }}
|
|
18
|
+
- name: Setup Node
|
|
19
|
+
uses: actions/setup-node@v2-beta
|
|
20
|
+
with:
|
|
21
|
+
node-version: ${{ matrix.node }}
|
|
22
|
+
- name: Print system information
|
|
23
|
+
run: |
|
|
24
|
+
echo "Linux release: "; cat /etc/issue
|
|
25
|
+
echo "Current user: "; whoami
|
|
26
|
+
echo "Current directory: "; pwd
|
|
27
|
+
echo "Ruby version: "; ruby -v
|
|
28
|
+
echo "Node version: "; node -v
|
|
29
|
+
echo "Yarn version: "; yarn --version
|
|
30
|
+
echo "Bundler version: "; bundle --version
|
|
31
|
+
- name: Save root node_modules to cache
|
|
32
|
+
uses: actions/cache@v2
|
|
33
|
+
with:
|
|
34
|
+
path: node_modules
|
|
35
|
+
key: v4-package-node-modules-cache-${{ hashFiles('yarn.lock') }}
|
|
36
|
+
- name: Install Node modules with Yarn for renderer package
|
|
37
|
+
run: |
|
|
38
|
+
yarn install --no-progress --no-emoji
|
|
39
|
+
yarn run eslint -v
|
|
40
|
+
sudo yarn global add yalc
|
|
41
|
+
- name: yalc publish for react-on-rails
|
|
42
|
+
run: yalc publish
|
|
43
|
+
- name: Save spec/dummy/node_modules to cache
|
|
44
|
+
uses: actions/cache@v2
|
|
45
|
+
with:
|
|
46
|
+
path: spec/dummy/node_modules
|
|
47
|
+
key: v4-dummy-app-node-modules-cache-${{ hashFiles('spec/dummy/yarn.lock') }}
|
|
48
|
+
- name: yalc add react-on-rails
|
|
49
|
+
run: cd spec/dummy && yalc add react-on-rails
|
|
50
|
+
- name: Install Node modules with Yarn for dummy app
|
|
51
|
+
run: cd spec/dummy && yarn install --no-progress --no-emoji
|
|
52
|
+
- name: Save dummy app ruby gems to cache
|
|
53
|
+
uses: actions/cache@v2
|
|
54
|
+
with:
|
|
55
|
+
path: spec/dummy/vendor/bundle
|
|
56
|
+
key: v4-dummy-app-gem-cache-${{ hashFiles('spec/dummy/Gemfile.lock') }}
|
|
57
|
+
- name: Install Ruby Gems for dummy app
|
|
58
|
+
run: cd spec/dummy && bundle check --path=vendor/bundle || bundle install --path=vendor/bundle --jobs=4 --retry=3
|
|
59
|
+
- name: Build test bundles for dummy app
|
|
60
|
+
run: cd spec/dummy && yarn run build:test
|
|
61
|
+
- id: get-sha
|
|
62
|
+
run: echo "::set-output name=sha::$(git rev-parse HEAD)"
|
|
63
|
+
- name: Save test webpack bundles to cache (for build number checksum used by rspec job)
|
|
64
|
+
uses: actions/cache@v2
|
|
65
|
+
with:
|
|
66
|
+
path: spec/dummy/public/webpack
|
|
67
|
+
key: v4-dummy-app-webpack-bundle-${{ steps.get-sha.outputs.sha }}
|
|
68
|
+
|
|
69
|
+
main:
|
|
70
|
+
needs: build-dummy-app-webpack-test-bundles
|
|
71
|
+
strategy:
|
|
72
|
+
matrix:
|
|
73
|
+
ruby: [2.7]
|
|
74
|
+
node: [14]
|
|
75
|
+
rake_task: ['run_rspec:all_dummy', 'run_rspec:all_but_examples', 'run_rspec:examples']
|
|
76
|
+
runs-on: ubuntu-latest
|
|
77
|
+
steps:
|
|
78
|
+
- uses: actions/checkout@v2
|
|
79
|
+
- name: Setup Ruby
|
|
80
|
+
uses: ruby/setup-ruby@v1
|
|
81
|
+
with:
|
|
82
|
+
ruby-version: ${{ matrix.ruby }}
|
|
83
|
+
- name: Setup Node
|
|
84
|
+
uses: actions/setup-node@v2-beta
|
|
85
|
+
with:
|
|
86
|
+
node-version: ${{ matrix.node }}
|
|
87
|
+
- name: Print system information
|
|
88
|
+
run: |
|
|
89
|
+
echo "Linux release: "; cat /etc/issue
|
|
90
|
+
echo "Current user: "; whoami
|
|
91
|
+
echo "Current directory: "; pwd
|
|
92
|
+
echo "Ruby version: "; ruby -v
|
|
93
|
+
echo "Node version: "; node -v
|
|
94
|
+
echo "Yarn version: "; yarn --version
|
|
95
|
+
echo "Bundler version: "; bundle --version
|
|
96
|
+
- name: Save root node_modules to cache
|
|
97
|
+
uses: actions/cache@v2
|
|
98
|
+
with:
|
|
99
|
+
path: node_modules
|
|
100
|
+
key: v4-package-node-modules-cache-${{ hashFiles('yarn.lock') }}
|
|
101
|
+
- name: Save root ruby gems to cache
|
|
102
|
+
uses: actions/cache@v2
|
|
103
|
+
with:
|
|
104
|
+
path: vendor/bundle
|
|
105
|
+
key: v4-package-app-gem-cache-${{ hashFiles('react_on_rails.gemspec') }}
|
|
106
|
+
- name: Save dummy app ruby gems to cache
|
|
107
|
+
uses: actions/cache@v2
|
|
108
|
+
with:
|
|
109
|
+
path: spec/dummy/vendor/bundle
|
|
110
|
+
key: v4-dummy-app-gem-cache-${{ hashFiles('spec/dummy/Gemfile.lock') }}
|
|
111
|
+
- name: Save spec/dummy/node_modules to cache
|
|
112
|
+
uses: actions/cache@v2
|
|
113
|
+
with:
|
|
114
|
+
path: spec/dummy/node_modules
|
|
115
|
+
key: v4-dummy-app-node-modules-cache-${{ hashFiles('spec/dummy/yarn.lock') }}
|
|
116
|
+
- id: get-sha
|
|
117
|
+
run: echo "::set-output name=sha::$(git rev-parse HEAD)"
|
|
118
|
+
- name: Save test webpack bundles to cache (for build number checksum used by rspec job)
|
|
119
|
+
uses: actions/cache@v2
|
|
120
|
+
with:
|
|
121
|
+
path: spec/dummy/public/webpack
|
|
122
|
+
key: v4-dummy-app-webpack-bundle-${{ steps.get-sha.outputs.sha }}
|
|
123
|
+
|
|
124
|
+
- name: Install Node modules with Yarn for renderer package
|
|
125
|
+
run: |
|
|
126
|
+
yarn install --no-progress --no-emoji
|
|
127
|
+
yarn run eslint -v
|
|
128
|
+
sudo yarn global add yalc
|
|
129
|
+
- name: yalc publish for react-on-rails
|
|
130
|
+
run: yalc publish
|
|
131
|
+
- name: yalc add react-on-rails
|
|
132
|
+
run: cd spec/dummy && yalc add react-on-rails
|
|
133
|
+
- name: Install Ruby Gems for package
|
|
134
|
+
run: bundle check --path=vendor/bundle || bundle install --path=vendor/bundle --jobs=4 --retry=3
|
|
135
|
+
- name: Install Ruby Gems for dummy app
|
|
136
|
+
run: cd spec/dummy && bundle check --path=vendor/bundle || bundle install --path=vendor/bundle --jobs=4 --retry=3
|
|
137
|
+
- name: Ensure minimum required Chrome version
|
|
138
|
+
run: |
|
|
139
|
+
echo -e "Already installed $(google-chrome --version)\n"
|
|
140
|
+
MINIMUM_REQUIRED_CHROME_VERSION=75
|
|
141
|
+
INSTALLED_CHROME_MAJOR_VERSION="$(google-chrome --version | tr ' .' '\t' | cut -f3)"
|
|
142
|
+
if [[ $INSTALLED_CHROME_MAJOR_VERSION < $MINIMUM_REQUIRED_CHROME_VERSION ]]; then
|
|
143
|
+
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
|
|
144
|
+
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
|
|
145
|
+
sudo apt-get update
|
|
146
|
+
sudo apt-get install google-chrome-stable
|
|
147
|
+
echo -e "\nInstalled $(google-chrome --version)"
|
|
148
|
+
fi
|
|
149
|
+
- name: Touch webpack bundles
|
|
150
|
+
run: touch spec/dummy/public/webpack/test/*
|
|
151
|
+
- name: Install yalc globally
|
|
152
|
+
run: sudo yarn global add yalc
|
|
153
|
+
- name: Increase the amount of inotify watchers
|
|
154
|
+
run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
|
|
155
|
+
- name: Prep for CI
|
|
156
|
+
run: bundle exec rake prepare_for_ci
|
|
157
|
+
- name: Main CI
|
|
158
|
+
run: bundle exec rake ${{ matrix.rake_task }}
|
|
159
|
+
- name: Store test results
|
|
160
|
+
uses: actions/upload-artifact@v2
|
|
161
|
+
with:
|
|
162
|
+
name: main-rspec
|
|
163
|
+
path: ~/rspec
|
|
164
|
+
- name: Store artifacts
|
|
165
|
+
uses: actions/upload-artifact@v2
|
|
166
|
+
with:
|
|
167
|
+
name: dummy-app-capybara
|
|
168
|
+
path: spec/dummy/tmp/capybara
|
|
169
|
+
- name: Store artifacts
|
|
170
|
+
uses: actions/upload-artifact@v2
|
|
171
|
+
with:
|
|
172
|
+
name: dummy-app-test-log
|
|
173
|
+
path: spec/dummy/log/test.log
|
|
174
|
+
- name: Store artifacts
|
|
175
|
+
uses: actions/upload-artifact@v2
|
|
176
|
+
with:
|
|
177
|
+
name: dummy-app-yarn-log
|
|
178
|
+
path: spec/dummy/yarn-error.log
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: JS unit tests for Renderer package
|
|
2
|
+
|
|
3
|
+
on: [push, pull_request]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build:
|
|
7
|
+
strategy:
|
|
8
|
+
matrix:
|
|
9
|
+
node: [12, 14]
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v2
|
|
13
|
+
- name: Setup Node
|
|
14
|
+
uses: actions/setup-node@v2-beta
|
|
15
|
+
with:
|
|
16
|
+
node-version: ${{ matrix.node }}
|
|
17
|
+
- name: Print system information
|
|
18
|
+
run: |
|
|
19
|
+
echo "Linux release: "; cat /etc/issue
|
|
20
|
+
echo "Current user: "; whoami
|
|
21
|
+
echo "Current directory: "; pwd
|
|
22
|
+
echo "Node version: "; node -v
|
|
23
|
+
echo "Yarn version: "; yarn --version
|
|
24
|
+
- name: Save root node_modules to cache
|
|
25
|
+
uses: actions/cache@v2
|
|
26
|
+
with:
|
|
27
|
+
path: node_modules
|
|
28
|
+
key: v4-package-node-modules-cache-${{ hashFiles('yarn.lock') }}
|
|
29
|
+
- name: Install Node modules with Yarn for renderer package
|
|
30
|
+
run: |
|
|
31
|
+
yarn install --no-progress --no-emoji
|
|
32
|
+
yarn run eslint -v
|
|
33
|
+
sudo yarn global add yalc
|
|
34
|
+
- name: Run JS unit tests for Renderer package
|
|
35
|
+
run: yarn test
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
name: Rspec test for gem
|
|
2
|
+
|
|
3
|
+
on: [push, pull_request]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build:
|
|
7
|
+
strategy:
|
|
8
|
+
matrix:
|
|
9
|
+
ruby: [2.7]
|
|
10
|
+
node: [14]
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v2
|
|
14
|
+
- name: Setup Ruby
|
|
15
|
+
uses: ruby/setup-ruby@v1
|
|
16
|
+
with:
|
|
17
|
+
ruby-version: ${{ matrix.ruby }}
|
|
18
|
+
- name: Print system information
|
|
19
|
+
run: |
|
|
20
|
+
echo "Linux release: "; cat /etc/issue
|
|
21
|
+
echo "Current user: "; whoami
|
|
22
|
+
echo "Current directory: "; pwd
|
|
23
|
+
echo "Ruby version: "; ruby -v
|
|
24
|
+
echo "Node version: "; node -v
|
|
25
|
+
echo "Yarn version: "; yarn --version
|
|
26
|
+
echo "Bundler version: "; bundle --version
|
|
27
|
+
- name: Save root ruby gems to cache
|
|
28
|
+
uses: actions/cache@v2
|
|
29
|
+
with:
|
|
30
|
+
path: vendor/bundle
|
|
31
|
+
key: v4-package-app-gem-cache-${{ hashFiles('react_on_rails.gemspec') }}
|
|
32
|
+
- name: Install Ruby Gems for package
|
|
33
|
+
run: bundle check --path=vendor/bundle || bundle install --path=vendor/bundle --jobs=4 --retry=3
|
|
34
|
+
- name: Run rspec tests
|
|
35
|
+
run: bundle exec rspec spec/react_on_rails
|
|
36
|
+
- name: Store test results
|
|
37
|
+
uses: actions/upload-artifact@v2
|
|
38
|
+
with:
|
|
39
|
+
name: main-rspec
|
|
40
|
+
path: ~/rspec
|
|
41
|
+
- name: Store artifacts
|
|
42
|
+
uses: actions/upload-artifact@v2
|
|
43
|
+
with:
|
|
44
|
+
name: main-test-log
|
|
45
|
+
path: log/test.log
|
data/.prettierrc
CHANGED
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
|
-
|
|
17
|
-
- '
|
|
18
|
-
|
|
19
|
-
- '
|
|
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
|
-
|
|
92
|
+
RSpec/AnyInstance:
|
|
98
93
|
Exclude:
|
|
99
|
-
- 'spec/
|
|
94
|
+
- 'spec/react_on_rails/git_utils_spec.rb'
|
|
95
|
+
- 'spec/react_on_rails/locales_to_js_spec.rb'
|
|
100
96
|
|
|
101
|
-
|
|
102
|
-
|
|
97
|
+
RSpec/DescribeClass:
|
|
98
|
+
Enabled: false
|
|
103
99
|
|
|
104
|
-
|
|
105
|
-
Enabled:
|
|
100
|
+
RSpec/ExampleLength:
|
|
101
|
+
Enabled: false
|
|
106
102
|
|
|
107
|
-
|
|
108
|
-
Enabled:
|
|
103
|
+
RSpec/MessageSpies:
|
|
104
|
+
Enabled: false
|
|
109
105
|
|
|
110
|
-
|
|
111
|
-
|
|
106
|
+
RSpec/NestedGroups:
|
|
107
|
+
Max: 4
|
|
112
108
|
|
|
113
|
-
|
|
114
|
-
|
|
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
|
-
|
|
117
|
-
Enabled:
|
|
114
|
+
RSpec/MessageChain:
|
|
115
|
+
Enabled: false
|
|
118
116
|
|
|
119
|
-
|
|
120
|
-
Enabled:
|
|
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'
|