Skip to content

chore: speedup builds for binary and prepackage #6022

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

Open
wants to merge 20 commits into
base: main
Choose a base branch
from

Conversation

uinstinct
Copy link
Contributor

@uinstinct uinstinct commented Jun 6, 2025

Description

Using child processes and parallel executions, this PR accelerates installations, copying and downloads. In most cases, the performance improvement is more than 2x.

performance improvements from my machine:

previous now
npm run build (binary) 65 seconds 15 seconds
npm run prepackage (extension/vscode) 22 seconds 10 seconds
install dependencies script 139 seconds 88 seconds

CON-2267

Checklist

  • [] I've read the contributing guide
  • [] The relevant docs, if any, have been updated or created
  • [] The relevant tests, if any, have been updated or created

Screenshots

[ For visual changes, include screenshots. Screen recordings are particularly helpful, and appreciated! ]

Tests

[ What tests were added or updated to ensure the changes work as expected? ]

Copy link

cubic-dev-ai bot commented Jun 6, 2025

Your cubic subscription is currently inactive. Please reactivate your subscription to receive AI reviews and use cubic.

Copy link

netlify bot commented Jun 6, 2025

Deploy Preview for continuedev canceled.

Name Link
🔨 Latest commit 0786fb8
🔍 Latest deploy log https://app.netlify.com/projects/continuedev/deploys/684c4281b3ca13000857c041

@uinstinct uinstinct changed the title speedup builds for binary and prepackage chore: speedup builds for binary and prepackage Jun 6, 2025
@uinstinct uinstinct marked this pull request as ready for review June 6, 2025 17:51
@uinstinct uinstinct requested a review from a team as a code owner June 6, 2025 17:51
@uinstinct uinstinct requested review from tomasz-stefaniak and removed request for a team June 6, 2025 17:51
@dosubot dosubot bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label Jun 6, 2025
Copy link

recurseml bot commented Jun 13, 2025

⚠️ Only 5 files will be analyzed due to processing limits.

if (msg.error) {
reject();
}
resolve();
Copy link

Choose a reason for hiding this comment

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

In the copySqlite function, the promise is resolved unconditionally after the error check. If msg.error is true, the code will still call resolve() right after calling reject(), leading to an inconsistent promise state. The resolve() call should be in an else block to ensure mutual exclusion with the error case.


React with 👍 to tell me that this comment was useful, or 👎 if not (and I'll stop posting more comments like this in the future)

if (msg.error) {
reject();
}
resolve();
Copy link

Choose a reason for hiding this comment

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

Similar to the copySqlite function, the copyEsbuild function has the same promise resolution issue where resolve() is called unconditionally after the error check. The resolve() call should be in an else block to prevent resolving after an error has occurred.


React with 👍 to tell me that this comment was useful, or 👎 if not (and I'll stop posting more comments like this in the future)

Copy link

recurseml bot commented Jun 13, 2025

😱 Found 2 issues. Time to roll up your sleeves! 😱

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size:XXL This PR changes 1000+ lines, ignoring generated files.
Projects
Status: Todo
Development

Successfully merging this pull request may close these issues.

1 participant