diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 4e1e9a07..00000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,324 +0,0 @@ -version: 2.1 - -orbs: - browser-tools: circleci/browser-tools@1.2.4 - -defaults: &defaults - docker: - - image: cimg/node:16.16.0-browsers - working_directory: ~/axe-core-npm - -commands: - configure_npm: - description: 'Configure the npm client' - steps: - - run: npm config set "//registry.npmjs.org/:_authToken" $NPM_AUTH_PUBLIC - - restore_dependency_cache: - description: 'Restore the dependency cache' - steps: - - restore_cache: - keys: - - v3-npm-cache-{{ .Environment.CIRCLE_SHA1 }} - -jobs: - dependencies: - <<: *defaults - steps: - - checkout - - configure_npm - - restore_cache: - keys: - - v2-root-npm-{{ checksum "package-lock.json" }} - - restore_cache: - keys: - - v2-cli-npm-{{ checksum "packages/cli/package-lock.json" }} - - restore_cache: - keys: - - v2-playwright-npm-{{ checksum "packages/playwright/package-lock.json" }} - - restore_cache: - keys: - - v2-puppeteer-npm-{{ checksum "packages/puppeteer/package-lock.json" }} - - restore_cache: - keys: - - v2-webdriverjs-npm-{{ checksum "packages/webdriverjs/package-lock.json" }} - - restore_cache: - keys: - - v2-webdriverio-npm-{{ checksum "packages/webdriverio/package-lock.json" }} - - restore_cache: - keys: - - v2-reporter-earl-npm-{{ checksum "packages/reporter-earl/package-lock.json" }} - - restore_cache: - keys: - - v2-react-npm-{{ checksum "packages/react/package-lock.json" }} - - restore_cache: - keys: - - v2-axe-core-test-npm-{{ checksum "axe_core_test/package-lock.json" }} - # Install and cache each package's dependencies. - - run: - name: Install top-level dependencies - command: npm ci - - save_cache: - key: v2-root-npm-{{ checksum "package-lock.json" }} - paths: - - node_modules - - run: npm run bootstrap -- --ci - - save_cache: - key: v2-cli-npm-{{ checksum "packages/cli/package-lock.json" }} - paths: - - packages/cli/node_modules - - save_cache: - key: v2-playwright-npm-{{ checksum "packages/playwright/package-lock.json" }} - paths: - - packages/playwright/node_modules - - save_cache: - key: v2-puppeteer-npm-{{ checksum "packages/puppeteer/package-lock.json" }} - paths: - - packages/puppeteer/node_modules - - save_cache: - key: v2-webdriverjs-npm-{{ checksum "packages/webdriverjs/package-lock.json" }} - paths: - - packages/webdriverjs/node_modules - - save_cache: - key: v2-webdriverio-npm-{{ checksum "packages/webdriverio/package-lock.json" }} - paths: - - packages/webdriverio/node_modules - - save_cache: - key: v2-reporter-earl-npm-{{ checksum "packages/reporter-earl/package-lock.json" }} - paths: - - packages/reporter-earl/node_modules - - save_cache: - key: v2-react-npm-{{ checksum "packages/react/package-lock.json" }} - paths: - - packages/react/node_modules - - save_cache: - key: v2-axe-core-test-npm-{{ checksum "axe_core_test/package-lock.json" }} - paths: - - axe_core_test/node_modules - - save_cache: - key: v3-npm-cache-{{ .Environment.CIRCLE_SHA1 }} - paths: - - node_modules - - packages/cli/node_modules - - packages/playwright/node_modules - - packages/puppeteer/node_modules - - packages/webdriverjs/node_modules - - packages/webdriverio/node_modules - - packages/reporter-earl/node_modules - - packages/react/node_modules - - packages/react/examples/next.js/node_modules - - packages/react/examples/shadow-dom/node_modules - - axe_core_test/node_modules - - lint: - <<: *defaults - steps: - - checkout - - restore_dependency_cache - - run: npm run lint - - cli: - <<: *defaults - steps: - - checkout - - restore_dependency_cache - # Re-build packages, ensuring packages/webdriverjs/dist exists. - - run: npx lerna run prepare - # required for browser-driver-manager - - run: sudo apt-get update -y - - run: cd packages/cli && npx browser-driver-manager@1.0.4 install chrome chromedriver --verbose - # lerna link after installing the latest version of chromedriver, as we depend on webdriverJS - - run: cd packages/cli && npx lerna link - - run: npm run coverage --prefix=packages/cli - - puppeteer: - <<: *defaults - environment: - PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true - steps: - - checkout - - restore_dependency_cache - - run: npm run build --prefix=packages/puppeteer - # required for browser-driver-manager - - run: sudo apt-get update -y - - run: cd packages/puppeteer && npx browser-driver-manager@1.0.4 install chrome chromedriver --verbose - - run: npm run coverage --prefix=packages/puppeteer - - run: npm run test:esm --prefix=packages/puppeteer - - webdriverjs: - <<: *defaults - steps: - - checkout - - restore_dependency_cache - - browser-tools/install-chrome - - browser-tools/install-chromedriver - - run: npm --prefix=packages/webdriverjs run build - - run: - command: npm run coverage --prefix=packages/webdriverjs - environment: - CHROMEDRIVER_PATH: /usr/local/bin/chromedriver - - run: - command: npm run test:esm --prefix=packages/webdriverjs - environment: - CHROMEDRIVER_PATH: /usr/local/bin/chromedriver - - webdriverio: - <<: *defaults - working_directory: ~/axe-core-npm - steps: - - checkout - - restore_dependency_cache - - browser-tools/install-chrome - - browser-tools/install-chromedriver - - run: npm run build --prefix=packages/webdriverio - - run: - command: npm run coverage --prefix=packages/webdriverio - environment: - CHROMEDRIVER_PATH: /usr/local/bin/chromedriver - - run: - command: npm run test:esm --prefix=packages/webdriverio - environment: - CHROMEDRIVER_PATH: /usr/local/bin/chromedriver - - reporter-earl: - <<: *defaults - steps: - - checkout - - restore_dependency_cache - - run: npm run test --prefix=packages/reporter-earl - - run: npm run test:esm --prefix=packages/reporter-earl - - react: - <<: *defaults - steps: - - checkout - - restore_dependency_cache - - run: npm run build --prefix=packages/react - - run: npm run test --prefix=packages/react - - run: npm run test:esm --prefix=packages/react - - playwright: - docker: - - image: mcr.microsoft.com/playwright:v1.34.3 - environment: - NODE_ENV: development - working_directory: ~/axe-core-npm - steps: - # We need to pin node@14 to run WDIO due to WDIO sync, only works on node@14 - - run: npm install -g node@14 --force - - checkout - - restore_dependency_cache - - run: npm install - - run: npm run bootstrap -- --ci - - run: npm run build --prefix=packages/playwright - - run: npm run coverage --prefix=packages/playwright - - run: npm run test:esm --prefix=packages/playwright - - axe-core-test: - <<: *defaults - steps: - - checkout - - restore_dependency_cache - - run: npm run test --prefix=axe_core_test - - canary_release: - <<: *defaults - steps: - - checkout - - configure_npm - - restore_dependency_cache - # Make sure the working tree is clean - - run: git reset --hard HEAD - - run: >- - npx lerna publish prepatch \ - --no-verify-access \ - --no-git-tag-version \ - --no-push \ - --canary \ - --dist-tag=next \ - --exact \ - --force-publish \ - --yes - - production_release: - <<: *defaults - steps: - - checkout - - configure_npm - - restore_dependency_cache - # Make sure the working tree is clean - - run: git reset --hard HEAD - - run: >- - npx lerna publish from-package \ - --force-publish='*' \ - --yes - - # Create a GitHub release. - github_release: - docker: - - image: cimg/go:1.17.1 - steps: - - checkout - - run: go get gopkg.in/aktau/github-release.v0 - - run: - name: Download and run GitHub release script - command: | - curl https://raw.githubusercontent.com/dequelabs/attest-release-scripts/develop/src/node-github-release.sh -s -o ./node-github-release.sh - chmod +x ./node-github-release.sh - ./node-github-release.sh - -workflows: - version: 2 - build_and_test: - jobs: - - dependencies - - lint: - requires: - - dependencies - - cli: - requires: - - lint - - playwright: - requires: - - lint - - puppeteer: - requires: - - lint - - webdriverjs: - requires: - - lint - - webdriverio: - requires: - - lint - - reporter-earl: - requires: - - lint - - react: - requires: - - lint - - axe-core-test: - requires: - - lint - filters: - branches: - only: - - /^release*/ - - master - - canary_release: - context: html-tools - requires: - - dependencies - filters: - branches: - only: - - develop - - production_release: - context: html-tools - requires: - - dependencies - filters: - branches: - only: master - - github_release: - requires: - - production_release diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 00000000..3dccbf84 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,53 @@ +name: Deploy + +on: + push: + branches: + - develop + - master + +jobs: + canary: + runs-on: ubuntu-latest + if: github.ref_name == 'develop' && github.repository_owner == 'dequelabs' + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: 'npm' + - run: npm ci + - run: npm run bootstrap + # Make sure the working tree is clean + - run: git reset --hard HEAD + - run: npm config set "//registry.npmjs.org/:_authToken" ${{ secrets.NPM_TOKEN }} + - run: | + npx lerna publish prepatch \ + --no-verify-access \ + --no-git-tag-version \ + --no-push \ + --canary \ + --dist-tag=next \ + --exact \ + --force-publish \ + --yes + + production: + runs-on: ubuntu-latest + if: github.ref_name == 'master' && github.repository_owner == 'dequelabs' + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: 'npm' + - run: npm ci + - run: npm run bootstrap + # Make sure the working tree is clean + - run: git reset --hard HEAD + - run: npm config set "//registry.npmjs.org/:_authToken" ${{ secrets.NPM_TOKEN }} + - run: | + npx lerna publish from-package \ + --force-publish='*' \ + --yes + - uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v0.1.15 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 00000000..dfda6be1 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,172 @@ +name: Tests + +on: [push] + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: 'npm' + - run: npm ci + - run: npm run bootstrap -- --ci + - run: npm run lint + + puppeteer: + strategy: + matrix: + node: [16, 18, 20] + runs-on: ubuntu-latest + needs: lint + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node}} + cache: 'npm' + - run: npm ci + - run: npm run bootstrap -- --ci + - run: npm run build --prefix=packages/puppeteer + # HACK: Force a TTY to enable browser-driver-manager to manipulate stdout. + - shell: 'script -q -e -c "bash {0}"' + run: npx browser-driver-manager install chrome chromedriver --verbose + - run: npm run coverage --prefix=packages/puppeteer + - run: npm run test:esm --prefix=packages/puppeteer + + cli: + strategy: + matrix: + node: [16, 18, 20] + runs-on: ubuntu-latest + needs: lint + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node }} + cache: 'npm' + - run: npm ci + - run: npm run bootstrap -- --ci + # HACK: Force a TTY to enable browser-driver-manager to manipulate stdout. + - shell: 'script -q -e -c "bash {0}"' + run: npx browser-driver-manager install chrome chromedriver --verbose + # Re-build packages, ensuring packages/webdriverjs/dist exists. + - run: npx lerna run prepare + # lerna link after installing the latest version of chromedriver, as we depend on webdriverJS + - run: npx lerna link + working-directory: packages/cli + - run: npm run coverage --prefix=packages/cli + + webdriverjs: + strategy: + matrix: + node: [16, 18, 20] + runs-on: ubuntu-latest + needs: lint + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node }} + cache: 'npm' + - run: npm ci + - run: npm run bootstrap -- --ci + # HACK: Force a TTY to enable browser-driver-manager to manipulate stdout. + - shell: 'script -q -e -c "bash {0}"' + run: npx browser-driver-manager install chrome chromedriver --verbose + - run: npm run build --prefix=packages/webdriverjs + - run: npm run coverage --prefix=packages/webdriverjs + - run: npm run test:esm --prefix=packages/webdriverjs + + webdriverio: + strategy: + matrix: + node: [16, 18, 20] + runs-on: ubuntu-latest + needs: lint + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node }} + cache: 'npm' + - run: npm ci + - run: npm run bootstrap -- --ci + # HACK: Force a TTY to enable browser-driver-manager to manipulate stdout. + - shell: 'script -q -e -c "bash {0}"' + run: npx browser-driver-manager install chrome chromedriver --verbose + - run: npm run build --prefix=packages/webdriverio + - run: npm run coverage --prefix=packages/webdriverio + - run: npm run test:esm --prefix=packages/webdriverio + + reporter_earl: + strategy: + matrix: + node: [16, 18, 20] + runs-on: ubuntu-latest + needs: lint + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node }} + cache: 'npm' + - run: npm ci + - run: npm run bootstrap -- --ci + - run: npm run build --prefix=packages/reporter-earl + - run: npm run test --prefix=packages/reporter-earl + - run: npm run test:esm --prefix=packages/reporter-earl + + react: + strategy: + matrix: + node: [16, 18, 20] + runs-on: ubuntu-latest + needs: lint + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node }} + cache: 'npm' + - run: npm ci + - run: npm run bootstrap -- --ci + - run: npm run build --prefix=packages/react + - run: npm run test --prefix=packages/react + - run: npm run test:esm --prefix=packages/react + + playwright: + strategy: + matrix: + node: [16, 18, 20] + runs-on: ubuntu-latest + needs: lint + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node }} + cache: 'npm' + - run: npm ci + - run: npm run bootstrap -- --ci + - run: npx playwright install --with-deps + - run: npm run build --prefix=packages/playwright + - run: npm run coverage --prefix=packages/playwright + - run: npm run test:esm --prefix=packages/playwright + + axe_core_test: + if: github.ref_name == 'master' || startsWith(github.ref_name, 'release') + runs-on: ubuntu-latest + needs: lint + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: 'npm' + - run: npm ci + - run: npm run bootstrap -- --ci + - run: npm test --prefix=axe_core_test diff --git a/package-lock.json b/package-lock.json index edace436..3cb4a75a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,8 @@ "name": "axe-core-npm", "license": "MPL-2.0", "dependencies": { - "axe-test-fixtures": "github:dequelabs/axe-test-fixtures" + "axe-test-fixtures": "github:dequelabs/axe-test-fixtures", + "browser-driver-manager": "^1.0.4" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^5.40.0", @@ -2438,6 +2439,46 @@ "node": ">=8" } }, + "node_modules/browser-driver-manager": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/browser-driver-manager/-/browser-driver-manager-1.0.4.tgz", + "integrity": "sha512-Ilh4sNgqZYJ9KL2KHg6xCE3A/pWPDVpzhC/0dBuoYCbrPRMIaG3S2YroWU2swjltagosz3ldSVIgZbrlgUpysA==", + "dependencies": { + "chalk": "^5.0.0", + "node-fetch": "^3.2.0" + }, + "bin": { + "browser-driver-manager": "bin/browser-driver-manager" + } + }, + "node_modules/browser-driver-manager/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/browser-driver-manager/node_modules/node-fetch": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.1.tgz", + "integrity": "sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -3156,6 +3197,14 @@ "node": ">=8" } }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "engines": { + "node": ">= 12" + } + }, "node_modules/dateformat": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", @@ -3922,6 +3971,28 @@ "reusify": "^1.0.4" } }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -4078,6 +4149,17 @@ "node": ">= 6" } }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", @@ -6544,6 +6626,24 @@ "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", "dev": true }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, "node_modules/node-fetch": { "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", @@ -9335,6 +9435,14 @@ "defaults": "^1.0.3" } }, + "node_modules/web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", + "engines": { + "node": ">= 8" + } + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -11544,6 +11652,32 @@ "fill-range": "^7.0.1" } }, + "browser-driver-manager": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/browser-driver-manager/-/browser-driver-manager-1.0.4.tgz", + "integrity": "sha512-Ilh4sNgqZYJ9KL2KHg6xCE3A/pWPDVpzhC/0dBuoYCbrPRMIaG3S2YroWU2swjltagosz3ldSVIgZbrlgUpysA==", + "requires": { + "chalk": "^5.0.0", + "node-fetch": "^3.2.0" + }, + "dependencies": { + "chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==" + }, + "node-fetch": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.1.tgz", + "integrity": "sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==", + "requires": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + } + } + } + }, "buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -12093,6 +12227,11 @@ "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", "dev": true }, + "data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==" + }, "dateformat": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", @@ -12682,6 +12821,15 @@ "reusify": "^1.0.4" } }, + "fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "requires": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + } + }, "figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -12795,6 +12943,14 @@ "mime-types": "^2.1.12" } }, + "formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "requires": { + "fetch-blob": "^3.1.2" + } + }, "fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", @@ -14627,6 +14783,11 @@ "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", "dev": true }, + "node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" + }, "node-fetch": { "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", @@ -16710,6 +16871,11 @@ "defaults": "^1.0.3" } }, + "web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" + }, "webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", diff --git a/package.json b/package.json index b96d3aa9..0fa05446 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ ] }, "dependencies": { - "axe-test-fixtures": "github:dequelabs/axe-test-fixtures" + "axe-test-fixtures": "github:dequelabs/axe-test-fixtures", + "browser-driver-manager": "^1.0.4" } }