vidstack / player

UI components and hooks for building video/audio players on the web. Robust, customizable, and accessible. Modern alternative to JW Player and Video.js.
https://vidstack.io
MIT License
2.37k stars 137 forks source link

Bundle size and tree shaking not working properly #1478

Open evadeharomunoz opened 1 month ago

evadeharomunoz commented 1 month ago

Current Behavior:

I've installed Vidstack into a Next js (v14.1.0) monorepo. To my surprise when I build the project and see the weight using the nextjs-bundle-analyzer I'm seeing that Vidstack bundle it weighs more than 600kb. Reading docs I can see that tree shaking is accepted. But it doesn't seem to be working because the weight of the bundle is not decreasing whatever I do.

I'm doing the imports this way:

import { Controls, MediaPlayer, MediaProvider } from '@vidstack/react'

If I try to make imports similar to the ones below, the library does not expect them.

import { Controls } from '@vidstack/react/player' import { Controls } from '@vidstack/player'

Is there something I am missing to remove all of the unused components from my bundle? Thanks!

Environment:

Captura de Pantalla 2024-10-18 a las 17 21 43

Captura de Pantalla 2024-10-22 a las 9 37 16

SantiagoRangel commented 1 month ago

I have been running into the same issue with a project last month. At the end I decided change the whole stack :(