Skip to content

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

Open
@digitalfreelanceruk

Description

@digitalfreelanceruk

Checks

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

  1. Set-up an Astro site
  2. Add the Astro:React integration
  3. Install the Splide React NPM package as per Splide's instructions
  4. Create the React component as per Splide's instructions
  5. Use the component somewhere with a client directive to hydrate the component
  6. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions