react-client-sdk icon indicating copy to clipboard operation
react-client-sdk copied to clipboard

Misconfigured package doesn't play well with Remix

Open mikecousins opened this issue 1 year ago • 3 comments
trafficstars

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/[email protected]

mikecousins avatar Jan 16 '24 17:01 mikecousins

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.

louis-launchdarkly avatar Jan 19 '24 22:01 louis-launchdarkly

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

mikecousins avatar Jan 22 '24 17:01 mikecousins

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?

julianguyen avatar Mar 07 '24 03:03 julianguyen