hyperstack-config 1.0.alpha1.2 → 1.0.alpha1.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|