4848</template >
4949<script setup lang="ts">
5050import { IconX } from " @tabler/icons-vue" ;
51- import { coerce , diff , type ReleaseType } from " semver" ;
51+ import { coerce , compare , diff , type ReleaseType } from " semver" ;
5252import { useDependencyTable } from " @/composable/useDependencyTable" ;
5353import { composeHashColorFromString } from " @/helpers/color" ;
5454import { useExcludedDependenciesStore } from " @/store/excluded-dependencies" ;
@@ -60,11 +60,12 @@ const { hasDependencies, repos, dependencies } = useDependencyTable();
6060const { excludedDependencies, hideDependency, showDependency } = useExcludedDependenciesStore ();
6161
6262const { latestVersions } = useLatestVersionsStore ();
63- function versionDiffClass(packageName : string , version ? : string ): ReleaseType | null {
63+ function versionDiffClass(packageName : string , version ? : string ): ReleaseType | " ahead " | null {
6464 if (! version ) return null ;
6565 const projectVersion = coerce (version )?.version ;
66- const latestVersion = latestVersions .value [packageName ];
66+ const latestVersion = coerce ( latestVersions .value [packageName ])?. version ;
6767 if (! projectVersion || ! latestVersion ) return null ;
68+ if (compare (projectVersion , latestVersion ) === 1 ) return " ahead" ;
6869 return diff (projectVersion , latestVersion );
6970}
7071 </script >
@@ -137,6 +138,10 @@ function versionDiffClass(packageName: string, version?: string): ReleaseType |
137138 color : #f35 ;
138139 background-color : #ff335526 ;
139140 }
141+ & .ahead {
142+ color : #c4b5fd ;
143+ background-color : #c4b5fd26 ;
144+ }
140145 }
141146 }
142147 thead th , tbody td {
0 commit comments