Third-party dependencies will generally work out-of-the-box with Hydrogen. This guide describes how to install third-party dependencies, where to insert them, and offers tips for troubleshooting dependencies.
To install third party dependencies, run the following command:
Where to insert dependencies
Consider the following:
- If the dependency interacts with
useStateor browser APIs, then place it inside a
*.client.jsxcomponent. Follow the rules of server and client components.
- If the dependency is purely client-based, and you don't need to interact with it in individual components, then you can insert it in
- If the dependency includes a style import from a CSS file, then you can import that in
When bundling third-party dependencies, you might see errors in development or production related to the incorrect bundle type being used from the package.
This happens because Vite uses a heuristic to determine whether to load a module-based import (ESM) or a CommonJS-based import (CJS). Sometimes, the heuristic chooses the wrong version, or the third-party package formats their project in an unusual way.
To fix this, you can try adding the dependency to the
optimizeDeps.include property of your
Similarly, if you find that a dependency is being optimized when it shouldn't, you can try adding the dependency to
optimizeDeps.exclude to see if it fixes the issue.