quary icon indicating copy to clipboard operation
quary copied to clipboard

feat: bundle the extension with binaries

Open louisjoecodes opened this issue 1 year ago • 2 comments

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.

louisjoecodes avatar May 21 '24 16:05 louisjoecodes

@benfdking what do you think here?

louisjoecodes avatar May 21 '24 16:05 louisjoecodes

Alternative approach discussed whereby we bundle platform-specific builds

louisjoecodes avatar May 22 '24 09:05 louisjoecodes