-
Notifications
You must be signed in to change notification settings - Fork 253
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
feat(sdks): Add sdkMetadata to Clerk singleton, populate it for each SDK #1857
Conversation
🦋 Changeset detectedLatest commit: e5fedd6 The changes in this PR will be included in the next version bump. This PR includes changesets to release 12 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
@@ -198,6 +198,8 @@ export default class IsomorphicClerk { | |||
await global.Clerk.load(this.options); | |||
} | |||
|
|||
global.Clerk.sdkMetadata = this.options.sdkMetadata ?? { name: PACKAGE_NAME, version: PACKAGE_VERSION }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For SDKs that use ClerkProvider
, this is how we are passing through and setting the metadata. SDKs that access Clerk
directly assign it themselves.
"build": "tsup", | ||
"dev": "tsup --watch", | ||
"dev:publish": "npm run dev -- --env.publish", | ||
"build:declarations": "tsc -p tsconfig.declarations.json", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know that we do this in the other packages but IMO we should just use tsup
to also output the types and not use TSC
But that can happen in another PR
"compilerOptions": { | ||
"outDir": "dist", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should extend this from a root/base tsconfig.json
But that's for another PR
This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Description
Adds a new static property to the Clerk singleton,
sdkMetadata
, and populates it for each host SDK. We'll use this data to make it easier to understand what host SDK is initializingClerk
.As part of adding this to each SDK, I also introduced
tsup
to the remaining packages that weren't already using it. This allows us to define thePACKAGE_NAME
andPACKAGE_VERSION
constants at build time:remix
gatsby-plugin-clerk
expo
Note that there's definitely an opportunity to consolidate some of our package tooling, but I'm deferring that work for now.
Checklist
npm test
runs as expected.npm run build
runs as expected.Type of change
Packages affected
@clerk/clerk-js
@clerk/clerk-react
@clerk/nextjs
@clerk/remix
@clerk/types
@clerk/themes
@clerk/localizations
@clerk/clerk-expo
@clerk/backend
@clerk/clerk-sdk-node
@clerk/shared
@clerk/fastify
@clerk/chrome-extension
gatsby-plugin-clerk
build/tooling/chore