@clerk/upgrade stalls on binary build artifacts
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 1.8k
- Forks
- 472
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 189
Description
Preliminary Checks
-
I have reviewed the documentation: https://clerk.com/docs
-
I have searched for existing issues: https://github.com/clerk/javascript/issues
-
I have not already reached out to Clerk support via email or Discord (if you have, no need to open an issue here)
-
This issue is not a question, general help request, or anything other than a bug report directly related to Clerk. Please ask questions in our Discord community: https://clerk.com/discord.
Reproduction
https://gist.github.com/rofinn/34747e70ad8ecadd03f76d0d4200dfd9
Publishable key
N/A
Description
Running clerk/upgrade --dry-run in a monorepo containing cargo build artifacts causes the scan step to stall trying to analyze binary build files. The linked github gist includes the steps to reproduce with shell output.
Steps to reproduce:
- Clone https://github.com/Nipsuli/tauri-plugin-clerk.git (or any repo that may produced binary build artifacts)
- Generated the build artifacts. In the example, this was running
cargo buildinexamples/react-example/src-tauri. - Run
time bun x @clerk/upgrade --dry-runfrom theexamples/react-exampledirectory (to mimic a monorepo). - Kill the scan after it stalls
- Delete the
examples/react-example/src-tauri/target/debugdirectory and rerun - You'll notice it completes fine.
Expected behavior:
I would have expected the scanning step to focus on text files that contain potential code issues. I understand that just relying on extensions isn't the most reliable if you want to catch issues in scripts or markdown files, but I think it should be able to identify and catch binary build artifacts.
Actual behavior:
I think the desired behaviour has 4 components.
- The scan file spinner should probably give the full relative path to make it easier to spot when this is happening. Some build artifacts can have pretty opaque names.
- I think we should be able to detect binary files as part of the scan.
- (Optional) Broaden the default ignore globs include include common build output directories
- (Optional) It'd be nice if the scanner picked up existing .gitignore rules
Environment
N/A. Can be reproduced in any repo with binary build artifacts.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the stall with bun x @clerk/upgrade --dry-run in the linked tauri-plugin-clerk repository, comparing runs with and without examples/react-example/src-tauri/target/debug. Use the linked gist and scan output to locate the scan entry point. Done should include handling binary build artifacts without stalling; the spinner path, default ignore globs, and .gitignore support are listed as additional or optional behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- bun, typescript
- Domain
- build-system, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100