# 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: ```sh 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`](../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: ```sh 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.