Skip to content

@clerk/expo@3.4.3 root getClerkInstance export throws missing singleton_exports #8873

Description

@hayata-suenaga

Preliminary Checks

Reproduction

https://github.com/hayata-suenaga/clerk-expo-getclerkinstance-repro

Publishable key

pk_live_Y2xlcmsuZWlzdWtlLm9yZyQ

Description

Description

@clerk/expo@3.4.3 appears to ship a broken root export for getClerkInstance.

Importing getClerkInstance from @clerk/expo and accessing it in an Expo app throws the following runtime error:

Property 'singleton_exports' doesn't exist

This seems to happen before any Clerk instance, ClerkProvider, publishable key, token cache, or auth flow behavior is involved. The failure appears to be caused by the generated package output for the root @clerk/expo entrypoint.

Steps To Reproduce

  1. Create a new Expo app.
  2. Install @clerk/expo@3.4.3.
  3. Import getClerkInstance from @clerk/expo.
  4. Invoke the function.
  5. Observe the runtime error.

Expected Behavior

getClerkInstance should be exported from the root @clerk/expo entrypoint and be accessible as documented.

Actual Behavior

Accessing getClerkInstance from @clerk/expo throws:

Property 'singleton_exports' doesn't exist

Regression

This appears to be a regression in @clerk/expo@3.4.3.

When comparing the published package output:

  • @clerk/expo@3.4.2 exports getClerkInstance directly from ./provider/singleton/singleton.js.
  • @clerk/expo@3.4.3 defines the root export getter as singleton_exports.getClerkInstance, but singleton_exports is not declared in dist/index.js.

Suspected Cause

The published @clerk/expo@3.4.3/dist/index.js contains this export getter:

Object.defineProperty(exports, "getClerkInstance", {
  enumerable: true,
  get: function () {
    return singleton_exports.getClerkInstance;
  },
});

However, singleton_exports does not appear to be defined in that module. The file imports ./provider/singleton/index.js, but the local binding is named differently, so the generated root export references a missing symbol.

Environment

System:
    OS: macOS 26.5.1
    CPU: (12) arm64 Apple M2 Max
    Memory: 49.31 GB / 96.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 24.16.0 - /Users/hayatasuenaga/.nvm/versions/node/v24.16.0/bin/node
    npm: 11.13.0 - /Users/hayatasuenaga/.nvm/versions/node/v24.16.0/bin/npm
    pnpm: 10.13.1 - /Users/hayatasuenaga/Library/pnpm/pnpm
    Watchman: 2025.05.26.00 - /opt/homebrew/bin/watchman
  Browsers:
    Chrome: 149.0.7827.104
    Firefox: 145.0
    Safari: 26.5
  npmPackages:
    @clerk/expo: 3.4.3 => 3.4.3 
    @types/react: ~19.2.2 => 19.2.17 
    expo: ~56.0.12 => 56.0.12 
    expo-dev-client: ~56.0.20 => 56.0.20 
    expo-secure-store: ~56.0.4 => 56.0.4 
    expo-status-bar: ~56.0.4 => 56.0.4 
    react: 19.2.3 => 19.2.3 
    react-dom: 19.2.3 => 19.2.3 
    react-native: 0.85.3 => 0.85.3 
    typescript: ~6.0.3 => 6.0.3

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions