Get Started
Spotlight relies on a pnpm monorepo. You’ll need to install pnpm to get things going, which can be done with Volta.
Pull down the repo (or your fork):
git clone https://github.com/getsentry/spotlight.git
Ensure the node and pnpm are available:
volta install node pnpm
Make sure you enable pnpm
support for Volta
:
# Add this to your profile file or startup scriptVOLTA_FEATURE_PNPM=1
Install the package requirements:
pnpm install
And finally, run an initial build:
pnpm build
Development
From there you can spin up the Spotlight repo into watch mode:
pnpm dev:overlay
Depending on what you’re doing there’s two paths to develop against the overlay.
If you simply want to run Spotlight against the example application, you can spin that up using:
pnpm dev:playground
Additionally you may want to link it into an existing project. This is a little brittle, and we’re not experts here, so your mileage may vary.
First, when in the Spotlight root directory, you’ll need to link the packages you’re referencing (likely @spotlightjs/spotlight
):
pnpm link --global -C packages/spotlight
You can now link these within your project. For example if you’re using pnpm
:
pnpm link --global @spotlightjs/spotlight
Repository Structure
The monorepo is mostly straight forward, but here’s a quick summary:
spotlight└── packages ├── overlay // @spotlightjs/overlay - the main overlay ├── sidecar // @spotlightjs/sidecar - the sidecar (proxy) for streaming data ├── spotlight // @spotlightjs/spotlight - the main spotlight package, combining overlay and sidecar ├── tsconfig // @spotlightjs/tsconfig - shared tsconfig └── website // @spotlightjs/website - the main overlay