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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 25f1a48808eb59fa31bb665f8c1d280d7d711b491f5c77167d6e2313444f33cd
4
- data.tar.gz: bb4b09439fbe1b66783c9e29c779d26f8cfc05c68c9eb34f684a91ec6f137eef
3
+ metadata.gz: 2dd271243b17fe6cd4c3a88780bf8663292ae58b0cc8f530bd631e02b869e452
4
+ data.tar.gz: f9b2b75988926440c03cd691c6df2296074dc140c5cd2a4184fefc62e9b02152
5
5
  SHA512:
6
- metadata.gz: 454de46cd61b6f960be911960e8a1f8f8c8645c9aa556ed14aa06a2ee8ddcfa02243a71c76886980fd2095c3386d33aa403d8fd3d5e916363a72052aef4ea474
7
- data.tar.gz: 840a5351d69e40f309a238ded585bd729d0c683072291e682347135ebd2f1b619b09a0e8076814ff740b6c7053ae65a658c491eb3c0683ec9610ac72d9354511
6
+ metadata.gz: a5f9d05f313ec2457860b32c3ae4b83e2c3f4d1230b9f3822e103858c7c0cc73a7b7d5cae6b263bbdc8c185bf6044e92096bce1ee0f25a882b05183c29aee484
7
+ data.tar.gz: 2b3d63c8286b3e4aa2469452b94cafabc57eb27637b92f49e3d678bd13474ea0cab43cec8f75f3fe844b5df1fdb9a94ba3848fd7fcfb5c2b5dcc0d846a5dda49
@@ -1,12 +1,12 @@
1
1
  PATH
2
2
  remote: ../hyper-spec
3
3
  specs:
4
- hyper-spec (1.0.alpha1.2)
4
+ hyper-spec (1.0.alpha1.3)
5
5
  capybara
6
6
  chromedriver-helper (= 1.2.0)
7
- libv8 (~> 6.3.0)
7
+ libv8
8
8
  method_source
9
- mini_racer (~> 0.1.15)
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.2)
24
- libv8 (~> 6.3.0)
23
+ hyperstack-config (1.0.alpha1.3)
25
24
  listen (~> 3.0)
26
- mini_racer (~> 0.1.15)
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.11.0)
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.9.25)
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.3.292.48.1)
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.1.15)
141
- libv8 (~> 6.3)
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.9.10)
213
- ffi (>= 0.5.0, < 2)
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.19)
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.4.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 (~> 1.16.0)
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
- 1.16.1
306
+ 2.0.1
@@ -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.1.15'
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', '~> 1.16.0'
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'
@@ -1,5 +1,5 @@
1
1
  module Hyperstack
2
2
  module Config
3
- VERSION = '1.0.alpha1.2'
3
+ VERSION = '1.0.alpha1.3'
4
4
  end
5
5
  end
@@ -15,35 +15,33 @@ end
15
15
  module Hyperstack
16
16
 
17
17
  class Hotloader
18
- def self.callbackmaps
19
- @@callbackmaps ||= Hash.new { |h, k| h[k] = Hash.new { |h1, k1| h1[k1] = Hash.new { |h2, k2| h2[k2] = Array.new }}}
18
+ def self.callbacks
19
+ @@callbacks ||= Hash.new { |h, k| h[k] = Array.new }
20
20
  end
21
21
 
22
- def self.record(klass, instance_var, depth, *items)
23
- if $_hyperstack_reloader_file_name
24
- callbackmaps[$_hyperstack_reloader_file_name][klass][instance_var].concat items
25
- else
26
- callback = lambda do |stack_frames|
27
- file_name = `#{stack_frames[depth]}.fileName`
28
- match = /^(.+\/assets\/)(.+\/)\2/.match(file_name)
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.remove(file_name)
42
- callbackmaps[file_name].each do |klass, instance_vars|
43
- instance_vars.each do |instance_var, items|
44
- klass.instance_variable_get(instance_var).reject! { |item| items.include? item }
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] #.gsub(/.+hyperstack\//, '')
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
@@ -3,7 +3,7 @@ module Hyperstack
3
3
  module AddErrorBoundry
4
4
  def self.included(base)
5
5
  base.after_error do |*err|
6
- @err = err
6
+ @err = Hyperstack::Internal::Component::RescueWrapper.after_error_args || err
7
7
  Hyperstack::Component.force_update!
8
8
  end
9
9
  base.define_method :render do
@@ -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.record(klass, instance_var, depth, *items); end
9
+ def self.when_file_updates(&block); end
8
10
  end
9
11
  end
10
12
  end
@@ -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)
@@ -1,5 +1,5 @@
1
1
  module Hyperstack
2
- def self.on_error(err, reason, details)
2
+ def self.on_error(err, reason, params, formatted_error_message)
3
3
  # do whatever you want here... i.e. log, debug, etc
4
4
  end
5
5
  end
@@ -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.2
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: 2018-11-16 00:00:00.000000000 Z
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.1.15
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.1.15
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.16.0
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.16.0
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
- rubyforge_project:
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