A version written into a manifest is written into every manifest that wants it, which is how eslint came to exist in a hundred and four forms across this estate and how a package came to resolve twice at run time. The catalog moves the number out of the manifest: a manifest names the package, the workspace names the version. Four are held below their latest because the newer release cannot be used, and the reason is recorded rather than the version alone: @noble/hashes 2 renamed every subpath the web3 stack imports, @splinetool/runtime 2 depends on a package that was never published, @dynamic-labs 5.4.1 the same, and react-resizable-panels 3 points its types condition at the bundle.
Insights demo project
Testing local changes to packages
This is a simple project used to test local changes to the Insights JS SDK packages.
Quick Start (Recommended)
Use the provided script that handles building, packaging, and running the dev server:
cd playground/nextjs
./bin/localdev.sh
With environment variables:
NEXT_PUBLIC_INSIGHTS_KEY='<your-local-api-key>' NEXT_PUBLIC_INSIGHTS_HOST='http://localhost:8010' ./bin/localdev.sh
This script will:
- Build all packages in the monorepo
- Package them into tarballs
- Install dependencies in the playground
- Start the dev server
Open http://localhost:3000?__insights_debug=true to see debug logs.
Manual Setup
If you prefer to run steps manually:
- From the root of the repo, build and package:
pnpm install
pnpm build
pnpm package
- From this folder, install dependencies and run dev:
pnpm install
NEXT_PUBLIC_INSIGHTS_KEY='<your-local-api-key>' NEXT_PUBLIC_INSIGHTS_HOST='http://localhost:8010' pnpm dev
How it works
The playground is excluded from the workspace (see pnpm-workspace.yaml). Dependencies are rewritten by playground/.pnpmfile.cjs to use tarballs from the target/ directory instead of workspace links. This means you must run pnpm package after making changes to see them in the playground.
Testing cross-subdomain tracking
We can locally debug the cross-domain behaviour of @hanzo/insights by editing our /etc/hosts file to point some fake subdomains to localhost. There are a few steps required to do this, these are the instructions for doing this on MacOS with Chrome:
Add the following to your /etc/host file:
127.0.0.1 www.insights.dev
127.0.0.1 app.insights.dev
To restart your DNS server on MacOS, run:
sudo killall -HUP mDNSResponder
Run this modified command to start the server. It will ask you to for sudo permissions to create a self-signed cert for https.
NEXT_PUBLIC_INSIGHTS_KEY='<your-local-api-key>' NEXT_PUBLIC_INSIGHTS_HOST='http://localhost:8000' pnpm dev-crossdomain
You can now open the subdomains we added to the host file, but you will likely see a warning about unsafe certificates. To get around this, in Chrome you can type thisisunsafe to bypass the warning.
The subdomains are:
Surveys testing guide
See surveys/CONTRIBUTING.md in the main insights repo for more details