Open vhdirk opened 2 years ago
@vhdirk as part of the updates to latest angular and echarts. the recommendation is that you pull in echarts using the script
array within your angular.json. This is due to the way echarts is packaged as a CommonJs Module.
example from our app
"scripts": [
"node_modules/echarts/dist/echarts.js"
]
@owilliams320 Thanks for the reply. I realize that it can indeed work that way. However, we're then completely missing out on the tree-shaking capabilities, which would be quite sad.
Yes that would be an issue needed to be raised with echarts project. The problem is their package is only commonjs
I'll create an issue with them then. What package type would it need to be?
@owilliams320 I'm pretty sure v5 introduced modules for better tree shaking. I know I seen it in echart for react and they have an example on their site. @vhdirk any interest in taking a look and contributing?
@JoshSchoen I mentioned in the gitter channel that I'd be willing to contribute, yes.
Describe the bug The function
registerThemes
, but also pretty much every other class/function, expects theecharts
object to be available in the global scope. At first I though this was only for lazily loaded modules, but I can reproduce it for the root component as well.Stacktrace:
To Reproduce Steps to reproduce the behavior:
Expected behavior Echarts should just load. At this point, it is just not usable.
Desktop: any
Smartphone: any
Additional context It should be possible to import the echarts library using
import * as echarts from 'echarts';
. However, I think the echarts object should be a singleton, so it should be provided in a service (that isprovededIn: 'root'
). I think the best option would be to clone what they did in: https://www.npmjs.com/package/ngx-echarts#treeshaking-custom-buildI think each covalent echarts submodule could register what it uses on the global 'echarts' object?