unocss-with-svelte

Unocss With Svelte

UnoCSS with Svelte

1. Create Project

pnpm create vite unocss-with-svelte --template svelte-ts
cd unocss-with-svelte
ncu -u
pnpm install

2. Add Dependencies

pnpm add -D unocss @iconify-json/logos @unocss/core @unocss/preset-icons @unocss/preset-uno
pnpm add -D svelte-preprocess
# optional
pnpm add -D eslint eslint-plugin-svelte3 eslint-config-prettier prettier prettier-plugin-svelte @typescript-eslint/eslint-plugin
pnpm add -D vitest

3. Replace vite.config.ts with

import { defineConfig } from "vite"
import { svelte } from "@sveltejs/vite-plugin-svelte"
import UnoCSS from "unocss/vite"
import presetIcons from "@unocss/preset-icons"
import presetUno from "@unocss/preset-uno"
import { extractorSvelte } from "@unocss/core"

export default defineConfig({
    plugins: [
        UnoCSS({
            extractors: [extractorSvelte],
            shortcuts: [
                { logo: "i-logos-svelte-icon w-6em h-6em transform transition-800 hover:rotate-180" },
                { foo: "bg-yellow-400" },
                { bar: "bg-green-400" },
            ],
            presets: [
                presetUno(),
                presetIcons({
                    extraProperties: {
                        "display": "inline-block",
                        "vertical-align": "middle",
                    },
                }),
            ],
        }),
        svelte(),
    ],
});

4. Dev

pnpm dev

Top categories

Loading Svelte Themes