Skip to content

Commit 34df72f

Browse files
committed
fix: use statically analysable keys
1 parent 9bc1b3b commit 34df72f

File tree

1 file changed

+61
-10
lines changed

1 file changed

+61
-10
lines changed

app/pages/package/[[org]]/[name].vue

Lines changed: 61 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
252266
const 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

Comments
 (0)