7 Commits
Author SHA1 Message Date
zeekayandHanzo Dev 213a746539 build: pin the package manager the config belongs to
The gate runs `corepack enable; pnpm install`, and package.json named no
packageManager — so CI took whatever pnpm the runner happened to carry. That is
why declaring onlyBuiltDependencies twice changed nothing: the setting moved
between pnpm versions, and neither location matched the version actually
running.

Pinned to the one this was verified against. With it, locally:

    pnpm install --frozen-lockfile   Done in 2s, exit 0
    pnpm build                       built in 1.29s
    dist/icons.es.js                 IconInsightsQL x2, IconHogQL x0

An unpinned package manager is the same defect as an unpinned linter — the
thing that reads your config has to be the thing you tested the config with.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-09 20:53:53 -07:00
zeekayandHanzo Dev f049bc09c3 build: declare the esbuild allowance where pnpm 10 reads it
package.json's `pnpm` block is not that place — pnpm 10 takes
onlyBuiltDependencies from pnpm-workspace.yaml, so the previous commit was
ignored and the install still ended in ERR_PNPM_IGNORED_BUILDS. Moved, and the
dead block dropped rather than left to look like it does something.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-09 20:51:16 -07:00
zeekayandHanzo Dev a123916f0f build: let esbuild run its install script
pnpm 10 does not run a dependency's build scripts unless the package says so,
and vite's bundled esbuild fetches its binary in exactly that step. Without it:

    [ERR_PNPM_IGNORED_BUILDS] Ignored build scripts: [email protected]

and `vite build` — which IS this repo's gate, since the build is what gets
published — fails. Red before this commit and unrelated to the icon rename; it
just had to be fixed before a release could carry it.

esbuild only, named rather than blanket-approved.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-09 20:49:32 -07:00
zeekayandHanzo Dev 5d4893f677 icons: IconInsightsQL and IconDesk
Two exports still carried the mascot, and a consumer cannot rename an export —
asking for IconInsightsQL against 0.36.7 gets "No matching export in
icons.es.js", which is what stopped the insights frontend build.

  IconHogQL   -> IconInsightsQL   the query language is InsightsQL everywhere it
                                  is named: 2,368 mentions in the app, plus
                                  insightsql-parser and @hanzo/insightsql-parser
  IconDeskHog -> IconDesk         DeskHog is PostHog's hardware; the icon is a desk

insights already imported the first as `IconHogQL as IconInsightsQL`, so the
alias goes away rather than moving — the export is simply called what the caller
already calls it.

Patch bump: 0.36.7 -> 0.36.8. Nothing else in the surface moves.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-09 20:48:07 -07:00
zeekayandHanzo Dev 804a5e6ea8 ci: canonical pair — hanzo.yml + forge caller
github.com has no runner for hanzo-build-linux-amd64, so a caller under
.github/workflows is a gate that can never be scheduled. This is the ~7-line
caller on the plane that can (git.hanzo.ai git-runner fleet), pinned @v1.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-06 02:35:01 -07:00
zeekayandHanzo Dev 189a860379 icons: ship NOTICE in the tarball
npm includes LICENSE automatically but not NOTICE, and NOTICE is where the
upstream derivation is recorded.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-01 10:37:59 -07:00
zeekayandHanzo Dev fe7cb10494 icons: give this package a source tree, and emit the Icon class
@hanzo/[email protected].6 was published with no source repository behind
it: on npm it is byte-identical to @posthog/[email protected].6 with only the package
name changed, so the fork existed as a published artifact and nowhere else.
The source here is recovered from that artifact's sourcemaps.

Two things change from 0.36.6.

Icons emit className "Icon" instead of "LemonIcon". Our stylesheets moved to
.Icon, so every icon from this package lost its only sizing rule and rendered
at full viewBox size. Insights carries a transitional rule matching both
selectors; this lets that rule go away.

Build output is dist/icons.* instead of dist/posthog-icons.*, so the upstream
project name no longer appears in consumer-visible paths.

The icon payload itself is untouched: 319 exports and 439 SVG path definitions,
identical to 0.36.6.

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