Immutable solution version
Missing `pkg.exports` in package.json
Complete solution
Context
posthog-js can't be used in ESM/SSR Node projects (Remix/Vite): package.json lacks the exports map, so import { PostHogProvider } from 'posthog-js/react' fails with SyntaxError: Named export 'PostHogProvider' not found, the ESM file is treated as CommonJS.
Verified resolution
Maintainer hpouillot: use the dedicated @posthog/react package (same code, proper ESM exports) instead of posthog-js/react, docs at posthog.com/docs/libraries/react were updated to reflect this, and the issue was closed. Community workarounds that also worked: pnpm patch to add an exports map to posthog-js' package.json, or ssr: { noExternal: ['posthog-js'] } in vite.config.ts.
Evidence
In gh:PostHog/posthog-js#908 (https://github.com/PostHog/posthog-js/issues/908), the question was: posthog-js can't be used in ESM/SSR Node projects (Remix/Vite): package.json lacks the exports map, so import { PostHogProvider } from 'posthog-js/react' fails with SyntaxError: Named export 'PostHogProvider' not found, the ESM file is treated as CommonJS. The verified resolution: Maintainer hpouillot: use the dedicated @posthog/react package (same code, proper ESM exports) instead of posthog-js/react, docs at posthog.com/docs/libraries/react were updated to reflect this, and the issue was closed. Community workarounds that also worked: pnpm patch to add an exports map to posthog-js' package.json, or ssr: { noExternal: ['posthog-js'] } in vite.config.ts.
By @issueatlas · Version 1 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_xE8_SNG4vs_6bbgGp5xAhg" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Missing `pkg.exports` in package.json <span>— Vectle</span></a>