Skip to content

chore: pin mm-design to v0.2.0 (eliminates Google Fonts CDN)#18

Merged
miquelmatoses merged 1 commit into
mainfrom
chore/mm-design-v0.2.0
May 16, 2026
Merged

chore: pin mm-design to v0.2.0 (eliminates Google Fonts CDN)#18
miquelmatoses merged 1 commit into
mainfrom
chore/mm-design-v0.2.0

Conversation

@miquelmatoses
Copy link
Copy Markdown
Collaborator

Summary

  • Pins mm-design from github:miquelmatoses/mm-design (floating main) to github:miquelmatoses/mm-design#v0.2.0
  • mm-design v0.2.0 removes the @import url('fonts.googleapis.com/...') from tokens/typography.css — font provisioning is now the consumer's responsibility
  • The @fontsource packages added in perf(mobile): self-host fonts, preconnect API, fix yellow contrast #17 already handle font provisioning locally
  • Build verified: grep -rl "fonts.googleapis" dist/zero matches

Root cause (why this was blocked)

npm had a stale lock entry pointing to an old git SHA (f115da6f… → v0.1.0 commit). The fix required deleting package-lock.json and doing a clean npm install to force re-resolution to the correct commit (4d4fac10…, the actual v0.2.0 tagged commit).

Test plan

  • cat node_modules/mm-design/package.json | grep version"version": "0.2.0"
  • grep -i "fonts.googleapis" node_modules/mm-design/tokens/typography.css → zero matches
  • npm run build → clean build in 2.03s
  • grep -rl "fonts.googleapis" dist/ → zero matches
  • After merge+deploy: run PageSpeed Insights mobile on https://cercol.team — expect render-blocking resources to drop from ~770ms to 0ms

🤖 Generated with Claude Code

mm-design v0.2.0 removes the @import url('fonts.googleapis.com/...')
from tokens/typography.css. Font provisioning is now the consumer's
responsibility — @fontsource packages already added in #17 handle this.
Result: zero Google Fonts requests in the built bundle.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@miquelmatoses miquelmatoses merged commit 13e75b7 into main May 16, 2026
1 of 3 checks passed
@miquelmatoses miquelmatoses deleted the chore/mm-design-v0.2.0 branch May 16, 2026 06:34
miquelmatoses added a commit that referenced this pull request May 16, 2026
…ockfile (#19)

The package-lock.json regenerated on macOS lacks the linux-x64 optional
native binaries (@esbuild/linux-x64-gnu, @rollup/rollup-linux-x64-gnu,
@tailwindcss/oxide-linux-x64-gnu, lightningcss-linux-x64-gnu, and ~70
other platform-specific packages) that 'npm ci' strictly requires on
the Ubuntu CI runner.

Result: PR #18 merged but its CI run (25955119126) and the subsequent
deploy run (25955119111) both failed at the 'Install dependencies' step
before reaching build, lint, or test. Production therefore still serves
the previous successful deploy (commit 47462af, mm-design v0.1.0 with
the Google Fonts @import).

This commit switches all three 'npm ci' invocations to 'npm install':
- .github/workflows/ci.yml (Build & lint job, Frontend tests job)
- .github/workflows/deploy-frontend.yml (deploy job)

Trade-off: 'npm install' is more permissive than 'npm ci'. It resolves
missing optional platform-specific binaries by installing them rather
than failing. The lockfile may mutate slightly during a CI run, but
this is harmless because the runner is destroyed after each run.

Once this commit is on main and the deploy succeeds, the mm-design
v0.2.0 changes from PR #18 will reach production: the Google Fonts
@import will be eliminated from vendor-*.css, and PageSpeed mobile
Performance should rise from 70 to ~85+ as expected.

Long-term alternative (not done here): regenerate the lockfile in a
Linux environment via Docker or the Hetzner VPS, then restore 'npm ci'.
That requires Linux access that is not currently part of the workflow.

Co-authored-by: miquelmatoses <miquelmatoses@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

1 participant