Skip to content

Upgrade lucide-react to 1.x; expand smoke to cover all pages#89

Open
jamesbroadhead wants to merge 1 commit into
databricks-solutions:mainfrom
jamesbroadhead:jamesbroadhead/upgrade-lucide-v1-with-test
Open

Upgrade lucide-react to 1.x; expand smoke to cover all pages#89
jamesbroadhead wants to merge 1 commit into
databricks-solutions:mainfrom
jamesbroadhead:jamesbroadhead/upgrade-lucide-v1-with-test

Conversation

@jamesbroadhead
Copy link
Copy Markdown
Contributor

Summary

Re-attempt of the v1 upgrade that PR #88 had to roll back. The blocker
was that lucide-react@1 deliberately dropped all brand icons, so the
Github named import resolved to undefined and crashed /gallery
and /gallery/:slug.

  • Replaced both <Github /> call-sites with a local
    docs/src/components/GithubIcon.tsx — small SVG component matching
    lucide's size / className interface, so the JSX site stays a
    one-liner.
  • Bumped lucide-react to ^1.14.0 and regenerated the lockfile.
  • The two other icons we import (BadgeCheck, ArrowLeft) are still
    exported by v1; verified by the smoke audit step.

Smoke test coverage

The smoke test from #88 hard-coded a 4-page render list. Replaced it
with build-output discovery: every build/<route>/index.html is now
visited (~90 pages today). The /gallery/:id template route is
skipped because it can't be visited directly, but the fallback list
keeps a concrete /gallery/pixels instance in the run so the
GalleryApp component (the second <Github /> call-site) stays
exercised.

Locally:

  • npm run build succeeds.
  • npm run smoke with CHROME_BIN=/usr/bin/google-chrome passes
    90 / 90 render checks and the lucide audit.

Test plan

This pull request and its description were written by Claude (claude-opus-4-7) under the direction of @jamesbroadhead.

The v1 release deliberately removed all brand icons, including
`Github`. Replace the two `<Github />` usages with a local SVG
component that matches lucide's `size`/`className` interface, then bump
`lucide-react` to ^1.14.0.

Also extend the smoke test's render check from a hand-picked list of 4
pages to every static route the build emits (~90 pages today). The
gallery `:id` template is skipped; concrete sample detail routes from
the fallback list are still visited so the GalleryApp component stays
covered.

Co-authored-by: Isaac
@jamesbroadhead
Copy link
Copy Markdown
Contributor Author

@antonbricks — follow-up to #88. This is the second attempt at upgrading lucide-react to 1.x; the new local GithubIcon covers what v1 removed, and the smoke test now visits every built page (~90) so we'd catch a regression of this shape before merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant