question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Stop downloading binaries for every single architecture in all hosts

See original GitHub issue

Here is what is in shellcheck’s extension now:

binaries/
    darwin/
        arm64/
            shellcheck
        x64/
            shellcheck
    linux/
        arm/
            shellcheck
        arm64/
            shellcheck
        x64/
            shellcheck
    win32/
        x32/
            shellcheck.exe

Suppose I have an x64 Linux machine, the extension should only download binaries/linux/x64/shellcheck, saving 120MB (~85%) disk space.

Similarly, if the host is Windows, only binaries/win32/x32/shellcheck.exe should be downloaded.

4 solutions to this:

  1. Download only that 1 binary package in the .vsix (saves bandwidth too but not feasible(?))
  2. Download all binaries and remove irrelevant binaries (works but wastes bandwidth)
  3. Setting to point shellcheck to use an external binary installed in the system (requires extra setup but can save disk space further by using system binaries)
  4. Download binary seperately (check does binary exist everytime, if not, download the suitable binary)

I think solutions 3 and 4 are best. Or maybe we can have solution 5 by combining solution 3 and 4 (best of the best!).

Temporary solution: User removes the unused binary him/herself (works, but need to do so every update)

Hope that this will get implemented soon.

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:15

github_iconTop GitHub Comments

4reactions
babaric-devcommented, Oct 31, 2022

So we’ll just have to wait.

1reaction
felipecrscommented, Nov 8, 2022

a platform specific vsix means there are multiple vix build and distributed (you only download the one needed, nice side effect: there can be an “all OS ones” - which does not ship the binary but instead needs shellcheck.executablePath to be set)

BTW, I’m reading the documentation at https://code.visualstudio.com/api/working-with-extensions/publishing-extension#platformspecific-extensions at I don’t think it’s possible to have a “all OS ones” variant. But, for all the platforms that we don’t have a binary for, the vsix will contain no binaries.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Different strategy for installing platform-specific binaries #789
I came here from netlify-cli which is currently broken in Nixpkgs, because of the transitive dependency on esbuild , which is trying to...
Read more >
Binary package guide - Gentoo Wiki
Setting up a binary package host. Portage supports a number of protocols for downloading binary packages: FTP, FTPS, HTTP, HTTPS, and SSH/SFTP.
Read more >
Configuring the Filestore - JFrog - JFrog Documentation
A file store configuration to use S3 Cloud Storage using the official Amazon SDK. You can optimize the JFrog Platform for the download...
Read more >
How To Build and Install Go Programs - DigitalOcean
In Go, distributing or deploying your application requires you to build your code into a shareable binary executable. To do this, you can ......
Read more >
Create a single file for application deployment - .NET
Bundling all application-dependent files into a single binary provides an ... NET Core host first extracts all files to a directory before ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found