react_on_rails 2.0.0.beta.1 → 2.0.0.beta.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.coveralls.yml +1 -0
- data/.dockerignore +2 -0
- data/.eslintignore +7 -0
- data/.eslintrc +19 -0
- data/.gitignore +28 -0
- data/.jscsrc +27 -0
- data/.npmignore +20 -0
- data/.rspec +2 -0
- data/.rubocop.yml +70 -0
- data/.scss-lint.yml +205 -0
- data/.travis.yml +43 -0
- data/CHANGELOG.md +34 -0
- data/Dockerfile_tests +12 -0
- data/Gemfile +40 -0
- data/README.md +365 -0
- data/Rakefile +5 -0
- data/app/helpers/react_on_rails_helper.rb +215 -0
- data/docker-compose.yml +11 -0
- data/docs/LICENSE +21 -0
- data/docs/additional_reading/heroku_deployment.md +23 -0
- data/docs/additional_reading/manual_installation.md +118 -0
- data/docs/additional_reading/node_dependencies_and_npm.md +29 -0
- data/docs/additional_reading/optional_configuration.md +33 -0
- data/docs/additional_reading/react-and-redux.md +36 -0
- data/docs/additional_reading/react_router.md +45 -0
- data/docs/additional_reading/server_rendering_tips.md +11 -0
- data/docs/additional_reading/tips.md +10 -0
- data/docs/additional_reading/webpack.md +46 -0
- data/docs/code_of_conduct.md +13 -0
- data/docs/coding-style/linters.md +64 -0
- data/docs/coding-style/style.md +42 -0
- data/docs/contributing.md +157 -0
- data/docs/generator_testing.md +20 -0
- data/docs/releasing.md +29 -0
- data/lib/generators/USAGE +99 -0
- data/lib/generators/react_on_rails/base_generator.rb +191 -0
- data/lib/generators/react_on_rails/bootstrap_generator.rb +89 -0
- data/lib/generators/react_on_rails/dev_tests_generator.rb +39 -0
- data/lib/generators/react_on_rails/generator_helper.rb +50 -0
- data/lib/generators/react_on_rails/heroku_deployment_generator.rb +30 -0
- data/lib/generators/react_on_rails/install_generator.rb +99 -0
- data/lib/generators/react_on_rails/js_linters_generator.rb +19 -0
- data/lib/generators/react_on_rails/react_no_redux_generator.rb +40 -0
- data/lib/generators/react_on_rails/react_with_redux_generator.rb +51 -0
- data/lib/generators/react_on_rails/ruby_linters_generator.rb +33 -0
- data/lib/generators/react_on_rails/templates/base/base/Procfile.dev.tt +4 -0
- data/lib/generators/react_on_rails/templates/base/base/REACT_ON_RAILS.md +16 -0
- data/lib/generators/react_on_rails/templates/base/base/app/controllers/hello_world_controller.rb +5 -0
- data/lib/generators/react_on_rails/templates/base/base/app/views/hello_world/index.html.erb.tt +4 -0
- data/lib/generators/react_on_rails/templates/base/base/client/.babelrc +3 -0
- data/lib/generators/react_on_rails/templates/base/base/client/REACT_ON_RAILS_CLIENT_README.md +3 -0
- data/lib/generators/react_on_rails/templates/base/base/client/app/bundles/HelloWorld/startup/clientRegistration.jsx.tt +5 -0
- data/lib/generators/react_on_rails/templates/base/base/client/index.jade +15 -0
- data/lib/generators/react_on_rails/templates/base/base/client/package.json.tt +104 -0
- data/lib/generators/react_on_rails/templates/base/base/client/server.js +64 -0
- data/lib/generators/react_on_rails/templates/base/base/client/webpack.client.base.config.js.tt +62 -0
- data/lib/generators/react_on_rails/templates/base/base/client/webpack.client.hot.config.js.tt +69 -0
- data/lib/generators/react_on_rails/templates/base/base/client/webpack.client.rails.config.js +42 -0
- data/lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb +26 -0
- data/lib/generators/react_on_rails/templates/base/base/lib/tasks/assets.rake.tt +26 -0
- data/lib/generators/react_on_rails/templates/base/base/lib/tasks/linters.rake.tt +88 -0
- data/lib/generators/react_on_rails/templates/base/base/package.json +31 -0
- data/lib/generators/react_on_rails/templates/base/server_rendering/client/app/bundles/HelloWorld/startup/serverRegistration.jsx +4 -0
- data/lib/generators/react_on_rails/templates/base/server_rendering/client/webpack.server.rails.config.js +39 -0
- data/lib/generators/react_on_rails/templates/bootstrap/app/assets/stylesheets/_bootstrap-custom.scss +63 -0
- data/lib/generators/react_on_rails/templates/bootstrap/client/assets/stylesheets/_post-bootstrap.scss +10 -0
- data/lib/generators/react_on_rails/templates/bootstrap/client/assets/stylesheets/_pre-bootstrap.scss +8 -0
- data/lib/generators/react_on_rails/templates/bootstrap/client/assets/stylesheets/_react-on-rails-sass-helper.scss +19 -0
- data/lib/generators/react_on_rails/templates/bootstrap/client/bootstrap-sass.config.js +89 -0
- data/lib/generators/react_on_rails/templates/dev_tests/.rspec +2 -0
- data/lib/generators/react_on_rails/templates/dev_tests/spec/features/hello_world_spec.rb +25 -0
- data/lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb +57 -0
- data/lib/generators/react_on_rails/templates/dev_tests/spec/simplecov_helper.rb +21 -0
- data/lib/generators/react_on_rails/templates/dev_tests/spec/spec_helper.rb +95 -0
- data/lib/generators/react_on_rails/templates/heroku_deployment/.buildpacks +2 -0
- data/lib/generators/react_on_rails/templates/heroku_deployment/Procfile +1 -0
- data/lib/generators/react_on_rails/templates/heroku_deployment/config/puma.rb +15 -0
- data/lib/generators/react_on_rails/templates/js_linters/client/.eslintignore +1 -0
- data/lib/generators/react_on_rails/templates/js_linters/client/.eslintrc +48 -0
- data/lib/generators/react_on_rails/templates/js_linters/client/.jscsrc +18 -0
- data/lib/generators/react_on_rails/templates/no_redux/base/client/app/bundles/HelloWorld/components/HelloWorldWidget.jsx +39 -0
- data/lib/generators/react_on_rails/templates/no_redux/base/client/app/bundles/HelloWorld/containers/HelloWorld.jsx +33 -0
- data/lib/generators/react_on_rails/templates/no_redux/base/client/app/bundles/HelloWorld/startup/HelloWorldAppClient.jsx.tt +8 -0
- data/lib/generators/react_on_rails/templates/no_redux/server_rendering/client/app/bundles/HelloWorld/startup/HelloWorldAppServer.jsx +8 -0
- data/lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/actions/helloWorldActionCreators.jsx +8 -0
- data/lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/components/HelloWorldWidget.jsx +48 -0
- data/lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/constants/helloWorldConstants.jsx +8 -0
- data/lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/containers/HelloWorld.jsx +43 -0
- data/lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/reducers/helloWorldReducer.jsx +19 -0
- data/lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/reducers/index.jsx +14 -0
- data/lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/startup/HelloWorldAppClient.jsx.tt +19 -0
- data/lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/store/helloWorldStore.jsx +35 -0
- data/lib/generators/react_on_rails/templates/redux/base/client/app/lib/middlewares/loggerMiddleware.js +20 -0
- data/lib/generators/react_on_rails/templates/redux/server_rendering/client/app/bundles/HelloWorld/startup/HelloWorldAppServer.jsx +19 -0
- data/lib/generators/react_on_rails/templates/ruby_linters/.rubocop.yml +26 -0
- data/lib/generators/react_on_rails/templates/ruby_linters/.scss-lint.yml +205 -0
- data/lib/generators/react_on_rails/templates/ruby_linters/lib/tasks/brakeman.rake +17 -0
- data/lib/generators/react_on_rails/templates/ruby_linters/lib/tasks/ci.rake +33 -0
- data/lib/generators/react_on_rails/templates/ruby_linters/ruby-lint.yml +20 -0
- data/lib/react_on_rails.rb +6 -0
- data/lib/react_on_rails/configuration.rb +60 -0
- data/lib/react_on_rails/engine.rb +7 -0
- data/lib/react_on_rails/prerender_error.rb +31 -0
- data/lib/react_on_rails/server_rendering_pool.rb +110 -0
- data/lib/react_on_rails/version.rb +3 -0
- data/package.json +76 -0
- data/rakelib/docker.rake +33 -0
- data/rakelib/dummy_apps.rake +20 -0
- data/rakelib/example_type.rb +160 -0
- data/rakelib/examples.rake +103 -0
- data/rakelib/examples_config.yml +19 -0
- data/rakelib/lint.rake +37 -0
- data/rakelib/node_package.rake +11 -0
- data/rakelib/run_rspec.rake +65 -0
- data/rakelib/task_helpers.rb +44 -0
- data/react_on_rails.gemspec +31 -0
- data/ruby-lint.yml +24 -0
- metadata +119 -2
@@ -0,0 +1,103 @@
|
|
1
|
+
# Defines tasks related to generating example apps using the gem's generator.
|
2
|
+
# Allows us to create and test apps generated using a wide range of options.
|
3
|
+
#
|
4
|
+
# Also see example_type.rb
|
5
|
+
|
6
|
+
require "yaml"
|
7
|
+
require_relative "example_type"
|
8
|
+
require_relative "task_helpers"
|
9
|
+
include ReactOnRails::TaskHelpers
|
10
|
+
|
11
|
+
namespace :examples do
|
12
|
+
# Loads data from examples_config.yml and instantiates corresponding ExampleType objects
|
13
|
+
examples_config_file = File.expand_path("../examples_config.yml", __FILE__)
|
14
|
+
examples_config = symbolize_keys(YAML.load(File.read(examples_config_file)))
|
15
|
+
examples_config[:example_type_data].each { |example_type_data| ExampleType.new(symbolize_keys(example_type_data)) }
|
16
|
+
|
17
|
+
# Define tasks for each example type
|
18
|
+
ExampleType.all.each do |example_type|
|
19
|
+
# GENERATED FILES
|
20
|
+
example_type.generated_files.each do |f|
|
21
|
+
file f => example_type.source_files do
|
22
|
+
Rake::Task[example_type.gen_task_name].invoke
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
# GEMFILE.LOCK
|
27
|
+
file example_type.gemfile_lock => example_type.gemfile do
|
28
|
+
bundle_install_in(example_type.dir)
|
29
|
+
end
|
30
|
+
|
31
|
+
# WEBPACK BUNDLES
|
32
|
+
example_type.webpack_bundles.each do |f|
|
33
|
+
file f => example_type.generated_client_files do
|
34
|
+
Rake::Task[example_type.build_webpack_bundles_task_name].invoke
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
# BUILD WEBPACK BUNDLES
|
39
|
+
task example_type.build_webpack_bundles_task_name_short => example_type.npm_install_task_name do
|
40
|
+
sh_in_dir(example_type.client_dir, example_type.build_webpack_bundles_shell_commands)
|
41
|
+
end
|
42
|
+
|
43
|
+
# NPM INSTALL
|
44
|
+
task example_type.npm_install_task_name_short => example_type.package_json do
|
45
|
+
unless uptodate?(example_type.node_modules_dir, [example_type.source_package_json])
|
46
|
+
sh_in_dir(example_type.client_dir, "npm install")
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
# CLEAN
|
51
|
+
desc "Cleans #{example_type.name_pretty}"
|
52
|
+
task example_type.clean_task_name_short do
|
53
|
+
example_type.clean_files.each { |f| rm_rf(f) }
|
54
|
+
end
|
55
|
+
|
56
|
+
# CLOBBER
|
57
|
+
desc "Clobbers (deletes) #{example_type.name_pretty}"
|
58
|
+
task example_type.clobber_task_name_short do
|
59
|
+
rm_rf(example_type.dir)
|
60
|
+
end
|
61
|
+
|
62
|
+
# GENERATE
|
63
|
+
desc "Generates #{example_type.name_pretty}"
|
64
|
+
task example_type.gen_task_name_short => example_type.clean_task_name do
|
65
|
+
mkdir_p(example_type.dir)
|
66
|
+
sh_in_dir(examples_dir, "rails new #{example_type.name} #{example_type.rails_options}")
|
67
|
+
append_to_gemfile(example_type.gemfile, example_type.required_gems)
|
68
|
+
bundle_install_in(example_type.dir)
|
69
|
+
sh_in_dir(example_type.dir, example_type.generator_shell_commands)
|
70
|
+
end
|
71
|
+
|
72
|
+
# PREPARE
|
73
|
+
desc "Prepares #{example_type.name_pretty} (generates example, `npm install`s, and generates webpack bundles)"
|
74
|
+
multitask example_type.prepare_task_name_short => example_type.prepared_files
|
75
|
+
end
|
76
|
+
|
77
|
+
desc "Cleans all example apps"
|
78
|
+
multitask clean: ExampleType.all.map(&:clean_task_name)
|
79
|
+
|
80
|
+
desc "Clobbers (deletes) all example apps"
|
81
|
+
task :clobber do
|
82
|
+
rm_rf(examples_dir)
|
83
|
+
end
|
84
|
+
|
85
|
+
desc "Generates all example apps"
|
86
|
+
multitask gen_all: ExampleType.all.map(&:gen_task_name)
|
87
|
+
|
88
|
+
desc "Prepares all example apps"
|
89
|
+
multitask prepare_all: ExampleType.all.map(&:prepare_task_name)
|
90
|
+
end
|
91
|
+
|
92
|
+
desc "Prepares all example apps. Run `rake -D examples` to see all available options"
|
93
|
+
multitask examples: ["examples:prepare_all"]
|
94
|
+
|
95
|
+
private
|
96
|
+
|
97
|
+
# Appends each string in an array as a new line of text in the given Gemfile.
|
98
|
+
# Automatically adds line returns.
|
99
|
+
def append_to_gemfile(gemfile, lines)
|
100
|
+
old_text = File.read(gemfile)
|
101
|
+
new_text = lines.reduce(old_text) { |a, e| a << "#{e}\n" }
|
102
|
+
File.open(gemfile, "w") { |f| f.puts(new_text) }
|
103
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
example_type_data:
|
2
|
+
-
|
3
|
+
name: basic
|
4
|
+
generator_options: ""
|
5
|
+
-
|
6
|
+
name: basic-server-rendering
|
7
|
+
generator_options: --server-rendering
|
8
|
+
-
|
9
|
+
name: redux
|
10
|
+
generator_options: --redux --server-rendering
|
11
|
+
-
|
12
|
+
name: redux-server-rendering
|
13
|
+
generator_options: --redux --server-rendering
|
14
|
+
-
|
15
|
+
name: heroku-deployment
|
16
|
+
generator_options: --heroku-deployment
|
17
|
+
-
|
18
|
+
name: skip-bootstrap
|
19
|
+
generator_options: --skip-bootstrap
|
data/rakelib/lint.rake
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
require_relative "task_helpers"
|
2
|
+
include ReactOnRails::TaskHelpers
|
3
|
+
|
4
|
+
namespace :lint do
|
5
|
+
desc "Run Rubocop as shell"
|
6
|
+
task :rubocop do
|
7
|
+
sh_in_dir(gem_root, "rubocop .")
|
8
|
+
end
|
9
|
+
|
10
|
+
desc "Run ruby-lint as shell"
|
11
|
+
task :ruby do
|
12
|
+
sh_in_dir(gem_root, "ruby-lint app spec lib")
|
13
|
+
end
|
14
|
+
|
15
|
+
desc "Run scss-lint as shell"
|
16
|
+
task :scss do
|
17
|
+
sh_in_dir(gem_root, "scss-lint spec/dummy/app/assets/stylesheets/")
|
18
|
+
end
|
19
|
+
|
20
|
+
desc "Run eslint as shell"
|
21
|
+
task :eslint do
|
22
|
+
sh_in_dir(gem_root, "eslint . --ext .jsx and .js")
|
23
|
+
end
|
24
|
+
|
25
|
+
desc "Run jscs from shell"
|
26
|
+
task :jscs do
|
27
|
+
sh_in_dir(gem_root, "jscs -e -v .")
|
28
|
+
end
|
29
|
+
|
30
|
+
desc "Run all eslint, jscs, rubocop linters. Skip ruby-lint and scss"
|
31
|
+
task lint: [:eslint, :jscs, :rubocop] do
|
32
|
+
puts "Completed all linting"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
desc "Runs all linters. Run `rake -D lint` to see all available lint options"
|
37
|
+
task lint: ["lint:lint"]
|
@@ -0,0 +1,65 @@
|
|
1
|
+
require "coveralls/rake/task"
|
2
|
+
require "pathname"
|
3
|
+
|
4
|
+
require_relative "task_helpers"
|
5
|
+
require_relative "example_type"
|
6
|
+
|
7
|
+
include ReactOnRails::TaskHelpers
|
8
|
+
|
9
|
+
namespace :run_rspec do
|
10
|
+
desc "Run RSpec for top level only"
|
11
|
+
task :gem do
|
12
|
+
run_tests_in("", rspec_args: "spec/react_on_rails")
|
13
|
+
end
|
14
|
+
|
15
|
+
task dummy: ["dummy_apps:dummy_app"] do
|
16
|
+
run_tests_in("spec/dummy", env_vars: "DRIVER=selenium_firefox")
|
17
|
+
end
|
18
|
+
|
19
|
+
# Dynamically define Rake tasks for each example app found in the examples directory
|
20
|
+
ExampleType.all.each do |example_type|
|
21
|
+
desc "Runs RSpec for #{example_type.name_pretty} only"
|
22
|
+
task example_type.rspec_task_name_short => example_type.prepare_task_name do
|
23
|
+
run_tests_in("#{File.basename(examples_dir)}/#{example_type.name}") # have to use relative path
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
desc "Runs Rspec for example apps only"
|
28
|
+
task examples: "examples:prepare_all" do
|
29
|
+
ExampleType.all.each { |example_type| Rake::Task[example_type.rspec_task_name].invoke }
|
30
|
+
end
|
31
|
+
|
32
|
+
desc "(HACK) Run RSpec on spec/empty_spec in order to have SimpleCov generate a coverage report from cache"
|
33
|
+
task :empty do
|
34
|
+
sh %(COVERAGE=true rspec spec/empty_spec.rb)
|
35
|
+
end
|
36
|
+
|
37
|
+
Coveralls::RakeTask.new
|
38
|
+
|
39
|
+
desc "run all tests"
|
40
|
+
task run_rspec: [:gem, :dummy, :examples, :empty, :js_tests, "coveralls:push"] do
|
41
|
+
puts "Completed all RSpec tests"
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
desc "js tests (same as 'npm run test')"
|
46
|
+
task :js_tests do
|
47
|
+
sh "npm run test"
|
48
|
+
end
|
49
|
+
|
50
|
+
desc "Runs all tests. Run `rake -D run_rspec` to see all available test options"
|
51
|
+
task run_rspec: ["run_rspec:run_rspec"]
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
# Runs rspec in the given directory (if string is passed, assumed to be relative
|
56
|
+
# to root of the gem.
|
57
|
+
# TEST_ENV_COMMAND_NAME is used to make SimpleCov.command_name unique in order to
|
58
|
+
# prevent a name collision. Defaults to the given directory's name.
|
59
|
+
def run_tests_in(dir, options = {})
|
60
|
+
dir = Pathname.new(File.join(gem_root, dir)) if dir.is_a?(String)
|
61
|
+
command_name = options.fetch(:command_name, dir.basename)
|
62
|
+
rspec_args = options.fetch(:rspec_args, "")
|
63
|
+
env_vars = %(#{options.fetch(env_vars, '')} COVERAGE=true TEST_ENV_COMMAND_NAME="#{command_name}")
|
64
|
+
sh_in_dir(dir, "#{env_vars} bundle exec rspec #{rspec_args}")
|
65
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module ReactOnRails
|
2
|
+
module TaskHelpers
|
3
|
+
# Returns the root folder of the react_on_rails gem
|
4
|
+
def gem_root
|
5
|
+
File.expand_path("../../.", __FILE__)
|
6
|
+
end
|
7
|
+
|
8
|
+
# Returns the folder where examples are located
|
9
|
+
def examples_dir
|
10
|
+
File.join(gem_root, "examples")
|
11
|
+
end
|
12
|
+
|
13
|
+
def dummy_app_dirs
|
14
|
+
File.join(gem_root, "spec/dummy")
|
15
|
+
end
|
16
|
+
|
17
|
+
# Executes a string or an array of strings in a shell in the given directory
|
18
|
+
def sh_in_dir(dir, shell_commands)
|
19
|
+
shell_commands = [shell_commands] if shell_commands.is_a?(String)
|
20
|
+
shell_commands.each { |shell_command| sh %(cd #{dir} && #{shell_command.strip}) }
|
21
|
+
end
|
22
|
+
|
23
|
+
def bundle_install_in(dir)
|
24
|
+
sh_in_dir(dir, "bundle install")
|
25
|
+
end
|
26
|
+
|
27
|
+
# Runs bundle exec using that directory's Gemfile
|
28
|
+
def bundle_exec(dir:, args:, env_vars: "")
|
29
|
+
sh_in_dir(dir, "#{env_vars} #{args}")
|
30
|
+
end
|
31
|
+
|
32
|
+
def generators_source_dir
|
33
|
+
File.join(gem_root, "lib/generators/react_on_rails")
|
34
|
+
end
|
35
|
+
|
36
|
+
def symbolize_keys(hash)
|
37
|
+
hash.each_with_object({}) do |(key, value), new_hash|
|
38
|
+
new_key = key.is_a?(String) ? key.to_sym : key
|
39
|
+
new_value = value.is_a?(Hash) ? symbolize_keys(value) : value
|
40
|
+
new_hash[new_key] = new_value
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'react_on_rails/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = "react_on_rails"
|
8
|
+
s.version = ReactOnRails::VERSION
|
9
|
+
s.authors = ["Justin Gordon"]
|
10
|
+
s.email = ["justin@shakacode.com"]
|
11
|
+
|
12
|
+
s.summary = %q{Rails with react server rendering with webpack. }
|
13
|
+
s.description = %q{See README.md}
|
14
|
+
s.homepage = "https://github.com/shakacode/react_on_rails"
|
15
|
+
s.license = "MIT"
|
16
|
+
|
17
|
+
s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|examples|node_modules|node_package|coverage)/}) }
|
18
|
+
s.bindir = "exe"
|
19
|
+
s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
|
+
s.require_paths = ["lib"]
|
21
|
+
|
22
|
+
s.add_dependency "rails", ">= 3.2"
|
23
|
+
s.add_dependency "execjs", "~> 2.5"
|
24
|
+
s.add_dependency "connection_pool"
|
25
|
+
|
26
|
+
s.add_development_dependency "bundler", "~> 1.10"
|
27
|
+
s.add_development_dependency "rake", "~> 10.0"
|
28
|
+
s.add_development_dependency "rspec"
|
29
|
+
s.add_development_dependency "coveralls"
|
30
|
+
s.add_development_dependency "generator_spec"
|
31
|
+
end
|
data/ruby-lint.yml
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# Not currently using ruby-lint
|
2
|
+
---
|
3
|
+
presenter: syntastic
|
4
|
+
|
5
|
+
directories:
|
6
|
+
- app
|
7
|
+
- lib
|
8
|
+
- spec
|
9
|
+
|
10
|
+
ignore_paths:
|
11
|
+
- client
|
12
|
+
- node_modules
|
13
|
+
- coverage
|
14
|
+
- examples
|
15
|
+
|
16
|
+
analysis_classes:
|
17
|
+
# - argument_amount
|
18
|
+
- pedantics
|
19
|
+
- shadowing_variables
|
20
|
+
# Too many false positives for these
|
21
|
+
# - undefined_methods
|
22
|
+
# - undefined_variables
|
23
|
+
# - unused_variables
|
24
|
+
- useless_equality_checks
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: react_on_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.beta.
|
4
|
+
version: 2.0.0.beta.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Gordon
|
@@ -128,7 +128,124 @@ email:
|
|
128
128
|
executables: []
|
129
129
|
extensions: []
|
130
130
|
extra_rdoc_files: []
|
131
|
-
files:
|
131
|
+
files:
|
132
|
+
- ".coveralls.yml"
|
133
|
+
- ".dockerignore"
|
134
|
+
- ".eslintignore"
|
135
|
+
- ".eslintrc"
|
136
|
+
- ".gitignore"
|
137
|
+
- ".jscsrc"
|
138
|
+
- ".npmignore"
|
139
|
+
- ".rspec"
|
140
|
+
- ".rubocop.yml"
|
141
|
+
- ".scss-lint.yml"
|
142
|
+
- ".travis.yml"
|
143
|
+
- CHANGELOG.md
|
144
|
+
- Dockerfile_tests
|
145
|
+
- Gemfile
|
146
|
+
- README.md
|
147
|
+
- Rakefile
|
148
|
+
- app/helpers/react_on_rails_helper.rb
|
149
|
+
- docker-compose.yml
|
150
|
+
- docs/LICENSE
|
151
|
+
- docs/additional_reading/heroku_deployment.md
|
152
|
+
- docs/additional_reading/manual_installation.md
|
153
|
+
- docs/additional_reading/node_dependencies_and_npm.md
|
154
|
+
- docs/additional_reading/optional_configuration.md
|
155
|
+
- docs/additional_reading/react-and-redux.md
|
156
|
+
- docs/additional_reading/react_router.md
|
157
|
+
- docs/additional_reading/server_rendering_tips.md
|
158
|
+
- docs/additional_reading/tips.md
|
159
|
+
- docs/additional_reading/webpack.md
|
160
|
+
- docs/code_of_conduct.md
|
161
|
+
- docs/coding-style/linters.md
|
162
|
+
- docs/coding-style/style.md
|
163
|
+
- docs/contributing.md
|
164
|
+
- docs/generator_testing.md
|
165
|
+
- docs/releasing.md
|
166
|
+
- lib/generators/USAGE
|
167
|
+
- lib/generators/react_on_rails/base_generator.rb
|
168
|
+
- lib/generators/react_on_rails/bootstrap_generator.rb
|
169
|
+
- lib/generators/react_on_rails/dev_tests_generator.rb
|
170
|
+
- lib/generators/react_on_rails/generator_helper.rb
|
171
|
+
- lib/generators/react_on_rails/heroku_deployment_generator.rb
|
172
|
+
- lib/generators/react_on_rails/install_generator.rb
|
173
|
+
- lib/generators/react_on_rails/js_linters_generator.rb
|
174
|
+
- lib/generators/react_on_rails/react_no_redux_generator.rb
|
175
|
+
- lib/generators/react_on_rails/react_with_redux_generator.rb
|
176
|
+
- lib/generators/react_on_rails/ruby_linters_generator.rb
|
177
|
+
- lib/generators/react_on_rails/templates/base/base/Procfile.dev.tt
|
178
|
+
- lib/generators/react_on_rails/templates/base/base/REACT_ON_RAILS.md
|
179
|
+
- lib/generators/react_on_rails/templates/base/base/app/controllers/hello_world_controller.rb
|
180
|
+
- lib/generators/react_on_rails/templates/base/base/app/views/hello_world/index.html.erb.tt
|
181
|
+
- lib/generators/react_on_rails/templates/base/base/client/.babelrc
|
182
|
+
- lib/generators/react_on_rails/templates/base/base/client/REACT_ON_RAILS_CLIENT_README.md
|
183
|
+
- lib/generators/react_on_rails/templates/base/base/client/app/bundles/HelloWorld/startup/clientRegistration.jsx.tt
|
184
|
+
- lib/generators/react_on_rails/templates/base/base/client/index.jade
|
185
|
+
- lib/generators/react_on_rails/templates/base/base/client/package.json.tt
|
186
|
+
- lib/generators/react_on_rails/templates/base/base/client/server.js
|
187
|
+
- lib/generators/react_on_rails/templates/base/base/client/webpack.client.base.config.js.tt
|
188
|
+
- lib/generators/react_on_rails/templates/base/base/client/webpack.client.hot.config.js.tt
|
189
|
+
- lib/generators/react_on_rails/templates/base/base/client/webpack.client.rails.config.js
|
190
|
+
- lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb
|
191
|
+
- lib/generators/react_on_rails/templates/base/base/lib/tasks/assets.rake.tt
|
192
|
+
- lib/generators/react_on_rails/templates/base/base/lib/tasks/linters.rake.tt
|
193
|
+
- lib/generators/react_on_rails/templates/base/base/package.json
|
194
|
+
- lib/generators/react_on_rails/templates/base/server_rendering/client/app/bundles/HelloWorld/startup/serverRegistration.jsx
|
195
|
+
- lib/generators/react_on_rails/templates/base/server_rendering/client/webpack.server.rails.config.js
|
196
|
+
- lib/generators/react_on_rails/templates/bootstrap/app/assets/stylesheets/_bootstrap-custom.scss
|
197
|
+
- lib/generators/react_on_rails/templates/bootstrap/client/assets/stylesheets/_post-bootstrap.scss
|
198
|
+
- lib/generators/react_on_rails/templates/bootstrap/client/assets/stylesheets/_pre-bootstrap.scss
|
199
|
+
- lib/generators/react_on_rails/templates/bootstrap/client/assets/stylesheets/_react-on-rails-sass-helper.scss
|
200
|
+
- lib/generators/react_on_rails/templates/bootstrap/client/bootstrap-sass.config.js
|
201
|
+
- lib/generators/react_on_rails/templates/dev_tests/.rspec
|
202
|
+
- lib/generators/react_on_rails/templates/dev_tests/spec/features/hello_world_spec.rb
|
203
|
+
- lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb
|
204
|
+
- lib/generators/react_on_rails/templates/dev_tests/spec/simplecov_helper.rb
|
205
|
+
- lib/generators/react_on_rails/templates/dev_tests/spec/spec_helper.rb
|
206
|
+
- lib/generators/react_on_rails/templates/heroku_deployment/.buildpacks
|
207
|
+
- lib/generators/react_on_rails/templates/heroku_deployment/Procfile
|
208
|
+
- lib/generators/react_on_rails/templates/heroku_deployment/config/puma.rb
|
209
|
+
- lib/generators/react_on_rails/templates/js_linters/client/.eslintignore
|
210
|
+
- lib/generators/react_on_rails/templates/js_linters/client/.eslintrc
|
211
|
+
- lib/generators/react_on_rails/templates/js_linters/client/.jscsrc
|
212
|
+
- lib/generators/react_on_rails/templates/no_redux/base/client/app/bundles/HelloWorld/components/HelloWorldWidget.jsx
|
213
|
+
- lib/generators/react_on_rails/templates/no_redux/base/client/app/bundles/HelloWorld/containers/HelloWorld.jsx
|
214
|
+
- lib/generators/react_on_rails/templates/no_redux/base/client/app/bundles/HelloWorld/startup/HelloWorldAppClient.jsx.tt
|
215
|
+
- lib/generators/react_on_rails/templates/no_redux/server_rendering/client/app/bundles/HelloWorld/startup/HelloWorldAppServer.jsx
|
216
|
+
- lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/actions/helloWorldActionCreators.jsx
|
217
|
+
- lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/components/HelloWorldWidget.jsx
|
218
|
+
- lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/constants/helloWorldConstants.jsx
|
219
|
+
- lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/containers/HelloWorld.jsx
|
220
|
+
- lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/reducers/helloWorldReducer.jsx
|
221
|
+
- lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/reducers/index.jsx
|
222
|
+
- lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/startup/HelloWorldAppClient.jsx.tt
|
223
|
+
- lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/store/helloWorldStore.jsx
|
224
|
+
- lib/generators/react_on_rails/templates/redux/base/client/app/lib/middlewares/loggerMiddleware.js
|
225
|
+
- lib/generators/react_on_rails/templates/redux/server_rendering/client/app/bundles/HelloWorld/startup/HelloWorldAppServer.jsx
|
226
|
+
- lib/generators/react_on_rails/templates/ruby_linters/.rubocop.yml
|
227
|
+
- lib/generators/react_on_rails/templates/ruby_linters/.scss-lint.yml
|
228
|
+
- lib/generators/react_on_rails/templates/ruby_linters/lib/tasks/brakeman.rake
|
229
|
+
- lib/generators/react_on_rails/templates/ruby_linters/lib/tasks/ci.rake
|
230
|
+
- lib/generators/react_on_rails/templates/ruby_linters/ruby-lint.yml
|
231
|
+
- lib/react_on_rails.rb
|
232
|
+
- lib/react_on_rails/configuration.rb
|
233
|
+
- lib/react_on_rails/engine.rb
|
234
|
+
- lib/react_on_rails/prerender_error.rb
|
235
|
+
- lib/react_on_rails/server_rendering_pool.rb
|
236
|
+
- lib/react_on_rails/version.rb
|
237
|
+
- package.json
|
238
|
+
- rakelib/docker.rake
|
239
|
+
- rakelib/dummy_apps.rake
|
240
|
+
- rakelib/example_type.rb
|
241
|
+
- rakelib/examples.rake
|
242
|
+
- rakelib/examples_config.yml
|
243
|
+
- rakelib/lint.rake
|
244
|
+
- rakelib/node_package.rake
|
245
|
+
- rakelib/run_rspec.rake
|
246
|
+
- rakelib/task_helpers.rb
|
247
|
+
- react_on_rails.gemspec
|
248
|
+
- ruby-lint.yml
|
132
249
|
homepage: https://github.com/shakacode/react_on_rails
|
133
250
|
licenses:
|
134
251
|
- MIT
|