@@ -57,7 +57,7 @@ async function fetchTimeline(offset: number): Promise<TimelineResponse> {
5757 })
5858}
5959
60- // Initial load — useAsyncData serializes the full response across SSR → client
60+ // Initial load - useAsyncData serializes the full response across SSR to client
6161const initialLoadError = ref (false )
6262
6363const { data : initialTimeline } = await useAsyncData (
@@ -97,6 +97,7 @@ async function loadMore() {
9797
9898const SIZE_INCREASE_THRESHOLD = 0.25
9999const DEP_INCREASE_THRESHOLD = 5
100+ const NO_LICENSE_VALUES = [' ' , ' UNLICENSED' ]
100101
101102const sizeCache = shallowReactive (new Map <string , InstallSizeResult >())
102103const fetchingVersions = shallowReactive (new Set <string >())
@@ -117,7 +118,7 @@ async function fetchSize(ver: string) {
117118 )
118119 sizeCache .set (key , data )
119120 } catch {
120- // silently skip — size data is best-effort
121+ // silently skip - size data is best-effort
121122 } finally {
122123 fetchingVersions .delete (key )
123124 }
@@ -215,9 +216,11 @@ const versionSubEvents = computed(() => {
215216 const currentLicense = current .license ?? ' Unknown'
216217 const previousLicense = previous .license ?? ' Unknown'
217218 if (currentLicense !== previousLicense ) {
219+ const hadNoLicense = NO_LICENSE_VALUES .includes (previousLicense )
220+ const hasNoLicense = NO_LICENSE_VALUES .includes (currentLicense )
218221 events .push ({
219222 key: ' license' ,
220- positive: false ,
223+ positive: hadNoLicense && ! hasNoLicense ,
221224 icon: ' i-lucide:scale' ,
222225 text: t (' package.timeline.license_change' , { from: previousLicense , to: currentLicense }),
223226 })
0 commit comments