39 lines
3.1 KiB
Markdown
39 lines
3.1 KiB
Markdown
# 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`).
|