-
Notifications
You must be signed in to change notification settings - Fork 14
Remove opal-activesupport dependency? #135
Comments
From @ajjahn on March 28, 2016 11:35 @wied03 If opal-activesupport were any where near the size of ruby active support, I'd definitely agree with you. But opal-activesupport is still quite lean. In fact older versions of react.rb implemented a handful of core extensions that I moved into the opal-activesupport gem to avoid multiple implementations of the same core ext. |
From @wied03 on March 28, 2016 15:36 Might be a fair point. How small is small though? And will opal-activesupport stay that way? Maybe as a compromise, getting rid of I know some files already do a granular require but the top level one is there. |
From @ajjahn on March 29, 2016 2:31 @wied03 I managed to compile all of active support into ~13k. It is quite possible never versions of active support would implement more or it's ruby counter part. I think you are correct to suggest simply being deliberate in only requiring extensions that are needed. That should protect against a growing size as AS matures. |
From @catmando on March 29, 2016 13:52 again the suggestion of either a basic vs. full version would answer this, or somehow making it configurable. |
From @wied03 on March 29, 2016 13:54 For this one I don't think you need a basic or full react.gem. it's just a sent from my mobile device
|
From @ajjahn on March 29, 2016 15:31
Exactly. AS isn't providing features to the user here. It's just allowing us to avoid recoding the wheel. Really, the more we lean on AS (and only require what which we need), the better. Users who include AS in their projects will benefit from the overlap. |
Seems like we currently only use the following modules from AS (all tests are passed too) require 'active_support/core_ext/object/try'
require 'active_support/core_ext/class/attribute' So I think it do provide a significant reduction if we start to adopt the granular require approach. Only drawback is that this will be a breaking change to user who relied on the automatically required AS modules. |
yeah so we lets do it at the next semantic release... |
Tested the master against latest release (0.10.0), the reduction of the built file size is 18% (from 327k to 268k) using script. |
From @wied03 on March 25, 2016 21:15
React-opal has this as well. If it's possible to remove it (like opal-browser) such that it's only included if higher level code needs it, that might help keep the core GEM lean.
Copied from original issue: zetachang/react.rb#135
The text was updated successfully, but these errors were encountered: