theatre/packages/r3f/src/index.ts
Aria Minaei 00a039a713 Fix exports of @theatre/r3f so it is consistently interpreted across bundlers
Before this commit, the exports field of `@theatre/r3f` was:

```
"exports": {
  ".": "./dist/index.js",
  "./extension": "./dist/extension/index.js"
 },
 ```
So users could import the extension from '@theatre/r3f/extension'

However, if the user’s bundler doesn’t support the exports field, they’d have to import from @theatre/r3f/dist/extension. There are 3 problems with this approach:

1. We have to ask users to try both paths and see which works for their bundler.
2. Users can’t copy code from each other if their bundler setups are different.
3. To make matters worse, if a user’s bundler supports exports, they can’t import from @theatre/r3f/dist/extension.

This is all confusing, so we're fixing it by exposing @theatrer/3f/dist/extension and not @theatre/r3f/extension. Uglier, but more consistent, and avoids the above 3 problems.
2022-07-12 17:49:09 +02:00

25 lines
968 B
TypeScript

export {default as editable} from './main/editable'
export type {EditableState, BindFunction} from './main/store'
/**
* This is a private API that's exported so that `@theatre/r3f/dist/extension`
* and `@theatre/r3f` can talk to one another. This API _could_ change
* between patch releases, so please don't build on it :)
*
* @internal
*/
export {
editorStore as ____private_editorStore,
allRegisteredObjects as __private_allRegisteredObjects,
} from './main/store'
/**
* This is a private API that's exported so that `@theatre/r3f/dist/extension`
* and `@theatre/r3f` can talk to one another. This API _could_ change
* between patch releases, so please don't build on it :)
*
* @internal
*/
export {makeStoreKey as __private_makeStoreKey} from './main/utils'
export {default as SheetProvider, useCurrentSheet} from './main/SheetProvider'
export {refreshSnapshot} from './main/utils'
export {default as RefreshSnapshot} from './main/RefreshSnapshot'