Skip to main content
Version: 3.11.0-beta.115 (Latest)

Introduction

Local linking allows you to develop and test a library in the context of an application before it's published or when you encounter a bug that you suspect is related to a library. With Yarn, this can be achieved through the yarn link command.

You can take a look at the Cornerstonejs tutorial for linking https://www.cornerstonejs.org/docs/contribute/linking

Linking with bun

The instructions above describe how to use yarn for local linking. Some use bun for day-to-day code linking and execution. The method to link locally using bun differs slightly.

tip

Linking locally with bun provides for running the playwright tests locally so as to include (and test) local changes from Cornerstone3D!

In the local Cornerstone3D, simply replace yarn with bun for each of the commands. For example, in cornerstone/packages/core the following would be done.

# In cornerstone/packages/core
bun unlink
bun link
bun dev

In OHIF, edit the root package.json file to include the cornerstone3D packages to link and add them to the resolutions.

For example here is a snippet of the package.json file linking cornerstone core and tools locally. Add whichever cornerstone packages to link locally in the resolutions.

  ...
"resolutions": {
"commander": "8.3.0",
"path-to-regexp": "0.1.12",
"@cornerstonejs/core": "link:@cornerstonejs/core",
"@cornerstonejs/tools": "link:@cornerstonejs/tools",
...
},
...

In OHIF, run bun install -f and then run OHIF using either bun dev or bun dev:fast.