opal-zeitwerk 0.1.0 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -10
- data/lib/opal/zeitwerk/version.rb +1 -1
- data/opal/zeitwerk/explicit_namespace.rb +3 -3
- data/opal/zeitwerk/kernel.rb +1 -0
- data/opal/zeitwerk/loader.rb +736 -737
- metadata +8 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd3da62e0904361d965aef2356a01a9986bfc9327fde097a63d853f36d5caf01
|
4
|
+
data.tar.gz: 03b183ba318d3282788f1fdc485fa64c5696c396185eb4be0bdb417265a1058c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '085142a58c566dd064bec23da78bfd124810c07213c51d0522649e05135b8cd6978a39625dd2674e123b87bce274d2826b7d53f56f66a51c041d6293eee6ca9a'
|
7
|
+
data.tar.gz: '031668ece73eb6ba6e043047f24b36efcdb8a50e9f06b0a28937b127876bf2d154296db4ef66103a41c12cf99c65132b3d95ccf26914dd801824e6fbfec6451d'
|
data/README.md
CHANGED
@@ -51,7 +51,7 @@ Differences to Ruby Zeitwerk:
|
|
51
51
|
- no logging (to keep asset size small and performance high)
|
52
52
|
- no gem specific support: GemInflector, for_gem, etc.
|
53
53
|
|
54
|
-
These don't make so much sense, as Opal Zeitwerk works on the global Opal.modules registry in the Browser, not the filesystem.
|
54
|
+
These don't make so much sense, as Opal Zeitwerk works on the global Opal.modules registry in the Browser, not the filesystem.
|
55
55
|
- Zeitwerk::Loader.set_autoloads_in_dir is public, so it can be called from lazy loaded code, after updating Opal.modules.
|
56
56
|
- There are no threads in javascript so thread support has been removed.
|
57
57
|
- Tests don't run yet.
|
@@ -167,13 +167,9 @@ should define `Geolocatable`, not `Concerns::Geolocatable`.
|
|
167
167
|
<a id="markdown-usage" name="usage"></a>
|
168
168
|
## Usage
|
169
169
|
|
170
|
-
Currently autoloading requires the es6_modules_1_1 branch along with the Opal es6_modules compiler options enabled.
|
171
|
-
This option is enabled by default with using [opal-webpack-loader](https://github.com/isomorfeus/opal-webpack-loader) to bundle opal code.
|
172
|
-
|
173
170
|
Add to the Gemfile:
|
174
171
|
```
|
175
|
-
gem 'opal',
|
176
|
-
gem 'opal-webpack-loader', '~> 0.9.7' # required
|
172
|
+
gem 'opal', '>= 1.3.0'
|
177
173
|
gem 'opal-zeitwerk', '~> 0.0.1'
|
178
174
|
```
|
179
175
|
|
@@ -186,7 +182,7 @@ require 'zeitwerk'
|
|
186
182
|
### Setup
|
187
183
|
Files must be included in the compiled asset by:
|
188
184
|
```
|
189
|
-
require_tree 'some_dir', :
|
185
|
+
require_tree 'some_dir', autoload: true
|
190
186
|
```
|
191
187
|
And added to the loader by:
|
192
188
|
```
|
@@ -451,10 +447,9 @@ As a workaround, you can eager load. Zeitwerk tries hard to succeed or fail cons
|
|
451
447
|
<a id="markdown-supported-opal-versions" name="supported-opal-versions"></a>
|
452
448
|
## Supported Opal versions
|
453
449
|
|
454
|
-
Opal Zeitwerk currently works
|
455
|
-
For the Gemfile:
|
450
|
+
Opal Zeitwerk currently works with Opal releases >= 1.3.0. For the Gemfile:
|
456
451
|
```
|
457
|
-
gem 'opal',
|
452
|
+
gem 'opal', '>= 1.3.0'
|
458
453
|
```
|
459
454
|
|
460
455
|
<a id="markdown-motivation" name="motivation"></a>
|
@@ -51,12 +51,12 @@ module Zeitwerk
|
|
51
51
|
# If the class is a singleton class, we won't do anything with it so we
|
52
52
|
# can bail out immediately. This is several orders of magnitude faster
|
53
53
|
# than accessing its name.
|
54
|
-
return if event.singleton_class?
|
54
|
+
return if event.self.singleton_class?
|
55
55
|
|
56
56
|
# Note that it makes sense to compute the hash code unconditionally,
|
57
57
|
# because the trace point is disabled if cpaths is empty.
|
58
|
-
if loader = cpaths.delete(real_mod_name(event))
|
59
|
-
loader.on_namespace_loaded(event)
|
58
|
+
if loader = cpaths.delete(real_mod_name(event.self))
|
59
|
+
loader.on_namespace_loaded(event.self)
|
60
60
|
disable_tracer_if_unneeded
|
61
61
|
end
|
62
62
|
end
|
data/opal/zeitwerk/kernel.rb
CHANGED