chore(deps): update dependency html-validate to v9 #332
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^7.0.0
->^9.0.0
Release Notes
html-validate/html-validate (html-validate)
v9.0.1
Compare Source
Bug Fixes
validateMultipleFiles
incorrectly using sync API (0c26918)v9.0.0
Compare Source
ESM support has finally landed in HTML-Validate V9!
.htmlvalidate.mjs
or when"type"
is"module"
inpackage.json
).This release is primarly breaking for API uses but some configuration changes might be required (see below).
For API users the TL;DR version is most functions can return a
Promise
so make sure toawait
it.⚠ BREAKING CHANGES
meta: The deprecated metadata property expressions have been removed
and can be replaced with callback functions. This gives greater control for the
metadata author, provides better IDE support and is more reusable when querying
the metadata directly.
api:
Config.merge(..)
will return aPromise
when used with anasync loader or resolver.
config: This change affects all users. The following deprecated
configuration presets has been removed:
htmlvalidate:recommended
htmlvalidate:document
html-validate:a17y
cli: CLI uses ESM (with
esmResolver
). For most part this shouldn'taffect anything but in some cases you might need slight configuration
migration. See Migration Guide for details.
refactor(cli): use ESM in CLI
tag:open
andtag:close
events has beenremoved, use
tag:begin
andtag:end
instead.Config.resolve()
method can return aPromise
if anyunderlying loader or resolver has returned a
Promise
.It is recommended to assume it returns a
Promise
and alwaysawait
theresult:
If you need synchronous code ensure the configuration, the loader and the
resolver all returns synchronous results, e.g. the
staticResolver
withsynchronous code.
HtmlValidate.getConfigurationSchema()
method is now asyncand returns a
Promise
. If you use this method you need to await the result:optionally return a
Promise
. If you are usingtest-utils
to write unit testsyou must now resolve the promise.
This is no matter if your transformer is actually async or not.
CLI.isIgnored(..)
method has been removed from the publicAPI. There is no replacement. If you need this method open an issue describing
the use-case.
CLI
class most methods are now async andreturns
Promise
. There is no synchronous version of these API calls.Config.fromFile(..)
andConfig.fromObject(..)
will return aPromise when used with an async loader or resolver.
ConfigLoader
methods can optionally return aPromise
forasync operation. For most use-cases this will not require any changes.
ConfigLoader.globalConfig
property has been replaced withConfigLoader.getGlobalConfig()
(async) andConfigLoader.getGlobalConfigSync()
(sync).Config.init()
method has beenremoved.
Remove any calls to the method:
const config = Config.fromObject({ /* ... */ }); -config.init();
Features
CLI.isIgnored()
made private (9e3679a)CLI
methods async and return Promise (677c73e)Config.fromFile
andConfig.fromObject
can returnPromise
(b126361)Config.merge(..)
can returnPromise
(cccb313)Config.resolve()
can returnPromise
(09159f3)ConfigLoader
s can optionally returnPromise
for async operation (6041581)FileSystemConfigLoader
usesesmResolver
by default (dd4cfb1)HtmlValidate.getConfigurationSchema()
returns promise (f10ec1a)esmResolver
usingimport(..)
(available for both nodejs and browser) (81b4777), closes #230Config.init()
(0bd8ab7)tag:open
andtag:close
events (88ac65e)ConfigLoader.globalConfig
withConfigLoader.getGlobalConfig()
(a64935a)Promise
for async operation (fe3c6a6)Promise
for async operation (823da19)esmResolver
) (3e4759e).htmlvalidate.mjs
configuration files (0ffd9b5), closes #125v8.29.0
Compare Source
Features
labelable
property to be a callback (8204b5b)v8.28.0
Compare Source
Features
toHTMLValidate(..)
matcher (a6a60ab)v8.27.0
Compare Source
Features
Config.init()
(d4b5987)v8.26.0
Compare Source
Features
v8.25.1
Compare Source
Bug Fixes
v8.25.0
Compare Source
Features
--preset
to set preset when using cli (2ec038f), closes #269Bug Fixes
v8.24.2
Compare Source
Bug Fixes
package.json
exports (a21a1ef), closes #265v8.24.1
Compare Source
Bug Fixes
v8.24.0
Compare Source
Features
html-validate:browser
configuration preset (f4e6f5b), closes #261v8.23.0
Compare Source
Features
v8.22.0
Compare Source
Features
DOMNode
constructor internal (13377ac)HtmlElement
constructor private (fbf4303)@babel/code-frame
dependency (0003ffd)Bug Fixes
v8.21.0
Compare Source
Features
DOMTree.readyState
(1f6f69b)DOMTree.find(..)
in favour ofquerySelector(..)
(ac0bb77)DOMTree
removed from public API (79a03be)walk.depthFirst(..)
API to replace now deprecatedDOMTree.visitDepthFirst(..)
method (f9dbda0)Bug Fixes
spellcheck
is a global attribute (46594a1)v8.20.1
Compare Source
Bug Fixes
attribute-allowed-values
error location for empty values (2c04eeb)v8.20.0
Compare Source
Features
setConfig
method onStaticConfigLoader
to change config (1bf7559)v8.19.1
Compare Source
Bug Fixes
wcag/h36
no longer reports for hidden elements (aba06d1)wcag/h37
no longer validates<input type="submit">
(usewcag/h36
instead) (e82b17a), closes #254wcag/h36
have better message and location (8a80cc8)v8.19.0
Compare Source
Features
allowCheckboxDefault
forform-dup-name
(293b951), closes #251Bug Fixes
multiple-labeled-controls
handles hidden input (4d794b6), closes #251wcag/h30
only applies to<a href>
(cd93dfe), closes #252valid-id
(c83687a), closes #253v8.18.2
Compare Source
Bug Fixes
on
andoff
(c1dfbb1), closes #249v8.18.1
Compare Source
Bug Fixes
form-dup-name
handles<template>
element (9c77444), closes #247no-dup-id
handles<template>
element (04f3e0d), closes #247v8.18.0
Compare Source
Features
bem
for pattern rules (c1ead1b)snakecase
for pattern rules (4b95ccb), closes #245Bug Fixes
v8.17.1
Compare Source
Bug Fixes
v8.17.0
Compare Source
Features
name-pattern
(f2209c0), closes #216id-pattern
,class-pattern
andname-pattern
rules (15dd007)Bug Fixes
input-missing-label
now ignores<input>
hidden by css (c40e48e), closes #241input-missing-label
now tests if<label>
is inert or hidden by css (d0d6f40)id-pattern
,class-pattern
andname-pattern
rules (4bd70ab)v8.16.0
Compare Source
Features
tabIndex
property reflecting the parsedtabindex
attribute (a4e5d5b)inert
as global attribute (a5e6477)formAssociated.disablable
property (0b141ab)Bug Fixes
<summary>
element is focusable if child of<details>
(79dec74)hidden-focusable
handles inert elements (89bb969), closes #240hidden-focusable
no longer reports for disabled form controls (d337397)hidden-focusable
no longer reports for elements withtabindex="-1"
(03d7223), closes #240v8.15.0
Compare Source
Features
valid-autocomplete
(bebd0d1)Bug Fixes
url
inmeta-refresh
(3177295)v8.14.0
Compare Source
Features
allowLongDelay
tometa-refresh
to allow 20h+ delays (629625c)v8.13.0
Compare Source
Features
<link>
under<body>
if appropriaterel
attribute is present (ae1e070)v8.12.0
Compare Source
Features
no-abstract-role
(923680b)v8.11.1
Compare Source
Bug Fixes
a
,d
or9
(a9a9ef9)v8.11.0
Compare Source
Features
aria.naming
representing if the element can be named (4fca264)implicitRole
toaria.implicitRole
(bc8cacf)Bug Fixes
allowAnyNamable
foraria-label-misuse
(c08a3ba), closes #237v8.10.0
Compare Source
Features
no-implicit-input-type
(6cc0c6d)Bug Fixes
type
for<input>
no longer required (37284d0), closes #235no-implicit-button-type
(1926c06)v8.9.1
Compare Source
Bug Fixes
<form>
and<section>
without explicit accessible name is no longer considered landmark (a36deac)<header>
and<footer>
nested in<main>
or sectioning content is no longer considered landmark (bcab354), closes #234v8.9.0
Compare Source
Features
focusable
to mark elements as focusable (c59c8b2)hidden-focusable
(243e7fb)unique-landmark
(187be1e)Bug Fixes
listeners
property from public API (303e5d5)role="presentation"
no longer counts decendants as missing from a11y tree (cc72da1)role="none"
as a synonym forrole="presentation"
(b1d7b50)role="presentation"
(017308f)require-sri
(ffc3695)wcag/h30
no longer requires text on<a hidden>
(a20cc84)wcag/h30
no longer requires text on links withdisplay: none
orvisibility: hidden
(36ff07e)wcag/h32
handles<button>
without explicittype
(84c6a6e)v8.8.0
Compare Source
Features
Report.merge()
can merge async results (35689fc)nodejsResolver
tocjsResolver
(8c72c8f)defineConfig
helper (35e265a)Bug Fixes
v8.7.4
Compare Source
Bug Fixes
v8.7.3
Compare Source
Bug Fixes
doctype-style
when using prettier preset (f1f4004)v8.7.2
Compare Source
Bug Fixes
v8.7.1
Compare Source
Bug Fixes
form-dup-name
issue when more than two names are present in array (5d9ff3b), closes #228v8.7.0
Compare Source
Features
referrerpolicy
attribute (851b559)v8.6.1
Compare Source
Bug Fixes
attribute-misuse
error message (fccce69), closes #226v8.6.0
Compare Source
Features
meta: MetaAttribute
inAttributeEvent
(2cda0ae)--rule
severity can now be set with strings, fixes #225. (054972e)v8.5.0
Compare Source
Features
v8.4.1
Compare Source
Bug Fixes
attr-pattern
rule (0082aef)v8.4.0
Compare Source
Features
<search>
element (720bdd9)implicitRole
metadata for better handling of implicit ARIA roles (fe45ec4), closes #224v8.3.0
Compare Source
Features
no-implicit-button-type
(38efd72), closes #221Bug Fixes
<label>
cannot have emptyfor
(3626e1a), closes #223element-required-attributes
allows<button>
withouttype
(useno-implicit-button-type
instead) (d32f492), closes #221v8.2.0
Compare Source
Features
allowedIfParentIsPresent
metadata helper (2668899)<source>
attributes metadata (e3a3311)HTMLElement
to metadata helpers (8af6d01), closes #207Bug Fixes
Rule.setSeverity()
changed to only acceptSeverity
(64f4210)v8.1.0
Compare Source
Features
no-redundant-aria-label
(59b5bab), closes #206Bug Fixes
compatibilityCheck
function to browser bundle (b89dcc2)null
return value from plugins api (0eb0ea8)v8.0.5
Compare Source
Bug Fixes
elements/html5.js
(0604c21), closes #219elements/html5
work with esm (d95de27)v8.0.4
Compare Source
Bug Fixes
v8.0.3
Compare Source
Bug Fixes
elements
in extended configuration files and plugins (6892083)v8.0.2
Compare Source
Bug Fixes
browser
condition for main import (d2f7a74)node:path
andprocess
in browser build (2580aeb)v8.0.1
Compare Source
Bug Fixes
v8.0.0
Compare Source
⚠ BREAKING CHANGES
See {@link migration migration guide} for details.
ConfigFactory
parameter toConfigLoader
(and its childclasses
StaticConfigLoader
andFileSystemConfigLoader
) has been removed. Noreplacement.
If you are using this you are probably better off implementing a fully custom
loader later returning a
ResolvedConfig
.getContextualDocumentation
replaces the now deprecatedgetRuleDocumentation
method. The context parameter togetRuleDocumentation
is now required and must not be omitted.
For rule authors this means you can now rely on the
context
parameter beingset in the
documentation
callback.For IDE integration and toolchain authors this means you should migrate to use
getContextualDocumentation
as soon as possible or if you are continuing to usegetRuleDocumentation
you are now required to pass theconfig
andcontext
field from the reported message.
directly using the
Config
class. Additionally when using theStaticConfigLoader
no modules will be resolved usingrequire(..)
by defaultany longer. Instructions for running in a browser is also updated, see below.
To create a
Config
instance you must now pass in aResolver
(single orarray):
This applies to calls to
Config.fromObject(..)
as well.The default resolvers for
StaticConfigLoader
isStaticResolver
and forFileSystemConfigLoader
isNodeJSResolver
. Both can optionally take a new setof resolvers (including custom ones).
Each resolver will, in order, try to load things by name. For instance, when
using the
NodeJSResolver
it usesrequire(..)
to load new items.NodeJSResolver
- usesrequire(..)
StaticResolver
- uses a predefined set of items.HtmlValidate
class now has aPromise
based API where mostmethods return a promise. The old synchronous methods are renamed.
Either adapt to the new asynchronous API:
or migrate to the synchronous API:
For unittesting with Jest it is recommended to make the entire test-case async:
ConfigLoader
must returnResolvedConfig
. This changeaffects API users who implements custom configuration loaders.
In the simplest case this only requires to call
Config.resolve()
:A resolved configuration cannot further reference any new files to extend,
plugins to load, etc.
TemplateExtractor
class has been moved to the@html-validate/plugin-utils
package. This change only affects API users whouse the
TemplateExtractor
class, typically this is only used when writingplugins.
disabled
removed. If you use this in yourconfiguration you need to update it to
off
.void
rule has been removed after being deprecated a longtime, it is replaced with the separate
void-content
,void-style
andno-self-closing
rules.Features
ConfigLoader
must returnResolvedConfig
(d685e6a)FileSystemConfigLoader
supports passing a customfs
-like object (fac704e)Promise
based API toHtmlValidate
class (adc7783)Resolver
classes as a mean to separatefs
from browser build (3dc1724)getContextualDocumentation
to replacegetRuleDocumentation
(60c9a12)ConfigFactory
(e309d89)TemplateExtractor
in favour of@html-validate/plugin-utils
(a0a512b)void
rule (3e727d8)Bug Fixes
disabled
(6282293)v7.18.1
Compare Source
Bug Fixes
v7.18.0
Compare Source
Features
html-validate:prettier
(9491016), closes #215Bug Fixes
Config.fromFile()
as internal (3e70028)Config.getMetaTable()
as internal (8cb6dd0)dumpEvents
,dumpSource
,dumpTokens
anddumpTree
as internal (866f219)toMatchCodeframe
andtoMatchInlineCodeframe
handles async result (584c67e)v7.17.0
Compare Source
Features
Bug Fixes
aria-label
(513a813)v7.16.0
Compare Source
Features
ConfigLoader
returns aResolvedConfig
(1fd8b73)Dependency upgrades
v7.15.3
Compare Source
Bug Fixes
url
import (a2017ff)v7.15.2
Compare Source
Bug Fixes
form-dup-name
defaults to allow<button type="submit">
to share name (b39b9ad), closes #212Dependency upgrades
v7.15.1
Compare Source
Bug Fixes
html-validate/test-utils
entrypoint (62fbee3)v7.15.0
Compare Source
Features
Bug Fixes
querySelector
typescript declaration returns null to match implementation (9c9befe)v7.14.0
Compare Source
Features
[role="alertdialog"]
as a default sectioning root forheading-level
(b87581a)Bug Fixes
Dependency upgrades
v7.13.3
Compare Source
Bug Fixes
wcag/h37
(5f3b43f), closes #209v7.13.2
Compare Source
Bug Fixes
v7.13.1
Compare Source
Bug Fixes
no-unused-disable
properly reports location when more than two rules are disabled (26d1970)no-unused-disable
to be disabled by directive (b11166c)v7.13.0
Compare Source
Features
Validator
helper (6ef10dd), closes #204v7.12.2
Compare Source
Bug Fixes
form-dup-name
validate checkboxes by default (d5e7b7d), closes #202allowArrayBrackets
option toform-dup-name
rule (a43ea0b), closes #203shared
option toform-dup-name
to set which controls allow shared names (7ddc02b), closes #201Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.