Skip to content

Commit

Permalink
fix(build): a workaround for ESM for use-sync-external-store (pmndrs#953
Browse files Browse the repository at this point in the history
)
  • Loading branch information
dai-shi authored Jul 17, 2022
1 parent 93ee103 commit 28e9614
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion src/react.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import { useDebugValue } from 'react'
import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector'
// import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector'
// This doesn't work in ESM, because use-sync-external-store only exposes CJS.
// See: https://github.com/pmndrs/valtio/issues/452
// The following is a workaround until ESM is supported.
import useSyncExternalStoreExports from 'use-sync-external-store/shim/with-selector'
import createStore, {
EqualityChecker,
Mutate,
Expand All @@ -10,6 +14,8 @@ import createStore, {
StoreMutatorIdentifier,
} from './vanilla'

const { useSyncExternalStoreWithSelector } = useSyncExternalStoreExports

type ExtractState<S> = S extends { getState: () => infer T } ? T : never

type WithReact<S extends StoreApi<State>> = S & {
Expand Down

0 comments on commit 28e9614

Please sign in to comment.