You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Astro site upload to server 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. #78
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.