Skip to content

Commit 0a06767

Browse files
authored
update
1 parent f6ae284 commit 0a06767

File tree

4 files changed

+16
-16
lines changed

4 files changed

+16
-16
lines changed

app/components/Compare/ReplacementSuggestion.vue

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<script setup lang="ts">
22
import type { ModuleReplacement } from 'module-replacements'
33
import { resolveDocUrl } from 'module-replacements'
4+
import { getReplacementDescription, getReplacementNodeVersion } from '~/utils/module-replacements'
45
56
const props = defineProps<{
67
packageName: string
@@ -17,15 +18,7 @@ const emit = defineEmits<{
1718
1819
const docUrl = computed(() => resolveDocUrl(props.replacement.url))
1920
20-
const nodeVersion = computed(() => {
21-
const nodeEngine = props.replacement.engines?.find(e => e.engine === 'nodejs')
22-
return nodeEngine?.minVersion || null
23-
})
24-
25-
function getReplacementDescription(replacement: ModuleReplacement) {
26-
if (replacement.type === 'documented') return ''
27-
return replacement.description ?? ''
28-
}
21+
const nodeVersion = computed(() => getReplacementNodeVersion(props.replacement))
2922
3023
const replacementDescription = useMarkdown(() => ({
3124
text: getReplacementDescription(props.replacement),

app/components/Package/Replacement.vue

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<script setup lang="ts">
22
import type { ModuleReplacement, ModuleReplacementMapping } from 'module-replacements'
33
import { resolveDocUrl } from 'module-replacements'
4+
import { getReplacementDescription, getReplacementNodeVersion } from '~/utils/module-replacements'
45
56
const props = defineProps<{
67
mapping: ModuleReplacementMapping
@@ -9,13 +10,10 @@ const props = defineProps<{
910
1011
const externalUrl = computed(() => resolveDocUrl(props.mapping.url ?? props.replacement.url))
1112
12-
const nodeVersion = computed(() => {
13-
const nodeEngine = props.replacement.engines?.find(e => e.engine === 'nodejs')
14-
return nodeEngine?.minVersion || null
15-
})
13+
const nodeVersion = computed(() => getReplacementNodeVersion(props.replacement))
1614
1715
const replacementDescription = useMarkdown(() => ({
18-
text: (props.replacement as { description?: string }).description ?? '',
16+
text: getReplacementDescription(props.replacement),
1917
}))
2018
</script>
2119

app/composables/useCompareReplacements.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ export interface ReplacementSuggestion {
88
/**
99
* Replacement types that suggest "no dependency" (can be replaced with native code or inline).
1010
*/
11-
const NO_DEP_REPLACEMENT_TYPES = ['native', 'simple'] as const
11+
const NO_DEP_REPLACEMENT_TYPES = ['native', 'simple', 'removal'] as const satisfies ModuleReplacement['type'][]
1212

1313
/**
1414
* Replacement types that are informational only.
1515
* These suggest alternative packages exist but don't fit the "no dependency" pattern.
1616
*/
17-
const INFO_REPLACEMENT_TYPES = ['documented'] as const
17+
const INFO_REPLACEMENT_TYPES = ['documented'] as const satisfies ModuleReplacement['type'][]
1818

1919
/**
2020
* Composable for fetching module replacement suggestions for packages in comparison.

app/utils/module-replacements.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export function getReplacementDescription(replacement: ModuleReplacement) {
2+
if (replacement.type === 'documented') return ''
3+
return replacement.description ?? ''
4+
}
5+
6+
export function getReplacementNodeVersion(replacement: ModuleReplacement) {
7+
const nodeEngine = replacement.engines?.find(e => e.engine === 'nodejs')
8+
return nodeEngine?.minVersion || null
9+
}

0 commit comments

Comments
 (0)