Comments (5)
@bbeaumatin @tomazy I think it's a good idea to provide separate packages, for cases when tree-shaking is difficult to configure. So, I went ahead and just published them, that means you can now do:
import ForceGraph2D from 'react-force-graph-2d';
Hopefully that helps with the bundle sizes. :)
from react-force-graph.
@vasturiano Thanks a lot for that splitting, in the end the result is close to using import ForceGraph from 'react-force-graph/src/ForceGraph2D'
but it saves a lot of time during the npm install
since it doesn't need anymore all the dependencies used in the VR and the 3D components. Not something we do everyday on our local dev environments but multiple times a day on our CI pipeline.
from react-force-graph.
Hi @bbeaumatin , if you use a build framework that has tree-shaking abilities, you should not be bundling code that is not being imported. I know rollup
does tree-shaking. I thought webpack
could do it too?
If you can't get tree-shaking to work, a possible work around is to import force-graph instead, and apply a React wrapper: react-kapsule around it. react-force-graph
is basically just that scaffolding.
from react-force-graph.
@bbeaumatin If you're using webpack you can try:
import ForceGraph from 'react-force-graph/src/ForceGraph2D'
@vasturiano Thanks for the workaround with react-kapsule
- I ended up using it instead of react-force-graph
. 400MB of AFrame was a bit too much ;-) Would you consider splitting this package into 3 separate ones (react-force-graph-2d
, react-force-graph-3d
and react-force-graph-vr
)?
Thanks for your work! Great stuff!
from react-force-graph.
Hi, thanks to both of you for the answers. @tomazy's first trick worked instantly and was easy to implement. But I will for sure investigate in why webpack tree shaking didn't work in my initial case.
And i'll take a look also into react-kapsule.
Again... great work, really easy to use components. Thank you very much!
from react-force-graph.
Related Issues (20)
- appending nodes gives: Cannot create property 'vx' on string
- Performance issue when utilizing Parcel to build project.
- How to have coordinates of real positions of nodes according to the window when zoom in on hover HOT 2
- how to stop force directed graph from moving the nodes?
- how to get a graph with less spacing? HOT 3
- How can i add minimap for graph? HOT 1
- Uncaught TypeError: object null is not iterable HOT 1
- when add style zoom to root dom,node cannot trigger click and hover events
- The 3d graph suddenly hops or flickers at regular intervals HOT 2
- Is there an example of displaying a label on a link in ForceGraph2D? HOT 1
- Can't remove force with TypeScript interface for d3Force HOT 1
- I cannot modify d3Force parameters and have them visible in a simulation. HOT 1
- Graph reloading when hovering the menu HOT 7
- Search for node by node.id then can focus camera on that node
- Lasso tool for 2d node/edge selection
- a bug
- Vector Embeddings --> UMAP projections of nodes for organizing within 2 or 3-D space. HOT 1
- Load node data on hover
- Scaling issue with HTML labels HOT 1
- Copying the graph data to itself results in orphan nodes
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-force-graph.