Repository navigation
chore(deps): update dev dependencies with oxfmt, knip and axe-core fixes KIT-282 - #8771
alexprudhomme wants to merge 4 commits into
Conversation
|
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
@coveo/atomic
@coveo/atomic-hosted-page
@coveo/atomic-legacy
@coveo/atomic-react
@coveo/auth
@coveo/bueno
coveo.analytics
@coveo/create-atomic
@coveo/create-atomic-component
@coveo/create-atomic-component-project
@coveo/create-atomic-result-component
@coveo/create-atomic-rollup-plugin
@coveo/create-ui
@coveo/headless
@coveo/headless-react
@coveo/quantic
@coveo/relay
@coveo/shopify
@coveo/thermidor
@coveo/atomic-angular
commit: |
|
Tip All tests passed and all changes approved!🟢 UI Tests: 472 tests unchanged |
|
Superseded: these 3 fix commits are now pushed on top of #8521 (renovate/dev) instead of a separate PR. |
Jira: KIT-282
Supersedes #8521. That PR keeps the Renovate dev-dependency bumps (
658d73b95) as-is, and this branch adds the fixes its failing checks need. Merging this one lets #8521 be closed.Changes
658d73b95, unchanged): oxfmt 0.74, oxlint 1.89, knip 6.42.1, turbo 2.11.9, Storybook 10.6.3, axe-core 4.14.0, and the rest of the dev deps.style(atomic,thermidor): apply oxfmt 0.74 formatting: output ofpnpm run lint:fix:oxfmton the 15 files thatoxfmt --checkflags with the new version. Formatting only, nothing changes at runtime, so no changeset.chore(deps): adapt knip config to knip 6.42(knip.jsonly):vite: {config: []}no longer keepsvite.config.jsas an entry, so the config is listed as an entry in thecommerce-hybrid,commerce-viteandsearch-viteAtomic samples.create-uibinary inpackages/create-ui(scripts/test-packed-bin.mjsruns the packed tarball's bin).size-limitfromignoreBinariestoignoreDependenciesin the root workspace: knip now reportsrequire.resolve('size-limit/package.json')inscripts/size-limit.mjsas an unlisted dependency.chore(deps): hold axe-core at 4.13.0: puts@coveo/atomic-a11yback on axe-core 4.13.0 and runspnpm dedupe. Only the axe-core lines change in the lockfile.Why the axe-core hold
axe-core 4.14 removes the
experimentaltag fromlabel-content-name-mismatch(WCAG 2.5.3 Label in Name), so the rule now runs by default. On #8521 every Storybook test passes, but the a11y gate fails on the facet-header clear button (atomic-facet, numeric-, rating-, rating-range-, color-, timeframe-facet and atomic-breadbox stories). Its visible text is "Clear filter", but itsaria-labelis "Clear {{count}} filter for the {{label}} facet", so the visible text isn't part of the accessible name.This is an existing a11y issue in Atomic that the new axe version detects. The hold is a stopgap.
Follow-up (not in this PR)
Fix WCAG 2.5.3 in the facet-header clear button (
packages/atomic/src/components/common/facets/facet-header/facet-header.ts) so the accessible name starts with the visible text. For example, rewordclear-filters-for-facetto something like "Clear filter: {{label}} facet ({{count}})", or drop thearia-labeland add visually hidden context after the visible text. This changes a public Atomic string in every locale, and needs a changeset, an a11y review of the wording, updated specs and snapshots, and probably an OpenACR refresh. Once it lands, axe-core can move to 4.14.Verification (local)
pnpm install --frozen-lockfilepasses.pnpm run lint:checkpasses (5/5 tasks).pnpm exec knip --exclude catalogexits 0 after a full build, with configuration hints only.vitest run --project=storybookonatomic-facet.new.stories.tsxandatomic-breadbox.new.stories.tsx: 10/10 pass, with no a11y violations (axe-core 4.13.0).🤖 Generated with Claude Code