Files
lucide/integrations/lucide-solid-2
Eric FennisandClaude Opus 5.5 ad38dced59 chore(deps): Update deps astro package (#5108)
* Update deps

* chore(deps): use next for solid-js and @solidjs/web in Solid 2 integration

Keeps the integration on the same Solid release as @lucide/solid, so the
two no longer resolve separate solid-js copies sharing one @solidjs/signals,
which broke the declaration typecheck (TS2717 on ServerObserve.trace).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 09:18:03 +01:00
..

Lucide Solid 2 integrations

These fixtures exercise the built @lucide/solid package in a real Solid 2 (release candidate) consumer app.

The vite fixture was scaffolded with the Solid 2.0 basic template:

npm create solid@latest -- --solid -t basic --ts

It keeps the template's turnkey client mode (@solidjs/vite-plugin with start: true, filesystem-routing and @solidjs/router), with the demo pages replaced by the icon showcase. The template's tooling versions are aligned with the workspace: TypeScript 6 and the workspace's pinned Vitest 4.

There is no SolidStart fixture yet, because SolidStart still targets Solid 1. The Solid 1 fixtures for lucide-solid live in ../lucide-solid.

Every fixture runs three checks:

  • a framework production build;
  • TypeScript with noEmit;
  • Vitest Browser Mode in Chromium.

From the repository root, install Chromium once and run the complete suite:

pnpm --filter @lucide/integration-solid-2-vite exec playwright install chromium
pnpm test:integrations:solid-2

The fixtures depend on @lucide/solid through workspace:*, but import only its public package entry points. The root command builds @lucide/solid before running any consumer checks.

Two TypeScript projects per fixture

tsconfig.json typechecks the fixture's own sources with skipLibCheck: true.

tsconfig.declarations.json compiles only src/IconShowcase.tsx (the file that imports the public entry points) with skipLibCheck: false and no ambient types. This makes tsc read the declarations shipped in dist/types, so a .d.ts that points at a file the build never emitted fails the check. Both run under pnpm typecheck.

file-routes.d.ts is generated by filesystem-routing on every build and is committed so tsc can resolve virtual:file-routes before a build has run.