Description
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 from flowbite-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:
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 out react-icons
and use the specific icon library that we were using out of it. Now we're seeing the same issues with flowbite-react
. The refactor out of react-icons
saved us around 40s of initial startup time, and we're seeing around 5-10s with flowbite-react
.
Anything that isn't exported directly should be so we can directly reference it instead of the main flowbite-react
import.