Skip to content

Commit e528c90

Browse files
committed
use a simpler approach
1 parent f276037 commit e528c90

5 files changed

Lines changed: 30 additions & 30 deletions

File tree

app/components/Package/Replacement.vue

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22
import type { ModuleReplacement } from 'module-replacements'
33
44
const props = defineProps<{
5-
replacements: ModuleReplacement
5+
replacement: ModuleReplacement
66
}>()
77
88
const mdnUrl = computed(() => {
9-
if (props.replacements.type !== 'native' || !props.replacements.mdnPath) return null
10-
return `https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/${props.replacements.mdnPath}`
9+
if (props.replacement.type !== 'native' || !props.replacement.mdnPath) return null
10+
return `https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/${props.replacement.mdnPath}`
1111
})
1212
1313
const docPath = computed(() => {
14-
if (props.replacements.type !== 'documented' || !props.replacements.docPath) return null
15-
return `https://e18e.dev/docs/replacements/${props.replacements.docPath}.html`
14+
if (props.replacement.type !== 'documented' || !props.replacement.docPath) return null
15+
return `https://e18e.dev/docs/replacements/${props.replacement.docPath}.html`
1616
})
1717
</script>
1818

@@ -22,24 +22,24 @@ const docPath = computed(() => {
2222
>
2323
<h2 class="font-medium mb-1 flex items-center gap-2">
2424
<span class="i-lucide:lightbulb w-4 h-4" aria-hidden="true" />
25-
{{ $t('package.replacements.title') }}
25+
{{ $t('package.replacement.title') }}
2626
</h2>
2727
<p class="text-sm m-0">
2828
<i18n-t
29-
v-if="replacements.type === 'native'"
30-
keypath="package.replacements.native"
29+
v-if="replacement.type === 'native'"
30+
keypath="package.replacement.native"
3131
scope="global"
3232
>
3333
<template #replacements>
34-
{{ replacements.replacements }}
34+
{{ replacement.replacements }}
3535
</template>
3636
<template #nodeVersion>
37-
{{ replacements.nodeVersion }}
37+
{{ replacement.nodeVersion }}
3838
</template>
3939
</i18n-t>
4040
<i18n-t
41-
v-else-if="replacements.type === 'simple'"
42-
keypath="package.replacements.simple"
41+
v-else-if="replacement.type === 'simple'"
42+
keypath="package.replacement.simple"
4343
scope="global"
4444
>
4545
<template #community>
@@ -49,17 +49,17 @@ const docPath = computed(() => {
4949
rel="noopener noreferrer"
5050
class="inline-flex items-center gap-1 ms-1 underline underline-offset-4 decoration-amber-600/60 dark:decoration-amber-400/50 hover:decoration-fg transition-colors"
5151
>
52-
{{ $t('package.replacements.community') }}
52+
{{ $t('package.replacement.community') }}
5353
<span class="i-lucide:external-link w-3 h-3" aria-hidden="true" />
5454
</a>
5555
</template>
5656
<template #replacements>
57-
{{ replacements.replacements }}
57+
{{ replacement.replacements }}
5858
</template>
5959
</i18n-t>
6060
<i18n-t
61-
v-else-if="replacements.type === 'documented'"
62-
keypath="package.replacements.documented"
61+
v-else-if="replacement.type === 'documented'"
62+
keypath="package.replacement.documented"
6363
scope="global"
6464
>
6565
<template #community>
@@ -69,13 +69,13 @@ const docPath = computed(() => {
6969
rel="noopener noreferrer"
7070
class="inline-flex items-center gap-1 ms-1 underline underline-offset-4 decoration-amber-600/60 dark:decoration-amber-400/50 hover:decoration-fg transition-colors"
7171
>
72-
{{ $t('package.replacements.community') }}
72+
{{ $t('package.replacement.community') }}
7373
<span class="i-lucide:external-link w-3 h-3" aria-hidden="true" />
7474
</a>
7575
</template>
7676
</i18n-t>
7777
<template v-else>
78-
{{ $t('package.replacements.none') }}
78+
{{ $t('package.replacement.none') }}
7979
</template>
8080
<a
8181
v-if="mdnUrl"
@@ -84,7 +84,7 @@ const docPath = computed(() => {
8484
rel="noopener noreferrer"
8585
class="inline-flex items-center gap-1 ms-1 underline underline-offset-4 decoration-amber-600/60 dark:decoration-amber-400/50 hover:decoration-fg transition-colors"
8686
>
87-
{{ $t('package.replacements.mdn') }}
87+
{{ $t('package.replacement.mdn') }}
8888
<span class="i-lucide:external-link w-3 h-3" aria-hidden="true" />
8989
</a>
9090
<a
@@ -94,7 +94,7 @@ const docPath = computed(() => {
9494
rel="noopener noreferrer"
9595
class="inline-flex items-center gap-1 ms-1 underline underline-offset-4 decoration-amber-600/60 dark:decoration-amber-400/50 hover:decoration-fg transition-colors"
9696
>
97-
{{ $t('package.replacements.learn_more') }}
97+
{{ $t('package.replacement.learn_more') }}
9898
<span class="i-lucide:external-link w-3 h-3" aria-hidden="true" />
9999
</a>
100100
</p>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import type { ModuleReplacement } from 'module-replacements'
2+
3+
export function useModuleReplacement(packageName: MaybeRefOrGetter<string>) {
4+
return useLazyFetch<ModuleReplacement | null>(() => `/api/replacements/${toValue(packageName)}`)
5+
}

app/composables/useModuleReplacements.ts

Lines changed: 0 additions & 5 deletions
This file was deleted.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -963,7 +963,7 @@ const showSkeleton = shallowRef(false)
963963

964964
<div class="space-y-6" :class="$style.areaVulns">
965965
<!-- Bad package warning -->
966-
<PackageReplacement v-if="moduleReplacements" :replacements="moduleReplacements" />
966+
<PackageReplacement v-if="moduleReplacement" :replacement="moduleReplacement" />
967967
<!-- Size / dependency increase notice -->
968968
<PackageSizeIncrease v-if="sizeDiff" :diff="sizeDiff" />
969969
<!-- Vulnerability scan -->
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { all, type ModuleReplacement } from 'module-replacements'
22

3-
export default defineEventHandler((event): ModuleReplacement[] | null => {
3+
export default defineEventHandler((event): ModuleReplacement | null => {
44
const pkg = getRouterParam(event, 'pkg')
55
if (!pkg) return null
66
const mapping = all.mappings[pkg]
77
if (!mapping) return null
8-
const replacements = mapping.replacements.map(r => all.replacements[r]!)
9-
if (!replacements.length) return null
10-
return replacements
8+
const replacement = mapping.replacements[0]
9+
if (!replacement) return null
10+
return all.replacements[replacement] ?? null
1111
})

0 commit comments

Comments
 (0)