feat: add 0install as an installation method on the downloads page - #9026
feat: add 0install as an installation method on the downloads page#9026bastianeicher wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
PR SummaryLow Risk Overview Users on Windows, macOS, and Linux can pick it from the install-method dropdown and get OS-specific copy-paste commands: install 0install (winget vs curl script), wire up Reviewed by Cursor Bugbot for commit 0eaaf0a. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
Pull request overview
Adds 0install as a community installation method on the Downloads page, including a new UI icon and snippet logic to support installing pnpm via 0install’s feed instead of Corepack.
Changes:
- Added a new
ZeroInstallinstallation-method icon and exported it through the UI icon index (plus Storybook coverage). - Added
ZEROINSTALLto the downloads install-method constants and theInstallationMethodtype union. - Introduced a new 0install download snippet and adjusted snippet processing to skip Corepack installation when using
ZEROINSTALL + PNPM; updated the English pnpm snippet accordingly.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/ui-components/src/Icons/InstallationMethod/ZeroInstall.tsx | Adds the 0install SVG icon component. |
| packages/ui-components/src/Icons/InstallationMethod/index.ts | Exports the new ZeroInstall icon. |
| packages/ui-components/design/platform-logos.stories.tsx | Displays the new icon in the design Storybook. |
| packages/i18n/src/locales/en.json | Adds English platform info text for 0install. |
| apps/site/util/download/constants.json | Registers ZEROINSTALL as a new install method (name/icon/url/info). |
| apps/site/types/release.ts | Extends the InstallationMethod union with ZEROINSTALL. |
| apps/site/snippets/en/download/zeroinstall.bash | Adds the English 0install installation snippet. |
| apps/site/snippets/en/download/pnpm.bash | Uses 0install feed for pnpm when installMethod === 'ZEROINSTALL'. |
| apps/site/components/Downloads/Release/ReleaseCodeBox.tsx | Skips Corepack-install snippet when using ZEROINSTALL + PNPM. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (1)
apps/site/snippets/en/download/zeroinstall.bash:7
0install adddoes not support a--versionflag (per 0install CLI docs, version constraints are handled via0install select --version=.../ selections). As written, these commands will likely fail with an unknown option error, breaking the generated download snippet for 0install.
If you don't intend to pin an exact version here, remove the --version templating from the add commands (or switch to the documented 0install select flow if pinning is required).
0install add node https://apps.0install.net/javascript/node.xml${props.os === 'WIN' ? '' : ' --version=' + props.release.version}
0install add npm https://apps.0install.net/javascript/node.xml --command=npm${props.os === 'WIN' ? '' : ' --version=' + props.release.version}
0install add npx https://apps.0install.net/javascript/node.xml --command=npx${props.os === 'WIN' ? '' : ' --version=' + props.release.version}
|
Note Your Pull Request seems to be updating Translations of the Node.js Website. Whilst we appreciate your intent; Any Translation update should be done through our Crowdin Project. Thank you! |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 23 out of 23 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
packages/ui-components/src/Icons/InstallationMethod/ZeroInstall.tsx:9
- This new SVG icon component omits default
width/heightattributes on the root<svg>, unlike the other InstallationMethod icons in this folder (they default to 32×32). Without explicit sizing props, the browser default (300×150) can cause inconsistent rendering in consumers.
<svg
xmlns="http://www.w3.org/2000/svg"
xmlnsXlink="http://www.w3.org/1999/xlink"
viewBox="0 0 68 68"
{...props}
>
This comment was marked as outdated.
This comment was marked as outdated.
|
Please only update the english site |
|
3ff16a6 to
0f5fa0b
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
apps/site/snippets/en/download/zeroinstall.bash:6
- These
0install addcommands use--command=...for npm/npx. The published 0install man pages and user guide foradddocument the form0install add NAME URIand do not list--commandas a supported option foradd, which makes this snippet likely to fail for users on some 0install versions/platforms.
0install add node https://apps.0install.net/javascript/node.xml${props.os === 'WIN' ? '' : ' --version=' + props.release.version}
0install add npm https://apps.0install.net/javascript/node.xml --command=npm${props.os === 'WIN' ? '' : ' --version=' + props.release.version}
0install add npx https://apps.0install.net/javascript/node.xml --command=npx${props.os === 'WIN' ? '' : ' --version=' + props.release.version}
0f5fa0b to
732e67f
Compare
ac15bab to
5f9dd72
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 7692e1b. Configure here.
|
@bastianeicher Sorry to make you do this but you have to rebase, we recently changed some directory things. No need to resolve conflicts, just |
b9a138a to
dd73fcf
Compare
@avivkeller Done 👍 |
dd73fcf to
537cf53
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 7 changed files in this pull request and generated no new comments.
Suppressed comments (1)
packages/ui-components/src/Icons/InstallationMethod/ZeroInstall.tsx:10
- Other InstallationMethod icons define a default
width/heighton the root<svg>(e.g. Docker/N/NVM).ZeroInstallcurrently relies entirely on callers to pass sizing props, which can lead to inconsistent default rendering when it’s used without explicit dimensions.
<svg
xmlns="http://www.w3.org/2000/svg"
xmlnsXlink="http://www.w3.org/1999/xlink"
viewBox="0 0 68 68"
{...props}
0install is a cross-platform decentralized package manager. Applications are packaged as "feeds": XML files listing available versions, where to download them, and how to extract and execute them. The 0install project maintains a feed for Node.js: https://apps.0install.net/javascript/node.xml This adds 0install alongside the other community installation methods such as asdf and Chocolatey.
537cf53 to
0eaaf0a
Compare

Description
0install is a cross-platform decentralized package manager. Applications are packaged as "feeds": XML files listing available versions, where to download them, and how to extract and execute them. The 0install project maintains a feed for Node.js: https://apps.0install.net/javascript/node.xml
This adds 0install alongside the other community installation methods such as asdf and Chocolatey.
Validation
Check List
pnpm formatto ensure the code follows the style guide.pnpm testto check if all tests are passing.pnpm buildto check if the website builds without errors.