Vigia

d3-cloud을(를) 1.x에서 2.x로 업그레이드하기

d3-cloud 1.2.9과 2.0.0의 공개 API를 TypeScript 타입에서 자동으로 비교한 결과입니다. 시그니처 변경은 호환성이 깨질 가능성이 있다는 뜻이며 확정은 아닙니다.

요약

삭제된 import 경로0
삭제된 export0
변경된 시그니처0
삭제된 클래스·인터페이스 멤버0
변경된 클래스·인터페이스 멤버0
새로 지원 중단됨0
요구 사항 변경 (engines, peer 의존성)1
새 export23

삭제된 export

감지되지 않았습니다.

변경된 시그니처

감지되지 않았습니다.

삭제된 클래스·인터페이스 멤버

감지되지 않았습니다.

변경된 클래스·인터페이스 멤버

감지되지 않았습니다.

새로 지원 중단됨

감지되지 않았습니다.

요구 사항 변경 (engines, peer 의존성)

이전이후
engines.node—>=20
새 export (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

패키지 작성자가 공개한 텍스트를 그대로 표시합니다.

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
 

이 데이터를 AI 에이전트에 제공하세요

Vigia는 무료 MCP 서버입니다. 코딩 에이전트가 코드를 작성하기 전에 버전, 호환성을 깨는 변경, 취약점을 확인합니다. 가입도 API 키도 필요 없습니다.

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

Cursor에 추가VS Code에 추가★ GitHub에서 스타 누르기

그 밖의 MCP 클라이언트
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

에이전트 스킬(SKILL.md): 에이전트에게 Vigia를 언제 쓸지 알려 줍니다 · 풀 리퀘스트용 GitHub Action

자주 묻는 질문

d3-cloud을(를) 1에서 2(으)로 업그레이드할 때 호환성이 깨지는 변경은 무엇인가요?

d3-cloud 1.2.9과 2.0.0 사이에서 Vigia는 삭제된 export 0개, 변경된 시그니처 0개, 삭제되거나 변경된 클래스·인터페이스 멤버 0개를 찾았습니다.

d3-cloud 2에서 지원 중단된 것은 무엇인가요?

d3-cloud 2.0.0에서 export 또는 멤버 0개가 새로 지원 중단으로 표시되었습니다.

에이전트용

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