react_on_rails 2.0.2 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.eslintignore +4 -0
- data/.gitignore +2 -1
- data/.npmignore +2 -0
- data/.rubocop.yml +2 -3
- data/CHANGELOG.md +50 -19
- data/README.md +37 -4
- data/app/helpers/react_on_rails_helper.rb +6 -6
- data/docs/additional_reading/rspec_configuration.md +10 -0
- data/docs/additional_reading/turbolinks.md +39 -0
- data/docs/additional_reading/updating-dependencies.md +33 -0
- data/docs/coding-style/style.md +0 -1
- data/docs/contributing.md +2 -1
- data/docs/doctrine.md +78 -0
- data/docs/recommended-project-structure.md +22 -0
- data/docs/releasing.md +59 -27
- data/lib/generators/react_on_rails/dev_tests_generator.rb +1 -1
- data/lib/generators/react_on_rails/generator_messages.rb +1 -1
- data/lib/generators/react_on_rails/install_generator.rb +1 -11
- data/lib/generators/react_on_rails/templates/base/base/client/package.json.tt +29 -28
- data/lib/generators/react_on_rails/templates/base/base/client/server.js +14 -6
- data/lib/generators/react_on_rails/templates/base/base/client/webpack.client.base.config.js +4 -2
- data/lib/generators/react_on_rails/templates/base/base/client/webpack.client.hot.config.js.tt +2 -2
- data/lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb +2 -0
- data/lib/generators/react_on_rails/templates/dev_tests/spec/simplecov_helper.rb +1 -1
- data/lib/generators/react_on_rails/templates/no_redux/base/client/app/bundles/HelloWorld/startup/HelloWorldAppClient.jsx.tt +3 -5
- data/lib/generators/react_on_rails/templates/no_redux/server_rendering/client/app/bundles/HelloWorld/startup/HelloWorldAppServer.jsx +3 -5
- data/lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/store/helloWorldStore.jsx +4 -3
- data/lib/react_on_rails.rb +11 -0
- data/lib/react_on_rails/configuration.rb +15 -13
- data/lib/react_on_rails/engine.rb +0 -2
- data/lib/react_on_rails/ensure_assets_compiled.rb +31 -0
- data/lib/react_on_rails/git_utils.rb +12 -0
- data/lib/react_on_rails/utils.rb +7 -0
- data/lib/react_on_rails/version.rb +1 -1
- data/lib/react_on_rails/version_checker.rb +0 -3
- data/lib/react_on_rails/version_syntax_converter.rb +3 -5
- data/npm-shrinkwrap.json +4253 -0
- data/package.json +20 -16
- data/rakelib/example_type.rb +5 -6
- data/rakelib/examples.rake +1 -0
- data/rakelib/lint.rake +2 -2
- data/rakelib/release.rake +70 -0
- data/rakelib/run_rspec.rake +17 -8
- data/rakelib/task_helpers.rb +3 -3
- data/react_on_rails.gemspec +2 -2
- data/script/release +1 -1
- metadata +14 -4
@@ -0,0 +1,22 @@
|
|
1
|
+
# Project structure
|
2
|
+
|
3
|
+
While React On Rails does not *enforce* a specific project structure, we do *recommend* a standard organization. The more we follow standards as a community, the easier it will be for all of us to move between various Rails projects that include React On Rails.
|
4
|
+
|
5
|
+
1. `/client`: All client side JavaScript goes under the `/client` directory. Place all the major domains of the client side app under client.
|
6
|
+
1. `/client/app`: All application JavaScript. Note the adherence to the [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript#naming-conventions) where we name the files to correspond to exported Objects (PascalCase) or exported functions (camelCase). We don't use dashes or snake_case for JavaScript files, except for possibly some config files.
|
7
|
+
1. `/client/app/bundles`: Top level of different app domains. Use a name within this directory for you app domains. For example, if you had a domain called `widget-editing`, then you would have: `/client/app/bundles/widget-editing`
|
8
|
+
1. `/client/app/lib`: Common code for bundles
|
9
|
+
1. Within each bundle directory (or the lib directory), such as a domain named "comments"
|
10
|
+
`/client/app/bundle/comments`, use following directory structure:
|
11
|
+
|
12
|
+
* `/actions`: Redux actions.
|
13
|
+
* `/components`: "dumb" components (no connections to Redux or Ajax). These get props and can render themselves and children.
|
14
|
+
* `/constants`: Constants used by Redux actions and reducers.
|
15
|
+
* `/containers`: "smart" components. These components are bound to Redux.
|
16
|
+
* `/reducers`: Reducers for redux.
|
17
|
+
* `/routes`: Routes for React Router.
|
18
|
+
* `/store`: Store, which might be [configured differently for dev vs. production](https://github.com/rackt/redux/tree/master/examples/real-world/store).
|
19
|
+
* `/startup`: Component bindings to stores, with registration of components and stores.
|
20
|
+
* `/schemas`: Schemas for AJAX JSON requests and responses, as used by the [Normalizr](https://github.com/gaearon/normalizr) package.
|
21
|
+
1. `/client/app/assets`: Assets for CSS for client app.
|
22
|
+
1. `/client/app/assets/fonts` and `/client/app/assets/styles`: Globally shared assets for styling. Note, most Sass and image assets will be stored next to the JavaScript files.
|
data/docs/releasing.md
CHANGED
@@ -6,39 +6,71 @@ We're now releasing this as a combined ruby gem plus npm package. We will keep t
|
|
6
6
|
See [Contributing](../contributing.md)
|
7
7
|
|
8
8
|
## Releasing a new gem version
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
gem bump
|
15
|
-
# Or manually update the version number
|
16
|
-
cd spec/dummy
|
17
|
-
# Update the Gemfile.lock of the tests
|
18
|
-
bundle
|
19
|
-
git commit -am "Updated Gemfile.lock"
|
20
|
-
cd ../..
|
21
|
-
gem tag
|
22
|
-
gem release
|
9
|
+
Run `rake -D release` to see instructions on how to release via the rake task.
|
10
|
+
|
11
|
+
|
12
|
+
As of 01-26-2016, this would give you an output like this:
|
13
|
+
|
23
14
|
```
|
15
|
+
rake release[gem_version,dry_run,tools_install]
|
16
|
+
Releases both the gem and node package using the given version.
|
24
17
|
|
18
|
+
IMPORTANT: the gem version must be in valid rubygem format (no dashes).
|
19
|
+
It will be automatically converted to a valid npm semver by the rake task
|
20
|
+
for the node package version. This only makes a difference for pre-release
|
21
|
+
versions such as `3.0.0.beta.1` (npm version would be `3.0.0-beta.1`).
|
25
22
|
|
26
|
-
|
27
|
-
|
23
|
+
This task will also globally install gem-release (ruby gem) and
|
24
|
+
release-it (node package) unless you specify skip installing tools.
|
28
25
|
|
29
|
-
|
26
|
+
2nd argument: Perform a dry run by passing 'true' as a second argument.
|
27
|
+
3rd argument: Skip installing tools by passing 'false' as a third argument (default is true).
|
30
28
|
|
31
|
-
|
29
|
+
Example: `rake release[2.1.0,false,false]`
|
30
|
+
```
|
32
31
|
|
33
|
-
|
32
|
+
Running `rake release[2.1.0]` will create a commit that looks like this:
|
34
33
|
|
35
34
|
```
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
35
|
+
commit d07005cde9784c69e41d73fb9a0ebe8922e556b3
|
36
|
+
Author: Rob Wise <robert.wise@outlook.com>
|
37
|
+
Date: Tue Jan 26 19:49:14 2016 -0500
|
38
|
+
|
39
|
+
Release 2.1.0
|
40
|
+
|
41
|
+
diff --git a/lib/react_on_rails/version.rb b/lib/react_on_rails/version.rb
|
42
|
+
index 3de9606..b71aa7a 100644
|
43
|
+
--- a/lib/react_on_rails/version.rb
|
44
|
+
+++ b/lib/react_on_rails/version.rb
|
45
|
+
@@ -1,3 +1,3 @@
|
46
|
+
module ReactOnRails
|
47
|
+
- VERSION = "2.0.2".freeze
|
48
|
+
+ VERSION = "2.1.0".freeze
|
49
|
+
end
|
50
|
+
diff --git a/package.json b/package.json
|
51
|
+
index aa7b000..af8761e 100644
|
52
|
+
--- a/package.json
|
53
|
+
+++ b/package.json
|
54
|
+
@@ -1,6 +1,6 @@
|
55
|
+
{
|
56
|
+
"name": "react-on-rails",
|
57
|
+
- "version": "2.0.2",
|
58
|
+
+ "version": "2.1.0",
|
59
|
+
"description": "react-on-rails JavaScript for react_on_rails Ruby gem",
|
60
|
+
"main": "node_package/lib/ReactOnRails.js",
|
61
|
+
"directories": {
|
62
|
+
diff --git a/spec/dummy/Gemfile.lock b/spec/dummy/Gemfile.lock
|
63
|
+
index 8ef51df..4489bfe 100644
|
64
|
+
--- a/spec/dummy/Gemfile.lock
|
65
|
+
+++ b/spec/dummy/Gemfile.lock
|
66
|
+
@@ -1,7 +1,7 @@
|
67
|
+
PATH
|
68
|
+
remote: ../..
|
69
|
+
specs:
|
70
|
+
- react_on_rails (2.0.2)
|
71
|
+
+ react_on_rails (2.1.0)
|
72
|
+
connection_pool
|
73
|
+
execjs (~> 2.5)
|
74
|
+
rails (>= 3.2)
|
75
|
+
(END)
|
44
76
|
```
|
@@ -24,7 +24,7 @@ module ReactOnRails
|
|
24
24
|
package_json = File.join(destination_root, "client", "package.json")
|
25
25
|
old_contents = File.read(package_json)
|
26
26
|
new_contents = old_contents.gsub(/"react-on-rails": ".+",/,
|
27
|
-
'"react-on-rails": "
|
27
|
+
'"react-on-rails": "../../../..",')
|
28
28
|
File.open(package_json, "w+") { |f| f.puts new_contents }
|
29
29
|
end
|
30
30
|
|
@@ -59,7 +59,6 @@ module ReactOnRails
|
|
59
59
|
else
|
60
60
|
error = "react_on_rails generator prerequisites not met!"
|
61
61
|
GeneratorMessages.add_error(error)
|
62
|
-
# fail("react_on_rails generator prerequisites not met!")
|
63
62
|
end
|
64
63
|
ensure
|
65
64
|
print_generator_messages
|
@@ -87,7 +86,7 @@ module ReactOnRails
|
|
87
86
|
# js(.coffee) are not checked by this method, but instead produce warning messages
|
88
87
|
# and allow the build to continue
|
89
88
|
def installation_prerequisites_met?
|
90
|
-
!(missing_node? || missing_npm? || uncommitted_changes?)
|
89
|
+
!(missing_node? || missing_npm? || ReactOnRails::GitUtils.uncommitted_changes?(GeneratorMessages))
|
91
90
|
end
|
92
91
|
|
93
92
|
def missing_npm?
|
@@ -105,15 +104,6 @@ module ReactOnRails
|
|
105
104
|
GeneratorMessages.add_error(error)
|
106
105
|
true
|
107
106
|
end
|
108
|
-
|
109
|
-
def uncommitted_changes?
|
110
|
-
return false if ENV["COVERAGE"]
|
111
|
-
status = `git status`
|
112
|
-
return false if status.include?("nothing to commit, working directory clean")
|
113
|
-
error = "You have uncommitted code. Please commit or stash your changes before continuing"
|
114
|
-
GeneratorMessages.add_error(error)
|
115
|
-
true
|
116
|
-
end
|
117
107
|
end
|
118
108
|
end
|
119
109
|
end
|
@@ -38,40 +38,41 @@
|
|
38
38
|
},
|
39
39
|
"dependencies": {
|
40
40
|
"babel": "^6.3.26",
|
41
|
-
"babel-cli": "^6.
|
42
|
-
"babel-core": "^6.
|
43
|
-
"babel-loader": "^6.2.
|
41
|
+
"babel-cli": "^6.4.5",
|
42
|
+
"babel-core": "^6.4.5",
|
43
|
+
"babel-loader": "^6.2.1",
|
44
44
|
"babel-plugin-syntax-decorators": "^6.3.13",
|
45
45
|
"babel-polyfill": "^6.3.14",
|
46
46
|
"babel-preset-es2015": "^6.3.13",
|
47
47
|
"babel-preset-react": "^6.3.13",
|
48
48
|
"babel-preset-stage-0": "^6.3.13",
|
49
|
-
"
|
49
|
+
"babel-types": "^6.4.5",
|
50
|
+
"es5-shim": "^4.5.0",
|
50
51
|
"expose-loader": "^0.7.1",
|
51
52
|
<%- if options.redux? -%>
|
52
|
-
"immutable": "^3.7.
|
53
|
+
"immutable": "^3.7.6",
|
53
54
|
<%- end -%>
|
54
55
|
"imports-loader": "^0.6.5",
|
55
|
-
"jquery": "^2.
|
56
|
+
"jquery": "^2.2.0",
|
56
57
|
"jquery-ujs": "^1.1.0-1",
|
57
|
-
"loader-utils": "^0.2.
|
58
|
-
"lodash": "^
|
58
|
+
"loader-utils": "^0.2.12",
|
59
|
+
"lodash": "^4.0.0",
|
59
60
|
<%- if options.redux? -%>
|
60
|
-
"mirror-creator": "0.0
|
61
|
+
"mirror-creator": "1.0.0",
|
61
62
|
<%- end -%>
|
62
|
-
"react": "^0.14.
|
63
|
+
"react": "^0.14.6",
|
63
64
|
<%- unless options.skip_bootstrap? -%>
|
64
|
-
"react-bootstrap": "^0.28.
|
65
|
+
"react-bootstrap": "^0.28.2",
|
65
66
|
<%- end -%>
|
66
|
-
"react-dom": "^0.14.
|
67
|
+
"react-dom": "^0.14.6",
|
67
68
|
"react-on-rails": "<%= VersionSyntaxConverter.new.rubygem_to_npm %>",
|
68
69
|
<%- if options.redux? -%>
|
69
|
-
"react-redux": "^4.0.
|
70
|
-
"redux": "^3.0.
|
71
|
-
"redux-promise": "^0.5.
|
72
|
-
"redux-thunk": "^1.0.
|
70
|
+
"react-redux": "^4.0.6",
|
71
|
+
"redux": "^3.0.6",
|
72
|
+
"redux-promise": "^0.5.1",
|
73
|
+
"redux-thunk": "^1.0.3",
|
73
74
|
<%- end -%>
|
74
|
-
"webpack": "^1.12.
|
75
|
+
"webpack": "^1.12.12"
|
75
76
|
},
|
76
77
|
"devDependencies": {
|
77
78
|
<%- unless options.skip_js_linters? -%>
|
@@ -79,27 +80,27 @@
|
|
79
80
|
<%- end -%>
|
80
81
|
"babel-plugin-react-transform": "^2.0.0",
|
81
82
|
<%- unless options.skip_bootstrap? -%>
|
82
|
-
"bootstrap-sass": "^3.3.
|
83
|
-
"bootstrap-sass-loader": "^1.0.
|
83
|
+
"bootstrap-sass": "^3.3.6",
|
84
|
+
"bootstrap-sass-loader": "^1.0.10",
|
84
85
|
<%- end -%>
|
85
|
-
"css-loader": "^0.23.
|
86
|
+
"css-loader": "^0.23.1",
|
86
87
|
<%- unless options.skip_js_linters? -%>
|
87
88
|
"eslint": "^1.10.3",
|
88
|
-
"eslint-config-airbnb": "^
|
89
|
-
"eslint-config-shakacode": "^0.0
|
90
|
-
"eslint-plugin-react": "^3.
|
89
|
+
"eslint-config-airbnb": "^4.0.0",
|
90
|
+
"eslint-config-shakacode": "^1.0.0",
|
91
|
+
"eslint-plugin-react": "^3.16.1",
|
91
92
|
<%- end -%>
|
92
|
-
"express": "^4.13.
|
93
|
-
"file-loader": "^0.8.
|
93
|
+
"express": "^4.13.4",
|
94
|
+
"file-loader": "^0.8.5",
|
94
95
|
"jade": "^1.11.0",
|
95
96
|
<%- unless options.skip_js_linters? -%>
|
96
97
|
"jscs": "^2.8.0",
|
97
98
|
<%- end -%>
|
98
99
|
"node-sass": "^3.4.2",
|
99
100
|
"react-transform-hmr": "^1.0.1",
|
100
|
-
"sass-loader": "^3.1.
|
101
|
+
"sass-loader": "^3.1.2",
|
101
102
|
"style-loader": "^0.13.0",
|
102
|
-
"url-loader": "^0.5.
|
103
|
-
"webpack-dev-server": "^1.
|
103
|
+
"url-loader": "^0.5.7",
|
104
|
+
"webpack-dev-server": "^1.14.1"
|
104
105
|
}
|
105
106
|
}
|
@@ -6,7 +6,10 @@ var WebpackDevServer = require('webpack-dev-server');
|
|
6
6
|
var jade = require('jade');
|
7
7
|
var config = require('./webpack.client.hot.config');
|
8
8
|
|
9
|
-
|
9
|
+
const PORT = 4000;
|
10
|
+
const compiler = webpack(config);
|
11
|
+
|
12
|
+
var server = new WebpackDevServer(compiler, {
|
10
13
|
publicPath: config.output.publicPath,
|
11
14
|
hot: true,
|
12
15
|
historyApiFallback: true,
|
@@ -49,16 +52,21 @@ var server = new WebpackDevServer(webpack(config), {
|
|
49
52
|
|
50
53
|
var initialName = 'Stranger';
|
51
54
|
|
52
|
-
server.app.use('/',
|
55
|
+
server.app.use('/', (req, res) => {
|
53
56
|
var locals = {
|
54
57
|
props: JSON.stringify(initialName),
|
55
58
|
};
|
56
|
-
var layout = process.cwd()
|
59
|
+
var layout = `${process.cwd()}/index.jade`;
|
57
60
|
var html = jade.compileFile(layout, { pretty: true })(locals);
|
58
61
|
res.send(html);
|
59
62
|
});
|
60
63
|
|
61
|
-
server.listen(
|
62
|
-
if (err) console.
|
63
|
-
console.log(
|
64
|
+
server.listen(PORT, 'localhost', err => {
|
65
|
+
if (err) console.error(err);
|
66
|
+
console.log(
|
67
|
+
'=> 🔥 Webpack development server is running on port ' + PORT
|
68
|
+
);
|
69
|
+
});
|
70
|
+
compiler.plugin('done', () => {
|
71
|
+
process.stdout.write('Webpack: Done compiling assets!\n');
|
64
72
|
});
|
@@ -18,7 +18,8 @@ module.exports = {
|
|
18
18
|
'jquery',
|
19
19
|
],
|
20
20
|
|
21
|
-
// This will contain the app entry points defined by webpack.hot.config and
|
21
|
+
// This will contain the app entry points defined by webpack.hot.config and
|
22
|
+
// webpack.rails.config
|
22
23
|
app: [
|
23
24
|
'./app/bundles/HelloWorld/startup/clientRegistration',
|
24
25
|
],
|
@@ -55,7 +56,8 @@ module.exports = {
|
|
55
56
|
module: {
|
56
57
|
loaders: [
|
57
58
|
|
58
|
-
// Not all apps require jQuery. Many Rails apps do, such as those using TurboLinks or
|
59
|
+
// Not all apps require jQuery. Many Rails apps do, such as those using TurboLinks or
|
60
|
+
// bootstrap js
|
59
61
|
{ test: require.resolve('jquery'), loader: 'expose?jQuery' },
|
60
62
|
{ test: require.resolve('jquery'), loader: 'expose?$' },
|
61
63
|
],
|
data/lib/generators/react_on_rails/templates/base/base/client/webpack.client.hot.config.js.tt
CHANGED
@@ -54,8 +54,8 @@ config.module.loaders.push(
|
|
54
54
|
{ test: /\.css$/, loader: 'style-loader!css-loader' },
|
55
55
|
{
|
56
56
|
test: /\.scss$/,
|
57
|
-
loader:
|
58
|
-
|
57
|
+
loader: `style!css!sass?outputStyle=expanded&imagePath=/assets/images&includePaths[]=\
|
58
|
+
${path.resolve(__dirname, './assets/stylesheets')}`,
|
59
59
|
},
|
60
60
|
|
61
61
|
// The url-loader uses DataUrls. The file-loader emits files.
|
data/lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb
CHANGED
@@ -23,4 +23,6 @@ ReactOnRails.configure do |config|
|
|
23
23
|
config.prerender = false
|
24
24
|
# Default is true for development, off otherwise
|
25
25
|
config.trace = Rails.env.development?
|
26
|
+
# Default is false, enable if your content security policy doesn't include `style-src: 'unsafe-inline'`
|
27
|
+
config.skip_display_none = false
|
26
28
|
end
|
@@ -10,7 +10,7 @@ if ENV["COVERAGE"]
|
|
10
10
|
SimpleCov.start("rails") do
|
11
11
|
# Consider the entire gem project as the root
|
12
12
|
# (typically this will be the folder named "react_on_rails")
|
13
|
-
gem_root_path = File.expand_path("
|
13
|
+
gem_root_path = File.expand_path("../../../../../.", __FILE__)
|
14
14
|
root gem_root_path
|
15
15
|
|
16
16
|
# Don't report anything that has "spec" in the path
|
@@ -1,8 +1,9 @@
|
|
1
1
|
import { compose, createStore, applyMiddleware, combineReducers } from 'redux';
|
2
2
|
|
3
|
-
// See
|
4
|
-
//
|
5
|
-
//
|
3
|
+
// See
|
4
|
+
// https://github.com/gaearon/redux-thunk and http://redux.js.org/docs/advanced/AsyncActions.html
|
5
|
+
// This is not actually used for this simple example, but you'd probably want to use this
|
6
|
+
// once your app has asynchronous actions.
|
6
7
|
import thunkMiddleware from 'redux-thunk';
|
7
8
|
|
8
9
|
// This provides an example of logging redux actions to the console.
|
data/lib/react_on_rails.rb
CHANGED
@@ -1,6 +1,17 @@
|
|
1
1
|
require "rails"
|
2
2
|
|
3
3
|
require "react_on_rails/version"
|
4
|
+
require "react_on_rails/version_checker"
|
4
5
|
require "react_on_rails/configuration"
|
5
6
|
require "react_on_rails/server_rendering_pool"
|
6
7
|
require "react_on_rails/engine"
|
8
|
+
require "react_on_rails/version_syntax_converter"
|
9
|
+
require "react_on_rails/ensure_assets_compiled"
|
10
|
+
require "react_on_rails/git_utils"
|
11
|
+
require "react_on_rails/utils"
|
12
|
+
|
13
|
+
module ReactOnRails
|
14
|
+
def self.configure_rspec_to_compile_assets(config, metatag = :js)
|
15
|
+
config.before(:example, metatag) { ReactOnRails::EnsureAssetsCompiled.check_built_assets }
|
16
|
+
end
|
17
|
+
end
|
@@ -14,35 +14,37 @@ module ReactOnRails
|
|
14
14
|
trace: Rails.env.development?,
|
15
15
|
development_mode: Rails.env.development?,
|
16
16
|
server_renderer_pool_size: 1,
|
17
|
-
server_renderer_timeout: 20
|
17
|
+
server_renderer_timeout: 20,
|
18
|
+
skip_display_none: false)
|
18
19
|
end
|
19
20
|
|
20
21
|
class Configuration
|
21
22
|
attr_accessor :server_bundle_js_file, :prerender, :replay_console,
|
22
23
|
:trace, :development_mode,
|
23
24
|
:logging_on_server, :server_renderer_pool_size,
|
24
|
-
:server_renderer_timeout, :raise_on_prerender_error
|
25
|
+
:server_renderer_timeout, :raise_on_prerender_error,
|
26
|
+
:skip_display_none
|
25
27
|
|
26
28
|
def initialize(server_bundle_js_file: nil, prerender: nil, replay_console: nil,
|
27
29
|
trace: nil, development_mode: nil,
|
28
30
|
logging_on_server: nil, server_renderer_pool_size: nil,
|
29
|
-
server_renderer_timeout: nil, raise_on_prerender_error: nil
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
end
|
31
|
+
server_renderer_timeout: nil, raise_on_prerender_error: nil,
|
32
|
+
skip_display_none: nil)
|
33
|
+
self.server_bundle_js_file = if File.exist?(server_bundle_js_file)
|
34
|
+
server_bundle_js_file
|
35
|
+
end
|
35
36
|
|
36
37
|
self.prerender = prerender
|
37
38
|
self.replay_console = replay_console
|
38
39
|
self.logging_on_server = logging_on_server
|
39
|
-
if development_mode.nil?
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
40
|
+
self.development_mode = if development_mode.nil?
|
41
|
+
Rails.env.development?
|
42
|
+
else
|
43
|
+
development_mode
|
44
|
+
end
|
44
45
|
self.trace = trace.nil? ? Rails.env.development? : trace
|
45
46
|
self.raise_on_prerender_error = raise_on_prerender_error
|
47
|
+
self.skip_display_none = skip_display_none
|
46
48
|
|
47
49
|
# Server rendering:
|
48
50
|
self.server_renderer_pool_size = self.development_mode ? 1 : server_renderer_pool_size
|