Skip to content

Commit d847924

Browse files
authored
chore(release): v4.9.0 (#4380)
## [4.9.0](v4.8.4...v4.9.0) (2024-03-25) ### Features - adding the wcag131 tag to the aria-hidden-body rule ([#4349](#4349)) ([dd4c3c3](dd4c3c3)), closes [#4315](#4315) - **checks:** deprecate aria-busy check ([#4356](#4356)) ([be0b555](be0b555)), closes [#4347](#4347) [#4340](#4340) - **color:** add color channel values and luminosity, saturation, clip functions ([#4366](#4366)) ([9e70199](9e70199)), closes [/github.com//pull/4365/files#r1517706612](https://github.com/dequelabs//github.com/dequelabs/axe-core/pull/4365/files/issues/r1517706612) - **i18n:** add Greek Translations ([#3836](#3836)) ([3ea9a48](3ea9a48)) - **i18n:** Add Italian translation ([#4344](#4344)) ([de1baa9](de1baa9)) - **i18n:** Add Simplified Chinese translation ([#4379](#4379)) ([bda7c8d](bda7c8d)) - **i18n:** Add Taiwanese Mandarin translation ([#4299](#4299)) ([c5e11de](c5e11de)) ### Bug Fixes - Add LICENSE-3RD-PARTY.txt file ([#4304](#4304)) ([daa0fe6](daa0fe6)) - add Object.values polyfill for node <=6 ([#4274](#4274)) ([5eb867b](5eb867b)) - **aria-required-children:** avoid confusing aria-busy message in failures ([#4347](#4347)) ([591607d](591607d)), closes [#fail13](https://github.com/dequelabs/axe-core/issues/fail13) [#4340](#4340) - avoid reading element-specific node properties of non-element node types ([#4317](#4317)) ([b853b18](b853b18)), closes [#4316](#4316) [#4316](#4316) - **color-contrast:** handle text that is outside `overflow: hidden` ancestor ([#4357](#4357)) ([bdb7300](bdb7300)), closes [#4253](#4253) - **color-contrast:** support color blend modes hue, saturation, color, luminosity ([#4365](#4365)) ([7ae4761](7ae4761)) - **d.ts:** RawNodesResult issues ([#4229](#4229)) ([d660518](d660518)) - **d.ts:** RunOptions.reporter can be any string ([#4218](#4218)) ([e53f5c5](e53f5c5)) - **i18n:** update Italian translations ([#4377](#4377)) ([4d65d4b](4d65d4b)) - **listitem:** clarify roleNotValid message ([#4374](#4374)) ([0f8a9af](0f8a9af)) - **scrollable-region-focusable:** missing wcag213 tag ([#4201](#4201)) ([0080a72](0080a72)) - **target-size:** always pass 10x targets (avoid perf bottleneck) ([#4376](#4376)) ([be327c4](be327c4)) - **target-size:** do not crash for nodes with many overlapping widgets ([#4373](#4373)) ([1dbea83](1dbea83)), closes [#4359](#4359) [#4359](#4359) [#4360](#4360) - **utils/get-selector:** ignore 'xmlns' attribute when generating a selector ([#4303](#4303)) ([938b411](938b411)) This PR was opened by a robot 🤖 🎉
2 parents 9ba9d05 + 3a6ce3c commit d847924

File tree

313 files changed

+11957
-4531
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

313 files changed

+11957
-4531
lines changed

.circleci/config.yml

+9-11
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ defaults: &defaults
55

66
unix_box: &unix_box
77
docker:
8-
- image: cimg/node:16.18-browsers
8+
- image: cimg/node:18.18-browsers
99

1010
unix_nightly_box: &unix_nightly_box
1111
docker:
1212
- image: cimg/node:lts-browsers
1313

1414
orbs:
1515
puppeteer: threetreeslight/[email protected]
16-
browser-tools: circleci/[email protected].4
16+
browser-tools: circleci/[email protected].8
1717

1818
set_npm_auth: &set_npm_auth
1919
run: npm config set "//registry.npmjs.org/:_authToken" $NPM_AUTH
@@ -33,9 +33,7 @@ restore_build: &restore_build
3333
commands:
3434
browser-tools-job:
3535
steps:
36-
- browser-tools/install-browser-tools:
37-
# TODO: remove when chromedriver downloads are fixed
38-
chrome-version: 116.0.5845.96
36+
- browser-tools/install-browser-tools
3937

4038
jobs:
4139
# Fetch and cache dependencies.
@@ -243,15 +241,15 @@ jobs:
243241
- <<: *restore_dependency_cache_unix
244242
- run: npm run test:rule-help-version
245243

246-
# Test node API
247-
test_node:
244+
# Test jsdom API
245+
test_jsdom:
248246
<<: *defaults
249247
<<: *unix_box
250248
steps:
251249
- checkout
252250
- <<: *restore_dependency_cache_unix
253251
- <<: *restore_build
254-
- run: npm run test:node
252+
- run: npm run test:jsdom
255253

256254
# Release a "next" version
257255
next_release:
@@ -363,7 +361,7 @@ workflows:
363361
- test_rule_help_version:
364362
requires:
365363
- build_unix
366-
- test_node:
364+
- test_jsdom:
367365
requires:
368366
- build_unix
369367
# Verify the sri history is correct
@@ -388,7 +386,7 @@ workflows:
388386
- test_virtual_rules
389387
- build_api_docs
390388
- test_rule_help_version
391-
- test_node
389+
- test_jsdom
392390
- verify_sri
393391
filters:
394392
branches:
@@ -406,7 +404,7 @@ workflows:
406404
- test_virtual_rules
407405
- build_api_docs
408406
- test_rule_help_version
409-
- test_node
407+
- test_jsdom
410408
filters:
411409
branches:
412410
only: develop

.eslintrc.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ module.exports = {
22
root: true,
33
extends: ['prettier'],
44
parserOptions: {
5-
ecmaVersion: 2021
5+
ecmaVersion: 2023
66
},
77
env: {
88
node: true,

.github/dependabot.yml

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
version: 2
2+
3+
updates:
4+
- package-ecosystem: 'github-actions'
5+
directory: '/'
6+
schedule:
7+
interval: 'monthly'
8+
open-pull-requests-limit: 10
9+
commit-message:
10+
prefix: 'chore'
11+
groups:
12+
# Any updates not caught by the group config will get individual PRs
13+
gha-low-risk:
14+
update-types:
15+
- 'minor'
16+
- 'patch'
17+
18+
- package-ecosystem: 'npm'
19+
directory: '/'
20+
schedule:
21+
interval: 'monthly'
22+
open-pull-requests-limit: 10
23+
commit-message:
24+
prefix: 'chore'
25+
ignore:
26+
# Prevent updates to ESM-only versions
27+
- dependency-name: 'chalk'
28+
versions: ['>=5.0.0']
29+
- dependency-name: 'execa'
30+
versions: ['>=6.0.0']
31+
- dependency-name: 'inquirer'
32+
versions: ['>=9.0.0']
33+
- dependency-name: 'chai'
34+
versions: ['>=5.0.0']
35+
# Prevent Webpack error caused by v0.11+ of esbuild
36+
# @see https://github.com/dequelabs/axe-core/issues/3771
37+
- dependency-name: 'esbuild'
38+
versions: ['>=0.11.0']
39+
groups:
40+
# Any updates not caught by the group config will get individual PRs
41+
npm-low-risk:
42+
update-types:
43+
- 'minor'
44+
- 'patch'

.github/workflows/format.yml

+5-10
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,21 @@ jobs:
66
prettier:
77
runs-on: ubuntu-latest
88
steps:
9-
- uses: actions/checkout@v3
9+
- uses: actions/checkout@v4
1010
with:
1111
ref: ${{ github.event.pull_request.head.ref }}
1212
- name: Install dependencies
1313
run: npm ci
14-
- name: Cache node_modules
15-
uses: actions/cache@v3
16-
with:
17-
path: |
18-
./node_modules
19-
key: npm-workspace-cache-${{ runner.os }}-${{ hashFiles('./package-lock.json') }}
20-
- uses: actions/setup-node@v1
14+
- uses: actions/setup-node@v4
2115
with:
2216
node-version: 16
17+
cache: 'npm'
2318
# Workflows are not allowed to edit workflows. As result, we need to prevent Prettier from formatting them.
2419
- name: Prevent workflows from being formatted
25-
run: echo ".github" >> .prettierignore
20+
run: echo ".github" >> .prettierignore && cat .prettierignore
2621
- run: npm run fmt
2722
# Prevent the prettierignore change from being committed.
2823
- run: git checkout .prettierignore
29-
- uses: stefanzweifel/git-auto-commit-action@v4
24+
- uses: stefanzweifel/git-auto-commit-action@8756aa072ef5b4a080af5dc8fef36c5d586e521d # tag=v5
3025
with:
3126
commit_message: ':robot: Automated formatting fixes'

.github/workflows/label-extension-linter-issues.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ jobs:
1111
issues: write
1212
steps:
1313
- name: Label Extension Issues
14-
uses: andymckay/labeler@1.0.4
14+
uses: andymckay/labeler@e6c4322d0397f3240f0e7e30a33b5c5df2d39e90 # tag=1
1515
if: contains(toJson(github.event.issue.body), '### Product\n\naxe Extension\n\n')
1616
with:
1717
add-labels: 'extension'
1818
repo-token: ${{ secrets.GITHUB_TOKEN }}
1919
- name: Label Linting Issues
20-
uses: andymckay/labeler@1.0.4
20+
uses: andymckay/labeler@e6c4322d0397f3240f0e7e30a33b5c5df2d39e90 # tag=1
2121
if: contains(toJson(github.event.issue.body), '### Product\n\naxe Linter\n\n')
2222
with:
2323
add-labels: 'linting'

.github/workflows/release.yml

+4-9
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,13 @@ jobs:
77
name: Create release
88
runs-on: ubuntu-latest
99
steps:
10-
- uses: actions/checkout@v3
10+
- uses: actions/checkout@v4
1111
with:
1212
fetch-depth: 0
13-
- uses: actions/cache@v3
14-
with:
15-
path: ./node_modules
16-
key: npm-cache-${{ runner.os }}-${{ hashFiles('./package-lock.json') }}
17-
- uses: actions/setup-node@v3
13+
- uses: actions/setup-node@v4
1814
with:
1915
node-version: 16
16+
cache: 'npm'
2017
- name: Run release script and open PR
2118
run: |
2219
git config user.name "API Team CI User"
@@ -42,11 +39,9 @@ jobs:
4239
--output-indicator-new=! CHANGELOG.md | egrep '^!' | awk -F'^[!]' '{print $2}' | sed -e 's/\n/$0A/g'
4340
)
4441
45-
echo "chore(release): v$Version" > /tmp/pr.txt
46-
echo "" >> /tmp/pr.txt
4742
echo "$ReleaseNotes" >> /tmp/pr.txt
4843
echo "" >> /tmp/pr.txt
4944
echo "This PR was opened by a robot :robot: :tada:" >> /tmp/pr.txt
50-
hub pull-request --file /tmp/pr.txt --base master
45+
gh pr create --title "chore(release): v$Version" --body-file "/tmp/pr.txt" --base master
5146
env:
5247
GITHUB_TOKEN: ${{ secrets.PAT }}

.github/workflows/test.yml

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Tests
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- master
8+
- develop
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
timeout-minutes: 5
14+
steps:
15+
- uses: actions/checkout@v4
16+
- uses: actions/setup-node@v4
17+
with:
18+
node-version: 20
19+
cache: 'npm'
20+
- run: npm ci
21+
- run: npm run build
22+
# v4 download seems to have some flakiness with the download of artifacts so pinning to v3 for now
23+
# @see https://github.com/actions/download-artifact/issues/249
24+
- uses: actions/upload-artifact@v3
25+
with:
26+
name: axe-core
27+
path: axe.js
28+
retention-days: 1
29+
30+
test_node:
31+
strategy:
32+
matrix:
33+
node: [6, 18, 20]
34+
runs-on: ubuntu-latest
35+
timeout-minutes: 5
36+
needs: build
37+
steps:
38+
- uses: actions/checkout@v4
39+
- uses: actions/setup-node@v4
40+
with:
41+
node-version: ${{ matrix.node}}
42+
- uses: actions/download-artifact@v3
43+
with:
44+
name: axe-core
45+
- run: npm run test:node

.github/workflows/update-generated-files.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: Checkout
16-
uses: actions/checkout@v3
16+
uses: actions/checkout@v4
1717
with:
1818
fetch-depth: 0
1919

.husky/pre-commit

-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,2 @@
1-
#!/usr/bin/env sh
2-
. "$(dirname -- "$0")/_/husky.sh"
3-
41
npx grunt configure
52
npx lint-staged

.jsdoc.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"destination": "./doc/api",
1313
"encoding": "utf8",
1414
"recurse": true,
15-
"template": "./node_modules/minami"
15+
"template": "./node_modules/clean-jsdoc-theme"
1616
},
1717
"plugins": ["plugins/markdown"]
1818
}

.prettierignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
node_modules/
2-
doc/api
2+
doc/api

CHANGELOG.md

+29
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,35 @@
22

33
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
44

5+
## [4.9.0](https://github.com/dequelabs/axe-core/compare/v4.8.4...v4.9.0) (2024-03-25)
6+
7+
### Features
8+
9+
- adding the wcag131 tag to the aria-hidden-body rule ([#4349](https://github.com/dequelabs/axe-core/issues/4349)) ([dd4c3c3](https://github.com/dequelabs/axe-core/commit/dd4c3c34a42d2b96f5495890f5c5d5e8f6ca8d32)), closes [#4315](https://github.com/dequelabs/axe-core/issues/4315)
10+
- **checks:** deprecate aria-busy check ([#4356](https://github.com/dequelabs/axe-core/issues/4356)) ([be0b555](https://github.com/dequelabs/axe-core/commit/be0b5558acfbeb6bbb176ac7fd7d8fdfb973b30b)), closes [#4347](https://github.com/dequelabs/axe-core/issues/4347) [#4340](https://github.com/dequelabs/axe-core/issues/4340)
11+
- **color:** add color channel values and luminosity, saturation, clip functions ([#4366](https://github.com/dequelabs/axe-core/issues/4366)) ([9e70199](https://github.com/dequelabs/axe-core/commit/9e7019990bbbf5182ab50c5c968143b81d216dcb)), closes [/github.com/dequelabs/axe-core/pull/4365/files#r1517706612](https://github.com/dequelabs//github.com/dequelabs/axe-core/pull/4365/files/issues/r1517706612)
12+
- **i18n:** add Greek Translations ([#3836](https://github.com/dequelabs/axe-core/issues/3836)) ([3ea9a48](https://github.com/dequelabs/axe-core/commit/3ea9a48cf88d02271db8b19651bff0415237b856))
13+
- **i18n:** Add Italian translation ([#4344](https://github.com/dequelabs/axe-core/issues/4344)) ([de1baa9](https://github.com/dequelabs/axe-core/commit/de1baa9a9f6495f695d25d61d14ed55983dded76))
14+
- **i18n:** Add Simplified Chinese translation ([#4379](https://github.com/dequelabs/axe-core/issues/4379)) ([bda7c8d](https://github.com/dequelabs/axe-core/commit/bda7c8d8bf5936a56c66240e1ea0373a3b769809))
15+
- **i18n:** Add Taiwanese Mandarin translation ([#4299](https://github.com/dequelabs/axe-core/issues/4299)) ([c5e11de](https://github.com/dequelabs/axe-core/commit/c5e11de06973392b113906c05e3a3004af4c38ae))
16+
17+
### Bug Fixes
18+
19+
- Add LICENSE-3RD-PARTY.txt file ([#4304](https://github.com/dequelabs/axe-core/issues/4304)) ([daa0fe6](https://github.com/dequelabs/axe-core/commit/daa0fe677d4837c9c79bad8ee6c77aff11212339))
20+
- add Object.values polyfill for node <=6 ([#4274](https://github.com/dequelabs/axe-core/issues/4274)) ([5eb867b](https://github.com/dequelabs/axe-core/commit/5eb867b04e174140122c62eb5c705a842a3489e1))
21+
- **aria-required-children:** avoid confusing aria-busy message in failures ([#4347](https://github.com/dequelabs/axe-core/issues/4347)) ([591607d](https://github.com/dequelabs/axe-core/commit/591607dd829c11e2cca5beee12c75628d1a8235e)), closes [#fail13](https://github.com/dequelabs/axe-core/issues/fail13) [#4340](https://github.com/dequelabs/axe-core/issues/4340)
22+
- avoid reading element-specific node properties of non-element node types ([#4317](https://github.com/dequelabs/axe-core/issues/4317)) ([b853b18](https://github.com/dequelabs/axe-core/commit/b853b18a24dd2d1c9408705b821cc11146ae1186)), closes [#4316](https://github.com/dequelabs/axe-core/issues/4316) [#4316](https://github.com/dequelabs/axe-core/issues/4316)
23+
- **color-contrast:** handle text that is outside `overflow: hidden` ancestor ([#4357](https://github.com/dequelabs/axe-core/issues/4357)) ([bdb7300](https://github.com/dequelabs/axe-core/commit/bdb7300c67d451d3b0169707924a0c6bc4defe40)), closes [#4253](https://github.com/dequelabs/axe-core/issues/4253)
24+
- **color-contrast:** support color blend modes hue, saturation, color, luminosity ([#4365](https://github.com/dequelabs/axe-core/issues/4365)) ([7ae4761](https://github.com/dequelabs/axe-core/commit/7ae476124d60eafd28d85abf48188cd85c99543a))
25+
- **d.ts:** RawNodesResult issues ([#4229](https://github.com/dequelabs/axe-core/issues/4229)) ([d660518](https://github.com/dequelabs/axe-core/commit/d6605181ec942bcca46e3bfe889064b3781919ca))
26+
- **d.ts:** RunOptions.reporter can be any string ([#4218](https://github.com/dequelabs/axe-core/issues/4218)) ([e53f5c5](https://github.com/dequelabs/axe-core/commit/e53f5c5184a0e5f75db65e7929a9da84d7ee6df6))
27+
- **i18n:** update Italian translations ([#4377](https://github.com/dequelabs/axe-core/issues/4377)) ([4d65d4b](https://github.com/dequelabs/axe-core/commit/4d65d4bf40f4ee2697e079451dd84a0155e8fb51))
28+
- **listitem:** clarify roleNotValid message ([#4374](https://github.com/dequelabs/axe-core/issues/4374)) ([0f8a9af](https://github.com/dequelabs/axe-core/commit/0f8a9af2a82d49e7d8ff3024da0e4c485ca46d38))
29+
- **scrollable-region-focusable:** missing wcag213 tag ([#4201](https://github.com/dequelabs/axe-core/issues/4201)) ([0080a72](https://github.com/dequelabs/axe-core/commit/0080a7255eb7f246bb7b6f53974a95b65983b83a))
30+
- **target-size:** always pass 10x targets (avoid perf bottleneck) ([#4376](https://github.com/dequelabs/axe-core/issues/4376)) ([be327c4](https://github.com/dequelabs/axe-core/commit/be327c422f67ac657218f711b3b799567ba3aa37))
31+
- **target-size:** do not crash for nodes with many overlapping widgets ([#4373](https://github.com/dequelabs/axe-core/issues/4373)) ([1dbea83](https://github.com/dequelabs/axe-core/commit/1dbea83d4749f9f71f263883869b076b0d42021f)), closes [#4359](https://github.com/dequelabs/axe-core/issues/4359) [#4359](https://github.com/dequelabs/axe-core/issues/4359) [#4360](https://github.com/dequelabs/axe-core/issues/4360)
32+
- **utils/get-selector:** ignore 'xmlns' attribute when generating a selector ([#4303](https://github.com/dequelabs/axe-core/issues/4303)) ([938b411](https://github.com/dequelabs/axe-core/commit/938b411bb0609b54e5c46a8e5b50c9ea4de4bdee))
33+
534
### [4.8.4](https://github.com/dequelabs/axe-core/compare/v4.8.3...v4.8.4) (2024-02-07)
635

736
### Bug Fixes

README.md

+7-3
Original file line numberDiff line numberDiff line change
@@ -93,17 +93,17 @@ The [axe-core API](doc/API.md) package consists of:
9393

9494
## Localization
9595

96-
Axe can be built using your local language. To do so, a localization file must be added to the `./locales` directory. This file must have be named in the following manner: `<langcode>.json`. To build axe using this locale, instead of the default, run axe with the `--lang` flag, like so:
96+
Axe can be built using your local language. To do so, a localization file must be added to the `./locales` directory. This file must be named in the following manner: `<langcode>.json`. To build axe using this locale, instead of the default, run axe with the `--lang` flag, like so:
9797

9898
`grunt build --lang=nl`
9999

100100
or equivalently:
101101

102102
`npm run build -- --lang=nl`
103103

104-
This will create a new build for axe, called `axe.<lang>.js` and `axe.<lang>.min.js`. If you want to build localized versions, simply pass in `--all-lang` instead. If you want to build multiple localized versions (but not all of them), you can pass in a comma-separated list of languages to the `--lang` flag, like `--lang=nl,ja`.
104+
This will create a new build for axe, called `axe.<lang>.js` and `axe.<lang>.min.js`. If you want to build all localized versions, simply pass in `--all-lang` instead. If you want to build multiple localized versions (but not all of them), you can pass in a comma-separated list of languages to the `--lang` flag, like `--lang=nl,ja`.
105105

106-
To create a new translation for axe, start by running `grunt translate --lang=<langcode>`. This will create a json file fin the `./locales` directory, with the default English text in it for you to translate. Alternatively, you could copy `./locales/_template.json`. We welcome any localization for axe-core. For details on how to contribute, see the Contributing section below. For details on the message syntax, see [Check Message Template](/docs/check-message-template.md).
106+
To create a new translation for axe, start by running `grunt translate --lang=<langcode>`. This will create a json file fin the `./locales` directory, with the default English text in it for you to translate. Alternatively, you could copy `./locales/_template.json`. We welcome any localization for axe-core. For details on how to contribute, see the Contributing section below. For details on the message syntax, see [Check Message Template](/doc/check-message-template.md).
107107

108108
To update existing translation file, re-run `grunt translate --lang=<langcode>`. This will add new messages used in English and remove messages which were not used in English.
109109

@@ -149,6 +149,10 @@ Axe-core supports the following locales. Do note that since locales are contribu
149149
- Polish
150150
- Portuguese (Brazilian)
151151
- Spanish
152+
- Greek
153+
- Italian
154+
- Simplified Chinese
155+
- Traditional Chinese
152156

153157
## Updates & Security
154158

bower.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "axe-core",
3-
"version": "4.8.4",
3+
"version": "4.9.0",
44
"deprecated": true,
55
"contributors": [
66
{

build/check-node-version.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
const currentVersion = process.version.replace('v', '');
44

5-
const minimumVersionMajor = 12;
5+
const minimumVersionMajor = 18;
66
const currentVersionMajor = parseInt(currentVersion.split('.')[0]);
77

88
const usesMinimumVersion = currentVersionMajor >= minimumVersionMajor;

build/configure.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ var clone = require('clone');
66
var doT = require('@deque/dot');
77
var templates = require('./templates');
88
var buildManual = require('./build-manual');
9-
var entities = new (require('html-entities').AllHtmlEntities)();
9+
var { encode } = require('html-entities');
1010
var packageJSON = require('../package.json');
1111
var doTRegex = /\{\{.+?\}\}/g;
1212

@@ -365,7 +365,7 @@ function buildRules(grunt, options, commons, callback) {
365365

366366
result.push([
367367
`[${rule.id}](https://dequeuniversity.com/rules/axe/${axeVersion}/${rule.id}?application=RuleDescription)`,
368-
entities.encode(rule.metadata.description),
368+
encode(rule.metadata.description),
369369
impact,
370370
rule.tags.join(', '),
371371
issueType.join(', '),
@@ -401,6 +401,8 @@ ${
401401
.join('\n\n');
402402

403403
var descriptions = `
404+
<!--- This file is automatically generated using build/configure.js --->
405+
404406
# Rule Descriptions
405407
406408
## Table of Contents

0 commit comments

Comments
 (0)