react_on_rails_pro 16.2.0.beta.8
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 +7 -0
- data/.controlplane/Dockerfile +49 -0
- data/.controlplane/controlplane.yml +22 -0
- data/.controlplane/gvc.yml +25 -0
- data/.controlplane/postgres.yml +33 -0
- data/.controlplane/rails.yml +49 -0
- data/.controlplane/redis.yml +18 -0
- data/.gitignore +77 -0
- data/.prettierignore +12 -0
- data/.prettierrc +19 -0
- data/.rspec +2 -0
- data/.rubocop.yml +120 -0
- data/.scss-lint.yml +205 -0
- data/CHANGELOG.md +570 -0
- data/CI_SETUP.md +502 -0
- data/CONTRIBUTING.md +376 -0
- data/Dockerfile +63 -0
- data/Gemfile +8 -0
- data/Gemfile.development_dependencies +74 -0
- data/Gemfile.loader +32 -0
- data/Gemfile.lock +527 -0
- data/LICENSE +98 -0
- data/LICENSE_SETUP.md +272 -0
- data/README.md +577 -0
- data/Rakefile +13 -0
- data/app/controllers/react_on_rails_pro/rsc_payload_controller.rb +7 -0
- data/app/helpers/react_on_rails_pro_helper.rb +360 -0
- data/app/views/react_on_rails_pro/rsc_payload.html.erb +1 -0
- data/babel.config.js +4 -0
- data/docs/bundle-caching.md +205 -0
- data/docs/caching.md +234 -0
- data/docs/code-splitting-loadable-components.md +313 -0
- data/docs/code-splitting.md +349 -0
- data/docs/configuration.md +165 -0
- data/docs/contributors-info/onboarding-customers.md +6 -0
- data/docs/contributors-info/releasing.md +40 -0
- data/docs/contributors-info/style.md +33 -0
- data/docs/home-pro.md +146 -0
- data/docs/installation.md +203 -0
- data/docs/js-memory-leaks.md +22 -0
- data/docs/node-renderer/basics.md +92 -0
- data/docs/node-renderer/debugging.md +38 -0
- data/docs/node-renderer/error-reporting-and-tracing.md +160 -0
- data/docs/node-renderer/heroku.md +102 -0
- data/docs/node-renderer/js-configuration.md +91 -0
- data/docs/node-renderer/troubleshooting.md +5 -0
- data/docs/profiling-server-side-rendering-code.md +179 -0
- data/docs/react-server-components/add-streaming-and-interactivity.md +190 -0
- data/docs/react-server-components/create-without-ssr.md +448 -0
- data/docs/react-server-components/glossary.md +102 -0
- data/docs/react-server-components/how-react-server-components-work.md +243 -0
- data/docs/react-server-components/inside-client-components.md +332 -0
- data/docs/react-server-components/purpose-and-benefits.md +243 -0
- data/docs/react-server-components/rendering-flow.md +86 -0
- data/docs/react-server-components/selective-hydration-in-streamed-components.md +75 -0
- data/docs/react-server-components/server-side-rendering.md +72 -0
- data/docs/react-server-components/tutorial.md +19 -0
- data/docs/release-notes/4.0.md +94 -0
- data/docs/release-notes/v4-react-server-components.md +66 -0
- data/docs/ruby-api.md +11 -0
- data/docs/streaming-server-rendering.md +210 -0
- data/docs/troubleshooting.md +24 -0
- data/docs/updating.md +219 -0
- data/eslint.config.mjs +220 -0
- data/lib/react_on_rails_pro/assets_precompile.rb +230 -0
- data/lib/react_on_rails_pro/cache.rb +88 -0
- data/lib/react_on_rails_pro/concerns/rsc_payload_renderer.rb +38 -0
- data/lib/react_on_rails_pro/concerns/stream.rb +103 -0
- data/lib/react_on_rails_pro/configuration.rb +228 -0
- data/lib/react_on_rails_pro/constants.rb +8 -0
- data/lib/react_on_rails_pro/engine.rb +24 -0
- data/lib/react_on_rails_pro/error.rb +14 -0
- data/lib/react_on_rails_pro/license_public_key.rb +30 -0
- data/lib/react_on_rails_pro/license_validator.rb +188 -0
- data/lib/react_on_rails_pro/prepare_node_renderer_bundles.rb +40 -0
- data/lib/react_on_rails_pro/rendering_error.rb +5 -0
- data/lib/react_on_rails_pro/request.rb +318 -0
- data/lib/react_on_rails_pro/routes.rb +13 -0
- data/lib/react_on_rails_pro/server_rendering_js_code.rb +102 -0
- data/lib/react_on_rails_pro/server_rendering_pool/node_rendering_pool.rb +133 -0
- data/lib/react_on_rails_pro/server_rendering_pool/pro_rendering.rb +117 -0
- data/lib/react_on_rails_pro/stream_cache.rb +61 -0
- data/lib/react_on_rails_pro/stream_request.rb +170 -0
- data/lib/react_on_rails_pro/utils.rb +222 -0
- data/lib/react_on_rails_pro/v8_log_processor.rb +50 -0
- data/lib/react_on_rails_pro/version.rb +6 -0
- data/lib/react_on_rails_pro.rb +23 -0
- data/package-scripts.yml +109 -0
- data/package.json +159 -0
- data/rakelib/dummy_apps.rake +22 -0
- data/rakelib/lint.rake +32 -0
- data/rakelib/public_key_management.rake +155 -0
- data/rakelib/rbs.rake +47 -0
- data/rakelib/run_rspec.rake +81 -0
- data/rakelib/task_helpers.rb +45 -0
- data/rakelib/yard.rake +20 -0
- data/react_on_rails_pro.gemspec +47 -0
- data/readme-gen-docs.md +1 -0
- data/script/bootstrap +33 -0
- data/script/preinstall.js +31 -0
- data/script/setup +23 -0
- data/script/test +38 -0
- data/sig/react_on_rails_pro/cache.rbs +13 -0
- data/sig/react_on_rails_pro/configuration.rbs +100 -0
- data/sig/react_on_rails_pro/error.rbs +4 -0
- data/sig/react_on_rails_pro/utils.rbs +7 -0
- data/sig/react_on_rails_pro.rbs +5 -0
- data/yarn.lock +7599 -0
- metadata +319 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: acfb8f9a7a66784d81733b77382a2df00cd75649f7ef96e8d214b756eade587a
|
|
4
|
+
data.tar.gz: 8332dccf2015b864d4baf225f7e268c28f0c44eefcdbea7a37441dc5a9df074b
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: bc7b8682a6fa06da8cd501ac5c694834c1b055bc2def714309a8d7193d87c94375fc757869c2d047fef60e6305e0a740caaf0a917cf9abea653e7682fd2f765d
|
|
7
|
+
data.tar.gz: f6daa8ee683ed8660b3838d456a1650d5f444ea2586fb85ca67e9aa0041d54dcc1364e38ae462d075c4d726e543ea76f9068dbc81c237829f34481c97327ec9b
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
FROM ruby:3.3.7
|
|
2
|
+
|
|
3
|
+
RUN apt-get update
|
|
4
|
+
|
|
5
|
+
# install node and yarn
|
|
6
|
+
RUN curl -sL https://deb.nodesource.com/setup_18.x | bash
|
|
7
|
+
RUN apt-get install -y nodejs
|
|
8
|
+
RUN npm install -g yarn
|
|
9
|
+
|
|
10
|
+
WORKDIR /app
|
|
11
|
+
|
|
12
|
+
# install ruby gems
|
|
13
|
+
COPY Gemfile Gemfile.development_dependencies Gemfile.lock react_on_rails_pro.gemspec .
|
|
14
|
+
COPY lib ./lib
|
|
15
|
+
|
|
16
|
+
ENV BUNDLE_FROZEN=true
|
|
17
|
+
RUN bundle config set without 'development test' && \
|
|
18
|
+
bundle config set with 'staging production' && \
|
|
19
|
+
bundle install --jobs=3 --retry=3
|
|
20
|
+
|
|
21
|
+
# install node packages
|
|
22
|
+
COPY package.json yarn.lock .
|
|
23
|
+
RUN yarn install --frozen-lockfile
|
|
24
|
+
|
|
25
|
+
# pick necessary app files
|
|
26
|
+
COPY spec/ ./spec
|
|
27
|
+
COPY app/ ./app
|
|
28
|
+
COPY lib/ ./lib
|
|
29
|
+
COPY packages/ ./packages
|
|
30
|
+
COPY rakelib/ ./rakelib
|
|
31
|
+
|
|
32
|
+
WORKDIR /app/spec/dummy
|
|
33
|
+
|
|
34
|
+
ENV BUNDLE_FROZEN=true
|
|
35
|
+
RUN bundle config set without 'development test' && \
|
|
36
|
+
bundle config set with 'staging production' && \
|
|
37
|
+
bundle install --jobs=3 --retry=3
|
|
38
|
+
|
|
39
|
+
RUN yarn global add yalc
|
|
40
|
+
RUN yarn install --frozen-lockfile
|
|
41
|
+
|
|
42
|
+
ENV NODE_ENV=production
|
|
43
|
+
ENV RAILS_ENV=production
|
|
44
|
+
|
|
45
|
+
RUN rails assets:precompile
|
|
46
|
+
|
|
47
|
+
EXPOSE 3000 3800
|
|
48
|
+
|
|
49
|
+
CMD ["rails", "s", "-p", "3000"]
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Configuration for "Heroku to CPLN playbook" custom scripts
|
|
2
|
+
aliases:
|
|
3
|
+
common: &common
|
|
4
|
+
# Change this to your org name for staging. Production apps will use a different org
|
|
5
|
+
# for security.
|
|
6
|
+
cpln_org: shakacode-staging
|
|
7
|
+
# Example apps use only location. CPLN offers the ability to use multiple locations.
|
|
8
|
+
location: aws-us-east-2
|
|
9
|
+
# Configure the workload name used as a template for one-off scripts, like a Heroku one-off dyno.
|
|
10
|
+
one_off_workload: rails
|
|
11
|
+
# Like the entries in the Heroku Procfile that get deployed when the application code changes
|
|
12
|
+
# and the application image updates.
|
|
13
|
+
app_workloads:
|
|
14
|
+
- rails
|
|
15
|
+
# Like Heroku add-ons
|
|
16
|
+
additional_workloads:
|
|
17
|
+
- redis
|
|
18
|
+
- postgres
|
|
19
|
+
|
|
20
|
+
apps:
|
|
21
|
+
ror-dummy:
|
|
22
|
+
<<: *common
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Template setup of the GVC, roughly corresponding to a Heroku app
|
|
2
|
+
kind: gvc
|
|
3
|
+
name: APP_GVC
|
|
4
|
+
spec:
|
|
5
|
+
# For using templates for test apps, put ENV values here, stored in git repo.
|
|
6
|
+
# Production apps will have values configured manually after app creation.
|
|
7
|
+
env:
|
|
8
|
+
- name: DATABASE_URL
|
|
9
|
+
# Password does not matter because host postgres.APP_GVC.cpln.local can only be accessed
|
|
10
|
+
# locally within CPLN GVC, and postgres running on a CPLN workload is something only for a
|
|
11
|
+
# test app that lacks persistence.
|
|
12
|
+
value: 'postgres://postgres:password123@postgres.APP_GVC.cpln.local:5432/APP_GVC'
|
|
13
|
+
- name: RAILS_ENV
|
|
14
|
+
value: production
|
|
15
|
+
- name: NODE_ENV
|
|
16
|
+
value: production
|
|
17
|
+
- name: RAILS_SERVE_STATIC_FILES
|
|
18
|
+
value: 'true'
|
|
19
|
+
- name: REDIS_URL
|
|
20
|
+
# No password for GVC local Redis. See comment above for postgres.
|
|
21
|
+
value: 'redis://redis.APP_GVC.cpln.local:6379'
|
|
22
|
+
# Part of standard configuration
|
|
23
|
+
staticPlacement:
|
|
24
|
+
locationLinks:
|
|
25
|
+
- /org/APP_ORG/location/APP_LOCATION
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Template setup of Postgres workload, roughly corresponding to a Heroku add-on for a database
|
|
2
|
+
kind: workload
|
|
3
|
+
name: postgres
|
|
4
|
+
spec:
|
|
5
|
+
type: standard
|
|
6
|
+
containers:
|
|
7
|
+
- name: postgres
|
|
8
|
+
env:
|
|
9
|
+
- name: PGUSER
|
|
10
|
+
value: postgres
|
|
11
|
+
# Hardcoded password. See firewall comment below.
|
|
12
|
+
- name: POSTGRES_PASSWORD
|
|
13
|
+
value: password123
|
|
14
|
+
- name: POSTGRES_USER
|
|
15
|
+
value: postgres
|
|
16
|
+
image: 'postgres:13.8-alpine'
|
|
17
|
+
ports:
|
|
18
|
+
- number: 5432
|
|
19
|
+
protocol: tcp
|
|
20
|
+
volumes:
|
|
21
|
+
- path: /var/lib/postgresql/data
|
|
22
|
+
recoveryPolicy: retain
|
|
23
|
+
uri: 'scratch://postgres-vol'
|
|
24
|
+
# Important that postgres does not scaling because disk storage is local to one server!
|
|
25
|
+
defaultOptions:
|
|
26
|
+
autoscaling:
|
|
27
|
+
maxScale: 1
|
|
28
|
+
capacityAI: false
|
|
29
|
+
# This firewall configuration corresponds to using a simple, hard-coded password for postgres
|
|
30
|
+
# in the gvc.yml template.
|
|
31
|
+
firewallConfig:
|
|
32
|
+
internal:
|
|
33
|
+
inboundAllowType: same-gvc
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Template setup of Rails server workload, roughly corresponding to Heroku dyno
|
|
2
|
+
# type within Procfile.
|
|
3
|
+
kind: workload
|
|
4
|
+
name: rails
|
|
5
|
+
spec:
|
|
6
|
+
type: standard
|
|
7
|
+
containers:
|
|
8
|
+
- name: rails
|
|
9
|
+
cpu: 512m
|
|
10
|
+
env:
|
|
11
|
+
- name: LOG_LEVEL
|
|
12
|
+
value: debug
|
|
13
|
+
# Inherit other ENV values from GVC
|
|
14
|
+
inheritEnv: true
|
|
15
|
+
image: '/org/APP_ORG/image/APP_IMAGE'
|
|
16
|
+
# TODO add liveness probe
|
|
17
|
+
memory: 1Gi
|
|
18
|
+
ports:
|
|
19
|
+
- number: 3000
|
|
20
|
+
protocol: http
|
|
21
|
+
- name: node-renderer
|
|
22
|
+
args:
|
|
23
|
+
- client/node-renderer.js
|
|
24
|
+
command: node
|
|
25
|
+
cpu: 512m
|
|
26
|
+
env:
|
|
27
|
+
- name: LOG_LEVEL
|
|
28
|
+
value: debug
|
|
29
|
+
inheritEnv: true
|
|
30
|
+
image: '/org/APP_ORG/image/APP_IMAGE'
|
|
31
|
+
# TODO add liveness probe
|
|
32
|
+
memory: 1Gi
|
|
33
|
+
ports:
|
|
34
|
+
- number: 3800
|
|
35
|
+
protocol: http
|
|
36
|
+
defaultOptions:
|
|
37
|
+
# Start out like this for "test apps"
|
|
38
|
+
autoscaling:
|
|
39
|
+
# Max of 1 effectively disables autoscaling, so a like a Heroku dyno count of 1
|
|
40
|
+
maxScale: 1
|
|
41
|
+
capacityAI: false
|
|
42
|
+
firewallConfig:
|
|
43
|
+
external:
|
|
44
|
+
# Default to allow public access to Rails server
|
|
45
|
+
inboundAllowCIDR:
|
|
46
|
+
- 0.0.0.0/0
|
|
47
|
+
# Could configure outbound for more security
|
|
48
|
+
outboundAllowCIDR:
|
|
49
|
+
- 0.0.0.0/0
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
kind: workload
|
|
2
|
+
name: redis
|
|
3
|
+
spec:
|
|
4
|
+
type: standard
|
|
5
|
+
containers:
|
|
6
|
+
- name: redis
|
|
7
|
+
image: 'redis:6.2.6'
|
|
8
|
+
ports:
|
|
9
|
+
- number: 6379
|
|
10
|
+
protocol: tcp
|
|
11
|
+
defaultOptions:
|
|
12
|
+
autoscaling:
|
|
13
|
+
maxScale: 1
|
|
14
|
+
capacityAI: false
|
|
15
|
+
# This firewall configuration corresponds to using no password for Redis in the gvc.yml template.
|
|
16
|
+
firewallConfig:
|
|
17
|
+
internal:
|
|
18
|
+
inboundAllowType: same-gvc
|
data/.gitignore
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/.bundle/
|
|
2
|
+
/.yardoc
|
|
3
|
+
/_yardoc/
|
|
4
|
+
/coverage/
|
|
5
|
+
/doc/
|
|
6
|
+
/pkg/
|
|
7
|
+
/spec/reports/
|
|
8
|
+
*.gem
|
|
9
|
+
/vendor/
|
|
10
|
+
tmp
|
|
11
|
+
|
|
12
|
+
**/spec/examples.txt
|
|
13
|
+
/spec/dummy/client/node_modules
|
|
14
|
+
/spec/dummy/app/assets/webpack/
|
|
15
|
+
/spec/dummy/app/assets/builds/
|
|
16
|
+
/spec/dummy/coverage/
|
|
17
|
+
/spec/dummy/public/assets
|
|
18
|
+
/spec/dummy/public/stylesheets
|
|
19
|
+
|
|
20
|
+
# For local development
|
|
21
|
+
Gemfile.local
|
|
22
|
+
post-yarn-install.local
|
|
23
|
+
|
|
24
|
+
# IDEs
|
|
25
|
+
.idea/
|
|
26
|
+
.vscode/
|
|
27
|
+
.pryrc
|
|
28
|
+
|
|
29
|
+
# RVM
|
|
30
|
+
.ruby-version
|
|
31
|
+
.ruby-gemset
|
|
32
|
+
|
|
33
|
+
# NVM
|
|
34
|
+
.nvmrc
|
|
35
|
+
!/spec/dummy/.nvmrc
|
|
36
|
+
# nodenv
|
|
37
|
+
.node-version
|
|
38
|
+
|
|
39
|
+
# Direnv
|
|
40
|
+
.envrc
|
|
41
|
+
|
|
42
|
+
# TypeScript
|
|
43
|
+
dist/
|
|
44
|
+
*.tsbuildinfo
|
|
45
|
+
|
|
46
|
+
# Jest
|
|
47
|
+
junit.xml
|
|
48
|
+
|
|
49
|
+
node_modules
|
|
50
|
+
|
|
51
|
+
/packages/node-renderer/tests/tmp
|
|
52
|
+
|
|
53
|
+
yarn-debug.*
|
|
54
|
+
spec/dummy/client/yarn-debug.log*
|
|
55
|
+
npm-debug.*
|
|
56
|
+
spec/dummy/client/npm-debug.log*
|
|
57
|
+
spec/dummy/ssr-generated/
|
|
58
|
+
|
|
59
|
+
/gen-examples
|
|
60
|
+
|
|
61
|
+
.DS_Store
|
|
62
|
+
|
|
63
|
+
/gen-documentation
|
|
64
|
+
|
|
65
|
+
.yalc
|
|
66
|
+
yalc.lock
|
|
67
|
+
|
|
68
|
+
**/.node-renderer-bundles/**
|
|
69
|
+
**/db/*.sqlite3*
|
|
70
|
+
**/log/*.log
|
|
71
|
+
**/public/webpack/**
|
|
72
|
+
|
|
73
|
+
# File Generated by ROR FS-based Registry
|
|
74
|
+
**/generated
|
|
75
|
+
|
|
76
|
+
# React on Rails Pro License Key
|
|
77
|
+
config/react_on_rails_pro_license.key
|
data/.prettierignore
ADDED
data/.prettierrc
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
printWidth: 110
|
|
2
|
+
tabWidth: 2
|
|
3
|
+
useTabs: false
|
|
4
|
+
semi: true
|
|
5
|
+
singleQuote: true
|
|
6
|
+
trailingComma: all
|
|
7
|
+
bracketSpacing: true
|
|
8
|
+
bracketSameLine: false
|
|
9
|
+
|
|
10
|
+
overrides:
|
|
11
|
+
- files: "*.@(css|scss)"
|
|
12
|
+
options:
|
|
13
|
+
parser: css
|
|
14
|
+
singleQuote: false
|
|
15
|
+
printWidth: 120
|
|
16
|
+
- files: "*.@(json)"
|
|
17
|
+
options:
|
|
18
|
+
parser: json
|
|
19
|
+
printWidth: 100
|
data/.rspec
ADDED
data/.rubocop.yml
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# This is the configuration used to check the rubocop source code.
|
|
2
|
+
# Check out: https://github.com/bbatsov/rubocop
|
|
3
|
+
require:
|
|
4
|
+
- rubocop-performance
|
|
5
|
+
- rubocop-rspec
|
|
6
|
+
|
|
7
|
+
AllCops:
|
|
8
|
+
NewCops: enable
|
|
9
|
+
DisplayCopNames: true
|
|
10
|
+
TargetRubyVersion: 3.0
|
|
11
|
+
|
|
12
|
+
Include:
|
|
13
|
+
- '**/Rakefile'
|
|
14
|
+
- '**/config.ru'
|
|
15
|
+
- 'Gemfile'
|
|
16
|
+
- '**/*.rb'
|
|
17
|
+
- '**/*.rake'
|
|
18
|
+
|
|
19
|
+
Exclude:
|
|
20
|
+
<% `git status --ignored --porcelain`.lines.grep(/^!! /).each do |path| %>
|
|
21
|
+
- <%= path.sub(/^!! /, '') %>
|
|
22
|
+
<% end %>
|
|
23
|
+
- '**/node_modules/**/*'
|
|
24
|
+
- 'db/schema.rb'
|
|
25
|
+
- 'db/seeds.rb'
|
|
26
|
+
- 'spec/fixtures/**/*'
|
|
27
|
+
- 'spec/dummy/db/schema.rb'
|
|
28
|
+
- 'spec/dummy/bin/**/*'
|
|
29
|
+
- 'node_modules/**/*'
|
|
30
|
+
- 'coverage/**/*'
|
|
31
|
+
- 'bin/**/*'
|
|
32
|
+
- 'vendor/**/*'
|
|
33
|
+
|
|
34
|
+
Naming/FileName:
|
|
35
|
+
Exclude:
|
|
36
|
+
- '**/Gemfile'
|
|
37
|
+
- '**/Rakefile'
|
|
38
|
+
|
|
39
|
+
Layout/LineLength:
|
|
40
|
+
Max: 120
|
|
41
|
+
|
|
42
|
+
Style/StringLiterals:
|
|
43
|
+
EnforcedStyle: double_quotes
|
|
44
|
+
|
|
45
|
+
Style/Documentation:
|
|
46
|
+
Enabled: false
|
|
47
|
+
|
|
48
|
+
Style/HashEachMethods:
|
|
49
|
+
Enabled: true
|
|
50
|
+
|
|
51
|
+
Style/HashTransformKeys:
|
|
52
|
+
Enabled: true
|
|
53
|
+
|
|
54
|
+
Style/HashTransformValues:
|
|
55
|
+
Enabled: true
|
|
56
|
+
|
|
57
|
+
Metrics/AbcSize:
|
|
58
|
+
Max: 28
|
|
59
|
+
|
|
60
|
+
Metrics/CyclomaticComplexity:
|
|
61
|
+
Max: 8
|
|
62
|
+
|
|
63
|
+
Metrics/PerceivedComplexity:
|
|
64
|
+
Max: 10
|
|
65
|
+
|
|
66
|
+
Metrics/ClassLength:
|
|
67
|
+
Max: 140
|
|
68
|
+
|
|
69
|
+
Metrics/ParameterLists:
|
|
70
|
+
Max: 5
|
|
71
|
+
CountKeywordArgs: false
|
|
72
|
+
|
|
73
|
+
Metrics/MethodLength:
|
|
74
|
+
Max: 41
|
|
75
|
+
|
|
76
|
+
Metrics/ModuleLength:
|
|
77
|
+
Max: 180
|
|
78
|
+
|
|
79
|
+
RSpec/DescribeClass:
|
|
80
|
+
Enabled: false
|
|
81
|
+
|
|
82
|
+
RSpec/ExampleLength:
|
|
83
|
+
Enabled: false
|
|
84
|
+
|
|
85
|
+
RSpec/MessageSpies:
|
|
86
|
+
Enabled: false
|
|
87
|
+
|
|
88
|
+
RSpec/NestedGroups:
|
|
89
|
+
Max: 5
|
|
90
|
+
|
|
91
|
+
RSpec/BeforeAfterAll:
|
|
92
|
+
Exclude:
|
|
93
|
+
- 'spec/react_on_rails/generators/dev_tests_generator_spec.rb'
|
|
94
|
+
- 'spec/react_on_rails/generators/install_generator_spec.rb'
|
|
95
|
+
|
|
96
|
+
RSpec/MessageChain:
|
|
97
|
+
Enabled: false
|
|
98
|
+
|
|
99
|
+
RSpec/MultipleExpectations:
|
|
100
|
+
Enabled: false
|
|
101
|
+
|
|
102
|
+
RSpec/MultipleDescribes:
|
|
103
|
+
Exclude:
|
|
104
|
+
- 'spec/dummy/spec/system/integration_spec.rb'
|
|
105
|
+
|
|
106
|
+
RSpec/MultipleMemoizedHelpers:
|
|
107
|
+
Max: 12
|
|
108
|
+
|
|
109
|
+
RSpec:
|
|
110
|
+
Language:
|
|
111
|
+
Expectations:
|
|
112
|
+
- change_text_expect_dom_selector
|
|
113
|
+
- check_match
|
|
114
|
+
|
|
115
|
+
Style/GlobalVars:
|
|
116
|
+
Exclude:
|
|
117
|
+
- 'spec/dummy/config/environments/development.rb'
|
|
118
|
+
|
|
119
|
+
Style/FrozenStringLiteralComment:
|
|
120
|
+
EnforcedStyle: always
|
data/.scss-lint.yml
ADDED
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
# See http://sass-guidelin.es/#zeros
|
|
2
|
+
|
|
3
|
+
scss_files:
|
|
4
|
+
- 'spec/dummy/app/assets/stylesheets/**/*.scss'
|
|
5
|
+
exclude:
|
|
6
|
+
- 'spec/dummy/app/assets/stylesheets/application.css'
|
|
7
|
+
linters:
|
|
8
|
+
# BangFormat:
|
|
9
|
+
# enabled: true
|
|
10
|
+
# space_before_bang: true
|
|
11
|
+
# space_after_bang: false
|
|
12
|
+
#
|
|
13
|
+
# BorderZero:
|
|
14
|
+
# enabled: true
|
|
15
|
+
# convention: zero # or `none`
|
|
16
|
+
#
|
|
17
|
+
ColorKeyword:
|
|
18
|
+
enabled: false
|
|
19
|
+
ColorVariable:
|
|
20
|
+
enabled: false
|
|
21
|
+
#
|
|
22
|
+
# Comment:
|
|
23
|
+
# enabled: true
|
|
24
|
+
#
|
|
25
|
+
# DebugStatement:
|
|
26
|
+
# enabled: true
|
|
27
|
+
#
|
|
28
|
+
# DeclarationOrder:
|
|
29
|
+
# enabled: true
|
|
30
|
+
#
|
|
31
|
+
# DuplicateProperty:
|
|
32
|
+
# enabled: true
|
|
33
|
+
#
|
|
34
|
+
# ElsePlacement:
|
|
35
|
+
# enabled: true
|
|
36
|
+
# style: same_line # or 'new_line'
|
|
37
|
+
#
|
|
38
|
+
# EmptyLineBetweenBlocks:
|
|
39
|
+
# enabled: true
|
|
40
|
+
# ignore_single_line_blocks: true
|
|
41
|
+
#
|
|
42
|
+
# EmptyRule:
|
|
43
|
+
# enabled: true
|
|
44
|
+
#
|
|
45
|
+
# FinalNewline:
|
|
46
|
+
# enabled: true
|
|
47
|
+
# present: true
|
|
48
|
+
#
|
|
49
|
+
HexLength:
|
|
50
|
+
enabled: true
|
|
51
|
+
style: long
|
|
52
|
+
|
|
53
|
+
HexNotation:
|
|
54
|
+
enabled: true
|
|
55
|
+
style: uppercase
|
|
56
|
+
#
|
|
57
|
+
# HexValidation:
|
|
58
|
+
# enabled: true
|
|
59
|
+
#
|
|
60
|
+
IdSelector:
|
|
61
|
+
enabled: true
|
|
62
|
+
#
|
|
63
|
+
# ImportantRule:
|
|
64
|
+
# enabled: true
|
|
65
|
+
#
|
|
66
|
+
# ImportPath:
|
|
67
|
+
# enabled: true
|
|
68
|
+
# leading_underscore: false
|
|
69
|
+
# filename_extension: false
|
|
70
|
+
#
|
|
71
|
+
# Indentation:
|
|
72
|
+
# enabled: true
|
|
73
|
+
# allow_non_nested_indentation: false
|
|
74
|
+
# character: space # or 'tab'
|
|
75
|
+
# width: 2
|
|
76
|
+
#
|
|
77
|
+
LeadingZero:
|
|
78
|
+
enabled: true
|
|
79
|
+
style: include_zero
|
|
80
|
+
#
|
|
81
|
+
# MergeableSelector:
|
|
82
|
+
# enabled: true
|
|
83
|
+
# force_nesting: true
|
|
84
|
+
#
|
|
85
|
+
# NameFormat:
|
|
86
|
+
# enabled: true
|
|
87
|
+
# allow_leading_underscore: true
|
|
88
|
+
# convention: hyphenated_lowercase # or 'camel_case', or 'snake_case', or a regex pattern
|
|
89
|
+
#
|
|
90
|
+
# NestingDepth:
|
|
91
|
+
# enabled: true
|
|
92
|
+
# max_depth: 3
|
|
93
|
+
#
|
|
94
|
+
# PlaceholderInExtend:
|
|
95
|
+
# enabled: true
|
|
96
|
+
#
|
|
97
|
+
# PropertyCount:
|
|
98
|
+
# enabled: false
|
|
99
|
+
# include_nested: false
|
|
100
|
+
# max_properties: 10
|
|
101
|
+
#
|
|
102
|
+
# PropertyUnits:
|
|
103
|
+
# enabled: true
|
|
104
|
+
# global: [
|
|
105
|
+
# 'ch', 'em', 'ex', 'rem', # Font-relative lengths
|
|
106
|
+
# 'cm', 'in', 'mm', 'pc', 'pt', 'px', 'q', # Absolute lengths
|
|
107
|
+
# 'vh', 'vw', 'vmin', 'vmax', # Viewport-percentage lengths
|
|
108
|
+
# 'deg', 'grad', 'rad', 'turn', # Angle
|
|
109
|
+
# 'ms', 's', # Duration
|
|
110
|
+
# 'Hz', 'kHz', # Frequency
|
|
111
|
+
# 'dpi', 'dpcm', 'dppx', # Resolution
|
|
112
|
+
# '%', # Other
|
|
113
|
+
# ]
|
|
114
|
+
# properties: {}
|
|
115
|
+
#
|
|
116
|
+
# PropertySortOrder:
|
|
117
|
+
# enabled: true
|
|
118
|
+
# ignore_unspecified: false
|
|
119
|
+
# separate_groups: false
|
|
120
|
+
#
|
|
121
|
+
# PropertySpelling:
|
|
122
|
+
# enabled: true
|
|
123
|
+
# extra_properties: []
|
|
124
|
+
#
|
|
125
|
+
# QualifyingElement:
|
|
126
|
+
# enabled: true
|
|
127
|
+
# allow_element_with_attribute: false
|
|
128
|
+
# allow_element_with_class: false
|
|
129
|
+
# allow_element_with_id: false
|
|
130
|
+
#
|
|
131
|
+
# SelectorDepth:
|
|
132
|
+
# enabled: true
|
|
133
|
+
# max_depth: 3
|
|
134
|
+
#
|
|
135
|
+
# SelectorFormat:
|
|
136
|
+
# enabled: true
|
|
137
|
+
# convention: hyphenated_lowercase # or 'strict_BEM', or 'hyphenated_BEM', or 'snake_case', or 'camel_case', or a regex pattern
|
|
138
|
+
#
|
|
139
|
+
# Shorthand:
|
|
140
|
+
# enabled: true
|
|
141
|
+
# allowed_shorthands: [1, 2, 3]
|
|
142
|
+
#
|
|
143
|
+
# SingleLinePerProperty:
|
|
144
|
+
# enabled: true
|
|
145
|
+
# allow_single_line_rule_sets: true
|
|
146
|
+
#
|
|
147
|
+
# SingleLinePerSelector:
|
|
148
|
+
# enabled: true
|
|
149
|
+
#
|
|
150
|
+
# SpaceAfterComma:
|
|
151
|
+
# enabled: true
|
|
152
|
+
#
|
|
153
|
+
# SpaceAfterPropertyColon:
|
|
154
|
+
# enabled: true
|
|
155
|
+
# style: one_space # or 'no_space', or 'at_least_one_space', or 'aligned'
|
|
156
|
+
#
|
|
157
|
+
# SpaceAfterPropertyName:
|
|
158
|
+
# enabled: true
|
|
159
|
+
#
|
|
160
|
+
# SpaceBeforeBrace:
|
|
161
|
+
# enabled: true
|
|
162
|
+
# style: space # or 'new_line'
|
|
163
|
+
# allow_single_line_padding: false
|
|
164
|
+
#
|
|
165
|
+
# SpaceBetweenParens:
|
|
166
|
+
# enabled: true
|
|
167
|
+
# spaces: 0
|
|
168
|
+
#
|
|
169
|
+
# StringQuotes:
|
|
170
|
+
# enabled: true
|
|
171
|
+
# style: single_quotes # or double_quotes
|
|
172
|
+
#
|
|
173
|
+
# TrailingSemicolon:
|
|
174
|
+
# enabled: true
|
|
175
|
+
#
|
|
176
|
+
# TrailingZero:
|
|
177
|
+
# enabled: false
|
|
178
|
+
#
|
|
179
|
+
# UnnecessaryMantissa:
|
|
180
|
+
# enabled: true
|
|
181
|
+
#
|
|
182
|
+
# UnnecessaryParentReference:
|
|
183
|
+
# enabled: true
|
|
184
|
+
#
|
|
185
|
+
# UrlFormat:
|
|
186
|
+
# enabled: true
|
|
187
|
+
#
|
|
188
|
+
# UrlQuotes:
|
|
189
|
+
# enabled: true
|
|
190
|
+
#
|
|
191
|
+
# VariableForProperty:
|
|
192
|
+
# enabled: false
|
|
193
|
+
# properties: []
|
|
194
|
+
#
|
|
195
|
+
# VendorPrefix:
|
|
196
|
+
# enabled: true
|
|
197
|
+
# identifier_list: base
|
|
198
|
+
# additional_identifiers: []
|
|
199
|
+
# excluded_identifiers: []
|
|
200
|
+
#
|
|
201
|
+
# ZeroUnit:
|
|
202
|
+
# enabled: true
|
|
203
|
+
#
|
|
204
|
+
# Compass::*:
|
|
205
|
+
# enabled: false
|