Skip to content

chore(electron): Scaffold electron package#8855

Closed
wobsoriano wants to merge 3 commits into
mainfrom
rob/scaffold-electron-tsdown
Closed

chore(electron): Scaffold electron package#8855
wobsoriano wants to merge 3 commits into
mainfrom
rob/scaffold-electron-tsdown

Conversation

@wobsoriano

@wobsoriano wobsoriano commented Jun 13, 2026

Copy link
Copy Markdown
Member

Description

#customer-ping, our Electron SDK design partner is ready to test early, but they currently cant consume @clerk/electron because the package does not exist on npm yet.

This scaffolds the package so it can participate in snapshot releases. We can then give them installable snapshots.

Checklist

  • pnpm test runs as expected.
  • pnpm 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:

Summary by CodeRabbit

  • Chores
    • Scaffolded a new @clerk/electron package for Electron support, including package configuration, TypeScript setup, and build tooling.
    • Added GitHub labeler automation for Electron package changes.
    • Created initial changeset documentation for the new package.

@vercel

vercel Bot commented Jun 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
clerk-js-sandbox Ready Ready Preview, Comment Jun 13, 2026 3:52am
swingset Ready Ready Preview, Comment Jun 13, 2026 3:52am

Request Review

@changeset-bot

changeset-bot Bot commented Jun 13, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: a59b309

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

This PR includes changesets to release 0 packages

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

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

@coderabbitai

coderabbitai Bot commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

This PR scaffolds a new @clerk/electron package for the Clerk monorepo. It adds package configuration with dual ESM/CJS exports, TypeScript and build tooling configuration, a simple string constant export, and monorepo automation rules for change detection and labeling.

Changes

Electron Package Scaffold

Layer / File(s) Summary
Package metadata and build infrastructure
packages/electron/package.json, packages/electron/tsconfig.json, packages/electron/tsdown.config.mts
Package manifest configures @clerk/electron with dual ESM/CJS entrypoints under dist/ directory, Node.js 20.9.0+ requirement, and build/format/publish scripts. TypeScript configuration enforces strict mode, ES2020 targeting, and declaration emission to dist/. Build configuration uses tsdown for dual-format output with watch and publish-time flags.
Package entry point
packages/electron/src/index.ts
Exports a single string constant clerkElectron set to 'electron' as the main public interface.
Monorepo integration
.changeset/electron-package-scaffold.md, .github/labeler.yml
Changeset file documents the new package addition. GitHub labeler rule automatically tags changes affecting packages/electron/** with the electron label.

🎯 1 (Trivial) | ⏱️ ~3 minutes

Suggested reviewers

  • dstaley

Poem

🐰 A new package hops into place,
Electron paths configured with grace,
Config and exports, TypeScript so tight,
The scaffolding builds—what a delightful sight!
Monorepo automation labels the way. ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore(electron): Scaffold electron package' accurately and directly describes the main change—setting up a new Electron package structure for snapshot releases.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

intentionally leaving blank and rely on snapshot versions only

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
packages/electron/src/index.ts (1)

1-1: ⚡ Quick win

Document the exported package constant.

clerkElectron is a public surface symbol, so it should carry a short JSDoc comment if it is meant to appear in generated reference docs. As per coding guidelines, public APIs under packages/**/src/**/* are customer-facing documentation.

♻️ Proposed fix
+/** Identifier for the Electron package. */
 export const clerkElectron = 'electron';
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/electron/src/index.ts` at line 1, Exported public constant
clerkElectron lacks JSDoc; add a short JSDoc comment above the exported symbol
to document its purpose and usage so it appears in generated reference docs.
Locate the export named clerkElectron in packages/electron/src/index.ts and add
a one- or two-line /** ... */ comment describing that it is the package
identifier for the Electron integration (e.g., purpose and that it’s a public
surface symbol).

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.changeset/electron-package-scaffold.md:
- Around line 1-2: The changeset file .changeset/electron-package-scaffold.md
currently contains only delimiters and must be populated so the new package
`@clerk/electron` is included in the release flow; edit that file to add a proper
changeset entry naming the package "`@clerk/electron`", specify the appropriate
release type (patch/minor/major) and a short summary of the change so a version
bump and changelog entry are generated during release.

---

Nitpick comments:
In `@packages/electron/src/index.ts`:
- Line 1: Exported public constant clerkElectron lacks JSDoc; add a short JSDoc
comment above the exported symbol to document its purpose and usage so it
appears in generated reference docs. Locate the export named clerkElectron in
packages/electron/src/index.ts and add a one- or two-line /** ... */ comment
describing that it is the package identifier for the Electron integration (e.g.,
purpose and that it’s a public surface symbol).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Repository UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: 6fb8b206-eb94-4dfa-b789-70a2efe621bf

📥 Commits

Reviewing files that changed from the base of the PR and between d46f262 and a59b309.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (6)
  • .changeset/electron-package-scaffold.md
  • .github/labeler.yml
  • packages/electron/package.json
  • packages/electron/src/index.ts
  • packages/electron/tsconfig.json
  • packages/electron/tsdown.config.mts

Comment thread .changeset/electron-package-scaffold.md
@wobsoriano

Copy link
Copy Markdown
Member Author

!snapshot

@wobsoriano wobsoriano closed this Jun 13, 2026
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.

1 participant