chore: speedup builds for binary and prepackage
Description
Using child processes and parallel executions, this PR accelerates installations, copying and downloads. In most cases, the performance improvement is more than 2x.
- put
installNodeModuleInTempDirAndCopyToCurrentintoinstall-copy-nodemodule.jsfor copying lancedb targets on parallel in child process - install node modules for gui and vscode on parallel using child process
npm-install.js - install and copy sqlite and esbuild on parallel using child process
download-copy-sqlite-esbuild.js - bundle binaries and download sqlite and ripgrep in parallel in child processes
bundle-binary.js - used nodejs http dowload over curl (http is 2-3x faster than curl)
- generate and copy config yaml schema in a child process so that npm installations can be done on parallel
generate-copy-config.js - refactoring of few functions to avoid duplication
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? ]
Your cubic subscription is currently inactive. Please reactivate your subscription to receive AI reviews and use cubic.
Deploy Preview for continuedev ready!
| Name | Link |
|---|---|
| Latest commit | a6dbe946eab3591ed143fb5a89cad8d7be6a243a |
| Latest deploy log | https://app.netlify.com/projects/continuedev/deploys/685e15ee3df18a00082c4fb3 |
| Deploy Preview | https://deploy-preview-6022--continuedev.netlify.app |
| Preview on mobile | Toggle QR Code...Use your smartphone camera to open QR code link. |
To edit notification comments on pull requests, go to your Netlify project configuration.
⚠️ Only 5 files will be analyzed due to processing limits.
😱 Found 2 issues. Time to roll up your sleeves! 😱
https://github.com/user-attachments/assets/c6431f3e-37b9-4d66-bf11-0c8bed79524d
https://github.com/user-attachments/assets/7d0c8ca9-2a7c-4bf6-846e-f15885fd2c06
:tada: This PR is included in version 1.1.0 :tada:
The release is available on:
Your semantic-release bot :package::rocket: