Skip to content

CodeEditorLand/SideCar

SideCar

⚙️

+

🏞️


SideCar ⚙️

VS Code ships one Node.js binary and detects the platform at runtime, with fallback chains that fail in edge cases (Alpine Linux, custom glibc versions, ARM configurations).

"The right Node.js binary. Compiled in. No detection."

SideCar packages the exact Node.js binary for each target triple at compile time: aarch64-apple-darwin, x86_64-pc-windows-msvc, and four others. Cocoon always gets the binary that matches the host. No runtime detection, no fallback chains, no surprises.

📖 Rust API Documentation


What It Does 🔐

  • Compile-time selection. The correct binary for each target triple is selected at build time.
  • Six target triples. aarch64-apple-darwin, x86_64-pc-windows-msvc, and four others.
  • No fallback chains. Cocoon always gets exactly the right binary. No runtime detection.

In the Ecosystem ⚙️ + 🏞️

graph LR
classDef sidecar fill:#f9f,stroke:#333,stroke-width:2px;
classDef external fill:#ddd,stroke:#666,stroke-dasharray: 5 5;
classDef storage fill:#9cf,stroke:#333,stroke-width:1px;

subgraph "External Sources"
NodeJSOrg["nodejs.org"]:::external
OtherRuntimes["Other Runtime Sources"]:::external
end

subgraph "SideCar ⚙️  (Download Tool)"
DownloadBin["Download Binary"]:::sidecar
CacheJSON["Cache.json"]:::sidecar
GitLFS[".gitattributes (LFS)"]:::sidecar

DownloadBin --> CacheJSON
DownloadBin --> GitLFS
end

subgraph "SideCar Directory Structure"
TargetTriple["[target-triple]/"]:::storage
RuntimeName["[SIDECAR_NAME]/"]:::storage
Version["[version]/bin/"]:::storage

TargetTriple --> RuntimeName
RuntimeName --> Version
end

NodeJSOrg --> DownloadBin
OtherRuntimes --> DownloadBin
DownloadBin --> TargetTriple
Loading

Project Structure 🗺️

SideCar/
└── [target-triple]/
    └── [SIDECAR_NAME]/
        └── [version]/
            ├── bin/
            │   └── node
            ├── node.exe
            └── ... (other files from the distribution)

Development 🛠️

SideCar is a component of the Land workspace. Follow the Land Repository instructions to build and run.


License ⚖️

CC0 1.0 Universal. Public domain. No restrictions. LICENSE


See Also

Funding & Acknowledgements 🙏🏻

Code Editor Land is funded through the NGI0 Commons Fund, established by NLnet with financial support from the European Commission's Next Generation Internet programme, under grant agreement No. 101135429.

The project is operated by PlayForm, based in Sofia, Bulgaria.

PlayForm acts as the open-source steward for Code Editor Land under the NGI0 Commons Fund grant.

Land PlayForm NLnet NGI0 Commons Fund
Land PlayForm NLnet NGI0 Commons Fund

Project Maintainers: Source Open (Source/Open@Editor.Land) | GitHub Repository | Report an Issue | Security Policy

About

SideCar 🚃 + Land 🏞️

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors