lib/isomorfeus-react.rb in isomorfeus-react-16.11.1 vs lib/isomorfeus-react.rb in isomorfeus-react-16.11.2
- old
+ new
@@ -3,11 +3,11 @@
# require 'native'
# require 'promise'
# rely on i-redux to have included above reqiorements
require 'isomorfeus-redux'
require 'active_support/core_ext/string'
- require 'opal-autoloader'
+ require 'zeitwerk'
if Isomorfeus.on_browser?
require 'browser/event'
require 'browser/event_target'
require 'browser/delegate_native'
@@ -112,16 +112,21 @@
require 'lucid_app/native_lucid_component_constructor'
require 'lucid_app/native_component_constructor'
require 'lucid_app/mixin'
require 'lucid_app/base'
- Opal::Autoloader.add_load_path('components')
+ require 'react/vivify_module'
+
+ Isomorfeus.zeitwerk = Zeitwerk::Loader.new
+ Isomorfeus.zeitwerk.push_dir('components')
+ Isomorfeus.zeitwerk.vivify_mod_dir = 'components/'
+ Isomorfeus.zeitwerk.vivify_mod_class = React::VivifyModule
else
require 'oj'
require 'opal'
require 'opal-activesupport'
- require 'opal-autoloader'
+ require 'opal-zeitwerk'
require 'isomorfeus-redux'
require 'isomorfeus-speednode'
require 'react/version'
require 'isomorfeus/config'
@@ -144,6 +149,13 @@
Opal.append_path(__dir__.untaint)
if Dir.exist?('isomorfeus')
Opal.append_path(File.expand_path('isomorfeus')) unless Opal.paths.include?(File.expand_path('isomorfeus'))
end
+
+ require 'concurrent'
+ require 'zeitwerk'
+
+ Isomorfeus.zeitwerk = Zeitwerk::Loader.new
+ Isomorfeus.zeitwerk_lock = Concurrent::ReentrantReadWriteLock.new if Isomorfeus.development?
+ # nothing to push_dir to zeitwerk here, as components are available only within browser/SSR
end