GithubHelp home page GithubHelp logo

Comments (5)

vasturiano avatar vasturiano commented on August 24, 2024 8

@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.

bbeaumatin avatar bbeaumatin commented on August 24, 2024 1

@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.

vasturiano avatar vasturiano commented on August 24, 2024

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.

tomazy avatar tomazy commented on August 24, 2024

@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.

bbeaumatin avatar bbeaumatin commented on August 24, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.