Solid Support
tsdown streamlines the development of Solid component libraries by integrating with rolldown-plugin-solid or unplugin-solid. This integration allows you to bundle Solid components and automatically generate type declarations using modern TypeScript tools.
Quick Start
For the fastest way to get started, use the Solid component starter template. This starter project comes pre-configured for Solid library development, so you can focus on building components right away.
npx create-tsdown@latest -t solidMinimal Example
To configure tsdown for a Solid library, use the following setup in your tsdown.config.ts:
import solid from 'rolldown-plugin-solid' // or use 'unplugin-solid/rolldown'
import { defineConfig } from 'tsdown'
export default defineConfig({
entry: ['./src/index.ts'],
platform: 'neutral',
dts: true,
plugins: [solid()],
})Create your typical Solid component:
import type { Component } from 'solid-js'
interface MyButtonProps {
type?: 'primary'
}
export const MyButton: Component<MyButtonProps> = ({ type }) => {
return (
<button class="my-button">
my button: type
{type}
</button>
)
}And export it in your entry file:
export { MyButton } from './MyButton'Install the required dependencies:
npm install -D rolldown-plugin-solidpnpm add -D rolldown-plugin-solidyarn add -D rolldown-plugin-solidbun add -D rolldown-plugin-solidor, if you prefer to use unplugin-solid:
npm install -D unplugin-solidpnpm add -D unplugin-solidyarn add -D unplugin-solidbun add -D unplugin-solid