4848</template >
4949<script setup lang="ts">
5050import { IconX } from " @tabler/icons-vue" ;
51- import semverDiff from " semver/functions/diff" ;
52- import type { ReleaseType } from " semver" ;
51+ import { coerce , diff , type ReleaseType } from " semver" ;
5352import { useDependencyTable } from " @/composable/useDependencyTable" ;
5453import { composeHashColorFromString } from " @/helpers/color" ;
5554import { useExcludedDependenciesStore } from " @/store/excluded-dependencies" ;
@@ -63,11 +62,10 @@ const { excludedDependencies, hideDependency, showDependency } = useExcludedDepe
6362const { latestVersions } = useLatestVersionsStore ();
6463function versionDiffClass(packageName : string , version ? : string ): ReleaseType | null {
6564 if (! version ) return null ;
66- const projectVersion = version . replace ( / [ ^ 0-9 . ] / g , " " ) ;
65+ const projectVersion = coerce ( version )?. version ;
6766 const latestVersion = latestVersions .value [packageName ];
6867 if (! projectVersion || ! latestVersion ) return null ;
69- const diff = semverDiff (projectVersion , latestVersion );
70- return diff ?? null ;
68+ return diff (projectVersion , latestVersion );
7169}
7270 </script >
7371<style lang="scss">
@@ -110,8 +108,7 @@ function versionDiffClass(packageName: string, version?: string): ReleaseType |
110108 }
111109 }
112110 td {
113- min-width : 5rem ;
114- padding-block : 0.25rem ;
111+ padding : 0.25rem 0.5rem ;
115112 transition : color 0.3s , background-color 0.3s ;
116113 & .chip {
117114 display : grid ;
0 commit comments