Skip to content

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

Draft
jonathanyeong wants to merge 2 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 2 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 Ready Ready Preview, Comment Feb 12, 2026 0:16am
2 Skipped Deployments
Project Deployment Actions Updated (UTC)
docs.npmx.dev Ignored Ignored Preview Feb 12, 2026 0:16am
npmx-lunaria Ignored Ignored Feb 12, 2026 0:16am

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 🤷.

@jonathanyeong
Copy link
Contributor Author

I'm seeing these errors when running pnpm test:types

Error: app/components/OgImage/BlogPost.vue(18,29): error TS2304: Cannot find name 'useBlueskyAuthorProfiles'.
Error: app/components/OgImage/BlogPost.vue(20,23): error TS2304: Cannot find name 'computed'.
Error: app/components/OgImage/BlogPost.vue(43,24): error TS2304: Cannot find name 'computed'.
Error: app/components/OgImage/BlogPost.vue(48,20): error TS2304: Cannot find name 'computed'.
Error: app/components/OgImage/BlogPost.vue(53,30): error TS2304: Cannot find name 'computed'.
Error: app/components/OgImage/BlogPost.vue(54,46): error TS7006: Parameter 'a' implicitly has an 'any' type.

But I'm not sure why it's failing. I don't think we need to explicitly importuseBlueskyAuthorProfiles or computed since it's just a component. But maybe it's treated differently because of the og image plugin. Anyone know?

@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!

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