Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
fca7ee4
chore(deps): bump vue-data-ui from 3.23.5 to 3.23.7 (#3189)
graphieros Aug 19, 2026
1a9fd77
chore: remove star history graph (#3191)
gameroman Aug 19, 2026
9f6b209
chore(deps): update module-replacements (#3194)
gameroman Aug 21, 2026
c6ea925
chore: enable `minimumReleaseAgeExcludePrune` (#3197)
btea Aug 22, 2026
12d0820
fix: make hit areas of the charts zoom range handles more accessible …
graphieros Aug 22, 2026
836083b
feat(ui): support sorting with semver in timeline (#3192)
antfu Aug 24, 2026
2f8ba94
chore(deps): update vite+ (#3205)
fengmk2 Aug 25, 2026
a6ab7a2
fix: validate provenance URL hosts by hostname
danielroe Aug 27, 2026
b840825
test: escape regex metacharacters in docs hash assertion
danielroe Aug 27, 2026
9e5b7ce
chore(deps): update pnpm-workspace.overrides vue to v3.5.42 (#3210)
renovate[bot] Aug 28, 2026
16988d8
feat: package page to compare page carry the name (#3030)
btea Aug 29, 2026
1d372e5
chore(deps): update module-replacements to v3.3.0 (#3206)
gameroman Aug 31, 2026
597205a
docs: update `module-replacements` github url (#3207)
gameroman Aug 31, 2026
309c724
chore(deps): update devdependency knip to v6.33.0 (#3218)
renovate[bot] Aug 31, 2026
b50ad50
feat(i18n): add Korean (ko-KR) translations (#3217)
joshuaclash08 Sep 5, 2026
b2839ba
chore(deps): bump vue-data-ui from 3.23.14 to 3.25.0 (#3226)
graphieros Sep 6, 2026
fff9a6c
chore(deps): update all linters (#3227)
renovate[bot] Sep 7, 2026
36d6a31
fix: show and link aliased deps correctly (#2192)
Flo0806 Sep 8, 2026
f9fedd2
feat: iojs and nodejs merge noodle (#3238)
alexdln Sep 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 0 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,16 +196,6 @@ Made with ❤️

Published under [MIT License](./LICENSE).

## Star History

<a href="https://www.star-history.com/?repos=npmx-dev%2Fnpmx.dev&type=date&legend=top-left">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=npmx-dev/npmx.dev&type=date&theme=dark&legend=top-left&sealed_token=1RI8ZdgQL3NncQeMm3sTwgYPL_7_ELdIGe5yiswir2iZipZwBtsYd4Y6zkO2fZLUP3wRcDN38GLKA4B1b3JE3pxEg7x_w8uOivwT3rL8Jcr-866HKSRMpjqmEwPavKp57ZdTyo04KHRbKthXVe360AJhcjmbXWxKVO9EDFh995ssNIH32hNArVB4MwAm" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=npmx-dev/npmx.dev&type=date&legend=top-left&sealed_token=1RI8ZdgQL3NncQeMm3sTwgYPL_7_ELdIGe5yiswir2iZipZwBtsYd4Y6zkO2fZLUP3wRcDN38GLKA4B1b3JE3pxEg7x_w8uOivwT3rL8Jcr-866HKSRMpjqmEwPavKp57ZdTyo04KHRbKthXVe360AJhcjmbXWxKVO9EDFh995ssNIH32hNArVB4MwAm" />
<img alt="Star History Chart" src="https://api.star-history.com/chart?repos=npmx-dev/npmx.dev&type=date&legend=top-left&sealed_token=1RI8ZdgQL3NncQeMm3sTwgYPL_7_ELdIGe5yiswir2iZipZwBtsYd4Y6zkO2fZLUP3wRcDN38GLKA4B1b3JE3pxEg7x_w8uOivwT3rL8Jcr-866HKSRMpjqmEwPavKp57ZdTyo04KHRbKthXVe360AJhcjmbXWxKVO9EDFh995ssNIH32hNArVB4MwAm" />
</picture>
</a>

## Sponsors

<a href="https://opencollective.com/npmx" target="_blank" rel="noopener noreferrer">
Expand Down
12 changes: 10 additions & 2 deletions app/components/AppHeader.vue
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,19 @@ withDefaults(

const { isConnected, npmUser } = useConnector()

const { packageName } = usePackageRoute()

const compareTarget = computed(() =>
packageName.value
? { name: 'compare' as const, query: { packages: packageName.value } }
: { name: 'compare' as const },
)

const desktopLinks = computed<NavigationConfig>(() => [
{
name: 'Compare',
label: $t('nav.compare'),
to: { name: 'compare' },
to: compareTarget.value,
keyshortcut: 'c',
type: 'link',
external: false,
Expand Down Expand Up @@ -209,7 +217,7 @@ function handleSearchFocus() {
}

useShortcuts({
'c': () => ({ name: 'compare' }),
'c': () => compareTarget.value,
',': () => ({ name: 'settings' }),
})
</script>
Expand Down
47 changes: 47 additions & 0 deletions app/components/Noodle/IojsNodejs/Logo.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<script setup lang="ts">
defineProps<{
// Render the bare logo without the tooltip wrapper. Used on the /noodles
// archive + detail pages where the same content lives in the right panel.
noTooltip?: boolean
}>()
</script>

<template>
<ColorSchemeImg
v-if="noTooltip"
width="400"
class="motion-safe:animate-fade-in motion-safe:animate-scale-in relative z-10 w-full"
dark-src="/extra/iojs-nodejs-dark.png"
light-src="/extra/iojs-nodejs.png"
:alt="$t('alt_logo')"
/>
<TooltipApp
v-else
interactive
:tooltip-attr="{ class: 'w-[calc(100%-2rem)]! max-w-sm!' }"
class="mb-2"
>
<template #content>
<p class="text-sm font-medium text-fg mb-1">
<span class="text-fg-subtle">
14 September 2015 - IO.js and Node.js merge
<br />
<a
href="https://nodejs.org/en/blog/announcements/foundation-v4-announce"
target="_blank"
rel="noopener noreferrer"
class="underline"
>Node.js Foundation Combines Node.js and io.js Into Single Codebase</a
>
</span>
</p>
</template>
<ColorSchemeImg
width="400"
class="motion-safe:animate-fade-in motion-safe:animate-scale-in w-80 sm:w-120"
dark-src="/extra/iojs-nodejs-dark.png"
light-src="/extra/iojs-nodejs.png"
:alt="$t('alt_logo')"
/>
</TooltipApp>
</template>
47 changes: 7 additions & 40 deletions app/components/Noodle/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import NoodlePride3Logo from './Pride3/Logo.vue'
import NoodleTetrisLogo from './Tetris/Logo.vue'
import NoodleEmojiDayLogo from './EmojiDay/Logo.vue'
import NoodleGifDayLogo from './GifDay/Logo.vue'
import NoodleIojsNodejsLogo from './IojsNodejs/Logo.vue'

export type Noodle = {
// Unique identifier for the noodle
Expand Down Expand Up @@ -38,46 +39,9 @@ export const PERMANENT_NOODLES: Noodle[] = [
// Active noodles - shown based on date and timezone
export const ACTIVE_NOODLES: Noodle[] = [
{
key: 'pride-1',
logo: NoodlePride1Logo,
date: '2026-06-01',
dateTo: '2026-06-06',
timezone: 'auto',
},
{
key: 'tetris',
logo: NoodleTetrisLogo,
date: '2026-06-06',
dateTo: '2026-06-08',
timezone: 'auto',
tagline: false,
},
{
key: 'pride-2',
logo: NoodlePride2Logo,
date: '2026-06-08',
dateTo: '2026-06-20',
timezone: 'auto',
},
{
key: 'pride-3',
logo: NoodlePride3Logo,
date: '2026-06-20',
dateTo: '2026-07-01',
timezone: 'auto',
},
{
key: 'emoji-day',
logo: NoodleEmojiDayLogo,
date: '2026-07-17',
dateTo: '2026-07-19',
timezone: 'auto',
},
{
key: 'gif-day',
logo: NoodleGifDayLogo,
date: '2026-09-05',
dateTo: '2026-09-08',
key: 'iojs-nodejs-merge',
logo: NoodleIojsNodejsLogo,
date: '2026-09-14',
timezone: 'auto',
},
]
Expand All @@ -92,9 +56,12 @@ const NOODLE_LOGOS: Record<string, Component> = {
'artemis': NoodleArtemisLogo,
'nodejs': NoodleNodejsLogo,
'pride-1': NoodlePride1Logo,
'pride-2': NoodlePride2Logo,
'pride-3': NoodlePride3Logo,
'tetris': NoodleTetrisLogo,
'emoji-day': NoodleEmojiDayLogo,
'gif-day': NoodleGifDayLogo,
'iojs-nodejs-merge': NoodleIojsNodejsLogo,
}

export function resolveNoodleLogo(key: string): Component | undefined {
Expand Down
Loading
Loading