The one critique I have of D3 is that it is becoming increasingly closely paired with Observable, such that when I'm searching for examples of how to make something in d3, I can only find Observable examples that require the Observable runtime in order to function properly.<p>I think the examples should have a JS native version in addition to the Observable implementation.
> Adopt type: module. #3501<p>Standard JS modules, very nice! D3 now works in all playgrounds and libraries even as dependencies without non-standard tooling!<p><a href="https://jsbin.com/ducosajehi/edit?html,output" rel="nofollow">https://jsbin.com/ducosajehi/edit?html,output</a><p>I do wish they didn't even publish UMD, that's a recipe for duplication if some libraries import the module and some import the UMD.
So, is d3 tree-shakeable yet? If I import { scaleLinear } from 'd3' in a webpack-built project, will I get only the scaleLinear code? As far as I remember, in v6 this will import a lot of (or perhaps the rest of) d3 as well.
Exciting to see ESM everywhere. It works so well with Observable. I'm trying to put live playgrounds at observable for my packages as part of docs [0] - just starting, nothing exciting to see there yet, but I think the concept of playground as part of docs is quite awesome.<p>[0] <a href="https://observablehq.com/@mirek/tsql-examples" rel="nofollow">https://observablehq.com/@mirek/tsql-examples</a>
Great! Nice to see very few breaking changes, the Dreamcast intro animation still works <a href="https://datacrayon.com/posts/visualisation/visualisation-with-d3/dreamcast-intro/" rel="nofollow">https://datacrayon.com/posts/visualisation/visualisation-wit...</a>
Used this in a data viz class and I’d say it’s overkill for most visualizations. Also very difficult to learn and frustrating to implement with all the “enter, exit” stuff. Excel, Tableau, etc so much easier and most of what you need to do visualizations in the corporate setting. Obviously it’s excellent for very specialized unusual visualizations but it’s rare those are really needed.