Files
ngo/pnpm-workspace.yaml
zeekayandHanzo Dev d29fed2548 Pin the analytics client to keys that resolve
The single copy this file forces was 0.3.39, whose org key table names three
projects that no longer exist: every key answers 403 ingest_key_unknown, so
this site sent a beacon for each pageview and had every one refused while
looking healthy. 0.3.41 carries the values universe serves as
SPA_INGEST_KEYRING.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-08 18:06:10 -07:00

150 lines
5.4 KiB
YAML

# This repo is its own pnpm root. Two things depend on that being stated.
#
# `scripts/gui-css.mjs` bundles src/lib/gui.ts with esbuild before every build,
# and esbuild unpacks its binary in a postinstall — which pnpm blocks unless a
# root allows it. Unallowed, the install still succeeds and the build then fails
# at the first line of `pnpm run build`.
#
# And pnpm looks UPWARD for the nearest pnpm-workspace.yaml. Without one here it
# can settle on an ancestor that knows nothing about this project, where
# `pnpm install` reports "Already up to date" and installs none of the app's
# dependencies.
#
# sharp is next/image's optimiser. This site exports statically with
# `images.unoptimized`, so it is never called and its binary is not wanted.
allowBuilds:
esbuild: true
sharp: false
minimumReleaseAgeExclude:
- '@hanzo/[email protected] || 0.2.4 || 0.2.5'
- '@hanzo/[email protected]'
- '@hanzo/[email protected]'
- '@hanzogui/[email protected] || 8.3.3'
- '@hanzo/[email protected]'
- '@hanzo/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
# One copy of the analytics client, not two. `@hanzo/gui` and `@hanzo/ui` pin
# `@hanzogui/telemetry` to an exact version, and each pin drags its own
# `@hanzo/event`, so a bundle can carry two org key tables and which one a beacon
# uses depends on which module the import graph reached first. The key belongs to
# the domain; there is one right answer per domain, so there is one copy here.
#
# That copy has to be a version whose table names projects that exist. 0.3.39 and
# 0.3.40 name three that do not: all three keys answer `403 ingest_key_unknown`
# against /v1/event, so this site reported nothing at all while looking healthy.
# 0.3.41 carries the same values as universe's SPA_INGEST_KEYRING, checked one by
# one against the endpoint.
overrides:
'@hanzo/event': '0.3.41'
'@hanzo/observe': '0.1.11'
'@hanzogui/telemetry': '8.3.3'