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鈥檒l 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

Merged
merged 9 commits into from
Oct 11, 2023

Conversation

BRKalow
Copy link
Member

@BRKalow BRKalow commented Oct 10, 2023

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 initializing Clerk.

> Clerk.sdkMetadata
{name: '@clerk/nextjs', version: '4.25.3'}

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 the PACKAGE_NAME and PACKAGE_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.
  • (If applicable) JSDoc comments have been added or updated for any package exports
  • (If applicable) Documentation has been updated

Type of change

  • 馃悰 Bug fix
  • 馃専 New feature
  • 馃敤 Breaking change
  • 馃摉 Refactoring / dependency upgrade / documentation
  • other:

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

@BRKalow BRKalow requested a review from a team as a code owner October 10, 2023 22:20
@changeset-bot
Copy link

changeset-bot bot commented Oct 10, 2023

馃 Changeset detected

Latest commit: e5fedd6

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 12 packages
Name Type
gatsby-plugin-clerk Patch
@clerk/clerk-js Patch
@clerk/chrome-extension Patch
@clerk/fastify Patch
@clerk/nextjs Patch
@clerk/clerk-react Patch
@clerk/remix Patch
@clerk/types Patch
@clerk/clerk-expo Patch
@clerk/backend Patch
@clerk/localizations Patch
@clerk/clerk-sdk-node Patch

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 };
Copy link
Member Author

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",
Copy link
Member

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",
Copy link
Member

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

@BRKalow BRKalow added this pull request to the merge queue Oct 11, 2023
Merged via the queue into main with commit 91e9a55 Oct 11, 2023
6 checks passed
@BRKalow BRKalow deleted the brk.feat/sdk-metadata branch October 11, 2023 16:54
@clerk-cookie clerk-cookie mentioned this pull request Oct 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants