launchdarkly / react-client-sdk

LaunchDarkly Client-side SDK for React.js
Other
86 stars 70 forks source link

Misconfigured package doesn't play well with Remix #236

Open mikecousins opened 10 months ago

mikecousins commented 10 months ago

Describe the bug The NPM package is misconfigured with regards to esm/cjs types and as such certain build tools like Remix will not build successfully.

To reproduce Make a Remix app in SPA mode Add launchdarkly-react-client-sdk Build

Expected behavior Should build successfully.

Logs

import { useFlags } from "launchdarkly-react-client-sdk";
         ^^^^^^^^
SyntaxError: Named export 'useFlags' not found. The requested module 'launchdarkly-react-client-sdk' 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 'launchdarkly-react-client-sdk';
const { useFlags } = pkg;

SDK version 3.0.10

Language version, developer tools

OS/platform Mac or Windows.

Additional context

Recommended fixes: https://publint.dev/launchdarkly-react-client-sdk@3.0.10

louis-launchdarkly commented 10 months ago

Hello @mikecousins, thank you for reporting the issue. We will take a look at it and report back once we see can we apply the recommended fix (or if we have other suggestions).

Filed internally as 230629.

mikecousins commented 10 months ago

For now I forked it at: https://github.com/mikecousins/launchdarkly-react-client-sdk

I then released this package which works great with Next/Remix/etc: https://www.npmjs.com/package/@mikecousins/launchdarkly-react-client-sdk

julianguyen commented 8 months ago

I'm also experiencing this issue when I create a package in a monorepo with LaunchDarkly React SDK wrapper and use it in an application built with Vite. I get the same error as @mikecousins when running Vitest in the Vite application.

@louis-launchdarkly Are there any updates on when this will be updated?