{"_id":"@ariada-org/test-adapters","_rev":"2-6ac774713b79d47f60480f04e6ddd02e","name":"@ariada-org/test-adapters","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@ariada-org/test-adapters","version":"0.1.0","keywords":["accessibility","a11y","wcag","wcag-2.2","axe-core","eaa","european-accessibility-act","jest","vitest","mocha","chai","playwright","cypress","test-adapter","matcher","eupl"],"author":{"url":"Agonist Development AB","name":"Alexander Brichkin","email":"git@ariada.org"},"license":"EUPL-1.2","_id":"@ariada-org/test-adapters@0.1.0","maintainers":[{"name":"agonist","email":"ab@agonist.ai"}],"homepage":"https://github.com/ariada-org/ariada/tree/main/packages/ariada-test-adapters","bugs":{"url":"https://github.com/ariada-org/ariada/issues"},"dist":{"shasum":"d738de4f11f850bc19b9b3a0960c7a796adf8de5","tarball":"https://registry.npmjs.org/@ariada-org/test-adapters/-/test-adapters-0.1.0.tgz","fileCount":97,"integrity":"sha512-LDbwd4fXvOE1IcTdLEe1eSY/dvODwwwT7l9Vi4BC1mQrNk4d1R1358c7QhSvuwUgqFyib8e5ftEcmu46HYiLiw==","signatures":[{"sig":"MEQCIDCzLCAv1ivf2LoQq1XjP9gN6SHS/+sFWFyqMkpdmodAAiAA+Ye0mFeq4Z8Hb0252LLSB++n47UBbgAc6mxOTImJKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ariada-org%2ftest-adapters@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111447},"main":"./dist/internal/index.js","type":"module","_from":"file:ariada-org-test-adapters-0.1.0.tgz","types":"./dist/internal/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/internal/index.d.ts","import":"./dist/internal/index.js"},"./jest":{"types":"./dist/jest/index.d.ts","import":"./dist/jest/index.js"},"./vitest":{"types":"./dist/vitest/index.d.ts","import":"./dist/vitest/index.js"},"./cypress":{"types":"./dist/cypress/index.d.ts","import":"./dist/cypress/index.js"},"./internal":{"types":"./dist/internal/index.d.ts","import":"./dist/internal/index.js"},"./mocha-chai":{"types":"./dist/mocha-chai/index.d.ts","import":"./dist/mocha-chai/index.js"},"./playwright":{"types":"./dist/playwright/index.d.ts","import":"./dist/playwright/index.js"}},"scripts":{"lint":"eslint src tests","test":"vitest run","build":"tsc -p tsconfig.json","clean":"rimraf dist coverage","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"agonist","email":"ab@agonist.ai"},"_resolved":"/tmp/2f65a0a482e8fc059308d021c4107396/ariada-org-test-adapters-0.1.0.tgz","_integrity":"sha512-LDbwd4fXvOE1IcTdLEe1eSY/dvODwwwT7l9Vi4BC1mQrNk4d1R1358c7QhSvuwUgqFyib8e5ftEcmu46HYiLiw==","repository":{"url":"git+https://github.com/ariada-org/ariada.git","type":"git","directory":"packages/ariada-test-adapters"},"_npmVersion":"10.9.8","description":"Accessibility-assertion adapters for Jest, Vitest, Mocha (Chai plugin), Playwright (fixture) and Cypress (custom command). Wraps @ariada-org/core-playwright + @ariada-org/wcag-rules-extended. Open source under EUPL-1.2.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@ariada-org/core-playwright":"0.1.0","@ariada-org/wcag-rules-extended":"0.1.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.2","rimraf":"^6.0.1","vitest":"^4.1.0","typescript":"^5.7.2","@types/chai":"^5.0.1","@types/node":"^22.10.2"},"peerDependencies":{"chai":"^4.0.0 || ^5.0.0","vitest":"^2.0.0 || ^3.0.0 || ^4.0.0","cypress":"^13.0.0 || ^14.0.0","@jest/globals":"^29.0.0 || ^30.0.0","@playwright/test":"^1.49.0"},"peerDependenciesMeta":{"chai":{"optional":true},"vitest":{"optional":true},"cypress":{"optional":true},"@jest/globals":{"optional":true},"@playwright/test":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/test-adapters_0.1.0_1781536555080_0.7770052731317905","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ariada-org/test-adapters","version":"0.1.1","description":"Accessibility-assertion adapters for Jest, Vitest, Mocha (Chai plugin), Playwright (fixture) and Cypress (custom command). Wraps @ariada-org/core-playwright + @ariada-org/wcag-rules-extended. Open source under EUPL-1.2.","license":"EUPL-1.2","type":"module","main":"./dist/internal/index.js","types":"./dist/internal/index.d.ts","exports":{".":{"types":"./dist/internal/index.d.ts","import":"./dist/internal/index.js"},"./jest":{"types":"./dist/jest/index.d.ts","import":"./dist/jest/index.js"},"./vitest":{"types":"./dist/vitest/index.d.ts","import":"./dist/vitest/index.js"},"./mocha-chai":{"types":"./dist/mocha-chai/index.d.ts","import":"./dist/mocha-chai/index.js"},"./playwright":{"types":"./dist/playwright/index.d.ts","import":"./dist/playwright/index.js"},"./cypress":{"types":"./dist/cypress/index.d.ts","import":"./dist/cypress/index.js"},"./internal":{"types":"./dist/internal/index.d.ts","import":"./dist/internal/index.js"}},"dependencies":{"@ariada-org/core-playwright":"0.2.0","@ariada-org/wcag-rules-extended":"0.1.0"},"peerDependencies":{"@jest/globals":"^29.0.0 || ^30.0.0","@playwright/test":"^1.49.0","chai":"^4.0.0 || ^5.0.0","cypress":"^13.0.0 || ^14.0.0","vitest":"^2.0.0 || ^3.0.0 || ^4.0.0"},"peerDependenciesMeta":{"@jest/globals":{"optional":true},"vitest":{"optional":true},"chai":{"optional":true},"@playwright/test":{"optional":true},"cypress":{"optional":true}},"devDependencies":{"@types/chai":"^5.0.1","@types/node":"^22.10.2","chai":"^5.1.2","rimraf":"^6.0.1","typescript":"^5.7.2","vitest":"^4.1.0"},"engines":{"node":">=22"},"keywords":["accessibility","a11y","wcag","wcag-2.2","axe-core","eaa","european-accessibility-act","jest","vitest","mocha","chai","playwright","cypress","test-adapter","matcher","eupl"],"homepage":"https://github.com/ariada-org/ariada/tree/main/packages/ariada-test-adapters","repository":{"type":"git","url":"git+https://github.com/ariada-org/ariada.git","directory":"packages/ariada-test-adapters"},"bugs":{"url":"https://github.com/ariada-org/ariada/issues"},"author":{"name":"Alexander Brichkin","email":"git@ariada.org","url":"Agonist Development AB"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","lint":"eslint src tests","test":"vitest run","test:watch":"vitest","clean":"rimraf dist coverage"},"_id":"@ariada-org/test-adapters@0.1.1","_integrity":"sha512-xG/HNDwZTL+ic1jyYp8CQ8Sv66ou9pLoIoJ+ljzumDb0usph5R82+xPWcvWdG25VzJ+ttmkj0xB7y5QSN6jRYA==","_resolved":"/private/var/folders/2c/_42xj0l179z8yc7wmp5k91s00000gn/T/270a6bd26bfd733e3074abe7760b4571/ariada-org-test-adapters-0.1.1.tgz","_from":"file:ariada-org-test-adapters-0.1.1.tgz","_nodeVersion":"26.5.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-xG/HNDwZTL+ic1jyYp8CQ8Sv66ou9pLoIoJ+ljzumDb0usph5R82+xPWcvWdG25VzJ+ttmkj0xB7y5QSN6jRYA==","shasum":"1017d7085352707664ffef4984195b0ba2d8b979","tarball":"https://registry.npmjs.org/@ariada-org/test-adapters/-/test-adapters-0.1.1.tgz","fileCount":97,"unpackedSize":111162,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCaqMV5xtYWZV1u3EYajnBuKEyWXX4eaqC9LTUpiHKOJgIhAMKJVRrleebE+FW570lUOftKn1jSiZySm6dzA/SEOjUh"}]},"_npmUser":{"name":"agonist","email":"ab@agonist.ai"},"directories":{},"maintainers":[{"name":"agonist","email":"ab@agonist.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/test-adapters_0.1.1_1784942570758_0.2608830930489425"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-15T15:15:54.854Z","modified":"2026-07-25T01:22:51.122Z","0.1.0":"2026-06-15T15:15:55.227Z","0.1.1":"2026-07-25T01:22:50.910Z"},"bugs":{"url":"https://github.com/ariada-org/ariada/issues"},"author":{"name":"Alexander Brichkin","email":"git@ariada.org","url":"Agonist Development AB"},"license":"EUPL-1.2","homepage":"https://github.com/ariada-org/ariada/tree/main/packages/ariada-test-adapters","keywords":["accessibility","a11y","wcag","wcag-2.2","axe-core","eaa","european-accessibility-act","jest","vitest","mocha","chai","playwright","cypress","test-adapter","matcher","eupl"],"repository":{"type":"git","url":"git+https://github.com/ariada-org/ariada.git","directory":"packages/ariada-test-adapters"},"description":"Accessibility-assertion adapters for Jest, Vitest, Mocha (Chai plugin), Playwright (fixture) and Cypress (custom command). Wraps @ariada-org/core-playwright + @ariada-org/wcag-rules-extended. Open source under EUPL-1.2.","maintainers":[{"name":"agonist","email":"ab@agonist.ai"}],"readme":"<!--\nSPDX-FileCopyrightText: 2026 Agonist Development AB\nSPDX-License-Identifier: EUPL-1.2\n-->\n\n# `@ariada-org/test-adapters`\n\nAccessibility-assertion adapters for the five most common JavaScript test frameworks: **Jest**, **Vitest**, **Mocha + Chai**, **Playwright**, and **Cypress**. Each entry registers a single idiomatic, framework-native assertion that scans the target via `@ariada-org/core-playwright` and the rule packs from `@ariada-org/wcag-rules-extended`.\n\nLicense: EUPL-1.2 (European Union Public Licence v1.2).\n\n## Status\n\n`v0.1.0` — five framework entries are shipped. WebdriverIO, Karma, and Jasmine are tracked for a later release.\n\n## Install\n\n```bash\nnpm install --save-dev @ariada-org/test-adapters\n# pnpm add -D @ariada-org/test-adapters\n# yarn add --dev @ariada-org/test-adapters\n```\n\nThe five framework runtimes (`@jest/globals`, `vitest`, `chai`, `@playwright/test`, `cypress`) are listed as **optional peer dependencies**. Install only the ones you use — npm will not warn about the others.\n\n## Usage\n\n### Jest\n\n```ts\nimport '@ariada-org/test-adapters/jest';\n\ntest('home page is accessible', async () => {\n  await expect('https://example.com').toBeAccessible();\n});\n```\n\n### Vitest\n\n```ts\nimport '@ariada-org/test-adapters/vitest';\n\ntest('home page is accessible', async () => {\n  await expect('https://example.com').toBeAccessible();\n});\n```\n\n### Mocha + Chai\n\n```ts\nimport chai, { expect } from 'chai';\nimport { ariadaChai } from '@ariada-org/test-adapters/mocha-chai';\n\nchai.use(ariadaChai);\n\nit('home page is accessible', async () => {\n  await expect('https://example.com').to.be.accessible();\n});\n```\n\n### Playwright\n\n```ts\nimport { test as base } from '@playwright/test';\nimport { extendPlaywrightTest } from '@ariada-org/test-adapters/playwright';\n\nconst test = extendPlaywrightTest(base);\n\ntest('home page is accessible', async ({ page, a11y }) => {\n  await page.goto('https://example.com');\n  const result = await a11y.scan(page);\n  await a11y.toBeAccessible(result);\n});\n```\n\n### Cypress\n\n```ts\n// cypress/support/e2e.ts\nimport '@ariada-org/test-adapters/cypress';\n\n// any spec\nit('home page is accessible', () => {\n  cy.visit('https://example.com').checkA11y();\n});\n```\n\n## Options\n\nEvery assertion accepts an optional `ScanOptions` object:\n\n| Option | Default | Description |\n|---|---|---|\n| `severity` | `'serious'` | Severity threshold (`minor` / `moderate` / `serious` / `critical`). |\n| `packs` | all three | Rule-pack subset (`banking` / `checkout` / `statement`). |\n| `timeoutMs` | `30000` | Scan timeout in milliseconds (`0 < n <= 120000`). |\n| `locale` | `'en'` | Message locale (`en` / `sv` / `de` / `fr` / `nl` / `fi` / `da` / `no`). |\n| `exclude` | `[]` | CSS selectors to skip during the scan. |\n\n## Failure message format\n\nEvery adapter produces violation lines in the same shape so output is identical across the test pyramid:\n\n```\nWCAG 1.4.3 (color-contrast) [serious]: .price-label — contrast 2.1:1 below 4.5:1 threshold\n```\n\n## What this package is and is not\n\n- **Is** a thin facade over the OSS scanner — no rules of its own, no browser-control logic of its own, no telemetry.\n- **Is not** a CI runner — see `@ariada-org/cli` for one-shot scans suitable for GitHub Actions / GitLab CI / Jenkins.\n- **Is not** a rule authoring API — see `@ariada-org/wcag-rules-extended` for that.\n\n## Compliance context\n\nThe packs target WCAG 2.2 AA and EN 301 549 v3.2.1 — the technical baseline for the European Accessibility Act (Directive (EU) 2019/882) which becomes enforceable on 2025-06-28. Shifting accessibility assertions left into your existing test pyramid reduces post-merge remediation cost and gives you evidence trails for accessibility statements (DOS-lagen 2018:1937, BFSG, RGAA).\n\n## License + maintenance\n\nEUPL-1.2 — see `LICENSE` and `NOTICE`.\n\nMaintained by Alexander Brichkin (Agonist Development AB, Sweden, org.nr 559452-5726).\n","readmeFilename":"README.md"}