-
Notifications
You must be signed in to change notification settings - Fork 417
feat: snapi #6062
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
base: main
Are you sure you want to change the base?
feat: snapi #6062
Conversation
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
|
||
| async checkoutBranch(branch: string): Promise<void> { | ||
| try { | ||
| execSync(`git checkout ${branch}`, { |
Check warning
Code scanning / CodeQL
Unsafe shell command constructed from library input Medium
library input
shell command
|
|
||
| async getLastCommit(branch: string): Promise<string> { | ||
| try { | ||
| const commit = execSync(`git rev-parse ${branch}`, { |
Check warning
Code scanning / CodeQL
Unsafe shell command constructed from library input Medium
library input
shell command
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix
AI 6 months ago
To fix the issue, we will replace the use of execSync with string interpolation by using a safer API, execFileSync, which allows passing arguments as an array. This approach avoids shell interpretation of special characters in the input. Specifically:
- Replace the
execSynccall on line 34 withexecFileSync, passingbranchas an argument in an array. - Ensure that the
branchparameter is passed as-is without being interpolated into a shell command string.
No additional dependencies are required for this fix.
-
Copy modified line R34
| @@ -33,3 +33,3 @@ | ||
| try { | ||
| const commit = execSync(`git rev-parse ${branch}`, { | ||
| const commit = execSync('git', ['rev-parse', branch], { | ||
| cwd: this.workspaceRoot, |
|
|
||
| async fetchBranch(branch: string): Promise<void> { | ||
| try { | ||
| execSync(`git fetch origin ${branch}`, { |
Check warning
Code scanning / CodeQL
Unsafe shell command constructed from library input Medium
library input
shell command
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix
AI 6 months ago
To fix the issue, we will replace the use of execSync with a safer alternative. Specifically, we will use child_process.execFileSync, which allows us to pass arguments as an array, avoiding the need for shell interpretation. This approach ensures that special characters in the branch parameter are treated as literal strings rather than being interpreted by the shell.
The changes will involve:
- Replacing the string interpolation in the
execSynccall with anexecFileSynccall. - Passing the
branchparameter as an argument in an array toexecFileSync.
-
Copy modified line R1 -
Copy modified line R92
| @@ -1,2 +1,2 @@ | ||
| import { execSync } from 'child_process'; | ||
| import { execSync, execFileSync } from 'child_process'; | ||
|
|
||
| @@ -91,3 +91,3 @@ | ||
| try { | ||
| execSync(`git fetch origin ${branch}`, { | ||
| execFileSync('git', ['fetch', 'origin', branch], { | ||
| cwd: this.workspaceRoot, |
🔍 API Changes Report✅ No API ChangesSummary✅ No API changes detected in any packages. All public APIs remain stable and backward compatible. Next Steps✅ No API changes detected. Safe to merge. This report was generated by the API Breakage Detector. For more information, see the documentation. 🤖 This comment was automatically generated by the API Breakage Detector |
|
Hello 👋 We currently close PRs after 60 days of inactivity. It's been 50 days since the last update here. If we missed this PR, please reply here. Otherwise, we'll close this PR in 10 days. Thanks for being a part of the Clerk community! 🙏 |
|
Hello 👋 We currently close PRs after 60 days of inactivity. It's been 50 days since the last update here. If we missed this PR, please reply here. Otherwise, we'll close this PR in 10 days. Thanks for being a part of the Clerk community! 🙏 |
- Combined both sets of tasks in turbo.json (machine/custom integration tests and api snapshot tasks) - Regenerated pnpm-lock.yaml to resolve dependency conflicts
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests
Comment |
|
Hello 👋 We currently close PRs after 60 days of inactivity. It's been 50 days since the last update here. If we missed this PR, please reply here. Otherwise, we'll close this PR in 10 days. Thanks for being a part of the Clerk community! 🙏 |
Description
Fixes: SDKI-954
Checklist
pnpm testruns as expected.pnpm buildruns as expected.Type of change