Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(native): make expo modules optional #3355

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

CodyJasonBennett
Copy link
Member

Fixes #3354 by having expo modules be optional for those creating their own custom canvas.

Copy link

codesandbox-ci bot commented Sep 13, 2024

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 6015419:

Sandbox Source
example Configuration

@@ -25,6 +24,13 @@ export interface CanvasProps extends Omit<RenderProps<HTMLCanvasElement>, 'size'

export interface Props extends CanvasProps {}

// Lazily load expo-gl, so it's only required when Canvas is used

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think that works.

@@ -85,7 +91,7 @@ const CanvasImpl = /*#__PURE__*/ React.forwardRef<View, Props>(

// Called on context create or swap
// https://github.com/pmndrs/react-three-fiber/pull/2297
const onContextCreate = React.useCallback((context: ExpoWebGLRenderingContext) => {
const onContextCreate = React.useCallback((context: WebGL2RenderingContext) => {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

types of optional dependencies can still be used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make expo-gl and expo-assets optional
2 participants