Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions apps/site/util/download/constants.json
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,16 @@
"url": "https://github.com/tj/n",
"info": "layouts.download.codeBox.platformInfo.n"
}
,{
"id": "ASDF",
"icon": "asdf",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing icon component causes runtime crash

High Severity

The "icon": "asdf" value references a non-existent export from @node-core/ui-components/Icons/InstallationMethod. That module only exports Choco, Docker, FNM, Homebrew, N, NVM, and Volta — there is no asdf (or ASDF) export. The createIcon function will resolve IconModule["asdf"] to undefined, and React will crash when attempting to render <undefined />.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit c21dac7. Configure here.

"name": "ASDF",
"compatibility": {
"os": ["MAC", "LINUX", "WIN"]
Comment on lines +192 to +196
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new install method introduces a new id ("ASDF"). Please also update the InstallationMethod union in apps/site/types/release.ts to include this value; otherwise parts of the UI state and dropdown typing rely on unsafe casts and can get out of sync.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ASDF incorrectly listed as Windows-compatible

Medium Severity

The ASDF compatibility includes "WIN" in its os array, but ASDF does not natively support Windows — it only works through WSL2. Every other Unix-based version manager in the list (nvm, fnm, n, brew) correctly limits compatibility to ["MAC", "LINUX"]. Including "WIN" will cause ASDF to appear as an installation option for Windows users, who will then find it doesn't work on their platform.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 2c29d15. Configure here.

},
"url": "https://github.com/asdf-vm/asdf",
"info": "layouts.download.codeBox.platformInfo.asdf"
Comment on lines +192 to +199
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

icon is set to "asdf", but installation method icons are looked up by exported component name from @node-core/ui-components/Icons/InstallationMethod (e.g. "NVM", "Docker"). There is currently no "asdf" export, so createIcon will try to render undefined and crash. Add an ASDF icon component/export (and use its exact export name here), or change icon to an existing valid icon key.

Copilot uses AI. Check for mistakes.
}
Comment on lines 190 to +200
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The array item separator is formatted as ,{ on its own line. This is valid JSON but inconsistent with the surrounding style and makes diffs harder to read. Prefer ending the previous object with a trailing comma and starting the next object on a new, properly indented line.

Suggested change
}
,{
"id": "ASDF",
"icon": "asdf",
"name": "ASDF",
"compatibility": {
"os": ["MAC", "LINUX", "WIN"]
},
"url": "https://github.com/asdf-vm/asdf",
"info": "layouts.download.codeBox.platformInfo.asdf"
}
},
{
"id": "ASDF",
"icon": "asdf",
"name": "ASDF",
"compatibility": {
"os": ["MAC", "LINUX", "WIN"]
},
"url": "https://github.com/asdf-vm/asdf",
"info": "layouts.download.codeBox.platformInfo.asdf"
}

Copilot uses AI. Check for mistakes.
],
"packageManagers": [
{
Expand Down
1 change: 1 addition & 0 deletions packages/i18n/src/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,7 @@
"choco": "Chocolatey is a package manager for Windows.",
"docker": "Docker is a containerization platform.",
"n": "\"n\" is a cross-platform Node.js version manager.",
"asdf": "ASDF is a cross-platform version manager.",
"volta": "\"Volta\" is a cross-platform Node.js version manager."
}
}
Expand Down
3 changes: 2 additions & 1 deletion packages/i18n/src/locales/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"footer": {
"legal": "Copyright © <foundationName>OpenJS Foundation</foundationName> et les contributeurs Node.js. Tous droits réservés.\nLa <foundationName>OpenJS Foundation</foundationName> détient des marques déposées et utilise des marques commerciales.\nPour consulter la liste des marques de la <foundationName>OpenJS Foundation</foundationName>, veuillez vous référer à notre <trademarkPolicy>Politique relative aux marques</trademarkPolicy> ainsi qu’à la <trademarkList>Liste des marques</trademarkList>.\nLes marques et logos qui ne figurent pas dans la <trademarkList>liste des marques de la OpenJS Foundation</trademarkList> sont des marques commerciales™ ou des marques déposées® appartenant à leurs détenteurs respectifs. Leur utilisation n’implique aucune affiliation ni approbation de leur part.",
"links": {
"foundationName": "Fondation OpenJS",
"foundationName": "OpenJS Foundation",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unrelated locale changes revert translated foundation name

Low Severity

In fr.json, foundationName was changed from the French translation "Fondation OpenJS" to the English "OpenJS Foundation". Similarly in ta.json, it was changed from the Tamil "OpenJS நிறுவனம்" to "OpenJS Foundation". These are unrelated to the ASDF feature and appear to be accidental reversions of localized strings back to English.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 2c29d15. Configure here.

"aiCodingAssistantsPolicy": "Politique relative aux assistants de codage basés sur l'IA",
"termsOfUse": "Conditions d’utilisation",
"privacyPolicy": "Politique de confidentialité",
Expand Down Expand Up @@ -299,6 +299,7 @@
"choco": "Chocolatey est un gestionnaire de paquets pour Windows.",
"docker": "Docker est une plateforme de conteneurisation.",
"n": "\"n\" est un gestionnaire de versions Node.js multiplateforme.",
"asdf": "ASDF is a cross-platform version manager.",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Non-English locales have untranslated ASDF descriptions

Medium Severity

The asdf description string is English ("ASDF is a cross-platform version manager.") in all 11 non-English locale files (fr, id, ja, ko, pt-br, pt, ro, ta, uk, zh-cn, zh-tw). Every other entry in those files is properly translated into the respective language, so this breaks the localized user experience.

Additional Locations (2)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit c21dac7. Configure here.

Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This new French locale string is still in English. Please translate it to French to match the other localized strings in platformInfo.

Suggested change
"asdf": "ASDF is a cross-platform version manager.",
"asdf": "\"ASDF\" est un gestionnaire de versions multiplateforme.",

Copilot uses AI. Check for mistakes.
"volta": "\"Volta\" est un gestionnaire de versions Node.js multiplateforme."
}
}
Expand Down
1 change: 1 addition & 0 deletions packages/i18n/src/locales/id.json
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,7 @@
"choco": "Chocolatey adalah manajer paket untuk Windows.",
"docker": "Docker adalah platform kontainerisasi.",
"n": "\"n\" adalah manajer versi Node.js lintas-platform.",
"asdf": "ASDF is a cross-platform version manager.",
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This new Indonesian locale string is still in English. Please translate it to Indonesian to keep platformInfo localized.

Suggested change
"asdf": "ASDF is a cross-platform version manager.",
"asdf": "\"asdf\" adalah manajer versi lintas-platform.",

Copilot uses AI. Check for mistakes.
"volta": "\"Volta\" adalah manajer versi Node.js lintas-platform."
}
}
Expand Down
1 change: 1 addition & 0 deletions packages/i18n/src/locales/ja.json
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,7 @@
"choco": "ChocolateyはWIndows用のパッケージマネージャーです。",
"docker": "Dockerはコンテナー化に関するプラットフォームです。",
"n": "\"n\"はクロスプラットフォームに対応したNode.jsのバージョンマネージャーです。",
"asdf": "ASDF is a cross-platform version manager.",
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This new Japanese locale string is still in English. Please provide a Japanese translation for consistency with the rest of platformInfo.

Suggested change
"asdf": "ASDF is a cross-platform version manager.",
"asdf": "\"ASDF\"はクロスプラットフォームに対応したバージョンマネージャーです。",

Copilot uses AI. Check for mistakes.
"volta": "\"Volta\"はクロスプラットフォームに対応したNode.jsのバージョンマネージャーです。"
}
}
Expand Down
3 changes: 2 additions & 1 deletion packages/i18n/src/locales/ko.json
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,8 @@
"fnm": "\"fnm\"은 플랫폼 간 Node.js 버전 관리자입니다.",
"brew": "Homebrew는 macOS와 Linux용 패키지 관리자입니다.",
"choco": "Chocolatey는 Windows용 패키지 관리자입니다.",
"docker": "Docker는 컨테이너화 플랫폼입니다. "
"docker": "Docker는 컨테이너화 플랫폼입니다. ",
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While touching this line to add the trailing comma, consider removing the trailing space inside the string value (it will render as an extra space in the UI).

Suggested change
"docker": "Docker는 컨테이너화 플랫폼입니다. ",
"docker": "Docker는 컨테이너화 플랫폼입니다.",

Copilot uses AI. Check for mistakes.
"asdf": "ASDF is a cross-platform version manager."
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This new Korean locale string is still in English. Please translate it to Korean so platformInfo remains localized.

Suggested change
"asdf": "ASDF is a cross-platform version manager."
"asdf": "ASDF는 플랫폼 간 버전 관리자입니다."

Copilot uses AI. Check for mistakes.
}
}
}
Expand Down
1 change: 1 addition & 0 deletions packages/i18n/src/locales/pt-br.json
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,7 @@
"choco": "Chocolatey é um gerenciador de pacotes para Windows.",
"docker": "Docker é uma plataforma de conteinerização.",
"n": "\"n\" é um gerenciador de versões do Node.js multiplataforma.",
"asdf": "ASDF is a cross-platform version manager.",
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This new pt-BR locale string is still in English. Please translate it to Brazilian Portuguese to keep platformInfo localized.

Suggested change
"asdf": "ASDF is a cross-platform version manager.",
"asdf": "\"ASDF\" é um gerenciador de versões multiplataforma.",

Copilot uses AI. Check for mistakes.
"volta": "\"Volta\" é um gerenciador de versões do Node.js multiplataforma."
}
}
Expand Down
3 changes: 2 additions & 1 deletion packages/i18n/src/locales/pt.json
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,8 @@
"brew": "Homebrew é um gestor de pacote para macOS e Linux.",
"choco": "Chocolatey é um gestor de pacote para Windows.",
"docker": "Docker é uma plataforma de contentorização.",
"volta": "\"Volta\" é um gestor de versão de Node.js multiplataforma."
"volta": "\"Volta\" é um gestor de versão de Node.js multiplataforma.",
"asdf": "ASDF is a cross-platform version manager."
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This new Portuguese locale string is still in English. Please provide a pt-PT translation for consistency with the rest of platformInfo.

Suggested change
"asdf": "ASDF is a cross-platform version manager."
"asdf": "\"ASDF\" é um gestor de versão multiplataforma."

Copilot uses AI. Check for mistakes.
}
}
},
Expand Down
1 change: 1 addition & 0 deletions packages/i18n/src/locales/ro.json
Original file line number Diff line number Diff line change
Expand Up @@ -380,6 +380,7 @@
"choco": "Chocolatey este un manager de pachete pentru Windows.",
"docker": "Docker este o platformă de containerizare.",
"n": "„n” este un manager de versiuni Node.js multiplatformă.",
"asdf": "ASDF is a cross-platform version manager.",
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This new Romanian locale string is still in English. Please translate it to Romanian to match the other localized entries in platformInfo.

Suggested change
"asdf": "ASDF is a cross-platform version manager.",
"asdf": "ASDF” este un manager de versiuni multiplatformă.",

Copilot uses AI. Check for mistakes.
"volta": "„Volta” este un manager de versiuni Node.js multiplatformă."
}
}
Expand Down
3 changes: 2 additions & 1 deletion packages/i18n/src/locales/ta.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"footer": {
"legal": "பதிப்புரிமை <foundationName>OpenJS நிறுவனம்</foundationName> மற்றும் Node.js பங்களிப்பாளர்கள். அனைத்து உரிமைகளும் பாதுகாக்கப்பட்டவை. <foundationName>OpenJS நிறுவனம்</foundationName> பதிவுசெய்யப்பட்ட வர்த்தக முத்திரைகளைக் கொண்டுள்ளது மற்றும் வர்த்தக முத்திரைகளைப் பயன்படுத்துகிறது. <foundationName>OpenJS நிறுவனம்</foundationName>-ன் வர்த்தக முத்திரைகளின் பட்டியலுக்கு, தயவுசெய்து எங்களது <trademarkPolicy>வர்த்தக முத்திரை கொள்கை</trademarkPolicy> மற்றும் <trademarkList>வர்த்தக முத்திரை பட்டியல் </trademarkList>-ஐப் பார்க்கவும்.<trademarkList>OpenJS Foundation வர்த்தக முத்திரைகளின் பட்டியலில்</trademarkList> குறிப்பிடப்படாத வர்த்தக முத்திரைகள் மற்றும் லோகோக்கள், அந்தந்த உரிமையாளர்களின் வர்த்தக முத்திரைகள்™ அல்லது பதிவுசெய்யப்பட்ட® வர்த்தக முத்திரைகள் ஆகும். அவற்றைப் பயன்படுத்துவது அவர்களுடனான எந்தவொரு தொடர்பையோ அல்லது அவர்களது அங்கீகாரத்தையோ குறிக்காது.",
"links": {
"foundationName": "OpenJS நிறுவனம்",
"foundationName": "OpenJS Foundation",
"termsOfUse": "பயன்பாட்டு விதிமுறைகள்",
"privacyPolicy": "தனியுரிமை கொள்கை",
"bylaws": "துணை விதிகள்",
Expand Down Expand Up @@ -399,6 +399,7 @@
"choco": "Chocolatey என்பது Windows இற்கான பேக்கேஜ் மேலாளர்.",
"docker": "Docker என்பது containerization தளம்.",
"n": "\"n\" குறுக்கு-பிளாட்ஃபார்ம் Node பதிப்பு மேலாளர்.",
"asdf": "ASDF is a cross-platform version manager.",
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This new Tamil locale string is still in English. Please translate it to Tamil so the platformInfo block remains localized.

Suggested change
"asdf": "ASDF is a cross-platform version manager.",
"asdf": "ASDF என்பது ஒரு குறுக்கு-பிளாட்ஃபார்ம் பதிப்பு மேலாளர்.",

Copilot uses AI. Check for mistakes.
"volta": "\"Volta\" விரைந்து வேலை செய்யும் Node மேலாளர்."
}
}
Expand Down
1 change: 1 addition & 0 deletions packages/i18n/src/locales/uk.json
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,7 @@
"choco": "Chocolatey — це менеджер пакетів для Windows.",
"docker": "Docker — це платформа контейнеризації.",
"n": "«n» — це кросплатформний менеджер версій Node.js.",
"asdf": "ASDF is a cross-platform version manager.",
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This new Ukrainian locale string is still in English. Please provide a Ukrainian translation for consistency with the rest of platformInfo.

Suggested change
"asdf": "ASDF is a cross-platform version manager.",
"asdf": "«ASDF» — це кросплатформний менеджер версій.",

Copilot uses AI. Check for mistakes.
"volta": "«Volta» — це кросплатформний менеджер версій Node.js."
}
}
Expand Down
1 change: 1 addition & 0 deletions packages/i18n/src/locales/zh-cn.json
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,7 @@
"choco": "Chocolatey 是一款 Windows 软件包管理器。",
"docker": "Docker 是一个容器化平台。",
"n": "\"n\" 是一个跨平台的 Node.js 版本管理器。",
"asdf": "ASDF is a cross-platform version manager.",
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This new zh-cn locale string is still in English. Please translate it to Simplified Chinese to keep platformInfo localized.

Suggested change
"asdf": "ASDF is a cross-platform version manager.",
"asdf": "ASDF 是一个跨平台的版本管理器。",

Copilot uses AI. Check for mistakes.
"volta": "\"Volta\" 是一个跨平台的 Node.js 版本管理器。"
}
}
Expand Down
1 change: 1 addition & 0 deletions packages/i18n/src/locales/zh-tw.json
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,7 @@
"choco": "Chocolatey 是 Windows 的套件管理程式。",
"docker": "Docker 是一款容器化平台。",
"n": "「n」是跨平台的 Node.js 版本管理程式。",
"asdf": "ASDF is a cross-platform version manager.",
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This new zh-tw locale string is still in English. Please translate it to Traditional Chinese to match the rest of platformInfo (the other entries here are localized).

Suggested change
"asdf": "ASDF is a cross-platform version manager.",
"asdf": "ASDF」是跨平台的版本管理程式。",

Copilot uses AI. Check for mistakes.
"volta": "「Volta」是跨平台的 Node.js 版本管理程式。"
}
}
Expand Down
Loading