Skip to content

chore(pulse-analytics): use an inline SVG logo instead of a PNG URL - #923

Merged
harlan-zw merged 1 commit into
nuxt:mainfrom
uz1mani:fix/pulse-analytics-svg-logo
Sep 21, 2026
Merged

harlan-zw merged 1 commit into
nuxt:mainfrom
uz1mani:fix/pulse-analytics-svg-logo

Conversation

@uz1mani

@uz1mani uz1mani commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

The pulseAnalytics entry shipped a URL to a 64px PNG. Swapped for the vector mark, inline like the other 37 logos.

One file, one line: packages/script/src/registry-logos.ts.

Why

  • It is one of only three URL-based logos in the registry, and the only raster one (clarity and tawkTo are the other two URLs).
  • The sidebar icon renders at 18px and cards go up to 64px, so a 64px PNG is upscaled on any retina display. It reads soft next to 37 vector neighbours.

Size

1,369 bytes — rank 10 of 38 inline logos, against a median of 805.

The source was an auto-trace at 5,839 bytes, which would have been rank 2. svgo --precision=1 cut it 77%; a pixel diff of before against after shows differences confined to edge antialiasing, with no geometry moved.

The mark also gained a viewBox it did not have — the source declared width/height only, so it could not scale inline. Measured ink bounds were x 32.8..163.5, y -0.7..192.6; the viewBox is that squared.

Test

test/unit/registry-logos.test.ts — 2 passed, no type errors.

Control: replacing the value with a data:image/png;base64,… string fails it with pulseAnalytics logo should be SVG or image URL, so the pass is meaningful.

The entry shipped a URL to a 64px PNG. It is one of only three URL-based
logos in the registry and the only raster one, so it renders soft on any
retina card while every neighbour stays crisp.

Replaced with the vector mark, inline like the other 37. Sized against the
peers: 1,369 bytes, rank 10 of 38, median 805.
@vercel

vercel Bot commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

@uz1mani is attempting to deploy a commit to the Nuxt Team on Vercel.

A member of the Team first needs to authorize it.

@harlan-zw

Copy link
Copy Markdown
Collaborator

🤖 REVIEW PAUSED

Harlan Agent Kit posted this automated status. AI open source policy.

This pull request is from an outside contributor. Add the harlan-agent-review label to approve automated review and verified repairs for head commit 6d8cd377813e.

@coderabbitai

coderabbitai Bot commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

Understand this PR’s impact

Explore downstream dependencies and potential security impact with Blast Radius.

View blast radius →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: bc01d945-5abc-4b61-986d-88ce86450e2d

📥 Commits

Reviewing files that changed from the base of the PR and between e711225 and 6d8cd37.

📒 Files selected for processing (1)
  • packages/script/src/registry-logos.ts

Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review.


📝 Walkthrough

Walkthrough

The pulseAnalytics entry in the LOGOS registry now uses an inline SVG string. The SVG includes theme colors and replaces the previous remote PNG URL.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly identifies the main change: replacing the Pulse Analytics PNG URL with an inline SVG logo.
Description check ✅ Passed The description is directly related to the changeset. It explains the logo replacement, scaling reason, SVG size, optimization, and test results.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Create a new PR

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.

@uz1mani

uz1mani commented Sep 21, 2026

Copy link
Copy Markdown
Contributor Author

Worth linking: this logo will not be visible on scripts.nuxt.com until the site picks up a build past 2.0.0-beta.6, which is what #924 is about.

The same staleness is why pulse-analytics currently renders in the Utility group with a placeholder icon rather than under Analytics — the entry on main sets 'analytics', but the site is reading registry data from beta.6, which predates it.

So this PR is correct on its own terms and testable via the unit test, but the visible result depends on #924.

@pkg-pr-new

pkg-pr-new Bot commented Sep 21, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@nuxt/scripts@923

commit: 6d8cd37

@github-actions

Copy link
Copy Markdown

📦 Package Size

⚠️ 2 size metrics grew

📚 22 runtime dependencies (no change)

Package output Gzipped Δ
@nuxt/scripts · export ./registry 29 kB → 29 kB 🔴 +447 B (+1.6%)
@nuxt/scripts · published payload 218 kB → 218 kB 🔴 +447 B (+0.2%)
All tracked output (25)
Package output Gzipped Raw
@nuxt/scripts-cli · runtime dependencies 72 kB 355 kB ✅
@nuxt/scripts-cli · dependency magicast 72 kB 355 kB ✅
@nuxt/scripts-cli · export . 3.4 kB 12 kB ✅
@nuxt/scripts-cli · published payload 3.4 kB 12 kB ✅
@nuxt/scripts · runtime dependencies 436 kB 1.92 MB ✅
@nuxt/scripts · dependency @nuxt/devtools-kit 2.9 kB 7.7 kB ✅
@nuxt/scripts · dependency @oxc-project/types 0 B 0 B ✅
@nuxt/scripts · dependency @vueuse/core 174 kB 707 kB ✅
@nuxt/scripts · dependency @vueuse/shared 39 kB 154 kB ✅
@nuxt/scripts · dependency h3 34 kB 146 kB ✅
@nuxt/scripts · dependency semver 25 kB 72 kB ✅
@nuxt/scripts · dependency sirv 8.8 kB 21 kB ✅
@nuxt/scripts · dependency unstorage 70 kB 225 kB ✅
@nuxt/scripts · dependency valibot 82 kB 590 kB ✅
@nuxt/scripts · dist/runtime 101 kB 298 kB ✅
@nuxt/scripts · export . 26 kB 106 kB ✅
@nuxt/scripts · export ./registry 29 kB 91 kB 🔴
@nuxt/scripts · export ./stats 13 kB 91 kB ✅
@nuxt/scripts · export ./types-source 48 kB 244 kB ✅
@nuxt/scripts · published payload 218 kB 830 kB 🔴
@nuxt/scripts · components runtime 2.5 kB 6.4 kB ✅
@nuxt/scripts · composables runtime 7.5 kB 24 kB ✅
@nuxt/scripts · registry runtime 45 kB 133 kB ✅
@nuxt/scripts · server runtime 29 kB 87 kB ✅
@nuxt/scripts · utils runtime 2.5 kB 7.4 kB ✅
Runtime dependencies (22)
Package Dependency Requested Resolved Cost
@nuxt/scripts-cli magicast ^0.5.5 0.5.5 📦 72 kB gzip
@nuxt/scripts-cli pathe ^2.0.3 2.0.3 ♻️ free via Nuxt 4.5.2
@nuxt/scripts @nuxt/devtools-kit ^3.4.2 3.4.2 📦 2.9 kB gzip
@nuxt/scripts @oxc-project/types ^0.150.0 0.150.0 📦 0 B gzip
@nuxt/scripts @vueuse/core ^14.4.0 14.4.0 📦 174 kB gzip
@nuxt/scripts @vueuse/shared ^14.4.0 14.4.0 📦 39 kB gzip
@nuxt/scripts consola ^3.4.2 3.4.2 ♻️ free via Nuxt 4.5.2
@nuxt/scripts defu ^6.1.7 6.1.7 ♻️ free via Nuxt 4.5.2
@nuxt/scripts h3 ^1.15.11 1.15.11 📦 34 kB gzip
@nuxt/scripts magic-string ^1.4.1 1.4.1 ♻️ free via Nuxt 4.5.2
@nuxt/scripts ofetch ^1.5.1 1.5.1 ♻️ free via Nuxt 4.5.2
@nuxt/scripts ohash ^2.0.12 2.0.12 ♻️ free via Nuxt 4.5.2
@nuxt/scripts oxc-walker ^1.1.1 1.1.1 ♻️ free via Nuxt 4.5.2
@nuxt/scripts pathe ^2.0.3 2.0.3 ♻️ free via Nuxt 4.5.2
@nuxt/scripts semver ^7.8.5 7.8.5 📦 25 kB gzip
@nuxt/scripts sirv ^3.0.2 3.0.2 📦 8.8 kB gzip
@nuxt/scripts std-env ^4.2.0 4.2.0 ♻️ free via Nuxt 4.5.2
@nuxt/scripts ufo ^1.6.4 1.6.4 ♻️ free via Nuxt 4.5.2
@nuxt/scripts ultrahtml ^1.7.0 1.7.0 ♻️ free via Nuxt 4.5.2
@nuxt/scripts unplugin ^3.3.0 3.3.0 ♻️ free via Nuxt 4.5.2
@nuxt/scripts unstorage ^1.17.5 1.17.5 📦 70 kB gzip
@nuxt/scripts valibot ^1.5.0 1.5.0 📦 82 kB gzip

Baseline: main_@_e711225b___2026-09-17 · gzip is the comparison metric · changes below 16 B gzip are ignored

@harlan-zw harlan-zw changed the title fix(pulse-analytics): use an inline SVG logo instead of a PNG URL chore(pulse-analytics): use an inline SVG logo instead of a PNG URL Sep 21, 2026
@harlan-zw
harlan-zw merged commit c1edc29 into nuxt:main Sep 21, 2026
11 of 12 checks passed
@harlan-zw

Copy link
Copy Markdown
Collaborator

Thanks :)

Sign up for free to 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.

2 participants