Files
OSIT-AE-App-Svelte/GEMINI_Flowbite_upgrade_2025-12.md

3.1 KiB

Flowbite-Svelte Upgrade Notes (December 2025)

Overview

This document tracks the process of upgrading the Flowbite-Svelte UI library within the Aether SvelteKit project. The primary goal is to determine if a compatible version exists for Svelte 5 and Tailwind CSS v4, and to plan for its integration or replacement if necessary.

Current Status (Pre-Upgrade)

  • Flowbite-Svelte Version: v1.28.1 (as per package.json at commit 90ee6bb1)
  • Target Version: v1.30.0 (or newest compatible)
  • Initial Issue (Pre-Rollback): Previous attempts to update flowbite-svelte (and other packages) indicated peer dependency conflicts. Earlier versions of flowbite-svelte (compatible with Tailwind v3) required Svelte v4, which conflicted with the project's Svelte v5.
  • Current Re-evaluation: After rolling back to commit 90ee6bb1 and updating SkeletonLabs (which failed the build due to other reasons), npm install succeeded with flowbite-svelte@1.28.1 present in package.json. This implies it can install alongside Svelte 5 and Tailwind 4. However, its runtime compatibility and rendering correctness with Svelte 5 (runes mode) and Tailwind CSS v4 remain untested.
  • Svelte Version: Svelte 5 (runes mode)
  • Tailwind CSS Version: v4.1.10

Phase 1: Research and Planning (No Code Changes Yet)

Goal

Determine if Flowbite-Svelte has a version that is explicitly compatible with Svelte 5 (runes mode) and Tailwind CSS v4, and to identify any breaking changes or migration paths.

Steps

  1. Thoroughly Review Flowbite-Svelte Changelog:
    • Link: https://github.com/themesberg/flowbite-svelte/blob/main/CHANGELOG.md
    • Action: Read the changelog for versions from 1.28.1 up to the latest stable release (e.g., 1.30.0 or newer).
    • Goal: Look for specific mentions of Svelte 5 support, "runes mode" compatibility, or compatibility with Tailwind CSS v4. Note any breaking changes or migration instructions related to Svelte version or component API changes.

Expected Outcome of Phase 1

A clear understanding of Flowbite-Svelte's compatibility with our current stack. This will inform the decision on whether to attempt an upgrade or if abandoning it (and creating custom replacements) is necessary. The expectation is that if a version is compatible, any breaking changes to component APIs (like renaming Modal to Dialog) will be identified.

Phase 2: Execution (After Approval)

Steps (To be detailed after Phase 1)

  1. If a compatible version exists:
    • Update package.json to the compatible version.
    • Run npm install.
    • Run npm run build and npm run dev and thoroughly check for errors and visual regressions.
    • Apply any necessary code changes based on identified breaking changes (e.g., component name changes like Modal to Dialog).
  2. If no compatible version exists or issues persist:
    • Decision: Abandon Flowbite-Svelte.
    • Action: Systematically replace its components with custom-built Svelte/Tailwind components, starting with critical ones like Modal (using our element_modal_v1.svelte if not using Skeleton's Dialog).