Skip to content

Comments

feat: add missing a11y tests for blog post components#1429

Draft
jonathanyeong wants to merge 3 commits intonpmx-dev:feat/atproto-blog-fefrom
jonathanyeong:feat/blog-a11y-tests
Draft

feat: add missing a11y tests for blog post components#1429
jonathanyeong wants to merge 3 commits intonpmx-dev:feat/atproto-blog-fefrom
jonathanyeong:feat/blog-a11y-tests

Conversation

@jonathanyeong
Copy link
Contributor

This PR attempts to address the CI issues in the main blog branch #1094

What

Fixes this CI test failure:

 FAIL   unit  test/unit/a11y-component-coverage.spec.ts > a11y component test coverage > should have accessibility tests for all components (or be explicitly skipped)
AssertionError: Missing a11y tests for 8 component(s):
  - AuthorAvatar.vue
  - AuthorList.vue
  - BlogPostListCard.vue
  - BlogPostWrapper.vue
  - BlueskyComment.vue
  - BlueskyComments.vue
  - EmbeddableBlueskyPost.vue
  - OgImage/BlogPost.vue

Fixes unused code check:

Unused devDependencies (1)
@valibot/to-json-schema  package.json:125:6

@vercel
Copy link

vercel bot commented Feb 12, 2026

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

Project Deployment Actions Updated (UTC)
npmx.dev Error Error Feb 24, 2026 8:04am
2 Skipped Deployments
Project Deployment Actions Updated (UTC)
docs.npmx.dev Ignored Ignored Preview Feb 24, 2026 8:04am
npmx-lunaria Ignored Ignored Feb 24, 2026 8:04am

Request Review

`bluesky-embed-${embeddedId}`,
() =>
$fetch('/api/atproto/bluesky-oembed', {
$fetch<BlueskyOEmbedResponse>('/api/atproto/bluesky-oembed', {
Copy link
Contributor Author

@jonathanyeong jonathanyeong Feb 12, 2026

Choose a reason for hiding this comment

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

I'm going to need someone with more nuxt/typescript knowledge to explain why adding this type fixes this issue:

Error: app/components/EmbeddableBlueskyPost.vue(16,5): error TS2321: Excessive stack depth comparing types 'Exclude<R extends "/api/atproto/bluesky-author-profiles" ? { key: "/api/atproto/bluesky-author-profiles"; exact: true; score: []; catchAll: false; } : { key: "/api/atproto/bluesky-author-profiles"; exact: false; score: `${R}/` extends `${infer RouteSeg}/${infer RouteRest}` ? `${RouteSeg}?` extends `${infer RouteSegW...' and '{ score: MaxTuple<((R extends "/api/atproto/bluesky-author-profiles" ? { key: "/api/atproto/bluesky-author-profiles"; exact: true; score: []; catchAll: false; } : { key: "/api/atproto/bluesky-author-profiles"; exact: false; score: `${R}/` extends `${infer RouteSeg}/${infer RouteRest}` ? `${RouteSeg}?` extends `${inf...'.

It was an AI suggestion, and I'm unsure why it works 🤷.

Copy link
Contributor

Choose a reason for hiding this comment

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

The type is effectively an escape hatch here for Nuxt's built-in recursive matching that it runs to resolve the route string, which spares the TS compiler from having to resolve it.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah okay got it! Thank you for explaining!

@jonathanyeong
Copy link
Contributor Author

I'm also seeing this issue Type 'Plugin<any>' is not assignable to type 'PluginOption'. on the Markdown plugin in nuxt.config.ts. It might be related to rollup version from this related issue

@whitep4nth3r whitep4nth3r marked this pull request as draft February 12, 2026 16:19
@whitep4nth3r
Copy link
Contributor

Just marking as draft as it's not ready yet and a couple of us are going down the list to see what we can review!

@jonathanyeong
Copy link
Contributor Author

@whitep4nth3r I resolved the remaining OG image type errors.

The remaining issue with Type 'Plugin<any>' is not assignable to type 'PluginOption' should be resolved in Nuxt 4.3.2.

Are you okay if I mark this as ready for review?

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.

3 participants