xieziyu / ngx-echarts

An angular (ver >= 2.x) directive for ECharts (ver >= 3.x)
https://xieziyu.github.io/ngx-echarts/
MIT License
1.11k stars 198 forks source link

treeshaking not working as expected #433

Open mchl18 opened 2 weeks ago

mchl18 commented 2 weeks ago

hi guys,

I wanted to use the instructions to use tree shaking and then did an analysis of the bundle.

See for yourself

image

thats a total of 6mb for rendering three different kinds of charts. don't think that's the way it was intended. echarts show up twice, once in the vendor module where it seems like everything gets pulled in and once outside of it.

here is. my config (./config/echarts-config.ts)

import {
  TitleComponent,
  TooltipComponent,
  GridComponent,
  DatasetComponent,
  TransformComponent,
  LegendComponent,
} from 'echarts/components';
import { BarChart, LineChart, PieChart } from 'echarts/charts';
import { LabelLayout, UniversalTransition } from 'echarts/features';
import { CanvasRenderer } from 'echarts/renderers';
import 'echarts/theme/macarons.js';
import * as echarts from 'echarts/core';

// Register the required components
echarts.use([
  BarChart,
  LineChart,
  TitleComponent,
  TooltipComponent,
  GridComponent,
  DatasetComponent,
  TransformComponent,
  LabelLayout,
  UniversalTransition,
  CanvasRenderer,
  LegendComponent,
  PieChart,
]);

export { echarts };

then in my app.module.ts

import { echarts } from './config/echarts-config';
import { NgxEchartsDirective, provideEchartsCore } from 'ngx-echarts';
....
 imports: [
    NgxEchartsDirective
 ],
 providers: [
    provideEchartsCore({ echarts })
 ],

please let me know if you can reproduce this.

mchl18 commented 2 weeks ago

found out sth.

this line

import 'echarts/theme/macarons.js'

appears to make a difference.

image

I am honestly not sure what is going on, I created a new fresh angular repo where I imported the exact same code but there I only got a couple hundred kb as expected, whereas this angular/ionic repo we are working on spits out the whole echarts dep when using this palette.

achraf-codemaster commented 1 week ago

Same issue 426 (5 months ago) not solved yet