Comments (8)
@ericelliott I am sure it will lol, Il create some unit tests to make sure it works & keeps working 👍
from react-feature-toggles.
@GodOfGrandeur thanks for the reminder, just created #211
from react-feature-toggles.
I suppose we could use this, instead:
// Tiny, recursive autocurry
const curry = (
f, arr = []
) => (...args) => (
a => a.length === f.length ?
f(...a) :
curry(f, a)
)([...arr, ...args]);
But importing from lodash/fp/curry
should not cause that kind of bloat. That's worth investigating deeper, and (if true) reporting to Lodash.
What are you using to bundle?
from react-feature-toggles.
There's lots of blog posts about how lodash has massive bundle sizes. I'm not sure whats happening in this case but think the curry module is just badly packaged. I've attached a screenshot with it added to a standard create-react-app and source-map-explorer package added do the analysing.
Update: Seems to a issue with using the /fp/ version of the packages specifically.
from react-feature-toggles.
I like the idea of using our own curry function so that we can avoid adding webpack/rollup. Looks like we are only using lodash in that one spot as well, so we can also remove lodash as a dependency.
from react-feature-toggles.
@kennylavender LGTM. Does my autocurry spell work? It's very tiny. =)
from react-feature-toggles.
@kennylavender thanks for looking at this, have you been able to get anywhere with this yet?
from react-feature-toggles.
Published version 2.1.1 after #211
Bundle phobia now works:
https://bundlephobia.com/result?p=@paralleldrive/[email protected]
Size back down to 3.1kb from 47.36kb 👍
from react-feature-toggles.
Related Issues (20)
- Update createRouteMiddlware HOT 1
- Use feature-toggles package HOT 1
- Move unit tests right next to the file its testing.
- Relocate integration tests
- New Examples
- Feature Typing Issue
- Fix typings
- Feature Toggle UI HOT 2
- Carry over `ft` query param while navigating HOT 1
- Document that there is no route change watcher. HOT 1
- getCurrentActiveFeatureNames is a valid method? HOT 2
- Failed prop type: Invalid prop `activeComponent` of type `object` supplied to `Feature`, expected `function` HOT 5
- Need to update dependencies HOT 1
- Create next example
- Create next specific code HOT 1
- Action Required: Fix Renovate Configuration
- How to write tests for components using Feature HOT 1
- Typing error for typescript HOT 2
- Dependency Dashboard
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-feature-toggles.