Comments (7)
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.
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.
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.
var NGB_MODULES = [NgbAccordionModule, NgbAlertModule, NgbCarouselModule, NgbCollapseModule, NgbDatepickerModule, NgbDropdownModule, NgbModalModule, NgbNavModule, NgbOffcanvasModule, NgbPaginationModule, NgbPopoverModule, NgbProgressbarModule, NgbRatingModule, NgbScrollSpyModule, NgbTimepickerModule, NgbToastModule, NgbTooltipModule, NgbTypeaheadModule];
from ng-bootstrap.
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.
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.
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)
- ngbAccordionToggle is not disabled when ngbAccordionItem is disabled
- ngbDropdown inside ngbNavLink causes error
- Feature request: expose componentRef in NgbModalRef HOT 1
- ngbAccordionCollapse does not collapse when ngbAccordionItem is disabled
- Accordion directive ignores Input Id
- Offcanvas is not dismissed, starts to stack HOT 1
- i am facing issue when i build the angular application HOT 2
- accordion prevent close (or open) of a item.
- Tooltip preventOverflow option HOT 2
- DatePICKER ISSUE OR BUG HOT 4
- Popover autoClose not dynamic HOT 4
- Users using a keyboard are unable to scroll down the modal when opened using arrow keys.
- ngb-offcanvas: container option not working HOT 5
- NgbDropdown using autoClose in template and dynamically changing it does not work HOT 4
- adding ngbNavLink cause all subsequent elements to be invisible HOT 1
- NgbDatePicker does not follow Internationalization format for firstDayOfWeek HOT 2
- NgbOffcanvasRef and NgbModalRef should expose a ComponentRef HOT 3
- close() should not trigger openChange, if invoked from ngOnDestroy
- ERROR NullInjectorError: R3InjectorError(AppModule)[NgbDropdown -> NgbDropdown]: NullInjectorError: No provider for NgbDropdown HOT 1
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 ng-bootstrap.