Code Monkey home page Code Monkey logo

Comments (7)

jnizet avatar jnizet commented on May 25, 2024

Hi @alexnoise79

OK, but the point of optimization: true is precisely to avoid having such huge bundles, and to remove what isn't actually used by the application.
Isn't it a bit weird to opt out of the mechanism designed to reduce bundle sizes and then be surprised about getting a big bundle size?

from ng-bootstrap.

alexnoise79 avatar alexnoise79 commented on May 25, 2024

Hi @jnizet

yes i l know, but is the only way to see all the module names

in any case even with optimization:false the bundle still contains all the modules, and this is wrong.

i updated the description, thanks

from ng-bootstrap.

jnizet avatar jnizet commented on May 25, 2024

It's not wrong. The optimization is precisely designed to tree-shake the bundles and remove the unused parts.
I don't understand what you mean by "is the only way to see all the module names".

from ng-bootstrap.

alexnoise79 avatar alexnoise79 commented on May 25, 2024

@jnizet

var NGB_MODULES = [NgbAccordionModule, NgbAlertModule, NgbCarouselModule, NgbCollapseModule, NgbDatepickerModule, NgbDropdownModule, NgbModalModule, NgbNavModule, NgbOffcanvasModule, NgbPaginationModule, NgbPopoverModule, NgbProgressbarModule, NgbRatingModule, NgbScrollSpyModule, NgbTimepickerModule, NgbToastModule, NgbTooltipModule, NgbTypeaheadModule];

from ng-bootstrap.

jnizet avatar jnizet commented on May 25, 2024

That is part of the unoptimized bundle. If you turn optimization on, it will be removed. That's what optimization is for.

from ng-bootstrap.

alexnoise79 avatar alexnoise79 commented on May 25, 2024

@jnizet

you are right, i checked the minified does not contain all, even if in some scenario i have "ngbDropdown" that have not been imported in other modules.

there is no way to tree-shake the unoptimized bundle?

from ng-bootstrap.

PieterjanDeClippel avatar PieterjanDeClippel commented on May 25, 2024

This is because the library has only a single entrypoint. For libraries ng-packagr will always produce chunks per entrypoint, and so loading a single module from this entrypoint drags the entire entrypoint into the bundle.

Some time ago I asked about this on StackOverflow, but still investigated everything myself. The library should be structured like this with entrypoints next to the src folder

from ng-bootstrap.

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.