Vigia

Nâng cấp d3-cloud từ 1.x lên 2.x

So sánh API công khai của d3-cloud 1.2.9 và 2.0.0, được tính tự động từ kiểu TypeScript. Chữ ký thay đổi là thay đổi có thể không tương thích, không phải điều chắc chắn.

Tóm tắt

Đường dẫn import bị xóa0
Export bị xóa0
Chữ ký thay đổi0
Thành viên lớp hoặc interface bị xóa0
Thành viên lớp hoặc interface thay đổi0
Mới bị ngừng hỗ trợ0
Thay đổi yêu cầu (engines, phụ thuộc peer)1
Export mới23

Export bị xóa

Không phát hiện.

Chữ ký thay đổi

Không phát hiện.

Thành viên lớp hoặc interface bị xóa

Không phát hiện.

Thành viên lớp hoặc interface thay đổi

Không phát hiện.

Mới bị ngừng hỗ trợ

Không phát hiện.

Thay đổi yêu cầu (engines, phụ thuộc peer)

TrướcSau
engines.node—>=20
Export mới (23)
importexportkind
d3-cloudBoundstype
d3-clouddefaultclass
d3-cloudImageLiketype
d3-cloudCanvasLikeinterface
d3-cloudTextSourcetype
d3-cloudBoundsPointinterface
d3-cloudCloudLayoutclass
d3-cloudCloudSpriteclass
d3-cloudPlaceOptionsinterface
d3-cloudPlacedSpriteinterface
d3-cloudRandomSourcetype
d3-cloudStrategyNametype
d3-cloudStrategySeedinterface
d3-cloudnoneStrategyfunction
d3-cloudCanvasFactorytype
d3-cloudSpriteOptionsinterface
d3-cloudStrategyContextinterface
d3-cloudStrategyFactorytype
d3-cloudStrategyCandidatetype
d3-cloudStrategyGeneratortype
d3-cloudImageSpriteOptionsinterface
d3-cloudarchimedeanStrategyfunction
d3-cloudrectangularStrategyfunction

Changelog giữa các phiên bản này

Văn bản do tác giả gói công bố, hiển thị nguyên trạng.

2.0.0
See the [1.x to 2.x migration guide](./MIGRATING.md) before upgrading.
Dependencies constrained to 1.x continue to use the old API.

### Breaking

- Set the minimum Node.js version to 20, matching the CI test matrix.
- Switched the package to ESM-only publishing and removed the old Browserify /
  CommonJS distribution shape.
- Removed the UMD/script-tag build, the `d3.layout.cloud` global, and the
  `d3-dispatch` dependency. Browser scripts must use ESM imports.
- Changed the default rotation from random multiples of 30 degrees to zero,
  and the default font size from `sqrt(value)` to 1. Set styling explicitly.
- Input word objects are no longer mutated. Placement returns separate plain
  words, and callers control the word ordering.
- Custom data is carried in a single `datum` option, stored by reference on
  sprites and placed words. Other option fields are ignored rather than copied
  onto sprites and results, so built-in field names are no longer reserved.
- Replaced the old event-driven factory API (`start()`, `stop()`, `on()`,
  `words()`, `timeInterval()`, accessor-based text/font configuration) with the
  class-based `CloudLayout` / `CloudSprite` API.
- Replaced the old `spiral()` API with `strategy()`.
- Moved source files under `src/` and renamed the browser bundle to
  `build/d3-cloud.js`.
- Changed placement configuration so `size([width, height])` defines the
  centered layout box, while `overflow(true | false)` controls whether
  placement may extend beyond that box.
- Text padding now uses round stroke joins instead of the canvas default miter
  joins, so padding extends exactly `padding` pixels from the glyph outline
  rather than up to ten times that at sharp corners. Padded masks, and layouts
  that depend on them, differ from 1.x.
- The rectangular strategy now visits every point of a 4-pixel grid in rings
  shaped to the aspect ratio, instead of stepping four pixels times the aspect
  ratio along the longer axis. Rectangular layouts differ from 1.x, and pack
  densely at any aspect ratio.
- Both built-in spirals stretch to the aspect ratio only up to 64:1. Beyond
  that they barely moved along the shorter axis, so a search starting in a
  blocked column or row could take minutes and then fail. Layouts with more
  extreme aspect ratios differ from 1.x.
- Invalid arguments throw instead of being silently replaced: non-finite
  coordinates, sizes, rotations, padding, image dimensions and strategy
  candidates; negative padding; `size()` dimensions outside 0–16,777,216;
  `blockSize()` outside 1–4096; a `random()` that is not a function or returns
  anything but a number in `[0, 1)`; fonts the canvas rejects; canvases
  without a 2d context; and canvases whose `getImageData()` returns more than
  one pixel per canvas unit, as some old high-density WebKit canvases did.

### Added

- Added `CloudLayout.getSprite(...)` for explicit sprite preparation and
  `place()` for caller-controlled placement. Sprites are immutable masks with
 

Cung cấp dữ liệu này cho tác tử AI của bạn

Vigia là máy chủ MCP miễn phí: tác tử lập trình của bạn kiểm tra phiên bản, thay đổi phá vỡ tương thích và lỗ hổng trước khi viết mã. Không cần đăng ký, không cần khóa API.

claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp

Thêm vào CursorThêm vào VS Code★ Gắn sao trên GitHub

Mọi ứng dụng MCP khác
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

Kỹ năng cho tác tử (SKILL.md): cho tác tử biết khi nào dùng Vigia · GitHub Action cho pull request

Câu hỏi thường gặp

Nâng cấp d3-cloud từ 1 lên 2 có những thay đổi không tương thích nào?

Giữa d3-cloud 1.2.9 và 2.0.0, Vigia tìm thấy 0 export bị xóa, 0 chữ ký thay đổi và 0 thành viên lớp hoặc interface bị xóa hay thay đổi.

Những gì bị ngừng hỗ trợ trong d3-cloud 2?

0 export hoặc thành viên mới bị đánh dấu ngừng hỗ trợ trong d3-cloud 2.0.0.

Dành cho tác tử

GET https://vigia.coredls.cloud/v1/packages/npm/d3-cloud/upgrade?from=1.2.9&to=2.0.0