Docs
SolidStart
SolidStart
Install and configure SolidStart.
CLI
Create project
Start by creating a new SolidStart project using create-solid
and select tailwind or uno:
pnpm create solid@latest
Path Aliases
I'm use the @
alias to make it easier to import your components. This is how you can configure it:
tsconfig.json
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@/*": ["./src/*"]
}
}
}
app.config.ts
import { defineConfig } from "@solidjs/start/config";
import { dirname, resolve } from "node:path";
import { fileURLToPath } from "node:url";
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
export default defineConfig({
vite: {
resolve: {
alias: {
"@": resolve(__dirname, "./src")
}
}
}
});
Run the CLI
Run the shadcn-solid
init command to setup your project:
npx shadcn-solid@latest init
Configure components.json
You will be asked a few questions to configure components.json
:
◆ Which CSS framework would you like to use?
│ ● TailwindCSS
│ ○ UnoCSS
│
◇ Which color would you like to use as base color?
│ Slate
│
◇ Where is your global CSS file?
│ src/app.css
│
◇ Would you like to use CSS variables for colors?
│ Yes
│
◇ Are you using a custom tailwind prefix eg. tw-? (Leave blank if not)
│
│
◇ Where is your tailwind.config.cjs located?
│ tailwind.config.cjs
│
◇ Configure the import alias for components:
│ @/components
│
◇ Configure the import alias for utils:
│ @/lib/utils
That's it
You can now start adding components to your project.
npx shadcn-ui@latest add button
The command above will add the Button component to your project. You can then import it like this:
import { Button } from "@/components/ui/button"
export default function Home() {
return (
<div>
<Button>Click me</Button>
</div>
)
}