Skip to content

Commit 74eee66

Browse files
committed
Revert "wip"
This reverts commit f89546e.
1 parent f89546e commit 74eee66

File tree

3 files changed

+53
-55
lines changed

3 files changed

+53
-55
lines changed

app/components/Compare/ReplacementSuggestion.vue

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,14 @@ const props = defineProps<{
1010
showAction?: boolean
1111
}>()
1212
13-
const emit = defineEmits<{ addNoDep: [] }>()
14-
const { externalUrl, nodeVersion, replacementName } = useReplacements(props.replacement)
13+
const emit = defineEmits<{
14+
addNoDep: []
15+
}>()
16+
17+
const docUrl = computed(() => {
18+
if (props.replacement.type !== 'documented' || !props.replacement.docPath) return null
19+
return `https://e18e.dev/docs/replacements/${props.replacement.docPath}.html`
20+
})
1521
</script>
1622

1723
<template>
@@ -29,40 +35,45 @@ const { externalUrl, nodeVersion, replacementName } = useReplacements(props.repl
2935
/>
3036
<div class="min-w-0 flex-1">
3137
<p class="font-medium">{{ packageName }}: {{ $t('package.replacement.title') }}</p>
32-
<div class="text-xs mt-0.5 opacity-80">
38+
<p class="text-xs mt-0.5 opacity-80">
3339
<template v-if="replacement.type === 'native'">
3440
{{
3541
$t('package.replacement.native', {
36-
replacement: replacementName,
37-
nodeVersion: nodeVersion || 'unknown',
42+
replacement: replacement.replacement,
43+
nodeVersion: replacement.nodeVersion,
3844
})
3945
}}
4046
</template>
4147
<template v-else-if="replacement.type === 'simple'">
4248
{{
4349
$t('package.replacement.simple', {
44-
replacement: replacementName,
50+
replacement: replacement.replacement,
4551
community: $t('package.replacement.community'),
4652
})
4753
}}
4854
</template>
4955
<template v-else-if="replacement.type === 'documented'">
5056
{{
51-
$t('package.replacement.documented', { community: $t('package.replacement.community') })
57+
$t('package.replacement.documented', {
58+
community: $t('package.replacement.community'),
59+
})
5260
}}
5361
</template>
54-
</div>
62+
</p>
5563
</div>
5664

65+
<!-- No dependency action button -->
5766
<ButtonBase
5867
v-if="variant === 'nodep' && showAction !== false"
5968
size="small"
69+
:aria-label="$t('compare.no_dependency.add_column')"
6070
@click="emit('addNoDep')"
6171
>
6272
{{ $t('package.replacement.consider_no_dep') }}
6373
</ButtonBase>
6474

65-
<LinkBase v-else-if="externalUrl" :to="externalUrl" variant="button-secondary" size="small">
75+
<!-- Info link -->
76+
<LinkBase v-else-if="docUrl" :to="docUrl" variant="button-secondary" size="small">
6677
{{ $t('package.replacement.learn_more') }}
6778
</LinkBase>
6879
</div>

app/components/Package/Replacement.vue

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,32 @@
11
<script setup lang="ts">
2-
import type { ModuleReplacement } from 'module-replacements'
2+
import type { ModuleReplacement, KnownUrl } from 'module-replacements'
33
44
const props = defineProps<{
55
replacement: ModuleReplacement
66
}>()
77
8-
const { externalUrl, nodeVersion, replacementName } = useReplacements(props.replacement)
8+
const resolveUrl = (url?: KnownUrl) => {
9+
if (!url) return null
10+
if (typeof url === 'string') return url
11+
12+
switch (url.type) {
13+
case 'mdn':
14+
return `https://developer.mozilla.org/en-US/docs/${url.id}`
15+
case 'node':
16+
return `https://nodejs.org/${url.id}`
17+
case 'e18e':
18+
return `https://e18e.dev/docs/replacements/${url.id}`
19+
default:
20+
return null
21+
}
22+
}
23+
24+
const externalUrl = computed(() => resolveUrl(props.replacement.url))
25+
26+
const nodeVersion = computed(() => {
27+
const nodeEngine = props.replacement.engines?.find(e => e.engine === 'nodejs')
28+
return nodeEngine?.minVersion || null
29+
})
930
</script>
1031

1132
<template>
@@ -16,20 +37,24 @@ const { externalUrl, nodeVersion, replacementName } = useReplacements(props.repl
1637
<span class="i-lucide:lightbulb w-4 h-4" aria-hidden="true" />
1738
{{ $t('package.replacement.title') }}
1839
</h2>
19-
2040
<i18n-t
2141
v-if="replacement.type === 'native'"
2242
keypath="package.replacement.native"
2343
scope="global"
2444
>
2545
<template #replacement>
26-
<code>{{ replacementName }}</code>
46+
<code v-if="replacement.nodeFeatureId?.moduleName">
47+
{{ replacement.nodeFeatureId.moduleName }}
48+
</code>
49+
<code v-else-if="replacement.description">
50+
{{ replacement.description }}
51+
</code>
52+
<span v-else>{{ replacement.id }}</span>
2753
</template>
2854
<template #nodeVersion>
2955
{{ nodeVersion || 'unknown' }}
3056
</template>
3157
</i18n-t>
32-
3358
<div v-else-if="replacement.type === 'simple'" class="block">
3459
<div class="mb-2">{{ replacement.description }}</div>
3560
<div v-if="replacement.example">
@@ -39,7 +64,6 @@ const { externalUrl, nodeVersion, replacementName } = useReplacements(props.repl
3964
><code>{{ replacement.example }}</code></pre>
4065
</div>
4166
</div>
42-
4367
<i18n-t
4468
v-else-if="replacement.type === 'documented'"
4569
keypath="package.replacement.documented"
@@ -60,11 +84,12 @@ const { externalUrl, nodeVersion, replacementName } = useReplacements(props.repl
6084
</a>
6185
</template>
6286
</i18n-t>
63-
6487
<template v-else-if="replacement.type === 'removal'">
6588
{{ replacement.description }}
6689
</template>
67-
90+
<template v-else>
91+
{{ $t('package.replacement.none') }}
92+
</template>
6893
<a
6994
v-if="externalUrl"
7095
:href="externalUrl"

app/composables/useReplacements.ts

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

0 commit comments

Comments
 (0)