Skip to content

Conversation

@ESnark
Copy link

@ESnark ESnark commented Oct 17, 2023

Problem:

When using the <MixpanelProvider> the following error occurs:

SyntaxError: Named export 'init' not found. The requested module 'mixpanel-browser' is a CommonJS module, which may not support all module.exports as named exports.

Proposed Solution:

I believe the issue stems from the way the mixpanel-browser package is being imported. I've adjusted the import style in the code to address this problem and ensure compatibility.

Please review the changes and let me know if any further adjustments are needed.

@apancutt
Copy link
Owner

I'm unable to replicate this issue in neither CJS nor ESM React envs. Can you share more information about your setup, or reproduction steps?

While doing this I did notice that types were not being resolved in CJS environments, so I've fixed that. I've also upgraded everything to the latest version which might help with the issues you're having. Try 4.1.0.

@ESnark
Copy link
Author

ESnark commented Oct 26, 2023

I just tried 4.1.0 and it's the same as before. It's hard to provide a reproducible environment right now, but here is some more of the error message. I will give you reproduction steps as soon as I can. I hope this helps you.

- wait compiling /steps/[topic] (client and server)...
- event compiled client and server successfully in 206 ms (502 modules)
file:///Users/.../.yarn/__virtual__/react-mixpanel-browser-virtual-a1e81d248f/0/cache/react-mixpanel-browser-npm-4.1.0-235ea708b5-577fa53133.zip/node_modules/react-mixpanel-browser/dist/index.js:1
import{createContext as m}from"react";var e=m(void 0);import{init as l}from"mixpanel-browser";import{useMemo as o}from"react";import{jsx as f}from"react/jsx-runtime";function v({children:x,config:n,name:r,token:t}){let i=o(()=>r??"react-mixpanel-browser",[r]),p=o(()=>({track_pageview:!1,...n}),[n]),a=o(()=>t?l(t,p,i):void 0,[p,i,t]);return f(e.Provider,{value:a,children:x})}import{useContext as s}from"react";var b=()=>s(e);export{v as MixpanelProvider,e as mixpanelContext,b as useMixpanel};
                                                             ^^^^
SyntaxError: Named export 'init' not found. The requested module 'mixpanel-browser' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via the default export, for example using:

import pkg from 'mixpanel-browser';
const {createContext: m}from"react";var e=m(void 0);import{init: l}from"mixpanel-browser";import{useMemo: o}from"react";import{jsx: f}from"react/jsx-runtime";function v({children:x,config:n,name:r,token:t}){let i=o(()=>r??"react-mixpanel-browser",[r]),p=o(()=>({track_pageview:!1,...n}),[n]),a=o(()=>t?l(t,p,i):void 0,[p,i,t]);return f(e.Provider,{value:a,children:x})}import{useContext: s}from"react";var b=()=>s(e);export{v: MixpanelProvider,e: mixpanelContext,b: useMixpanel} = pkg;

    at ModuleJob._instantiate (node:internal/modules/esm/module_job:124:21)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async ModuleJob.run (node:internal/modules/esm/module_job:190:5)
- error file:///Users/.../.yarn/__virtual__/react-mixpanel-browser-virtual-a1e81d248f/0/cache/react-mixpanel-browser-npm-4.1.0-235ea708b5-577fa53133.zip/node_modules/react-mixpanel-browser/dist/index.js:1
import{createContext as m}from"react";var e=m(void 0);import{init as l}from"mixpanel-browser";import{useMemo as o}from"react";import{jsx as f}from"react/jsx-runtime";function v({children:x,config:n,name:r,token:t}){let i=o(()=>r??"react-mixpanel-browser",[r]),p=o(()=>({track_pageview:!1,...n}),[n]),a=o(()=>t?l(t,p,i):void 0,[p,i,t]);return f(e.Provider,{value:a,children:x})}import{useContext as s}from"react";var b=()=>s(e);export{v as MixpanelProvider,e as mixpanelContext,b as useMixpanel};
                                                             ^^^^
SyntaxError: Named export 'init' not found. The requested module 'mixpanel-browser' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via the default export, for example using:

import pkg from 'mixpanel-browser';
const {createContext: m}from"react";var e=m(void 0);import{init: l}from"mixpanel-browser";import{useMemo: o}from"react";import{jsx: f}from"react/jsx-runtime";function v({children:x,config:n,name:r,token:t}){let i=o(()=>r??"react-mixpanel-browser",[r]),p=o(()=>({track_pageview:!1,...n}),[n]),a=o(()=>t?l(t,p,i):void 0,[p,i,t]);return f(e.Provider,{value:a,children:x})}import{useContext: s}from"react";var b=()=>s(e);export{v: MixpanelProvider,e: mixpanelContext,b: useMixpanel} = pkg;

    at ModuleJob._instantiate (node:internal/modules/esm/module_job:124:21)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async ModuleJob.run (node:internal/modules/esm/module_job:190:5) {
  digest: undefined
}
file:///Users/.../.yarn/__virtual__/react-mixpanel-browser-virtual-a1e81d248f/0/cache/react-mixpanel-browser-npm-4.1.0-235ea708b5-577fa53133.zip/node_modules/react-mixpanel-browser/dist/index.js:1
import{createContext as m}from"react";var e=m(void 0);import{init as l}from"mixpanel-browser";import{useMemo as o}from"react";import{jsx as f}from"react/jsx-runtime";function v({children:x,config:n,name:r,token:t}){let i=o(()=>r??"react-mixpanel-browser",[r]),p=o(()=>({track_pageview:!1,...n}),[n]),a=o(()=>t?l(t,p,i):void 0,[p,i,t]);return f(e.Provider,{value:a,children:x})}import{useContext as s}from"react";var b=()=>s(e);export{v as MixpanelProvider,e as mixpanelContext,b as useMixpanel};
                                                             ^^^^
SyntaxError: Named export 'init' not found. The requested module 'mixpanel-browser' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via the default export, for example using:

import pkg from 'mixpanel-browser';
const {createContext: m}from"react";var e=m(void 0);import{init: l}from"mixpanel-browser";import{useMemo: o}from"react";import{jsx: f}from"react/jsx-runtime";function v({children:x,config:n,name:r,token:t}){let i=o(()=>r??"react-mixpanel-browser",[r]),p=o(()=>({track_pageview:!1,...n}),[n]),a=o(()=>t?l(t,p,i):void 0,[p,i,t]);return f(e.Provider,{value:a,children:x})}import{useContext: s}from"react";var b=()=>s(e);export{v: MixpanelProvider,e: mixpanelContext,b: useMixpanel} = pkg;

    at ModuleJob._instantiate (node:internal/modules/esm/module_job:124:21)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async ModuleJob.run (node:internal/modules/esm/module_job:190:5) {
  page: '/test/status'
}

@jacc
Copy link

jacc commented Jan 15, 2024

I'm getting the exact same error here as well.

@grrowl
Copy link

grrowl commented Feb 19, 2024

getting this error using latest nextjs and bun

@SergioJuniorCE
Copy link

still getting this error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants