@@ -249,6 +249,20 @@ const installVersionOverride = computed(
249249 () => publishSecurityDowngrade .value ?.trustedVersion ?? null ,
250250)
251251
252+ const downgradeFallbackInstallText = computed (() => {
253+ const d = publishSecurityDowngrade .value
254+ if (! d ?.trustedVersion ) return null
255+ if (d .trustedTrustLevel === ' provenance' )
256+ return $t (' package.security_downgrade.fallback_install_provenance' , {
257+ version: d .trustedVersion ,
258+ })
259+ if (d .trustedTrustLevel === ' trustedPublisher' )
260+ return $t (' package.security_downgrade.fallback_install_trustedPublisher' , {
261+ version: d .trustedVersion ,
262+ })
263+ return null
264+ })
265+
252266const sizeTooltip = computed (() => {
253267 const chunks = [
254268 displayVersion .value &&
@@ -1055,7 +1069,51 @@ onKeyStroke(
10551069 </h3 >
10561070 <p class =" mt-2 mb-0 text-sm" >
10571071 <i18n-t
1058- :keypath =" `package.security_downgrade.description_to_${publishSecurityDowngrade.downgradedTrustLevel}_${publishSecurityDowngrade.trustedTrustLevel}`"
1072+ v-if ="
1073+ publishSecurityDowngrade.downgradedTrustLevel === 'none' &&
1074+ publishSecurityDowngrade.trustedTrustLevel === 'provenance'
1075+ "
1076+ keypath =" package.security_downgrade.description_to_none_provenance"
1077+ tag =" span"
1078+ scope =" global"
1079+ >
1080+ <template #provenance >
1081+ <a
1082+ href =" https://docs.npmjs.com/generating-provenance-statements"
1083+ target =" _blank"
1084+ rel =" noopener noreferrer"
1085+ class =" inline-flex items-center gap-1 rounded-sm underline underline-offset-4 decoration-amber-600/60 dark:decoration-amber-400/50 hover:decoration-fg focus-visible:decoration-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/70 transition-colors"
1086+ >{{ $t('package.security_downgrade.provenance_link_text')
1087+ }}<span class =" i-carbon-launch w-3 h-3" aria-hidden =" true"
1088+ /></a >
1089+ </template >
1090+ </i18n-t >
1091+ <i18n-t
1092+ v-else-if ="
1093+ publishSecurityDowngrade.downgradedTrustLevel === 'none' &&
1094+ publishSecurityDowngrade.trustedTrustLevel === 'trustedPublisher'
1095+ "
1096+ keypath =" package.security_downgrade.description_to_none_trustedPublisher"
1097+ tag =" span"
1098+ scope =" global"
1099+ >
1100+ <template #trustedPublishing >
1101+ <a
1102+ href =" https://docs.npmjs.com/adding-a-trusted-publisher-to-a-package"
1103+ target =" _blank"
1104+ rel =" noopener noreferrer"
1105+ class =" inline-flex items-center gap-1 rounded-sm underline underline-offset-4 decoration-amber-600/60 dark:decoration-amber-400/50 hover:decoration-fg focus-visible:decoration-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/70 transition-colors"
1106+ >{{ $t('package.security_downgrade.trusted_publishing_link_text')
1107+ }}<span class =" i-carbon-launch w-3 h-3" aria-hidden =" true"
1108+ /></a >
1109+ </template >
1110+ </i18n-t >
1111+ <i18n-t
1112+ v-else-if ="
1113+ publishSecurityDowngrade.downgradedTrustLevel === 'provenance' &&
1114+ publishSecurityDowngrade.trustedTrustLevel === 'trustedPublisher'
1115+ "
1116+ keypath =" package.security_downgrade.description_to_provenance_trustedPublisher"
10591117 tag =" span"
10601118 scope =" global"
10611119 >
@@ -1081,15 +1139,8 @@ onKeyStroke(
10811139 </template >
10821140 </i18n-t >
10831141 {{ ' ' }}
1084- <template v-if =" publishSecurityDowngrade .trustedVersion " >
1085- {{
1086- $t(
1087- `package.security_downgrade.fallback_install_${publishSecurityDowngrade.trustedTrustLevel}`,
1088- {
1089- version: publishSecurityDowngrade.trustedVersion,
1090- },
1091- )
1092- }}
1142+ <template v-if =" downgradeFallbackInstallText " >
1143+ {{ downgradeFallbackInstallText }}
10931144 </template >
10941145 </p >
10951146 </div >
0 commit comments