Skip to content

chore(deps): bump d3 from 3.5.17 to 7.9.0 in /superset-frontend - #45198

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/npm_and_yarn/superset-frontend/d3-7.9.0
Open

dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/npm_and_yarn/superset-frontend/d3-7.9.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Bumps d3 from 3.5.17 to 7.9.0.

Release notes

Sourced from d3's releases.

v7.9.0

v7.8.5

  • Fix the return value of d3.medianIndex and d3.quantileIndex when the data contains missing values. #275

v7.8.4

v7.8.3

v7.8.2

v7.8.1

  • Tolerate invalid input values when generating contours. #61
  • Tolerate invalid input weights when generating density contours. #65
  • Fix missing contours at extrema when using default thresholds. #68

v7.8.0

  • Add d3.pathRound.
  • Add configurable precision when generating path data via path.digits.
  • Add likewise shape.digits method to d3.arc, d3.area, d3.line, d3.link, and d3.symbol.
  • Improve the performance of d3.geoPath’s string concatenation.
  • Fix arc rendering for small arcs with rounded corners.
  • Fix BumpRadial implementation to support multiple points.
  • Fix projection when lambda is outside the range ±3π.
  • Rename d3.symbolX to d3.symbolTimes; d3.symbolX is now deprecated.

v7.7.0

v7.6.1

v7.6.0

... (truncated)

Changelog

Sourced from d3's changelog.

Changes in D3 7.0

Released June 11, 2021.

This document covers only major changes. For minor and patch changes, please see the release notes.

D3 now ships as pure ES modules and requires Node.js 12 or higher. For more, please read Sindre Sorhus’s FAQ.

d3.bin now ignores nulls. d3.ascending and d3.descending no longer consider null comparable.

Ordinal scales now use InternMap for domains; domain values are now uniqued by coercing to a primitive value via object.valueOf instead of coercing to a string via object.toString.

Array-likes (e.g., a live NodeList such as element.childNodes) are converted to arrays in d3.selectAll and selection.selectAll.

Changes in D3 6.0

Released August 26, 2020.

D3 now uses native collections (Map and Set) and accepts iterables. d3.group and d3.rollup are powerful new aggregation functions that replace d3.nest and work great with d3-hierarchy and d3-selection. There are lots of new helpers in d3-array, too, such as d3.greatest, d3.quickselect, and d3.fsum.

D3 now passes events directly to listeners, replacing the d3.event global and bringing D3 inline with vanilla JavaScript and most other frameworks.

d3-delaunay (based on Vladimir Agafonkin’s excellent Delaunator) replaces d3-voronoi, offering dramatic improvements to performance, robustness, and search. And there’s a new d3-geo-voronoi for spherical (geographical) data! d3-random is greatly expanded and includes a fast linear congruential generator for seeded randomness. d3-chord has new layouts for directed and transposed chord diagrams. d3-scale adds a new radial scale type.

… and a variety of other small enhancements. More than 450 examples have been updated to D3 6.0!

d3-array

... (truncated)

Commits

@dependabot dependabot Bot added dependabot major Dependabot PRs that bump major version for dependencies npm Dependabot - npm related PRs labels Oct 11, 2026
},
"dependencies": {
"d3": "^3.5.17",
"d3": "^7.9.0",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bumping d3 to ^7 here, and in the country-map, partition and world-map plugins, with no source changes will break these four charts at load time. Their src still does import d3 from 'd3' and calls v3-only APIs (d3.layout.chord, d3.svg.arc/d3.svg.chord in Chord.ts; d3.scale.linear, d3.mouse, d3.event in Partition.ts; d3.geo.path, d3.geo.centroid, d3.event in CountryMap.ts; d3.event in WorldMap.ts). v7 has no default export and none of those namespaces, and d3.event is gone, so Chord, Partition, Country Map and World Map would fail on render. The two failing sharded-jest-tests shards look like the same thing. Should this stay on v3, or is the migration of these four plugins meant to land with the bump?

@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/superset-frontend/d3-7.9.0 branch from e46b645 to e72b00d Compare October 12, 2026 22:45
@netlify

netlify Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for superset-docs-preview ready!

Name Link
🔨 Latest commit f1befa2
🔍 Latest deploy log https://app.netlify.com/projects/superset-docs-preview/deploys/6ae47083d4ef7bebeb50805d
😎 Deploy Preview https://deploy-preview-45198--superset-docs-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/superset-frontend/d3-7.9.0 branch from e72b00d to ac1c3b3 Compare October 13, 2026 01:56
},
"dependencies": {
"d3": "^3.5.17",
"d3": "^7.9.0",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even once the v3 API calls are migrated, Jest still can't load the plugin-local d3 7.9.0: its entry is ESM (node_modules/d3/src/index.js), and transformIgnorePatterns in jest.config.js only lets d3-(array|interpolate|color|time|scale|time-format|format|selection) through Babel, not d3, d3-dispatch or d3-transition. That is what the failing sharded-jest-tests shards 1, 7 and 8 show: SyntaxError: Unexpected token 'export' at the country-map and world-map d3/src/index.js:1, before any assertion runs. Should the Jest transform allowlist be extended for the d3 7 dependency graph as part of this bump?

@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/superset-frontend/d3-7.9.0 branch 5 times, most recently from e2fe025 to 79768a5 Compare October 20, 2026 12:08

@rusackas rusackas left a comment •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one's not safe to merge as-is. plugin-chart-chord, plugin-chart-partition, plugin-chart-country-map, and plugin-chart-world-map all call straight into the v3 namespaced API directly: d3.svg.arc(), d3.scale.linear(), d3.geo.path(), d3.behavior.zoom(), d3.event, d3.mouse(), the old callback-style d3.json(url, cb), none of which exist anymore as of v4 (the whole API got flattened/modularized, and d3.event/d3.mouse were removed later still). Bumping straight to 7.9.0 breaks all four plugins at runtime.

CI is green here because nothing actually exercises Chord.ts/Partition.ts/CountryMap.ts/WorldMap.ts. The existing tests only cover buildQuery/transformProps/controlPanel, not the rendering code that calls d3 directly. So passing CI isn't a real signal on this one.

Porting each plugin's d3 usage up to v7 is real work, not a mechanical bump. I'd hold this until that's done per-plugin rather than merge it now.

@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/superset-frontend/d3-7.9.0 branch 2 times, most recently from bf3dda0 to 49010d9 Compare October 21, 2026 03:06
@rusackas

Copy link
Copy Markdown
Member

Looked closer at this one. The jest failures are just the first symptom (d3 7.x ships ESM-only, so import d3 from 'd3' can't be required without a transform tweak), but underneath that it's a real API break too: WorldMap.ts and CountryMap.ts both use v3-era namespaced APIs that don't exist past v4 - d3.event, d3.geo.path()/d3.geo.centroid(), d3.behavior.zoom(), d3.mouse(), d3.scale.linear()-style scales, and the v3 callback form of d3.json(url, cb). Worse, WorldMap.ts also pulls in datamaps/dist/datamaps.all.min, a vendored, long-unmaintained library built against the same v3 global API shape - that one can't just be patched in our own code. lint-frontend doesn't catch any of this because d3 isn't typed, so it's all silently any. This needs a real v3->v7 migration of both chart plugins (and possibly dropping/replacing datamaps), not a bump. Tagging hold:needs-work.

@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/superset-frontend/d3-7.9.0 branch 6 times, most recently from f002df4 to 4b8b88c Compare October 24, 2026 03:52
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/superset-frontend/d3-7.9.0 branch 13 times, most recently from dcebc22 to 7e57a36 Compare October 30, 2026 03:49
Bumps [d3](https://github.com/d3/d3) from 3.5.17 to 7.9.0.
- [Release notes](https://github.com/d3/d3/releases)
- [Changelog](https://github.com/d3/d3/blob/main/CHANGES.md)
- [Commits](d3/d3@v3.5.17...v7.9.0)

---
updated-dependencies:
- dependency-name: d3
  dependency-version: 7.9.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/superset-frontend/d3-7.9.0 branch from 7e57a36 to f1befa2 Compare October 30, 2026 10:25

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependabot dependencies:npm hold:needs-work major Dependabot PRs that bump major version for dependencies npm Dependabot - npm related PRs plugins size/XS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants