hyperstack-config 1.0.alpha1.2 → 1.0.alpha1.3
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/Gemfile.lock +19 -18
- data/hyperstack-config.gemspec +2 -3
- data/lib/hyperstack/config/version.rb +1 -1
- data/lib/hyperstack/hotloader.rb +23 -25
- data/lib/hyperstack/hotloader/add_error_boundry.rb +1 -1
- data/lib/hyperstack/hotloader/stub.rb +3 -1
- data/lib/hyperstack/imports.rb +12 -2
- data/lib/hyperstack/on_error.rb +1 -1
- data/lib/hyperstack/rail_tie.rb +8 -1
- metadata +15 -24
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2dd271243b17fe6cd4c3a88780bf8663292ae58b0cc8f530bd631e02b869e452
|
|
4
|
+
data.tar.gz: f9b2b75988926440c03cd691c6df2296074dc140c5cd2a4184fefc62e9b02152
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a5f9d05f313ec2457860b32c3ae4b83e2c3f4d1230b9f3822e103858c7c0cc73a7b7d5cae6b263bbdc8c185bf6044e92096bce1ee0f25a882b05183c29aee484
|
|
7
|
+
data.tar.gz: 2b3d63c8286b3e4aa2469452b94cafabc57eb27637b92f49e3d678bd13474ea0cab43cec8f75f3fe844b5df1fdb9a94ba3848fd7fcfb5c2b5dcc0d846a5dda49
|
data/Gemfile.lock
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: ../hyper-spec
|
|
3
3
|
specs:
|
|
4
|
-
hyper-spec (1.0.alpha1.
|
|
4
|
+
hyper-spec (1.0.alpha1.3)
|
|
5
5
|
capybara
|
|
6
6
|
chromedriver-helper (= 1.2.0)
|
|
7
|
-
libv8
|
|
7
|
+
libv8
|
|
8
8
|
method_source
|
|
9
|
-
mini_racer (~> 0.
|
|
9
|
+
mini_racer (~> 0.2.4)
|
|
10
10
|
opal (>= 0.11.0, < 0.12.0)
|
|
11
11
|
parser (>= 2.3.3.1)
|
|
12
12
|
pry
|
|
@@ -14,16 +14,15 @@ PATH
|
|
|
14
14
|
selenium-webdriver
|
|
15
15
|
timecop (~> 0.8.1)
|
|
16
16
|
uglifier
|
|
17
|
-
unparser
|
|
17
|
+
unparser (>= 0.2, < 0.4)
|
|
18
18
|
webdrivers
|
|
19
19
|
|
|
20
20
|
PATH
|
|
21
21
|
remote: .
|
|
22
22
|
specs:
|
|
23
|
-
hyperstack-config (1.0.alpha1.
|
|
24
|
-
libv8 (~> 6.3.0)
|
|
23
|
+
hyperstack-config (1.0.alpha1.3)
|
|
25
24
|
listen (~> 3.0)
|
|
26
|
-
mini_racer (~> 0.
|
|
25
|
+
mini_racer (~> 0.2.4)
|
|
27
26
|
opal (>= 0.11.0, < 0.12.0)
|
|
28
27
|
opal-browser (~> 0.2.0)
|
|
29
28
|
uglifier
|
|
@@ -84,7 +83,7 @@ GEM
|
|
|
84
83
|
arel (9.0.0)
|
|
85
84
|
ast (2.4.0)
|
|
86
85
|
builder (3.2.3)
|
|
87
|
-
capybara (3.
|
|
86
|
+
capybara (3.12.0)
|
|
88
87
|
addressable
|
|
89
88
|
mini_mime (>= 0.1.3)
|
|
90
89
|
nokogiri (~> 1.8)
|
|
@@ -107,7 +106,7 @@ GEM
|
|
|
107
106
|
equalizer (0.0.11)
|
|
108
107
|
erubi (1.7.1)
|
|
109
108
|
execjs (2.7.0)
|
|
110
|
-
ffi (1.
|
|
109
|
+
ffi (1.10.0)
|
|
111
110
|
globalid (0.4.1)
|
|
112
111
|
activesupport (>= 4.2.0)
|
|
113
112
|
hike (1.2.3)
|
|
@@ -119,7 +118,7 @@ GEM
|
|
|
119
118
|
rails-dom-testing (>= 1, < 3)
|
|
120
119
|
railties (>= 4.2.0)
|
|
121
120
|
thor (>= 0.14, < 2.0)
|
|
122
|
-
libv8 (6.
|
|
121
|
+
libv8 (6.7.288.46.1)
|
|
123
122
|
listen (3.1.5)
|
|
124
123
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
|
125
124
|
rb-inotify (~> 0.9, >= 0.9.7)
|
|
@@ -137,9 +136,10 @@ GEM
|
|
|
137
136
|
mimemagic (0.3.2)
|
|
138
137
|
mini_mime (1.0.1)
|
|
139
138
|
mini_portile2 (2.3.0)
|
|
140
|
-
mini_racer (0.
|
|
141
|
-
libv8 (
|
|
139
|
+
mini_racer (0.2.4)
|
|
140
|
+
libv8 (>= 6.3)
|
|
142
141
|
minitest (5.11.3)
|
|
142
|
+
net_http_ssl_fix (0.0.10)
|
|
143
143
|
nio4r (2.3.1)
|
|
144
144
|
nokogiri (1.8.4)
|
|
145
145
|
mini_portile2 (~> 2.3.0)
|
|
@@ -209,8 +209,8 @@ GEM
|
|
|
209
209
|
rake
|
|
210
210
|
rake (12.3.1)
|
|
211
211
|
rb-fsevent (0.10.3)
|
|
212
|
-
rb-inotify (0.
|
|
213
|
-
ffi (
|
|
212
|
+
rb-inotify (0.10.0)
|
|
213
|
+
ffi (~> 1.0)
|
|
214
214
|
regexp_parser (1.3.0)
|
|
215
215
|
rspec (3.7.0)
|
|
216
216
|
rspec-core (~> 3.7.0)
|
|
@@ -261,7 +261,7 @@ GEM
|
|
|
261
261
|
timecop (0.8.1)
|
|
262
262
|
tzinfo (1.2.5)
|
|
263
263
|
thread_safe (~> 0.1)
|
|
264
|
-
uglifier (4.1.
|
|
264
|
+
uglifier (4.1.20)
|
|
265
265
|
execjs (>= 0.3.0, < 3)
|
|
266
266
|
unicode-display_width (1.4.0)
|
|
267
267
|
unparser (0.2.8)
|
|
@@ -272,7 +272,8 @@ GEM
|
|
|
272
272
|
equalizer (~> 0.0.9)
|
|
273
273
|
parser (>= 2.3.1.2, < 2.6)
|
|
274
274
|
procto (~> 0.0.2)
|
|
275
|
-
webdrivers (3.
|
|
275
|
+
webdrivers (3.6.0)
|
|
276
|
+
net_http_ssl_fix
|
|
276
277
|
nokogiri (~> 1.6)
|
|
277
278
|
rubyzip (~> 1.0)
|
|
278
279
|
selenium-webdriver (~> 3.0)
|
|
@@ -287,7 +288,7 @@ PLATFORMS
|
|
|
287
288
|
ruby
|
|
288
289
|
|
|
289
290
|
DEPENDENCIES
|
|
290
|
-
bundler (
|
|
291
|
+
bundler (>= 1.17.3, < 2.1)
|
|
291
292
|
chromedriver-helper
|
|
292
293
|
hyper-spec!
|
|
293
294
|
hyperstack-config!
|
|
@@ -302,4 +303,4 @@ DEPENDENCIES
|
|
|
302
303
|
timecop (~> 0.8.1)
|
|
303
304
|
|
|
304
305
|
BUNDLED WITH
|
|
305
|
-
|
|
306
|
+
2.0.1
|
data/hyperstack-config.gemspec
CHANGED
|
@@ -22,16 +22,15 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
spec.executables << 'hyperstack-hotloader'
|
|
23
23
|
spec.require_paths = ['lib']
|
|
24
24
|
|
|
25
|
-
spec.add_dependency 'libv8', '~> 6.3.0' # see https://github.com/discourse/mini_racer/issues/92
|
|
26
25
|
spec.add_dependency 'listen', '~> 3.0' # for hot loader
|
|
27
|
-
spec.add_dependency 'mini_racer', '~> 0.
|
|
26
|
+
spec.add_dependency 'mini_racer', '~> 0.2.4'
|
|
28
27
|
spec.add_dependency 'opal', '>= 0.11.0', '< 0.12.0'
|
|
29
28
|
spec.add_dependency 'opal-browser', '~> 0.2.0'
|
|
30
29
|
spec.add_dependency 'uglifier'
|
|
31
30
|
spec.add_dependency 'websocket' # for hot loader
|
|
32
31
|
|
|
33
32
|
|
|
34
|
-
spec.add_development_dependency 'bundler', '
|
|
33
|
+
spec.add_development_dependency 'bundler', ['>= 1.17.3', '< 2.1']
|
|
35
34
|
spec.add_development_dependency 'chromedriver-helper'
|
|
36
35
|
spec.add_development_dependency 'opal-rails', '~> 0.9.4'
|
|
37
36
|
spec.add_development_dependency 'pry'
|
data/lib/hyperstack/hotloader.rb
CHANGED
|
@@ -15,35 +15,33 @@ end
|
|
|
15
15
|
module Hyperstack
|
|
16
16
|
|
|
17
17
|
class Hotloader
|
|
18
|
-
def self.
|
|
19
|
-
@@
|
|
18
|
+
def self.callbacks
|
|
19
|
+
@@callbacks ||= Hash.new { |h, k| h[k] = Array.new }
|
|
20
20
|
end
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if match
|
|
30
|
-
file_name = file_name.gsub(match[1]+match[2], '')
|
|
31
|
-
callbackmaps[file_name][klass][instance_var].concat items
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
error = lambda do |err|
|
|
35
|
-
`console.error(#{"hyperstack hot loader could not find source file for callback: #{err}"})`
|
|
36
|
-
end
|
|
37
|
-
`StackTrace.get().then(#{callback}).catch(#{error})`
|
|
38
|
-
end
|
|
22
|
+
STACKDIRS = ['hyperstack/', 'corelib/']
|
|
23
|
+
|
|
24
|
+
def self.file_name(frame)
|
|
25
|
+
file_name = `#{frame}.fileName`
|
|
26
|
+
match = %r{^(.+\/assets\/)(.+\/)(.+\/)}.match(file_name)
|
|
27
|
+
return unless match && match[2] == match[3] && !STACKDIRS.include?(match[2])
|
|
28
|
+
file_name.gsub(match[1] + match[2], '')
|
|
39
29
|
end
|
|
40
30
|
|
|
41
|
-
def self.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
end
|
|
31
|
+
def self.when_file_updates(&block)
|
|
32
|
+
return callbacks[$_hyperstack_reloader_file_name] << block if $_hyperstack_reloader_file_name
|
|
33
|
+
callback = lambda do |frames|
|
|
34
|
+
frames.collect(&method(:file_name)).each { |name| callbacks[name] << block if name }
|
|
46
35
|
end
|
|
36
|
+
error = lambda do |e|
|
|
37
|
+
`console.error(#{"hyperstack hot loader could not find source file for callback: #{e}"})`
|
|
38
|
+
end
|
|
39
|
+
`StackTrace.get().then(#{callback}).catch(#{error})`
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def self.remove(file_name)
|
|
43
|
+
callbacks[file_name].each(&:call)
|
|
44
|
+
callbacks[file_name] = []
|
|
47
45
|
end
|
|
48
46
|
|
|
49
47
|
def connect_to_websocket(port)
|
|
@@ -82,7 +80,7 @@ module Hyperstack
|
|
|
82
80
|
puts "Reloading #{reload_request[:filename]} (asset_path: #{reload_request[:asset_path]})"
|
|
83
81
|
begin
|
|
84
82
|
#Hyperstack::Context.reset! false
|
|
85
|
-
file_name = reload_request[:asset_path]
|
|
83
|
+
file_name = reload_request[:asset_path].gsub(/.+hyperstack\//, '') # this gsub we need sometimes????
|
|
86
84
|
Hotloader.remove(file_name)
|
|
87
85
|
$eval_proc.call file_name, reload_request[:source_code]
|
|
88
86
|
rescue
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
# insure that stubs for Hyperstack::Hotloader.record and window.Hyperstack.hotloader are defined
|
|
2
2
|
# importing 'hyperstack/hotloader' will define/redefine these
|
|
3
|
+
# note that some internal hyperstack modules will use callbacks, which will call this, but it
|
|
4
|
+
# doesn't matter...
|
|
3
5
|
|
|
4
6
|
module Hyperstack
|
|
5
7
|
unless defined? Hotloader
|
|
6
8
|
class Hotloader
|
|
7
|
-
def self.
|
|
9
|
+
def self.when_file_updates(&block); end
|
|
8
10
|
end
|
|
9
11
|
end
|
|
10
12
|
end
|
data/lib/hyperstack/imports.rb
CHANGED
|
@@ -44,9 +44,19 @@ module Hyperstack
|
|
|
44
44
|
import client_and_server_manifest.split("/").last, at_head: true if client_and_server_manifest
|
|
45
45
|
end
|
|
46
46
|
|
|
47
|
+
def add_inflections(sys)
|
|
48
|
+
return [] unless sys
|
|
49
|
+
["puts \"require 'config/initializers/inflections.rb'\""] +
|
|
50
|
+
File.open(Rails.root.join('config', 'initializers', 'inflections.rb'), &:readlines).tap do
|
|
51
|
+
puts " require 'config/initializers/inflections.rb'"
|
|
52
|
+
end
|
|
53
|
+
rescue Errno::ENOENT
|
|
54
|
+
[]
|
|
55
|
+
end
|
|
56
|
+
|
|
47
57
|
def generate_requires(mode, sys, file)
|
|
48
58
|
handle_webpack
|
|
49
|
-
import_list.collect do |value, cancelled, render_on_server, render_on_client, kind|
|
|
59
|
+
(import_list.collect do |value, cancelled, render_on_server, render_on_client, kind|
|
|
50
60
|
next if cancelled
|
|
51
61
|
next if (sys && kind == :tree) || (!sys && kind != :tree)
|
|
52
62
|
next if mode == :client && !render_on_client
|
|
@@ -60,7 +70,7 @@ module Hyperstack
|
|
|
60
70
|
else
|
|
61
71
|
generate_directive(:require, value, file, render_on_server, render_on_client)
|
|
62
72
|
end
|
|
63
|
-
end.compact.join("\n")
|
|
73
|
+
end + add_inflections(sys)).compact.join("\n")
|
|
64
74
|
end
|
|
65
75
|
|
|
66
76
|
def generate_directive(directive, to, file, render_on_server, render_on_client)
|
data/lib/hyperstack/on_error.rb
CHANGED
data/lib/hyperstack/rail_tie.rb
CHANGED
|
@@ -2,7 +2,7 @@ module Hyperstack
|
|
|
2
2
|
|
|
3
3
|
class Engine < ::Rails::Engine
|
|
4
4
|
end
|
|
5
|
-
|
|
5
|
+
|
|
6
6
|
define_setting :add_hyperstack_paths, true
|
|
7
7
|
|
|
8
8
|
define_setting :prerendering_files, ['hyperstack-prerender-loader.js']
|
|
@@ -20,6 +20,8 @@ module Hyperstack
|
|
|
20
20
|
config.eager_load_paths += %W(#{config.root}/app/hyperstack/models)
|
|
21
21
|
config.eager_load_paths += %W(#{config.root}/app/hyperstack/models/concerns)
|
|
22
22
|
config.eager_load_paths += %W(#{config.root}/app/hyperstack/operations)
|
|
23
|
+
config.eager_load_paths += %W(#{config.root}/app/hyperstack/shared)
|
|
24
|
+
|
|
23
25
|
# rails will add everything immediately below app to eager and auto load, so we need to remove it
|
|
24
26
|
delete_first config.eager_load_paths, "#{config.root}/app/hyperstack"
|
|
25
27
|
|
|
@@ -27,6 +29,8 @@ module Hyperstack
|
|
|
27
29
|
config.autoload_paths += %W(#{config.root}/app/hyperstack/models)
|
|
28
30
|
config.autoload_paths += %W(#{config.root}/app/hyperstack/models/concerns)
|
|
29
31
|
config.autoload_paths += %W(#{config.root}/app/hyperstack/operations)
|
|
32
|
+
config.autoload_paths += %W(#{config.root}/app/hyperstack/shared)
|
|
33
|
+
|
|
30
34
|
# config.eager_load_paths += %W(#{config.root}/app/hyperstack/stores)
|
|
31
35
|
# config.autoload_paths += %W(#{config.root}/app/hyperstack/stores)
|
|
32
36
|
delete_first config.autoload_paths, "#{config.root}/app/hyperstack"
|
|
@@ -52,6 +56,9 @@ module Hyperstack
|
|
|
52
56
|
# delete_first config.autoload_paths, "#{config.root}/app/hyperstack/stores"
|
|
53
57
|
delete_first config.eager_load_paths, "#{config.root}/app/hyperstack/operations"
|
|
54
58
|
delete_first config.autoload_paths, "#{config.root}/app/hyperstack/operations"
|
|
59
|
+
delete_first config.eager_load_paths, "#{config.root}/app/hyperstack/shared"
|
|
60
|
+
delete_first config.autoload_paths, "#{config.root}/app/hyperstack/shared"
|
|
61
|
+
|
|
55
62
|
|
|
56
63
|
delete_first config.assets.paths, ::Rails.root.join('app', 'hyperstack').to_s
|
|
57
64
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hyperstack-config
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.alpha1.
|
|
4
|
+
version: 1.0.alpha1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Mitch VanDuyn
|
|
@@ -9,22 +9,8 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2019-01-17 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
|
-
- !ruby/object:Gem::Dependency
|
|
15
|
-
name: libv8
|
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
requirements:
|
|
18
|
-
- - "~>"
|
|
19
|
-
- !ruby/object:Gem::Version
|
|
20
|
-
version: 6.3.0
|
|
21
|
-
type: :runtime
|
|
22
|
-
prerelease: false
|
|
23
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
24
|
-
requirements:
|
|
25
|
-
- - "~>"
|
|
26
|
-
- !ruby/object:Gem::Version
|
|
27
|
-
version: 6.3.0
|
|
28
14
|
- !ruby/object:Gem::Dependency
|
|
29
15
|
name: listen
|
|
30
16
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -45,14 +31,14 @@ dependencies:
|
|
|
45
31
|
requirements:
|
|
46
32
|
- - "~>"
|
|
47
33
|
- !ruby/object:Gem::Version
|
|
48
|
-
version: 0.
|
|
34
|
+
version: 0.2.4
|
|
49
35
|
type: :runtime
|
|
50
36
|
prerelease: false
|
|
51
37
|
version_requirements: !ruby/object:Gem::Requirement
|
|
52
38
|
requirements:
|
|
53
39
|
- - "~>"
|
|
54
40
|
- !ruby/object:Gem::Version
|
|
55
|
-
version: 0.
|
|
41
|
+
version: 0.2.4
|
|
56
42
|
- !ruby/object:Gem::Dependency
|
|
57
43
|
name: opal
|
|
58
44
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -119,16 +105,22 @@ dependencies:
|
|
|
119
105
|
name: bundler
|
|
120
106
|
requirement: !ruby/object:Gem::Requirement
|
|
121
107
|
requirements:
|
|
122
|
-
- - "
|
|
108
|
+
- - ">="
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: 1.17.3
|
|
111
|
+
- - "<"
|
|
123
112
|
- !ruby/object:Gem::Version
|
|
124
|
-
version: 1
|
|
113
|
+
version: '2.1'
|
|
125
114
|
type: :development
|
|
126
115
|
prerelease: false
|
|
127
116
|
version_requirements: !ruby/object:Gem::Requirement
|
|
128
117
|
requirements:
|
|
129
|
-
- - "
|
|
118
|
+
- - ">="
|
|
119
|
+
- !ruby/object:Gem::Version
|
|
120
|
+
version: 1.17.3
|
|
121
|
+
- - "<"
|
|
130
122
|
- !ruby/object:Gem::Version
|
|
131
|
-
version: 1
|
|
123
|
+
version: '2.1'
|
|
132
124
|
- !ruby/object:Gem::Dependency
|
|
133
125
|
name: chromedriver-helper
|
|
134
126
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -342,8 +334,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
342
334
|
- !ruby/object:Gem::Version
|
|
343
335
|
version: 1.3.1
|
|
344
336
|
requirements: []
|
|
345
|
-
|
|
346
|
-
rubygems_version: 2.7.8
|
|
337
|
+
rubygems_version: 3.0.2
|
|
347
338
|
signing_key:
|
|
348
339
|
specification_version: 4
|
|
349
340
|
summary: Provides a single point configuration module for hyperstack gems
|