Code Monkey home page Code Monkey logo

Comments (11)

nathancahill avatar nathancahill commented on July 25, 2024 1

jsnext:main is now superseded by the module key, which is used to specify the es2015 entrypoint. Although Rollup proposed the original idea, Webpack 2 now supports the standard. This is the direction libraries are going. See the long discussion here: webpack/webpack#1979

from redux-immutable.

gajus avatar gajus commented on July 25, 2024

Would you consider a PR that adds multiple build outputs to match how Redux is built?

Whats the benefit of that in the context of redux-immutable?

redux-immutable utilises all the files that it loads. Rollup cannot remove anything.

from redux-immutable.

Velenir avatar Velenir commented on July 25, 2024

Does rollup implement tree shaking? Then maybe it can remove something in production.

from redux-immutable.

gajus avatar gajus commented on July 25, 2024

Then maybe it can remove something in production.

Remove what? Rollup is relevant only if it can determine (statically) that something is not being used. Tree shaking will be of value only to large libraries (think lodash). Purpose built libraries like redux-immutable have no benefit in using rollup (unless they themselves have big dependencies).

from redux-immutable.

Velenir avatar Velenir commented on July 25, 2024

You're right. At best it could get rid of utilities/getStateName.

from redux-immutable.

nathancahill avatar nathancahill commented on July 25, 2024

The benefit of including a "module" build in Redux-Immutable is that Rollup only looks at import/export statements to determine which dependencies to include. In this case, if Immutable were globally available, it would still be included in a bundle that uses Redux-Immutable, because Rollup doesn't understand the require('immutable') statement. It also speeds up the build process, since ES2015 modules can be included directly by Rollup without transpiling.

from redux-immutable.

gajus avatar gajus commented on July 25, 2024

I am all pro-rollup approach, I am just not happy with the-Rollup. I think the user base is too insignificant to cater for. This will land in one shape or form in Node.js v8 and webpack v3.

from redux-immutable.

nathancahill avatar nathancahill commented on July 25, 2024

What I'm proposing isn't specific to Rollup. It's good practice for any library. Especially since it would match the rest of the React ecosystem.

from redux-immutable.

gajus avatar gajus commented on July 25, 2024

jsnext:main package.json field is rollup specific. Of course, correct me if I am wrong.

from redux-immutable.

nathancahill avatar nathancahill commented on July 25, 2024

So before I publish a fork on npm, that's a hard no on adding es modules to your build?

from redux-immutable.

gajus avatar gajus commented on July 25, 2024

So before I publish a fork on npm, that's a hard no on adding es modules to your build?

Go ahead with a fork.

I will need to read up about the module situation in Node.js land today and whats the consensus and long term strategy. This is not going to happen today or tomorrow.

from redux-immutable.

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.