Skip to content

feat: route pkg@version from deps, direct nav, and search for any valid specifier - #1723

Draft
serhalp wants to merge 7 commits into
mainfrom
serhalp/fix-version-sorting
Draft

feat: route pkg@version from deps, direct nav, and search for any valid specifier#1723
serhalp wants to merge 7 commits into
mainfrom
serhalp/fix-version-sorting

Conversation

@serhalp

@serhalpserhalp commented Feb 27, 2026

Copy link
Copy Markdown
Member

🔗 Linked issue

Closes#1120
Closes#1416

🧭 Context

We have two seemingly separate issues:

  • Dependency links with version ranges (e.g. ^18.0.0 || ^19.0.0, >15 <=16.0.2) currently navigate to a non-existent version page and result in a 404.
  • Searching for nuxt@4.0.1 or nuxt@>=4 or nuxt@>=4<6 (convenient if pasting from somewhere) does not result in a match. There's a proposed temporary solution in feat: strip version info from the search query #1626 to strip the version segment from the query.

📚 Description

  • Keep links to a single package version as is, but for all other version specifiers, link to the package page with the "Filter by semver" input pre-populated! (In the future if/when we have a dedicated versions page we could link to that instead.)
  • Rather than implementing this logic at the "where to link to" layer, I implemented this in the routing layer, i.e. https://npmx.dev/package/nuxt/v/:version will route to the specific versioned package page if version is a specific version string and route to the package page with ?semver=<version> otherwise.
  • ... which means we get a fix to Add possibility to search for specific version of a package #1416 almost for free! This PR makes it so that searching for nuxt@4.0.1 or nuxt@>=4 or nuxt@>=4<6 and pressing Enter now navigates directly to the package version page for a specific version or to the semver-filtered package page for a semver specifier, instead of returning no results. This just works for both exact versions and semver ranges, because of the above routing change.
npmx.smart.pkg@v.routing.mp4

@vercel

vercelBot commented Feb 27, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
npmx.devReadyReadyPreviewAug 11, 2026 7:54pm
2 Skipped Deployments
ProjectDeploymentActionsUpdated (UTC)
docs.npmx.devIgnoredIgnoredPreviewAug 11, 2026 7:54pm
npmx-lunariaIgnoredIgnoredAug 11, 2026 7:54pm

Request Review

@serhalpserhalp changed the title feat: intelligently route pkg@version from deps, direct nav, and search for any valid specifierfeat: route pkg@version from deps, direct nav, and search for any valid specifierFeb 27, 2026
@codecov

codecovBot commented Feb 27, 2026

Copy link
Copy Markdown

❌ 271 Tests Failed:

Tests completedFailedPassedSkipped
247827122075
View the top 3 failed test(s) by shortest run time
test/nuxt/a11y.spec.ts > test/nuxt/a11y.spec.ts
Stack Traces | 0s run time
Error: Failed to import test file .../runner/work/npmx.dev/npmx..../test/nuxt/a11y.spec.ts
Caused by: Caused by: SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Package/Header.spec.ts > test/nuxt/components/Package/Header.spec.ts
Stack Traces | 0s run time
Error: Failed to import test file .../runner/work/npmx.dev/npmx..../components/Package/Header.spec.ts
Caused by: Caused by: SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Package/LikeCard.spec.ts > test/nuxt/components/Package/LikeCard.spec.ts
Stack Traces | 0s run time
Error: Failed to import test file .../runner/work/npmx.dev/npmx..../components/Package/LikeCard.spec.ts
Caused by: Caused by: SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Package/Versions.spec.ts > test/nuxt/components/Package/Versions.spec.ts
Stack Traces | 0s run time
Error: Failed to import test file .../runner/work/npmx.dev/npmx..../components/Package/Versions.spec.ts
Caused by: Caused by: SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Package/WeeklyDownloadStats.spec.ts > test/nuxt/components/Package/WeeklyDownloadStats.spec.ts
Stack Traces | 0s run time
Error: Failed to import test file .../runner/work/npmx.dev/npmx..../components/Package/WeeklyDownloadStats.spec.ts
Caused by: Caused by: SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/ProfileInviteSection.spec.ts > test/nuxt/components/ProfileInviteSection.spec.ts
Stack Traces | 0s run time
Error: Failed to import test file .../runner/work/npmx.dev/npmx..../nuxt/components/ProfileInviteSection.spec.ts
Caused by: Caused by: SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Terminal.spec.ts > test/nuxt/components/Terminal.spec.ts
Stack Traces | 0s run time
Error: Failed to import test file .../runner/work/npmx.dev/npmx..../nuxt/components/Terminal.spec.ts
Caused by: Caused by: SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/VersionSelector.spec.ts > test/nuxt/components/VersionSelector.spec.ts
Stack Traces | 0s run time
Error: Failed to import test file .../runner/work/npmx.dev/npmx..../nuxt/components/VersionSelector.spec.ts
Caused by: Caused by: SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/ComparisonGrid.spec.ts > test/nuxt/components/compare/ComparisonGrid.spec.ts
Stack Traces | 0s run time
Error: Failed to import test file .../runner/work/npmx.dev/npmx..../components/compare/ComparisonGrid.spec.ts
Caused by: Caused by: SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/PackageSelector.spec.ts > test/nuxt/components/compare/PackageSelector.spec.ts
Stack Traces | 0s run time
Error: Failed to import test file .../runner/work/npmx.dev/npmx..../components/compare/PackageSelector.spec.ts
Caused by: Caused by: SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-command-palette-commands.spec.ts > test/nuxt/composables/use-command-palette-commands.spec.ts
Stack Traces | 0s run time
Error: Failed to import test file .../runner/work/npmx.dev/npmx..../nuxt/composables/use-command-palette-commands.spec.ts
Caused by: Caused by: SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-command-palette.spec.ts > test/nuxt/composables/use-command-palette.spec.ts
Stack Traces | 0s run time
Error: Failed to import test file .../runner/work/npmx.dev/npmx..../nuxt/composables/use-command-palette.spec.ts
Caused by: Caused by: SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-package-route.spec.ts > test/nuxt/composables/use-package-route.spec.ts
Stack Traces | 0s run time
Error: Failed to import test file .../runner/work/npmx.dev/npmx..../nuxt/composables/use-package-route.spec.ts
Caused by: Caused by: SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/pages/LikesLeaderboardPage.spec.ts > test/nuxt/pages/LikesLeaderboardPage.spec.ts
Stack Traces | 0s run time
Error: Failed to import test file .../runner/work/npmx.dev/npmx..../nuxt/pages/LikesLeaderboardPage.spec.ts
Caused by: Caused by: SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/pages/PackageCodePage.spec.ts > test/nuxt/pages/PackageCodePage.spec.ts
Stack Traces | 0s run time
Error: Failed to import test file .../runner/work/npmx.dev/npmx..../nuxt/pages/PackageCodePage.spec.ts
Caused by: Caused by: SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/pages/PackageVersionsPage.spec.ts > test/nuxt/pages/PackageVersionsPage.spec.ts
Stack Traces | 0s run time
Error: Failed to import test file .../runner/work/npmx.dev/npmx..../nuxt/pages/PackageVersionsPage.spec.ts
Caused by: Caused by: SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/unit/app/utils/router.spec.ts > test/unit/app/utils/router.spec.ts
Stack Traces | 0s run time
Error: Cannot find package 'semver' imported from .../runner/work/npmx.dev/npmx..../app/utils/router.ts
❯ reviveInvokeError node_modules/.pnpm/@voidzero-dev+vite-plus-core@0.2.7_@types+node@24.13.3_esbuild@0.28.1_jiti@2.7.0_terser_b2a4235b25251507b0928b2e02648242/node_modules/@.../vite/node/module-runner.js:549:14
❯ Object.invoke node_modules/.pnpm/@voidzero-dev+vite-plus-core@0.2.7_@types+node@24.13.3_esbuild@0.28.1_jiti@2.7.0_terser_b2a4235b25251507b0928b2e02648242/node_modules/@.../vite/node/module-runner.js:565:33
❯ VitestModuleRunner.getModuleInformation node_modules/.pnpm/@voidzero-dev+vite-plus-core@0.2.7_@types+node@24.13.3_esbuild@0.28.1_jiti@2.7.0_terser_b2a4235b25251507b0928b2e02648242/node_modules/@.../vite/node/module-runner.js:1198:7
❯ request node_modules/.pnpm/@voidzero-dev+vite-plus-core@0.2.7_@types+node@24.13.3_esbuild@0.28.1_jiti@2.7.0_terser_b2a4235b25251507b0928b2e02648242/node_modules/@.../vite/node/module-runner.js:1215:83
❯ app/utils/router.ts:2:1
❯ VitestModuleRunner.directRequest node_modules/.pnpm/@voidzero-dev+vite-plus-core@0.2.7_@types+node@24.13.3_esbuild@0.28.1_jiti@2.7.0_terser_b2a4235b25251507b0928b2e02648242/node_modules/@.../vite/node/module-runner.js:1258:59
❯ VitestModuleRunner.cachedRequest node_modules/.pnpm/@voidzero-dev+vite-plus-core@0.2.7_@types+node@24.13.3_esbuild@0.28.1_jiti@2.7.0_terser_b2a4235b25251507b0928b2e02648242/node_modules/@.../vite/node/module-runner.js:1165:73
❯ .../app/utils/router.spec.ts:2:1
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { code: 'ERR_MODULE_NOT_FOUND' }
test/nuxt/composables/use-compare-replacements.spec.ts > useCompareReplacements > caching > caches replacement data and does not refetch
Stack Traces | 0.0723s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Tab.spec.ts > Tab components > TabList > supports arrow key navigation
Stack Traces | 0.0771s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > filters out invalid facets from query
Stack Traces | 0.0784s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Connector preferences (connected) > does not show a web auth toggle (web auth is now always on)
Stack Traces | 0.0797s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Connected state > shows logged in username
Stack Traces | 0.0798s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetSelector.spec.ts > FacetSelector > facet buttons > applies aria-checked for selected checkbox state
Stack Traces | 0.0804s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > download range filtering > filters packages within range
Stack Traces | 0.0804s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > text filtering with operators > combines operators with remaining text
Stack Traces | 0.082s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Connected state > shows disconnect button
Stack Traces | 0.0821s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetSelector.spec.ts > FacetSelector > category all/none buttons > does not call selectCategory when all button action is already fulfilled
Stack Traces | 0.0822s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CommandPalette.spec.ts > CommandPalette > updates the live region when the query changes
Stack Traces | 0.0824s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > text filtering > filters by all fields when scope is all
Stack Traces | 0.0824s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > keyword filtering (AND logic) > returns empty when no package has all keywords
Stack Traces | 0.0825s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/LicenseDisplay.spec.ts > LicenseDisplay > compound expressions with OR > renders triple license choice correctly
Stack Traces | 0.083s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/LicenseDisplay.spec.ts > LicenseDisplay > compound expressions with OR > renders "MIT OR Apache-2.0" with both licenses linked
Stack Traces | 0.0831s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Tab.spec.ts > Tab components > TabPanel > hides panels not matching selected value
Stack Traces | 0.0831s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Input/Base.spec.ts > InputBase > v-model > reflects modelValue prop changes
Stack Traces | 0.0832s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Input/Base.spec.ts > InputBase > v-model > updates modelValue when user types
Stack Traces | 0.0832s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > falls back to DEFAULT_FACETS if all parsed facets are invalid
Stack Traces | 0.0832s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Disconnected state > shows error message when connection fails
Stack Traces | 0.0833s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetSelector.spec.ts > FacetSelector > category all/none buttons > marks none button as aria-disabled when no facets in category are selected
Stack Traces | 0.0833s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Operations queue in connected state > renders OTP prompt when operations have OTP failures
Stack Traces | 0.0834s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/LicenseDisplay.spec.ts > LicenseDisplay > compound expressions with WITH > renders license with exception
Stack Traces | 0.0834s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > selectedFacets enriched data > includes category info for each facet
Stack Traces | 0.0835s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/LicenseDisplay.spec.ts > LicenseDisplay > compound expressions with AND > renders "MIT AND Zlib" with both licenses linked
Stack Traces | 0.0837s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > sorting > sorts by name ascending
Stack Traces | 0.0837s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > isFacetSelected > returns true for selected facets
Stack Traces | 0.0837s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Input/Base.spec.ts > InputBase > rendering > renders empty string when modelValue is undefined or null
Stack Traces | 0.0838s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-package-comparison.spec.ts > usePackageComparison > lastUpdated facet > stores version-specific time in metadata
Stack Traces | 0.084s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Connected state > hides connection form when connected
Stack Traces | 0.0842s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Tab.spec.ts > Tab components > TabItem > generates aria-controls pointing to panel id
Stack Traces | 0.0842s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > selectedFacets enriched data > includes label and description for each facet
Stack Traces | 0.0842s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > sorting > sorts by downloads descending by default with downloads sort
Stack Traces | 0.0843s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Modal behavior > closes modal when close button is clicked
Stack Traces | 0.0844s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CommandPalette.spec.ts > CommandPalette > announces the active subview in the live status region
Stack Traces | 0.0846s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Tab.spec.ts > Tab components > TabPanel > has aria-labelledby pointing to tab id
Stack Traces | 0.085s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Tab.spec.ts > Tab components > TabPanel > shows panel matching selected value
Stack Traces | 0.0851s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > text filtering with operators > handles comma-separated keyword values with OR logic
Stack Traces | 0.0856s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-compare-replacements.spec.ts > useCompareReplacements > caching > retries a package after a transient fetch failure
Stack Traces | 0.0863s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CommandPalette.spec.ts > CommandPalette > shows keyboard shortcut hints in the command palette
Stack Traces | 0.0864s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/DateTime.spec.ts > DateTime > relative dates setting > renders absolute date when relativeDates is false
Stack Traces | 0.0864s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Modal behavior > does not render dialog content when not opened
Stack Traces | 0.0865s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > download range filtering > filters packages below threshold
Stack Traces | 0.0865s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > parses facets from query param
Stack Traces | 0.0869s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-package-comparison.spec.ts > usePackageComparison > createdAt facet > displays the creation date without status
Stack Traces | 0.0871s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Connected state > shows connected status
Stack Traces | 0.0872s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/DateTime.spec.ts > DateTime > props handling > passes date-style prop to NuxtTime
Stack Traces | 0.0873s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/OgImagePackage.spec.ts > OgImagePackage > downloads > hides downloads when count is 0
Stack Traces | 0.0877s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > URL param behavior > sets URL param when selecting subset of facets via toggleFacet
Stack Traces | 0.0879s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > text filtering with operators > parses desc: operator in all scope
Stack Traces | 0.0885s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-compare-replacements.spec.ts > useCompareReplacements > caching > caches successful null replacement data and does not refetch
Stack Traces | 0.0888s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > sorting > sorts by updated date descending
Stack Traces | 0.089s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > isNoneSelected > returns false when multiple facets selected
Stack Traces | 0.0897s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Tab.spec.ts > Tab components > TabList > supports Home and End keys
Stack Traces | 0.0898s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/pages/ComparePage.spec.ts > compare page copy-as-markdown button > does not register copy-markdown command when only some packages have loaded data
Stack Traces | 0.09s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetSelector.spec.ts > FacetSelector > category all/none buttons > does not call deselectCategory when none button action is already fulfilled
Stack Traces | 0.0902s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Auth URL button > opens auth URL in new tab when button is clicked
Stack Traces | 0.0904s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetSelector.spec.ts > FacetSelector > facet buttons > shows add icon for unselected facets
Stack Traces | 0.0906s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Tooltip.spec.ts > TooltipBase to prop > teleports into provided container when using selector string
Stack Traces | 0.0911s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Input/Base.spec.ts > InputBase > rendering > renders with initial modelValue
Stack Traces | 0.0916s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/OgImageUserProfile.spec.ts > OgImageUserProfile > shows the package count from useUserPackages
Stack Traces | 0.0927s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Tab.spec.ts > Tab components > TabRoot > provides selected value to children
Stack Traces | 0.0933s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > toggleFacet > adds facet when not selected
Stack Traces | 0.0935s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Operations queue in connected state > shows OTP alert section for operations with authFailure (not just requiresOtp)
Stack Traces | 0.0953s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > text filtering > filters by name when scope is name
Stack Traces | 0.0956s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/LicenseDisplay.spec.ts > LicenseDisplay > single license > renders an invalid license as plain text
Stack Traces | 0.0963s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Disconnected state > shows connection form when not connected
Stack Traces | 0.0964s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-package-comparison.spec.ts > usePackageComparison > github metadata > returns null for missing or non-numeric github metrics
Stack Traces | 0.0965s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CommandPalette.spec.ts > CommandPalette > returns to the root view with ArrowLeft only when the input is empty
Stack Traces | 0.0966s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Select/Base.spec.ts > SelectBase > v-model > emits update:modelValue when selection changes
Stack Traces | 0.097s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CommandPalette.spec.ts > CommandPalette > closes on route changes and restores focus to the previous element
Stack Traces | 0.0974s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > selectCategory > selects all facets in a category
Stack Traces | 0.0974s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Package/MetricsBadges.spec.ts > PackageMetricsBadges > does not render the CJS label when no CJS
Stack Traces | 0.0976s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-compare-replacements.spec.ts > useCompareReplacements > suggestion categorization > categorizes documented replacements as info suggestions
Stack Traces | 0.0988s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-replacement-dependencies.spec.ts > useReplacementDependencies > returns empty object for undefined dependencies
Stack Traces | 0.0996s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Disconnected state > has a copy button for the command
Stack Traces | 0.0998s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-compare-replacements.spec.ts > useCompareReplacements > packages without replacements > handles fetch errors gracefully
Stack Traces | 0.101s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CommandPalette.spec.ts > CommandPalette > moves focus through commands with the arrow keys
Stack Traces | 0.101s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetRow.spec.ts > FacetRow > value rendering > renders facet values
Stack Traces | 0.101s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > isNoneSelected > returns true when only one facet selected
Stack Traces | 0.102s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CommandPalette.spec.ts > CommandPalette > toggles with the global keyboard shortcut only when shortcuts are enabled
Stack Traces | 0.102s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > clearing filters > clearAllFilters resets all filters
Stack Traces | 0.102s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CommandPalette.spec.ts > CommandPalette > does not change the active command when another item is hovered
Stack Traces | 0.102s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/LicenseDisplay.spec.ts > LicenseDisplay > single license > does not show scales icon for invalid license
Stack Traces | 0.103s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/pages/ComparePage.spec.ts > compare page copy-as-markdown button > shows copy-as-markdown button when all packages have loaded data
Stack Traces | 0.103s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Header/MobileMenu.spec.ts > MobileMenu > closes when open prop changes from true to false
Stack Traces | 0.103s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-package-comparison.spec.ts > usePackageComparison > custom version > returns null when the pinned version cannot be resolved
Stack Traces | 0.103s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetRow.spec.ts > FacetRow > bar visualization > shows bar for numeric values when bar prop is true
Stack Traces | 0.103s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetSelector.spec.ts > FacetSelector > category all/none buttons > calls selectCategory when all button is clicked
Stack Traces | 0.103s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/BuildEnvironment.spec.ts > BuildEnvironment > renders canary environment correctly
Stack Traces | 0.104s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Input/Base.spec.ts > InputBase > noCorrect prop > does not apply noCorrect attributes when noCorrect is false
Stack Traces | 0.104s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Input/Base.spec.ts > InputBase > noCorrect prop > applies noCorrect attributes when noCorrect is true (default)
Stack Traces | 0.104s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetSelector.spec.ts > FacetSelector > facet buttons > shows checkmark icon for selected facets
Stack Traces | 0.105s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Auth URL button > shows auth URL button when a running operation has an authUrl
Stack Traces | 0.105s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Package/Sidebar.spec.ts > PackageSidebar > sets active=true when content is taller than viewport
Stack Traces | 0.105s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Disconnected state > shows the CLI command to run
Stack Traces | 0.106s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > selectCategory > preserves existing selections from other categories
Stack Traces | 0.106s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > duplicate handling > handles duplicate facets in query by deduplication via Set
Stack Traces | 0.107s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetRow.spec.ts > FacetRow > status styling > applies warning status
Stack Traces | 0.107s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > text filtering > filters by keywords when scope is keywords
Stack Traces | 0.107s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetRow.spec.ts > FacetRow > date values > renders DateTime component for date type values
Stack Traces | 0.108s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetSelector.spec.ts > FacetSelector > category all/none buttons > marks all button as aria-disabled when all facets in category are selected
Stack Traces | 0.109s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > deselectAll > keeps only the first default facet
Stack Traces | 0.109s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-compare-replacements.spec.ts > useCompareReplacements > suggestion categorization > categorizes simple replacements as no dep suggestions
Stack Traces | 0.109s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetSelector.spec.ts > FacetSelector > category all/none buttons > calls deselectCategory when none button is clicked
Stack Traces | 0.11s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Tab.spec.ts > Tab components > TabItem > has correct ARIA attributes when selected
Stack Traces | 0.11s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > URL param behavior > clears URL param when selecting all defaults
Stack Traces | 0.111s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > selectAll > selects all default facets
Stack Traces | 0.111s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > toggleFacet > does not remove last facet
Stack Traces | 0.111s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > sorting > relevance sort preserves original order
Stack Traces | 0.112s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CodeViewer.spec.ts > CodeViewer > routes import-link clicks through vue-router and preserves modifier-assisted navigation
Stack Traces | 0.112s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > deselectCategory > does not deselect if it would leave no facets
Stack Traces | 0.112s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Select/Field.spec.ts > SelectField > v-model > reflects modelValue prop changes
Stack Traces | 0.112s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > text filtering with operators > parses name: operator in all scope
Stack Traces | 0.113s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/DateTime.spec.ts > DateTime > title attribute > converts Date object to formatted date in title
Stack Traces | 0.113s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/LicenseDisplay.spec.ts > LicenseDisplay > single license > shows scales icon for valid license
Stack Traces | 0.113s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-package-comparison.spec.ts > usePackageComparison > github metadata > fetches github stars, forks, and issues when repository is on github
Stack Traces | 0.113s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Select/Field.spec.ts > SelectField > accessibility > associates select with id
Stack Traces | 0.113s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > text filtering > filters by description when scope is description
Stack Traces | 0.113s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetSelector.spec.ts > FacetSelector > facet buttons > calls toggleFacet when facet button is clicked
Stack Traces | 0.113s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/DateTime.spec.ts > DateTime > SSR fallback > renders time element in fallback (SSR) mode
Stack Traces | 0.114s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetRow.spec.ts > FacetRow > value rendering > renders loading state for specific column loading
Stack Traces | 0.114s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-compare-replacements.spec.ts > useCompareReplacements > packages without replacements > does not include packages with no replacement data
Stack Traces | 0.114s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Operations queue in connected state > does not show retry with web auth when there are no auth failures
Stack Traces | 0.114s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Tab.spec.ts > Tab components > TabItem > emits update:modelValue on click
Stack Traces | 0.115s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-package-comparison.spec.ts > usePackageComparison > staleness detection > marks packages not published in 2+ years as stale
Stack Traces | 0.115s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CodeViewer.spec.ts > CodeViewer > ignores import-link clicks without an href
Stack Traces | 0.115s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-replacement-dependencies.spec.ts > useReplacementDependencies > handles fetch errors gracefully
Stack Traces | 0.115s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Tab.spec.ts > Tab components > TabList > has tablist role and aria-label
Stack Traces | 0.115s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > isAllSelected > returns true when all facets selected
Stack Traces | 0.115s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/LicenseDisplay.spec.ts > LicenseDisplay > mixed valid and invalid > shows scales icon when at least one license is valid
Stack Traces | 0.115s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Package/Sidebar.spec.ts > PackageSidebar > sets active=false when content is shorter than viewport
Stack Traces | 0.116s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/DateTime.spec.ts > DateTime > title attribute > has title with formatted date by default
Stack Traces | 0.116s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Package/Likes.spec.ts > PackageLikes > does not render the top liked badge when rank is unavailable
Stack Traces | 0.116s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Input/Base.spec.ts > InputBase > focus and blur > emits focus when input is focused
Stack Traces | 0.116s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/OgImageUserProfile.spec.ts > OgImageUserProfile > uses the singular noun for a single package
Stack Traces | 0.116s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-package-comparison.spec.ts > usePackageComparison > github metadata > skips github fetches for non-github repositories
Stack Traces | 0.116s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/DateTime.spec.ts > DateTime > relative dates setting > renders with relative prop when relativeDates is true
Stack Traces | 0.117s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > allFacets export > exports allFacets array
Stack Traces | 0.117s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-compare-replacements.spec.ts > useCompareReplacements > suggestion categorization > correctly splits multiple packages into no dep and info categories
Stack Traces | 0.117s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/DateTime.spec.ts > DateTime > relative dates setting > always preserves title attribute for accessibility regardless of mode
Stack Traces | 0.117s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetRow.spec.ts > FacetRow > grid layout > renders correct number of cells for values
Stack Traces | 0.117s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > multiple category operations > can select multiple categories
Stack Traces | 0.117s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/OgImagePackage.spec.ts > OgImagePackage > license > hides the license section when license is missing
Stack Traces | 0.118s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Select/Field.spec.ts > SelectField > rendering > renders disabled option when item.disabled is true
Stack Traces | 0.118s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Select/Field.spec.ts > SelectField > accessibility > render sr-only label when hiddenLabel is true
Stack Traces | 0.118s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/pages/ComparePage.spec.ts > compare page copy-as-markdown button > does not show copy-as-markdown button when only some packages have loaded data
Stack Traces | 0.119s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > isFacetSelected > returns false for unselected facets
Stack Traces | 0.119s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Select/Base.spec.ts > SelectBase > rendering > renders disabled when disabled is true
Stack Traces | 0.119s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/AppFooter.spec.ts > AppFooter > BuildEnvironment is hidden at home
Stack Traces | 0.12s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Disconnected state > enables connect button when token is entered
Stack Traces | 0.12s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetRow.spec.ts > FacetRow > status styling > applies info status
Stack Traces | 0.12s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Header/MobileMenu.spec.ts > MobileMenu > emits update:open false when close button is clicked
Stack Traces | 0.121s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/LicenseDisplay.spec.ts > LicenseDisplay > mixed valid and invalid > renders valid licenses as links and invalid as text
Stack Traces | 0.121s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > deselectCategory > deselects all facets in a category
Stack Traces | 0.121s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Select/Base.spec.ts > SelectBase > rendering > renders with initial modelValue
Stack Traces | 0.121s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > isAllSelected > returns false when not all facets selected
Stack Traces | 0.121s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetSelector.spec.ts > FacetSelector > facet buttons > renders all facets from FACET_INFO
Stack Traces | 0.122s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/DateTime.spec.ts > DateTime > title attribute > uses custom title when provided
Stack Traces | 0.122s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/OgImagePackage.spec.ts > OgImagePackage > renders repo info
Stack Traces | 0.122s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > multiple category operations > can deselect multiple categories
Stack Traces | 0.122s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > text filtering with operators > combines multiple operators with AND logic
Stack Traces | 0.123s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/OgImageUserProfile.spec.ts > OgImageUserProfile > shows zero packages when the user has none
Stack Traces | 0.123s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Select/Field.spec.ts > SelectField > disabled > passes disabled to SelectBase
Stack Traces | 0.123s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/DateTime.spec.ts > DateTime > props handling > accepts datetime as Date object
Stack Traces | 0.124s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetRow.spec.ts > FacetRow > bar visualization > does not show bar for non-numeric values
Stack Traces | 0.124s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/LicenseDisplay.spec.ts > LicenseDisplay > real-world examples > handles pako package license: (MIT AND Zlib)
Stack Traces | 0.124s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Input/Base.spec.ts > InputBase > accessibility (attrs fallthrough) > accepts disabled via attrs
Stack Traces | 0.124s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Disconnected state > disables connect button when token is empty
Stack Traces | 0.124s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Input/Base.spec.ts > InputBase > accessibility (attrs fallthrough) > accepts placeholder via attrs
Stack Traces | 0.125s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetRow.spec.ts > FacetRow > label rendering > does not render description icon when not provided
Stack Traces | 0.125s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > text filtering with operators > parses kw: operator in all scope
Stack Traces | 0.125s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > clearing filters > removeKeyword removes specific keyword
Stack Traces | 0.126s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Select/Field.spec.ts > SelectField > v-model > emits update:modelValue when option is selected
Stack Traces | 0.126s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > toggleFacet > removes facet when selected
Stack Traces | 0.127s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CommandPalette.spec.ts > CommandPalette > announces setting changes after the palette closes
Stack Traces | 0.127s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/BuildEnvironment.spec.ts > BuildEnvironment > renders release environment correctly
Stack Traces | 0.127s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-replacement-dependencies.spec.ts > useReplacementDependencies > returns empty object for empty dependencies
Stack Traces | 0.128s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Header/MobileMenu.spec.ts > MobileMenu > emits update:open false when backdrop is clicked
Stack Traces | 0.128s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetRow.spec.ts > FacetRow > status styling > applies bad status
Stack Traces | 0.128s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CommandPalette.spec.ts > CommandPalette > updates the input placeholder for palette subviews
Stack Traces | 0.128s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Package/Sidebar.spec.ts > PackageSidebar > renders with direction=up by default
Stack Traces | 0.128s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Input/Base.spec.ts > InputBase > exposed API > exposes blur() that blurs the input
Stack Traces | 0.129s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Select/Field.spec.ts > SelectField > accessibility > chevron has aria-hidden
Stack Traces | 0.129s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-package-comparison.spec.ts > usePackageComparison > staleness detection > marks recently published packages as neutral
Stack Traces | 0.129s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetSelector.spec.ts > FacetSelector > category rendering > renders category headers with all/none buttons
Stack Traces | 0.129s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Select/Base.spec.ts > SelectBase > rendering > renders without disabled attribute when disabled is false
Stack Traces | 0.13s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Select/Base.spec.ts > SelectBase > v-model > reflects modelValue prop changes
Stack Traces | 0.13s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-replacement-dependencies.spec.ts > useReplacementDependencies > handles multiple dependencies with replacements
Stack Traces | 0.13s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/LicenseDisplay.spec.ts > LicenseDisplay > real-world examples > handles jszip package license: (MIT OR GPL-3.0-or-later)
Stack Traces | 0.13s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetRow.spec.ts > FacetRow > status styling > applies good status
Stack Traces | 0.131s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-package-comparison.spec.ts > usePackageComparison > custom version > fetches version-specific data when a version is pinned in the spec
Stack Traces | 0.132s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/OgImageUserProfile.spec.ts > OgImageUserProfile > degrades to zero packages when no data resolves
Stack Traces | 0.132s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Package/MetricsBadges.spec.ts > PackageMetricsBadges > renders the wasm label
Stack Traces | 0.134s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CommandPalette.spec.ts > CommandPalette > matches commands by their group label
Stack Traces | 0.134s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Package/Likes.spec.ts > PackageLikes > keeps the top liked badge when a like response omits the rank
Stack Traces | 0.134s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > whitespace handling > trims whitespace from facet names in query
Stack Traces | 0.136s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CommandPalette.spec.ts > CommandPalette > renders color previews for the current accent color and background shade on the root view
Stack Traces | 0.136s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/pages/ComparePage.spec.ts > compare page command palette commands > does not register copy-markdown command while data is loading
Stack Traces | 0.136s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Select/Field.spec.ts > SelectField > rendering > applies block class when block is true
Stack Traces | 0.139s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/pages/ComparePage.spec.ts > compare page command palette commands > registers copy-markdown command with 2+ packages and loaded data
Stack Traces | 0.142s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetRow.spec.ts > FacetRow > bar visualization > hides bar when bar prop is false
Stack Traces | 0.143s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/OgImageUserProfile.spec.ts > OgImageUserProfile > skips the lookup for an invalid username
Stack Traces | 0.148s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetRow.spec.ts > FacetRow > grid layout > uses contents display for grid integration
Stack Traces | 0.151s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-package-comparison.spec.ts > usePackageComparison > custom version > resolves a dist-tag spec to its concrete version
Stack Traces | 0.152s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > keyword filtering (AND logic) > filters to packages with single keyword
Stack Traces | 0.154s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Input/Base.spec.ts > InputBase > exposed API > exposes focus() that focuses the input
Stack Traces | 0.154s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/LicenseDisplay.spec.ts > LicenseDisplay > real-world examples > handles rc package license: (BSD-2-Clause OR MIT OR Apache-2.0)
Stack Traces | 0.155s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/OgImagePackage.spec.ts > OgImagePackage > stars > hides stars section when count is 0
Stack Traces | 0.156s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetRow.spec.ts > FacetRow > label rendering > renders description tooltip icon when provided
Stack Traces | 0.162s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Select/Field.spec.ts > SelectField > rendering > renders label when provided
Stack Traces | 0.164s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/OgImagePackage.spec.ts > OgImagePackage > downloads > shows formatted downloads when present
Stack Traces | 0.167s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CommandPalette.spec.ts > CommandPalette > renders navigation and external commands as links
Stack Traces | 0.168s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/OgImageUserProfile.spec.ts > OgImageUserProfile > renders a generic description and skips fetching when no username is given
Stack Traces | 0.175s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Header/MobileMenu.spec.ts > MobileMenu > opens when the open prop is set to true
Stack Traces | 0.179s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CommandPalette.spec.ts > CommandPalette > connects the input to an existing description, live status, and results region
Stack Traces | 0.186s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetRow.spec.ts > FacetRow > value rendering > renders null values as dash
Stack Traces | 0.189s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > keyword filtering (AND logic) > uses AND logic for multiple keywords
Stack Traces | 0.193s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Package/Likes.spec.ts > PackageLikes > renders the top liked badge with rank and leaderboard link
Stack Traces | 0.201s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/LicenseDisplay.spec.ts > LicenseDisplay > single license > renders a valid SPDX license as a link
Stack Traces | 0.206s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Input/Base.spec.ts > InputBase > rendering > renders with default empty value
Stack Traces | 0.22s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/BuildEnvironment.spec.ts > BuildEnvironment > renders dev environment correctly
Stack Traces | 0.22s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-compare-replacements.spec.ts > useCompareReplacements > suggestion categorization > categorizes native replacements as no dep suggestions
Stack Traces | 0.229s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/AppFooter.spec.ts > AppFooter > BuildEnvironment is properly displayed at settings
Stack Traces | 0.241s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/structured-filters.spec.ts > useStructuredFilters > keyword filtering (AND logic) > returns all packages when no keywords selected
Stack Traces | 0.246s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Auth URL button > does not show auth URL button when no running operations have an authUrl
Stack Traces | 0.261s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-facet-selection.spec.ts > useFacetSelection > returns DEFAULT_FACETS when no query param
Stack Traces | 0.263s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-replacement-dependencies.spec.ts > useReplacementDependencies > returns replacements for dependencies that have them
Stack Traces | 0.265s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CodeFileTree.spec.ts > CodeFileTree > expands and collapses a directory when clicked
Stack Traces | 0.292s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Select/Field.spec.ts > SelectField > rendering > renders options from items prop
Stack Traces | 0.304s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CodeViewer.spec.ts > CodeViewer > renders line numbers, highlights the selected range, and emits clicks
Stack Traces | 0.322s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/OgImageUserProfile.spec.ts > OgImageUserProfile > renders the username with a tilde prefix
Stack Traces | 0.333s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Select/Base.spec.ts > SelectBase > rendering > renders native select with slot options
Stack Traces | 0.336s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/HeaderConnectorModal.spec.ts > HeaderConnectorModal > Connector preferences (connected) > shows auto-open URL toggle when connected
Stack Traces | 0.366s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Header/MobileMenu.spec.ts > MobileMenu > is closed by default
Stack Traces | 0.37s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/DateTime.spec.ts > DateTime > props handling > accepts datetime as ISO string
Stack Traces | 0.371s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Tooltip.spec.ts > TooltipBase to prop > teleports to body by default
Stack Traces | 0.394s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Input/Base.spec.ts > InputBase > focus and blur > emits blur when input loses focus
Stack Traces | 0.396s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/OgImagePackage.spec.ts > OgImagePackage > stars > shows formatted stars when count is positive
Stack Traces | 0.404s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/OgImagePackage.spec.ts > OgImagePackage > renders the package name
Stack Traces | 0.42s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/LicenseDisplay.spec.ts > LicenseDisplay > parentheses > strips parentheses from expressions for cleaner display
Stack Traces | 0.43s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/CodeViewer.spec.ts > CodeViewer > updates highlighted lines when the selected range changes or clears
Stack Traces | 0.437s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/OgImagePackage.spec.ts > OgImagePackage > license > renders the license when present
Stack Traces | 0.443s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
badge.spec.ts::badge API › specific scenarios › types badge shows included badge when types not declared explicitly
Stack Traces | 0.466s run time
expect(received).toContain(expected) // indexOf
test/nuxt/components/compare/FacetRow.spec.ts > FacetRow > label rendering > renders the label
Stack Traces | 0.489s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetRow.spec.ts > FacetRow > value rendering > renders loading state for facet loading
Stack Traces | 0.49s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/compare/FacetSelector.spec.ts > FacetSelector > category rendering > renders all categories
Stack Traces | 0.531s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/DateTime.spec.ts > DateTime > props handling > passes individual date parts to NuxtTime
Stack Traces | 0.533s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Changelog.spec.ts > Changelog > Should display error message
Stack Traces | 0.662s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/pages/ComparePage.spec.ts > compare page command palette commands > does not register copy-markdown command with only 1 package
Stack Traces | 0.684s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Tab.spec.ts > Tab components > TabRoot > renders tablist
Stack Traces | 0.694s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Package/Sidebar.spec.ts > PackageSidebar > renders slot content
Stack Traces | 0.768s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/composables/use-package-comparison.spec.ts > usePackageComparison > lastUpdated facet > uses version-specific publish date, not time.modified
Stack Traces | 0.885s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'
test/nuxt/components/Package/MetricsBadges.spec.ts > PackageMetricsBadges > renders the badges
Stack Traces | 0.934s run time
SyntaxError: The requested module '/node_modules/.pnpm/semver@7.8..../node_modules/semver/index.js?v=eee639ad' does not provide an export named 'valid'

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@trueberryless

Copy link
Copy Markdown
Member

Awesome idea, I really like this one. Two birds with one stone 🚀

@serhalp
serhalp marked this pull request as ready for review February 28, 2026 17:03
@coderabbitai

coderabbitaiBot commented Feb 28, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 789dd221-f72f-4c20-9ce4-ff2312536fd2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Introduces parsing and handling for package specifiers of the form "pkg@version": a new shared utility parsePackageSpecifier was added and used in search, server cache, and tests; the router now routes exact single semver versions to package-version and sends non-exact semver specifiers to the package route via query.semver with a default #versions hash; search Enter-key handling now recognises pkg@version and navigates accordingly. Versions component initialisation now seeds its semver filter from route.query.semver.

Possibly related PRs

Suggested labels

needs review

Suggested reviewers

  • danielroe
  • shuuji3
🚥 Pre-merge checks | ✅ 1
✅ Passed checks (1 passed)
Check nameStatusExplanation
Description check✅ PassedThe pull request description clearly relates to the changeset, explaining the rationale for routing changes and addressing two specific GitHub issues.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch serhalp/fix-version-sorting

Warning

Review ran into problems

🔥 Problems

Timed out fetching pipeline failures after 30000ms


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (3)
shared/utils/parse-package-param.ts (1)

54-61: Trailing @ edge case may produce unexpected results.

When the input ends with @ but has no version (e.g., 'esbuild@'), the function returns { name: 'esbuild@' } because the version slice is empty. This retains the trailing @ in the package name, which is not a valid npm package name.

Consider whether this should instead return { name: 'esbuild' } to strip the trailing @:

💡 Suggested fix
 export function parsePackageSpecifier(input: string): { name: string; version?: string } {
const atIndex = input.startsWith('@') ? input.indexOf('@', 1) : input.indexOf('@')
if (atIndex > 0) {
const version = input.slice(atIndex + 1)
if (version) return { name: input.slice(0, atIndex), version }
+ // Trailing @ with no version - return name without the @+ return { name: input.slice(0, atIndex) }
}
return { name: input }
}
modules/runtime/server/cache.ts (1)

222-238: Consider using parsePackageSpecifier to reduce code duplication.

This function contains inline parsing logic for extracting the package name and version specifier (lines 226-238) that duplicates the logic in parsePackageSpecifier. The same pattern appears in processSingleVersionsMeta (lines 300-312).

Since parsePackageSpecifier was introduced to centralise this parsing, consider refactoring these functions to use it for consistency and maintainability.

♻️ Suggested refactor
 async function processSingleFastNpmMeta(
packageQuery: string,
storage: ReturnType<typeof useStorage>,
metadata: boolean,
): Promise<Record<string, unknown>> {
- let packageName = packageQuery- let specifier = 'latest'-- if (packageName.startsWith('@')) {- const atIndex = packageName.indexOf('@', 1)- if (atIndex !== -1) {- specifier = packageName.slice(atIndex + 1)- packageName = packageName.slice(0, atIndex)- }- } else {- const atIndex = packageName.indexOf('@')- if (atIndex !== -1) {- specifier = packageName.slice(atIndex + 1)- packageName = packageName.slice(0, atIndex)- }- }+ const { name: packageName, version } = parsePackageSpecifier(packageQuery)+ const specifier = version ?? 'latest'
test/unit/app/utils/router.spec.ts (1)

100-107: Consider adding a test case for undefined version.

The test covers null version but not undefined. Since the function signature accepts string | null | undefined, it would be good to explicitly test the undefined case for completeness.

💡 Suggested addition
 describe('with null/undefined version', () => {
it('returns package route for null version', () => {
expect(packageRoute('react', null)).toEqual({
name: 'package',
params: { org: '', name: 'react' },
})
})
++ it('returns package route for undefined version', () => {+ expect(packageRoute('react', undefined)).toEqual({+ name: 'package',+ params: { org: '', name: 'react' },+ })+ })
})

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 85ac3d7 and 2db1c4d.

📒 Files selected for processing (8)
  • app/components/Package/Versions.vue
  • app/pages/search.vue
  • app/utils/router.ts
  • modules/runtime/server/cache.ts
  • shared/utils/parse-package-param.ts
  • test/e2e/search-at-version.spec.ts
  • test/unit/app/utils/router.spec.ts
  • test/unit/shared/utils/parse-package-param.spec.ts

@chronoB

Copy link
Copy Markdown
Contributor

I like that! ❤️ I just checked it out locally and jumping to the correct version by pressing enter is amazing.

The problem I see is I do not know about that functionality if I don't press enter and the search results do not indicate that this is even possible (because the package is not shown). Maybe a combination with stripping the version for the search as in #1626 could help so that the correct package will also be shown in the results?

@Us3r-gitHub

Copy link
Copy Markdown

npmx.smart.pkg@v.routing.mp4

Hi! Sorry if this is a bit out of context 😅
Just curious—what app did you use to record the demo?
Thanks!

@serhalp

Copy link
Copy Markdown
MemberAuthor

npmx.smart.pkg@v.routing.mp4

Hi! Sorry if this is a bit out of context 😅 Just curious—what app did you use to record the demo? Thanks!

😁 @Us3r-gitHubhttps://screen.studio/

…nstead of 404
Dependency links with version ranges (e.g. "^18.0.0 || ^19.0.0", ">15 <=16.0.2") previously
navigated to a non-existent version page and 404'd.
Now `packageRoute()` distinguishes exact versions from ranges: exact versions link to the version
page, while ranges link to the package page with `?semver=<range>#versions`, pre-populating the
existing "Filter by semver" input.
Closes#1120
Searching for `esbuild@0.25.12` or `@angular/core@^18` and pressing Enter now navigates directly to
the package version page (or semver filter for ranges) instead of returning no results.
Since in the previous commit I added support for linking to the package page with the a pre-filled
semver version specifier in the query string to populate the version filter, this supports both
exact versions and semver ranges in the search input.
Closes#1416

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
app/components/Package/Versions.vue (1)

108-109: Minor: Redundant || '' fallback.

The ternary expression already returns '' for non-string cases, making the trailing || '' unnecessary.

✨ Suggested simplification
-const semverFilter = ref((typeof route.query.semver === 'string' ? route.query.semver : '') || '')+const semverFilter = ref(typeof route.query.semver === 'string' ? route.query.semver : '')

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2800da71-7154-45bc-a870-b32110a5fec8

📥 Commits

Reviewing files that changed from the base of the PR and between 56fa96e and dffa4f2.

📒 Files selected for processing (4)
  • app/components/Package/Versions.vue
  • app/pages/search.vue
  • app/utils/router.ts
  • docs/content/2.guide/1.features.md
✅ Files skipped from review due to trivial changes (2)
  • app/pages/search.vue
  • docs/content/2.guide/1.features.md

Comment on lines +108 to +109
// Semver range filter (initialized from ?semver= query param if present)
const semverFilter = ref((typeof route.query.semver === 'string' ? route.query.semver : '') || '')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash# Check if there are any watchers or other mechanisms that sync route.query.semver to semverFilter
rg -n 'route\.query\.semver' app/components/Package/Versions.vue

Repository: npmx-dev/npmx.dev

Length of output: 163


🏁 Script executed:

cat -n app/components/Package/Versions.vue | head -150

Repository: npmx-dev/npmx.dev

Length of output: 5561


🏁 Script executed:

rg -n 'watch\(|onBeforeRouteUpdate' app/components/Package/Versions.vue

Repository: npmx-dev/npmx.dev

Length of output: 188


🏁 Script executed:

rg -n 'Versions\.vue\|<Versions' app/pages/ -A 3

Repository: npmx-dev/npmx.dev

Length of output: 43


🏁 Script executed:

rg -n ':key=' app/pages/package/\[\[org\]\]/\[name\]\.vue | head -20

Repository: npmx-dev/npmx.dev

Length of output: 43


🏁 Script executed:

rg -n 'import.*Versions' app/ -l | grep -v node_modules

Repository: npmx-dev/npmx.dev

Length of output: 344


🏁 Script executed:

rg -n '<Versions' app/ -B 2 -A 2

Repository: npmx-dev/npmx.dev

Length of output: 587


🏁 Script executed:

fd -name '\[name\].vue' app/pages/package/

Repository: npmx-dev/npmx.dev

Length of output: 291


🏁 Script executed:

find app/pages/package -name '[name].vue' -o -name 'index.vue'

Repository: npmx-dev/npmx.dev

Length of output: 103


🏁 Script executed:

cat -n app/pages/package/\[\[org\]\]/\[name\].vue | head -200

Repository: npmx-dev/npmx.dev

Length of output: 6760


🏁 Script executed:

rg -n '<Versions' app/pages/package/\[\[org\]\]/\[name\]/index.vue -B 2 -A 5

Repository: npmx-dev/npmx.dev

Length of output: 43


🏁 Script executed:

wc -l app/pages/package/\[\[org\]\]/\[name\]/index.vue

Repository: npmx-dev/npmx.dev

Length of output: 106


🏁 Script executed:

cat app/pages/package/\[\[org\]\]/\[name\]/index.vue

Repository: npmx-dev/npmx.dev

Length of output: 221


🏁 Script executed:

find app/pages/package -type f -name '*.vue'| xargs wc -l | sort -rn

Repository: npmx-dev/npmx.dev

Length of output: 271


🏁 Script executed:

ls -la app/pages/package/\[\[org\]\]/

Repository: npmx-dev/npmx.dev

Length of output: 292


🏁 Script executed:

rg -n 'Versions' app/pages/package/\[\[org\]\]/\[name\].vue -B 3 -A 3

Repository: npmx-dev/npmx.dev

Length of output: 2760


🏁 Script executed:

rg -n '<Versions' app/pages/package/\[\[org\]\]/\[name\].vue -B 5 -A 5

Repository: npmx-dev/npmx.dev

Length of output: 43


🏁 Script executed:

sed -n '964,980p' app/pages/package/\[\[org\]\]/\[name\].vue

Repository: npmx-dev/npmx.dev

Length of output: 718


🏁 Script executed:

rg -n 'PackageVersions' app/pages/package/\[\[org\]\]/\[name\].vue -A 10

Repository: npmx-dev/npmx.dev

Length of output: 1041


🏁 Script executed:

cat -n app/components/Package/Versions.vue | sed -n '100,350p'

Repository: npmx-dev/npmx.dev

Length of output: 10420


🏁 Script executed:

cat -n app/components/Package/Versions.vue | sed -n '350,550p'

Repository: npmx-dev/npmx.dev

Length of output: 8047


🏁 Script executed:

cat -n app/components/Package/Versions.vue | tail -50

Repository: npmx-dev/npmx.dev

Length of output: 1819


🏁 Script executed:

rg -n 'onBeforeRouteUpdate\|watch.*route' app/components/Package/Versions.vue

Repository: npmx-dev/npmx.dev

Length of output: 43


Watch route.query.semver to sync filter state on navigation.

The semverFilter is initialised once at component setup from route.query.semver. Without a watcher on the route parameter, internal navigation (e.g., from /package/foo?semver=^1 to /package/foo?semver=^2) won't update the filter because the component instance reuses without unmounting. Add a watcher on route.query.semver to keep the filter in sync with URL changes.

@ghostdevv
ghostdevv marked this pull request as draft April 9, 2026 03:06
Comment threadmodules/runtime/server/cache.ts Outdated
Comment on lines -68 to -103
/**
* Parse a scoped package name with optional version.
* Handles formats like: @scope/name, @scope/name@version, name, name@version
*/
function parseScopedPackageWithVersion(input: string): { name: string; version?: string } {
if (input.startsWith('@')) {
// Scoped package: @scope/name or @scope/name@version
const slashIndex = input.indexOf('/')
if (slashIndex === -1) {
// Invalid format like just "@scope"
return { name: input }
}
const afterSlash = input.slice(slashIndex + 1)
const atIndex = afterSlash.indexOf('@')
if (atIndex === -1) {
// @scope/name (no version)
return { name: input }
}
// @scope/name@version
return {
name: input.slice(0, slashIndex + 1 + atIndex),
version: afterSlash.slice(atIndex + 1),
}
}

// Unscoped package: name or name@version
const atIndex = input.indexOf('@')
if (atIndex === -1) {
return { name: input }
}
return {
name: input.slice(0, atIndex),
version: input.slice(atIndex + 1),
}
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was this intentional? 👀

CI seems to be failing now

@github-actionsgithub-actionsBot added stale This has become stale and may be closed soon and removed stale This has become stale and may be closed soon labels May 31, 2026
@github-actionsgithub-actionsBot added the stale This has become stale and may be closed soon label Jul 2, 2026
@github-actionsgithub-actionsBot removed the stale This has become stale and may be closed soon label Jul 3, 2026
@github-actionsgithub-actionsBot added the stale This has become stale and may be closed soon label Aug 3, 2026
@gameroman

Copy link
Copy Markdown
Member

Hi @serhalp would you like to continue working on this? ❤️

@github-actionsgithub-actionsBot removed the stale This has become stale and may be closed soon label Aug 5, 2026
@trueberryless

Copy link
Copy Markdown
Member

I took the liberty to update the PR with changes that happened on main in the meantime (mainly consolidating the parsePackageSpecifier and parsePackageSpec methods). But I haven't looked at the other CI failures yet. Hope it helps 🫡

Comment on lines +105 to +153
// npms.io API - return mock package score data
if (host === 'api.npms.io') {
const packageMatch = decodeURIComponent(pathname).match(/^\/v2\/package\/(.+)$/)
if (packageMatch?.[1]) {
return {
data: {
analyzedAt: new Date().toISOString(),
collected: {
metadata: { name: packageMatch[1] },
},
score: {
final: 0.75,
detail: {
quality: 0.8,
popularity: 0.7,
maintenance: 0.75,
},
},
},
}
}
}

// jsdelivr CDN - return 404 for README files, etc.
if (host === 'cdn.jsdelivr.net') {
// Return null data which will cause a 404 - README files are optional
return { data: null }
}

// jsdelivr data API - return mock file listing
if (host === 'data.jsdelivr.com') {
const packageMatch = decodeURIComponent(pathname).match(/^\/v1\/packages\/npm\/(.+)$/)
if (packageMatch?.[1]) {
const pkgWithVersion = packageMatch[1]
const parsed = parsePackageSpec(pkgWithVersion)
return {
data: {
type: 'npm',
name: parsed.name,
version: parsed.version || 'latest',
files: [
{ name: 'package.json', hash: 'abc123', size: 1000 },
{ name: 'index.js', hash: 'def456', size: 500 },
{ name: 'README.md', hash: 'ghi789', size: 2000 },
],
},
}
}
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this related to this PR or some merge artifact?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@serhalp (do you know) what it's for?

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add possibility to search for specific version of a package Dependency links with version union ("1.0 || 2.0") resolves to 404 page

5 participants

@serhalp@trueberryless@chronoB@Us3r-gitHub@gameroman