rails-hyperstack 1.0.alpha1.3 → 1.0.alpha1.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 +4 -4
- data/.gitignore +10 -0
- data/.ruby-version +1 -0
- data/Gemfile +2 -1
- data/Rakefile +21 -11
- data/lib/generators/hyper/component_generator.rb +3 -16
- data/lib/generators/hyper/generator_base.rb +18 -0
- data/lib/generators/hyper/router_generator.rb +3 -19
- data/lib/generators/hyper/templates/component_template.rb +19 -8
- data/lib/generators/hyper/templates/hyper_component_template.rb +10 -0
- data/lib/generators/hyper/templates/router_template.rb +4 -4
- data/lib/generators/hyperstack/install_generator.rb +137 -137
- data/lib/generators/hyperstack/install_generator_base.rb +268 -3
- data/lib/generators/install/hyperstack_generator.rb +229 -0
- data/lib/generators/install/hyperstack_generator_base.rb +102 -0
- data/lib/hyperstack/server_side_auto_require.rb +39 -0
- data/lib/hyperstack/version.rb +1 -1
- data/lib/rails-hyperstack.rb +10 -2
- data/lib/tasks/hyperstack/install.rake +32 -0
- data/rails-hyperstack.gemspec +45 -18
- data/spec/gems.rb +10 -0
- data/spec/rails_hyperstack_spec.rb +22 -16
- data/spec/server_side_sample.rb +5 -0
- metadata +80 -80
- data/Gemfile.lock +0 -442
@@ -0,0 +1,102 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Rails
|
4
|
+
module Generators
|
5
|
+
class Base < Thor::Group
|
6
|
+
|
7
|
+
protected
|
8
|
+
|
9
|
+
def warnings
|
10
|
+
@warnings ||= []
|
11
|
+
end
|
12
|
+
|
13
|
+
def clear_cache
|
14
|
+
run 'rm -rf tmp/cache' unless Dir.exists?(Rails.root.join('app', 'hyperstack'))
|
15
|
+
end
|
16
|
+
|
17
|
+
def insure_hyperstack_loader_installed
|
18
|
+
hyperstack_loader = %r{//=\s+require\s+hyperstack-loader\s+}
|
19
|
+
application_js = Rails.root.join(
|
20
|
+
'app', 'assets', 'javascripts', 'application.js'
|
21
|
+
)
|
22
|
+
if File.exist? application_js
|
23
|
+
unless File.foreach(application_js).any? { |l| l =~ hyperstack_loader }
|
24
|
+
require_tree = %r{//=\s+require_tree\s+}
|
25
|
+
if File.foreach(application_js).any? { |l| l =~ require_tree }
|
26
|
+
inject_into_file 'app/assets/javascripts/application.js', before: require_tree do
|
27
|
+
"//= require hyperstack-loader\n"
|
28
|
+
end
|
29
|
+
else
|
30
|
+
warnings <<
|
31
|
+
" ***********************************************************\n"\
|
32
|
+
" * Could not add `//= require hyperstack-loader` directive *\n"\
|
33
|
+
" * to the app/assets/application.js file. *\n"\
|
34
|
+
" * Normally this directive is added just before the *\n"\
|
35
|
+
" * `//= require_tree .` directive at the end of the file, *\n"\
|
36
|
+
" * but no require_tree directive was found. You need to *\n"\
|
37
|
+
" * manually add `//= require hyperstack-loader` to the *\n"\
|
38
|
+
" * app/assets/application.js file. *\n"\
|
39
|
+
" ***********************************************************\n"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
else
|
43
|
+
create_file application_js, "//= require hyperstack-loader\n"
|
44
|
+
warnings <<
|
45
|
+
" ***********************************************************\n"\
|
46
|
+
" * Could not find the app/assets/application.js file. *\n"\
|
47
|
+
" * We created one for you, and added the *\n"\
|
48
|
+
" * `<%= javascript_include_tag 'application' %>` to your *\n"\
|
49
|
+
" * `html.erb` files immediately after any *\n"\
|
50
|
+
" * `<%= javascript_pack 'application' %>` tags we found. *\n"\
|
51
|
+
" ***********************************************************\n"
|
52
|
+
application_pack_tag =
|
53
|
+
/\s*\<\%\=\s+javascript_pack_tag\s+(\'|\")application(\'|\").*\%\>.*$/
|
54
|
+
Dir.glob(Rails.root.join('app', 'views', '**', '*.erb')) do |file|
|
55
|
+
if File.foreach(file).any? { |l| l =~ application_pack_tag }
|
56
|
+
inject_into_file file, after: application_pack_tag do
|
57
|
+
"\n <%= javascript_include_tag 'application' %>"
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def insure_base_component_class_exists
|
65
|
+
@component_base_class = options['base-class']
|
66
|
+
file_name = Rails.root.join(
|
67
|
+
'app', 'hyperstack', 'components', "#{@component_base_class.underscore}.rb"
|
68
|
+
)
|
69
|
+
template 'hyper_component_template.rb', file_name unless File.exists? file_name
|
70
|
+
end
|
71
|
+
|
72
|
+
def add_to_manifest(manifest, &block)
|
73
|
+
if File.exists? "app/javascript/packs/#{manifest}"
|
74
|
+
append_file "app/javascript/packs/#{manifest}", &block
|
75
|
+
else
|
76
|
+
create_file "app/javascript/packs/#{manifest}", &block
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
def add_route
|
81
|
+
return unless options['add-route']
|
82
|
+
if self.components.count > 1
|
83
|
+
warnings <<
|
84
|
+
" ***********************************************************\n"\
|
85
|
+
" * The add-route option ignored because more than one *\n"\
|
86
|
+
" * component is being generated. *\n"\
|
87
|
+
" ***********************************************************\n"
|
88
|
+
return
|
89
|
+
end
|
90
|
+
action_name = (@modules+[@file_name.underscore]).join('__')
|
91
|
+
path = options['add-route'] == 'add-route' ? '/(*others)' : options['add-route']
|
92
|
+
route "get '#{path}', to: 'hyperstack##{action_name}'"
|
93
|
+
end
|
94
|
+
|
95
|
+
|
96
|
+
def yarn(package, version = nil)
|
97
|
+
return if system("yarn add #{package}#{'@' + version if version}")
|
98
|
+
raise Thor::Error.new("yarn failed to install #{package} with version #{version}")
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
Rails.configuration.autoloader = :classic
|
2
|
+
|
3
|
+
module ActiveSupport
|
4
|
+
module Dependencies
|
5
|
+
HYPERSTACK_DIR = "hyperstack"
|
6
|
+
class << self
|
7
|
+
alias original_require_or_load require_or_load
|
8
|
+
|
9
|
+
# before requiring_or_loading a file, first check if
|
10
|
+
# we have the same file in the server side directory
|
11
|
+
# and add that as a dependency
|
12
|
+
|
13
|
+
def require_or_load(file_name, const_path = nil)
|
14
|
+
add_server_side_dependency(file_name)
|
15
|
+
original_require_or_load(file_name, const_path)
|
16
|
+
end
|
17
|
+
|
18
|
+
# search the filename path from the end towards the beginning
|
19
|
+
# for the HYPERSTACK_DIR directory. If found, remove it from
|
20
|
+
# the filename, and if a ruby file exists at that location then
|
21
|
+
# add it as a dependency
|
22
|
+
|
23
|
+
def add_server_side_dependency(file_name)
|
24
|
+
path = File.expand_path(file_name.chomp(".rb"))
|
25
|
+
.split(File::SEPARATOR).reverse
|
26
|
+
hs_index = path.find_index(HYPERSTACK_DIR)
|
27
|
+
|
28
|
+
return unless hs_index # no hyperstack directory here
|
29
|
+
|
30
|
+
new_path = (path[0..hs_index - 1] + path[hs_index + 1..-1]).reverse
|
31
|
+
load_path = new_path.join(File::SEPARATOR)
|
32
|
+
|
33
|
+
return unless File.exist? "#{load_path}.rb"
|
34
|
+
|
35
|
+
require_dependency load_path
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/lib/hyperstack/version.rb
CHANGED
data/lib/rails-hyperstack.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'hyperstack-config'
|
2
2
|
require 'rails/generators'
|
3
|
-
require 'hyper-state'
|
4
3
|
|
5
4
|
# remove these once lap29 is released ...
|
6
5
|
Hyperstack.js_import 'react/react-source-browser', client_only: true, defines: ['ReactDOM', 'React']
|
@@ -14,15 +13,24 @@ Hyperstack.import 'hyper-model'
|
|
14
13
|
Hyperstack.import 'hyper-state'
|
15
14
|
|
16
15
|
require 'generators/hyperstack/install_generator'
|
16
|
+
require 'generators/hyper/generator_base'
|
17
17
|
require 'generators/hyper/component_generator'
|
18
18
|
require 'generators/hyper/router_generator'
|
19
19
|
begin
|
20
20
|
require 'opal-rails'
|
21
21
|
require 'hyper-model'
|
22
22
|
require 'hyper-router'
|
23
|
+
require 'mini_racer'
|
23
24
|
rescue LoadError
|
24
25
|
end
|
25
26
|
require 'react-rails'
|
26
27
|
require 'opal-browser'
|
27
|
-
require 'mini_racer'
|
28
28
|
require 'hyperstack/version'
|
29
|
+
|
30
|
+
class RailsHyperstack < Rails::Railtie
|
31
|
+
rake_tasks do
|
32
|
+
Dir[File.join(File.dirname(__FILE__),'tasks/hyperstack/*.rake')].each { |f| puts "loading #{f}"; load f }
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
Hyperstack.define_setting :component_base_class, 'HyperComponent'
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# install_template_path = File.expand_path("../../install/template.rb", __dir__).freeze
|
2
|
+
bin_path = ENV["BUNDLE_BIN"] || "./bin"
|
3
|
+
require 'optparse'
|
4
|
+
|
5
|
+
namespace :hyperstack do
|
6
|
+
desc "Install Hyperstack in this application"
|
7
|
+
task :install do
|
8
|
+
exec "#{RbConfig.ruby} #{bin_path}/rails g hyperstack:install"
|
9
|
+
end
|
10
|
+
namespace :install do
|
11
|
+
task :default do
|
12
|
+
end
|
13
|
+
task "hotloader" do
|
14
|
+
exec "#{RbConfig.ruby} #{bin_path}/rails g hyperstack:install --hotloader-only"
|
15
|
+
end
|
16
|
+
task "webpack" do
|
17
|
+
exec "#{RbConfig.ruby} #{bin_path}/rails g hyperstack:install --webpack-only"
|
18
|
+
end
|
19
|
+
task "hyper-model" do
|
20
|
+
exec "#{RbConfig.ruby} #{bin_path}/rails g hyperstack:install --hyper-model-only"
|
21
|
+
end
|
22
|
+
task "skip-hotloader" do
|
23
|
+
exec "#{RbConfig.ruby} #{bin_path}/rails g hyperstack:install --skip-hotloader"
|
24
|
+
end
|
25
|
+
task "skip-webpack" do
|
26
|
+
exec "#{RbConfig.ruby} #{bin_path}/rails g hyperstack:install --skip-webpack"
|
27
|
+
end
|
28
|
+
task "skip-hyper-model" do
|
29
|
+
exec "#{RbConfig.ruby} #{bin_path}/rails g hyperstack:install --skip-hyper-model"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/rails-hyperstack.gemspec
CHANGED
@@ -18,47 +18,74 @@ Gem::Specification.new do |spec|
|
|
18
18
|
# }
|
19
19
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(tasks)/}) }
|
20
20
|
spec.require_paths = ['lib']
|
21
|
+
spec.post_install_message = %q{
|
22
|
+
*******************************************************************************
|
23
|
+
|
24
|
+
Welcome to Hyperstack!
|
25
|
+
|
26
|
+
For a quick start simply add a component using one of the generators:
|
27
|
+
|
28
|
+
>> bundle exec rails generate hyper:component CompName --add-route="/test/(*others)"
|
29
|
+
# Add a new component named CompName and route to it with /test/
|
30
|
+
|
31
|
+
>> bundle exec rails generate hyper:router CompName --add-route="/test/(*others)"
|
32
|
+
# Add a top level router named CompName and route to it
|
33
|
+
|
34
|
+
The generators will insure you have the minimal additions to your system for the
|
35
|
+
new component to run. And note: --add-route is optional.
|
36
|
+
|
37
|
+
For a complete install run the hyperstack install task:
|
38
|
+
|
39
|
+
>> bundle exec rails hyperstack:install
|
40
|
+
|
41
|
+
This will add everything you need including the hotloader, webpack integration,
|
42
|
+
hyper-model (active record model client synchronization) and a top level
|
43
|
+
component to get you started.
|
44
|
+
|
45
|
+
You can control how much of the stack gets installed as well:
|
46
|
+
|
47
|
+
>> bundle exec rails hyperstack:install:webpack # just add webpack
|
48
|
+
>> bundle exec rails hyperstack:install:skip-webpack # all but webpack
|
49
|
+
>> bundle exec rails hyperstack:install:hyper-model # just add hyper-model
|
50
|
+
>> bundle exec rails hyperstack:install:skip-hyper-model # all but hyper-model
|
51
|
+
>> bundle exec rails hyperstack:install:hotloader # just add the hotloader
|
52
|
+
>> bundle exec rails hyperstack:install:skip-hotloader # skip the hotloader
|
53
|
+
|
54
|
+
*******************************************************************************
|
55
|
+
}
|
21
56
|
|
22
57
|
spec.add_dependency 'hyper-model', Hyperstack::VERSION
|
23
58
|
spec.add_dependency 'hyper-router', Hyperstack::ROUTERVERSION
|
24
59
|
spec.add_dependency 'hyperstack-config', Hyperstack::VERSION
|
25
|
-
spec.add_dependency 'opal-rails'
|
60
|
+
spec.add_dependency 'opal-rails' #, '~> 2.0'
|
26
61
|
|
27
62
|
spec.add_dependency 'opal-browser', '~> 0.2.0'
|
28
63
|
spec.add_dependency 'react-rails', '>= 2.4.0', '< 2.5.0'
|
29
|
-
spec.add_dependency 'mini_racer', '~> 0.2.
|
30
|
-
spec.add_dependency 'libv8', '~>
|
31
|
-
spec.add_dependency 'rails', '>=
|
32
|
-
|
64
|
+
# spec.add_dependency 'mini_racer', '~> 0.2.6'
|
65
|
+
# spec.add_dependency 'libv8', '~> 7.3.492.27.1'
|
66
|
+
spec.add_dependency 'rails', ENV['RAILS_VERSION'] || '>= 5.0.0', '< 7.0'
|
33
67
|
|
34
|
-
|
35
|
-
# #spec.add_development_dependency 'chromedriver-helper'
|
36
|
-
# spec.add_development_dependency 'geminabox', '>= 0.13.11'
|
37
|
-
|
38
|
-
|
39
|
-
spec.add_development_dependency 'bundler', ['>= 1.17.3', '< 2.1']
|
68
|
+
spec.add_development_dependency 'bundler'
|
40
69
|
spec.add_development_dependency 'chromedriver-helper'
|
41
70
|
spec.add_development_dependency 'hyper-spec', Hyperstack::VERSION
|
42
71
|
spec.add_development_dependency 'pry'
|
43
72
|
spec.add_development_dependency 'puma'
|
44
73
|
spec.add_development_dependency 'bootsnap'
|
45
|
-
|
46
|
-
spec.add_development_dependency '
|
47
|
-
spec.add_development_dependency '
|
48
|
-
spec.add_development_dependency '
|
49
|
-
spec.add_development_dependency 'sass-rails', '~> 5.0'
|
74
|
+
spec.add_development_dependency 'rspec-rails'
|
75
|
+
spec.add_development_dependency 'rubocop' #, '~> 0.51.0'
|
76
|
+
spec.add_development_dependency 'sqlite3', '~> 1.4' # was 1.3.6 -- see https://github.com/rails/rails/issues/35153
|
77
|
+
spec.add_development_dependency 'sass-rails', '>= 5.0'
|
50
78
|
# Use Uglifier as compressor for JavaScript assets
|
51
79
|
spec.add_development_dependency 'uglifier', '>= 1.3.0'
|
52
80
|
# See https://github.com/rails/execjs#readme for more supported runtimes
|
53
81
|
# gem 'mini_racer', platforms: :ruby
|
54
82
|
|
55
83
|
# Use CoffeeScript for .coffee assets and views
|
56
|
-
spec.add_development_dependency 'coffee-rails', '~> 4.2'
|
84
|
+
#spec.add_development_dependency 'coffee-rails', '~> 4.2'
|
57
85
|
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
|
58
86
|
spec.add_development_dependency 'turbolinks', '~> 5'
|
59
87
|
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
|
60
88
|
spec.add_development_dependency 'jbuilder', '~> 2.5'
|
61
89
|
spec.add_development_dependency 'foreman'
|
62
90
|
spec.add_development_dependency 'database_cleaner'
|
63
|
-
|
64
91
|
end
|
data/spec/gems.rb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
gem 'rails-hyperstack', path: '../..'
|
2
|
+
gem 'hyperstack-config', path: '../../../hyperstack-config'
|
3
|
+
gem 'hyper-state', path: '../../../hyper-state'
|
4
|
+
gem 'hyper-component', path: '../../../hyper-component'
|
5
|
+
gem 'hyper-operation', path: '../../../hyper-operation'
|
6
|
+
gem 'hyper-model', path: '../../../hyper-model'
|
7
|
+
gem 'hyper-router', path: '../../../hyper-router'
|
8
|
+
gem 'hyper-spec', path: '../../../hyper-spec'
|
9
|
+
|
10
|
+
gem 'pry'
|
@@ -1,24 +1,30 @@
|
|
1
|
-
require
|
1
|
+
require "spec_helper"
|
2
2
|
|
3
|
-
describe
|
4
|
-
it
|
5
|
-
visit
|
6
|
-
expect(page).to have_content(
|
3
|
+
describe "rails-hyperstack" do
|
4
|
+
it "builds a working app", js: true do
|
5
|
+
visit "/"
|
6
|
+
expect(page).to have_content("App")
|
7
7
|
end
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
|
9
|
+
it "installs hyper-model and friends", js: true do
|
10
|
+
visit "/"
|
11
|
+
expect do
|
11
12
|
Hyperstack::Model.load { Sample.count }
|
12
|
-
end.
|
13
|
-
|
14
|
-
Sample.create(name:
|
13
|
+
end.on_client_to eq(0)
|
14
|
+
on_client do
|
15
|
+
Sample.create(name: "sample1", description: "the first sample")
|
15
16
|
end
|
16
17
|
wait_for_ajax
|
17
18
|
expect(Sample.count).to eq(1)
|
18
|
-
expect(Sample.first.name).to eq(
|
19
|
-
expect(Sample.first.description).to eq(
|
20
|
-
|
21
|
-
|
22
|
-
|
19
|
+
expect(Sample.first.name).to eq("sample1")
|
20
|
+
expect(Sample.first.description).to eq("the first sample")
|
21
|
+
expect { Sample.count }.on_client_to eq(1)
|
22
|
+
end
|
23
|
+
|
24
|
+
it "implements server_side_auto_require", js: true do
|
25
|
+
expect(Sample.super_secret_server_side_method).to be true
|
26
|
+
expect do
|
27
|
+
Sample.respond_to? :super_secret_server_side_method
|
28
|
+
end.on_client_to be_falsy
|
23
29
|
end
|
24
30
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-hyperstack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.alpha1.
|
4
|
+
version: 1.0.alpha1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Loic Boutet
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2021-04-13 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: hyper-model
|
@@ -19,56 +19,56 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - '='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 1.0.alpha1.
|
22
|
+
version: 1.0.alpha1.8
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - '='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 1.0.alpha1.
|
29
|
+
version: 1.0.alpha1.8
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: hyper-router
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
requirements:
|
34
34
|
- - '='
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: 1.0.alpha1.
|
36
|
+
version: 1.0.alpha1.8
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
41
|
- - '='
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: 1.0.alpha1.
|
43
|
+
version: 1.0.alpha1.8
|
44
44
|
- !ruby/object:Gem::Dependency
|
45
45
|
name: hyperstack-config
|
46
46
|
requirement: !ruby/object:Gem::Requirement
|
47
47
|
requirements:
|
48
48
|
- - '='
|
49
49
|
- !ruby/object:Gem::Version
|
50
|
-
version: 1.0.alpha1.
|
50
|
+
version: 1.0.alpha1.8
|
51
51
|
type: :runtime
|
52
52
|
prerelease: false
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
54
54
|
requirements:
|
55
55
|
- - '='
|
56
56
|
- !ruby/object:Gem::Version
|
57
|
-
version: 1.0.alpha1.
|
57
|
+
version: 1.0.alpha1.8
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: opal-rails
|
60
60
|
requirement: !ruby/object:Gem::Requirement
|
61
61
|
requirements:
|
62
|
-
- - "
|
62
|
+
- - ">="
|
63
63
|
- !ruby/object:Gem::Version
|
64
|
-
version: 0
|
64
|
+
version: '0'
|
65
65
|
type: :runtime
|
66
66
|
prerelease: false
|
67
67
|
version_requirements: !ruby/object:Gem::Requirement
|
68
68
|
requirements:
|
69
|
-
- - "
|
69
|
+
- - ">="
|
70
70
|
- !ruby/object:Gem::Version
|
71
|
-
version: 0
|
71
|
+
version: '0'
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
73
|
name: opal-browser
|
74
74
|
requirement: !ruby/object:Gem::Requirement
|
@@ -103,68 +103,40 @@ dependencies:
|
|
103
103
|
- - "<"
|
104
104
|
- !ruby/object:Gem::Version
|
105
105
|
version: 2.5.0
|
106
|
-
- !ruby/object:Gem::Dependency
|
107
|
-
name: mini_racer
|
108
|
-
requirement: !ruby/object:Gem::Requirement
|
109
|
-
requirements:
|
110
|
-
- - "~>"
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
version: 0.2.4
|
113
|
-
type: :runtime
|
114
|
-
prerelease: false
|
115
|
-
version_requirements: !ruby/object:Gem::Requirement
|
116
|
-
requirements:
|
117
|
-
- - "~>"
|
118
|
-
- !ruby/object:Gem::Version
|
119
|
-
version: 0.2.4
|
120
|
-
- !ruby/object:Gem::Dependency
|
121
|
-
name: libv8
|
122
|
-
requirement: !ruby/object:Gem::Requirement
|
123
|
-
requirements:
|
124
|
-
- - "~>"
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
version: 6.7.0
|
127
|
-
type: :runtime
|
128
|
-
prerelease: false
|
129
|
-
version_requirements: !ruby/object:Gem::Requirement
|
130
|
-
requirements:
|
131
|
-
- - "~>"
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
version: 6.7.0
|
134
106
|
- !ruby/object:Gem::Dependency
|
135
107
|
name: rails
|
136
108
|
requirement: !ruby/object:Gem::Requirement
|
137
109
|
requirements:
|
138
110
|
- - ">="
|
139
111
|
- !ruby/object:Gem::Version
|
140
|
-
version:
|
112
|
+
version: 5.0.0
|
113
|
+
- - "<"
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: '7.0'
|
141
116
|
type: :runtime
|
142
117
|
prerelease: false
|
143
118
|
version_requirements: !ruby/object:Gem::Requirement
|
144
119
|
requirements:
|
145
120
|
- - ">="
|
146
121
|
- !ruby/object:Gem::Version
|
147
|
-
version:
|
122
|
+
version: 5.0.0
|
123
|
+
- - "<"
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '7.0'
|
148
126
|
- !ruby/object:Gem::Dependency
|
149
127
|
name: bundler
|
150
128
|
requirement: !ruby/object:Gem::Requirement
|
151
129
|
requirements:
|
152
130
|
- - ">="
|
153
131
|
- !ruby/object:Gem::Version
|
154
|
-
version:
|
155
|
-
- - "<"
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
version: '2.1'
|
132
|
+
version: '0'
|
158
133
|
type: :development
|
159
134
|
prerelease: false
|
160
135
|
version_requirements: !ruby/object:Gem::Requirement
|
161
136
|
requirements:
|
162
137
|
- - ">="
|
163
138
|
- !ruby/object:Gem::Version
|
164
|
-
version:
|
165
|
-
- - "<"
|
166
|
-
- !ruby/object:Gem::Version
|
167
|
-
version: '2.1'
|
139
|
+
version: '0'
|
168
140
|
- !ruby/object:Gem::Dependency
|
169
141
|
name: chromedriver-helper
|
170
142
|
requirement: !ruby/object:Gem::Requirement
|
@@ -185,14 +157,14 @@ dependencies:
|
|
185
157
|
requirements:
|
186
158
|
- - '='
|
187
159
|
- !ruby/object:Gem::Version
|
188
|
-
version: 1.0.alpha1.
|
160
|
+
version: 1.0.alpha1.8
|
189
161
|
type: :development
|
190
162
|
prerelease: false
|
191
163
|
version_requirements: !ruby/object:Gem::Requirement
|
192
164
|
requirements:
|
193
165
|
- - '='
|
194
166
|
- !ruby/object:Gem::Version
|
195
|
-
version: 1.0.alpha1.
|
167
|
+
version: 1.0.alpha1.8
|
196
168
|
- !ruby/object:Gem::Dependency
|
197
169
|
name: pry
|
198
170
|
requirement: !ruby/object:Gem::Requirement
|
@@ -236,7 +208,7 @@ dependencies:
|
|
236
208
|
- !ruby/object:Gem::Version
|
237
209
|
version: '0'
|
238
210
|
- !ruby/object:Gem::Dependency
|
239
|
-
name: rspec
|
211
|
+
name: rspec-rails
|
240
212
|
requirement: !ruby/object:Gem::Requirement
|
241
213
|
requirements:
|
242
214
|
- - ">="
|
@@ -253,42 +225,42 @@ dependencies:
|
|
253
225
|
name: rubocop
|
254
226
|
requirement: !ruby/object:Gem::Requirement
|
255
227
|
requirements:
|
256
|
-
- - "
|
228
|
+
- - ">="
|
257
229
|
- !ruby/object:Gem::Version
|
258
|
-
version: 0
|
230
|
+
version: '0'
|
259
231
|
type: :development
|
260
232
|
prerelease: false
|
261
233
|
version_requirements: !ruby/object:Gem::Requirement
|
262
234
|
requirements:
|
263
|
-
- - "
|
235
|
+
- - ">="
|
264
236
|
- !ruby/object:Gem::Version
|
265
|
-
version: 0
|
237
|
+
version: '0'
|
266
238
|
- !ruby/object:Gem::Dependency
|
267
239
|
name: sqlite3
|
268
240
|
requirement: !ruby/object:Gem::Requirement
|
269
241
|
requirements:
|
270
|
-
- - "
|
242
|
+
- - "~>"
|
271
243
|
- !ruby/object:Gem::Version
|
272
|
-
version: '
|
244
|
+
version: '1.4'
|
273
245
|
type: :development
|
274
246
|
prerelease: false
|
275
247
|
version_requirements: !ruby/object:Gem::Requirement
|
276
248
|
requirements:
|
277
|
-
- - "
|
249
|
+
- - "~>"
|
278
250
|
- !ruby/object:Gem::Version
|
279
|
-
version: '
|
251
|
+
version: '1.4'
|
280
252
|
- !ruby/object:Gem::Dependency
|
281
253
|
name: sass-rails
|
282
254
|
requirement: !ruby/object:Gem::Requirement
|
283
255
|
requirements:
|
284
|
-
- - "
|
256
|
+
- - ">="
|
285
257
|
- !ruby/object:Gem::Version
|
286
258
|
version: '5.0'
|
287
259
|
type: :development
|
288
260
|
prerelease: false
|
289
261
|
version_requirements: !ruby/object:Gem::Requirement
|
290
262
|
requirements:
|
291
|
-
- - "
|
263
|
+
- - ">="
|
292
264
|
- !ruby/object:Gem::Version
|
293
265
|
version: '5.0'
|
294
266
|
- !ruby/object:Gem::Dependency
|
@@ -305,20 +277,6 @@ dependencies:
|
|
305
277
|
- - ">="
|
306
278
|
- !ruby/object:Gem::Version
|
307
279
|
version: 1.3.0
|
308
|
-
- !ruby/object:Gem::Dependency
|
309
|
-
name: coffee-rails
|
310
|
-
requirement: !ruby/object:Gem::Requirement
|
311
|
-
requirements:
|
312
|
-
- - "~>"
|
313
|
-
- !ruby/object:Gem::Version
|
314
|
-
version: '4.2'
|
315
|
-
type: :development
|
316
|
-
prerelease: false
|
317
|
-
version_requirements: !ruby/object:Gem::Requirement
|
318
|
-
requirements:
|
319
|
-
- - "~>"
|
320
|
-
- !ruby/object:Gem::Version
|
321
|
-
version: '4.2'
|
322
280
|
- !ruby/object:Gem::Dependency
|
323
281
|
name: turbolinks
|
324
282
|
requirement: !ruby/object:Gem::Requirement
|
@@ -385,28 +343,70 @@ extensions: []
|
|
385
343
|
extra_rdoc_files: []
|
386
344
|
files:
|
387
345
|
- ".gitignore"
|
346
|
+
- ".ruby-version"
|
388
347
|
- ".travis.yml"
|
389
348
|
- Gemfile
|
390
|
-
- Gemfile.lock
|
391
349
|
- Rakefile
|
392
350
|
- lib/generators/hyper/component_generator.rb
|
351
|
+
- lib/generators/hyper/generator_base.rb
|
393
352
|
- lib/generators/hyper/router_generator.rb
|
394
353
|
- lib/generators/hyper/templates/component_template.rb
|
354
|
+
- lib/generators/hyper/templates/hyper_component_template.rb
|
395
355
|
- lib/generators/hyper/templates/router_template.rb
|
396
356
|
- lib/generators/hyperstack/install_bootstrap_generator.rb
|
397
357
|
- lib/generators/hyperstack/install_generator.rb
|
398
358
|
- lib/generators/hyperstack/install_generator_base.rb
|
399
359
|
- lib/generators/hyperstack/install_mui_generator.rb
|
360
|
+
- lib/generators/install/hyperstack_generator.rb
|
361
|
+
- lib/generators/install/hyperstack_generator_base.rb
|
362
|
+
- lib/hyperstack/server_side_auto_require.rb
|
400
363
|
- lib/hyperstack/version.rb
|
401
364
|
- lib/rails-hyperstack.rb
|
365
|
+
- lib/tasks/hyperstack/install.rake
|
402
366
|
- rails-hyperstack.gemspec
|
367
|
+
- spec/gems.rb
|
403
368
|
- spec/rails_hyperstack_spec.rb
|
369
|
+
- spec/server_side_sample.rb
|
404
370
|
- spec/spec_helper.rb
|
405
371
|
homepage: http://hyperstack.org
|
406
372
|
licenses:
|
407
373
|
- MIT
|
408
374
|
metadata: {}
|
409
|
-
post_install_message:
|
375
|
+
post_install_message: |2
|
376
|
+
|
377
|
+
*******************************************************************************
|
378
|
+
|
379
|
+
Welcome to Hyperstack!
|
380
|
+
|
381
|
+
For a quick start simply add a component using one of the generators:
|
382
|
+
|
383
|
+
>> bundle exec rails generate hyper:component CompName --add-route="/test/(*others)"
|
384
|
+
# Add a new component named CompName and route to it with /test/
|
385
|
+
|
386
|
+
>> bundle exec rails generate hyper:router CompName --add-route="/test/(*others)"
|
387
|
+
# Add a top level router named CompName and route to it
|
388
|
+
|
389
|
+
The generators will insure you have the minimal additions to your system for the
|
390
|
+
new component to run. And note: --add-route is optional.
|
391
|
+
|
392
|
+
For a complete install run the hyperstack install task:
|
393
|
+
|
394
|
+
>> bundle exec rails hyperstack:install
|
395
|
+
|
396
|
+
This will add everything you need including the hotloader, webpack integration,
|
397
|
+
hyper-model (active record model client synchronization) and a top level
|
398
|
+
component to get you started.
|
399
|
+
|
400
|
+
You can control how much of the stack gets installed as well:
|
401
|
+
|
402
|
+
>> bundle exec rails hyperstack:install:webpack # just add webpack
|
403
|
+
>> bundle exec rails hyperstack:install:skip-webpack # all but webpack
|
404
|
+
>> bundle exec rails hyperstack:install:hyper-model # just add hyper-model
|
405
|
+
>> bundle exec rails hyperstack:install:skip-hyper-model # all but hyper-model
|
406
|
+
>> bundle exec rails hyperstack:install:hotloader # just add the hotloader
|
407
|
+
>> bundle exec rails hyperstack:install:skip-hotloader # skip the hotloader
|
408
|
+
|
409
|
+
*******************************************************************************
|
410
410
|
rdoc_options: []
|
411
411
|
require_paths:
|
412
412
|
- lib
|
@@ -421,7 +421,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
421
421
|
- !ruby/object:Gem::Version
|
422
422
|
version: 1.3.1
|
423
423
|
requirements: []
|
424
|
-
rubygems_version: 3.0.
|
424
|
+
rubygems_version: 3.0.8
|
425
425
|
signing_key:
|
426
426
|
specification_version: 4
|
427
427
|
summary: Hyperstack for Rails with generators
|