Skip to content

breaking: Migrate from lucide-svelte to @lucide/svelte (#2750)#2753

Merged
KATO-Hiro merged 3 commits intostagingfrom
#2750
Oct 26, 2025
Merged

breaking: Migrate from lucide-svelte to @lucide/svelte (#2750)#2753
KATO-Hiro merged 3 commits intostagingfrom
#2750

Conversation

@KATO-Hiro
Copy link
Collaborator

@KATO-Hiro KATO-Hiro commented Oct 26, 2025

close #2750

Summary by CodeRabbit

  • Documentation

    • Added a comprehensive migration plan and checklist covering preparation, migration steps, validation, troubleshooting, and completion for upgrading the icon library.
  • Chores

    • Switched to the new icon package and updated import usages across components to match the new package structure.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 26, 2025

Walkthrough

This pull request upgrades the lucide-svelte dependency to @lucide/svelte and updates icon import paths across 18 Svelte components; it also adds migration documentation (checklist and plan) describing steps, validation, and troubleshooting.

Changes

Cohort / File(s) Summary
Documentation & Migration Guide
docs/dev-notes/2025-10-25/migrate-lucide-svelte-from-v4-to-v5/checklist.md, docs/dev-notes/2025-10-25/migrate-lucide-svelte-from-v4-to-v5/plan.md
Adds a migration checklist and plan detailing preparation, migration steps, verification, troubleshooting, and learnings for moving from lucide-svelte v4 to @lucide/svelte v5.
Package Manifest
package.json
Replaces lucide-svelte dependency with @lucide/svelte at version 0.548.0.
Component Icon Imports
src/lib/components/... (18 files) — AtCoderUserValidationForm.svelte, AuthForm.svelte, ExternalLinkWrapper.svelte, Header.svelte, LabelWithTooltips.svelte, SubmissionStatus/IconForUpdating.svelte, SubmissionStatus/SubmissionStatusImage.svelte, SubmissionStatus/UpdatingDropdown.svelte, TabItemWrapper.svelte, TaskTables/TaskTableBodyCell.svelte, ToastWrapper/ErrorMessageToast.svelte, TooltipWrapper.svelte, UserAccountDeletionForm.svelte, WorkBook/CommentAndHint.svelte, WorkBookTasks/WorkBookTasksTable.svelte, src/routes/(admin)/account_transfer/+page.svelte, src/routes/+page.svelte, src/routes/problems/[slug]/+page.svelte
Updated import specifiers from lucide-svelte/icons/... (or lucide-svelte named imports) to canonical default imports from @lucide/svelte/icons/.... Also fixes a typo in AuthForm.svelte (CirCleUserRoundCircleUserRound).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Special attention:
    • Confirm the AuthForm.svelte identifier rename (CirCleUserRoundCircleUserRound) is correct and used consistently.
    • Verify files that previously used named imports (e.g., import { ExternalLink } from 'lucide-svelte') were converted to default icon imports and their usages remain valid.
    • Check package.json + lockfile consistency and that pnpm install yields expected resolution for @lucide/svelte.

Poem

🐰 A tidy hop, imports rearranged,
From lucide-svelte to @Lucide exchanged,
Eighteen files lined up and renamed,
Docs penned down, the checklist framed,
Build and run — the icons proclaimed! ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The pull request title "breaking: Migrate from lucide-svelte to @lucide/svelte (#2750)" is directly and specifically related to the main change in the changeset. It clearly summarizes the primary objective of replacing the lucide-svelte package with @lucide/svelte, uses a "breaking:" prefix to indicate this is a breaking change, and is concise and readable. The title accurately reflects the migration work demonstrated across the package.json dependency updates and all 18 component file import path changes.
Linked Issues Check ✅ Passed The pull request fully satisfies the objective of linked issue #2750. The package.json has been updated to replace the lucide-svelte dependency with @lucide/svelte version 0.548.0, and all 18 component files have been systematically updated with import paths changed from lucide-svelte/icons/... to @lucide/svelte/icons/... format. Additionally, a bug fix in AuthForm.svelte (correcting CirCleUserRound to CircleUserRound) was included alongside the migration. The supporting documentation files (checklist.md and plan.md) provide comprehensive migration guidance and validation steps, confirming the migration strategy and completion.
Out of Scope Changes Check ✅ Passed All changes in this pull request are directly in scope with the linked issue objective. The package.json modifications replace the Svelte v4 compatible package with its v5 counterpart, the 18 component files are updated with the new import paths required for @lucide/svelte, and the supporting documentation files provide migration context and validation procedures. The minor naming correction in AuthForm.svelte (CirCleUserRound to CircleUserRound) is a reasonable bug fix discovered during the migration process. No unrelated changes or technical debt items have been introduced.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch #2750

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between 52d5d36 and db95eb6.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • package.json (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • package.json

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Collaborator Author

@KATO-Hiro KATO-Hiro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@KATO-Hiro KATO-Hiro merged commit a41d3d6 into staging Oct 26, 2025
3 checks passed
@KATO-Hiro KATO-Hiro deleted the #2750 branch October 26, 2025 06:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Dep] Lucide Svelte を Svelte v4 から v5のライブラリに移行しましょう

1 participant