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 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