feat: bundle the extension with binaries
This approach pre-installs the binaries for Mac/Linux etc. directly into the extension.
- The main benefit of this is to keep the CLI and extension in sync at all times.
I don't think this approach is viable as the .vsix extension package size has significantly increased to 117 MB, up from the previous 10 MB once built. This increase will negatively impact download times and the overall user experience, especially when used in the web.
Alternative approaches
(option 1) Dynamic Downloading: Instead of bundling the binaries within the .vsix package, we could dynamically download them based on the user's platform and architecture upon first use.
(option 2) Conditional Packaging: We might also consider creating different versions of the extension (1 for web & 1 for node), each packaged with only the relevant binaries. This would involve more complex release management but could be automated with CI/CD pipelines to target specific platforms effectively.
(current approach) Continue Managing External Dependencies: We could continue to manage these binaries as external dependencies, but improve the installation process by automating the command line script.
@benfdking what do you think here?
Alternative approach discussed whereby we bundle platform-specific builds