-
-
Notifications
You must be signed in to change notification settings - Fork 430
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[perf] Export theme.ts / create-theme directly #1489
Comments
theogravity
changed the title
Export theme.ts / create-theme directly
[perf] Export theme.ts / create-theme directly
Sep 16, 2024
1 task
I also see a reference to |
This report is with optimizePackageImports: ["flowbite-react"] being used. I'm on Next.js 15 RC if that matters. |
1 task
Draft
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Development under Next.js slows down in dev mode initial startup when importing from the root
flowbite-react
because it has to compile all exports since we're importing directly fromflowbite-react
.It would really help if
theme.ts
can be directly imported:https://github.com/themesberg/flowbite-react/blob/main/packages/ui/src/theme.ts
And same with the helpers / create-theme:
https://github.com/themesberg/flowbite-react/blob/main/packages/ui/src/helpers/create-theme.ts
For reference, see:
vercel/next.js#48748
Quote:
react-icons, material icons, etc. Most of these libraries publish barrel files with a lot of re-exports. E.g. material-ui/icons ships 5500 module re-exports, which causes all of them to be compiled. You have to add modularizeImports to reduce it, here's an example: vercel/next.js#45529 (comment)
Unfortunately,
optimizePackageImports
/modularizeImports
doesn't work as it claims to that we had to refactor outreact-icons
and use the specific icon library that we were using out of it. Now we're seeing the same issues withflowbite-react
. The refactor out ofreact-icons
saved us around 40s of initial startup time, and we're seeing around 5-10s withflowbite-react
.Anything that isn't exported directly should be so we can directly reference it instead of the main
flowbite-react
import.The text was updated successfully, but these errors were encountered: