Description
Checks
- Not a duplicate.
- Not a question, feature request, or anything other than a bug report directly related to React Splide. Use Discussions for these topics: https://github.com/Splidejs/splide/discussions
Version
0.7.12
Description
I'm using Splide React in an Astro website and have had issues with Splide regarding imports, modules, commonJS/ESM:
When running locally I got this error:
Cannot use import statement outside a module
project/node_modules/@splidejs/react-splide/dist/js/react-splide.esm.js:2574
import React2 from "react";
^^^^^^
And when pushing the site to my Cloudflare Pages instance (same occurred on Vercel) I got the following build error:
Named export 'Splide' not found. The requested module '@splidejs/react-splide' is a CommonJS module, which may not support all module.exports as named exports.
I have managed to fix the issue by updating the package.json for splide react with:
"type": "module",
And using pnpm patch to apply this change live as well as locally.
I'm not sure whether this is considered a bug or intentional, but I hope raising the issue and providing the fix that worked for me will help other Astro devs to use Splide.
Reproduction Link
No response
Steps to Reproduce
- Set-up an Astro site
- Add the Astro:React integration
- Install the Splide React NPM package as per Splide's instructions
- Create the React component as per Splide's instructions
- Use the component somewhere with a client directive to hydrate the component
- Run dev, run build & preview or commit to server to return errors
...
Expected Behaviour
I expected Splide to just work as intended with no errors as I hadn't deviated from the instructions provided by Splide or Astro.