chore(deps): update dependency html-validate to v9
This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| html-validate (source) | devDependencies | major | 8.29.0 -> 9.2.1 |
Release Notes
html-validate/html-validate (html-validate)
v9.2.1
Bug Fixes
- fix repetitive "validator crashed" messages (4a71fcf)
- only require SRI on
<link>withrel="stylesheet",rel="preload"orrel="modulepreload"(0b47d2a)
v9.2.0
Features
- api: error classes marked internal (84e957b)
- api: new `isUserError(..) to determine if an exception is caused by a user misconfiguration (20dab72)
- deps: support vitest v3 (0926c7f)
Bug Fixes
- better error message when
import.meta.resolveisnt available (8ed0ae8) -
cli: fix CLI argument
--confignot finding configuration file on windows (9a1c41c) - deps: update dependency ignore to v7.0.1 (d1ab96e)
- deps: update dependency ignore to v7.0.3 (cbc0f6e)
v9.1.3
Bug Fixes
- nodejs 18.19 or later is required (69ec7e2)
v9.1.2
Bug Fixes
- fix
ERR_UNSUPPORTED_ESM_URL_SCHEMEon windows (6b193f3)
v9.1.1
Bug Fixes
v9.1.0
Features
- deps: update dependency ignore to v7 (43ae9ac)
Bug Fixes
- use jest worker for
toMatchCodeframe(3c29ad5)
v9.0.1
Bug Fixes
- fix
validateMultipleFilesincorrectly using sync API (0c26918)
v9.0.0
ESM support has finally landed in HTML-Validate V9!
- Configuration files (using
.htmlvalidate.mjsor when"type"is"module"inpackage.json). - Plugins, element metadata, shared configurations and transformers can be written natively in ESM.
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 to await it.
⚠ BREAKING CHANGES
-
config: This change affects all users. The following deprecated configuration presets has been removed:
-
htmlvalidate:recommended- replace withhtml-validate:recommended. -
htmlvalidate:document- replace withhtml-validate:document. -
html-validate:a17y- replace withhtml-validate:a11y.
-
-
cli: CLI uses ESM (with
esmResolver). For most part this shouldn't affect anything but in some cases you might need slight configuration migration. See Migration Guide for details. -
cli: use ESM in CLI
-
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.
-
deps: Requires NodeJS v18 or later.
-
api:
Config.merge(..)will return aPromisewhen used with an async loader or resolver. -
api: The deprecated
tag:openandtag:closeevents has been removed, usetag:beginandtag:endinstead. -
api: The
Config.resolve()method can return aPromiseif any underlying loader or resolver has returned aPromise.It is recommended to assume it returns a
Promiseand alwaysawaitthe result:-const resolved = config.resolve(); +const resolved = await config.resolve();If you need synchronous code ensure the configuration, the loader and the resolver all returns synchronous results, e.g. the
staticResolverwith synchronous code. -
api: The
HtmlValidate.getConfigurationSchema()method is now async and returns aPromise. If you use this method you need to await the result:-const schema = htmlvalidate.getConfigurationSchema(); +const schema = await htmlvalidate.getConfigurationSchema(); -
api: If you are writing your own transformers they may now optionally return a
Promise. If you are usingtest-utilsto write unit tests you must now resolve the promise.import { transformSource } from "html-validate/test-utils"; -const result = transformSource(transformer, source); +const result = await transformSource(transformer, source);This is no matter if your transformer is actually async or not.
-
api: The
CLI.isIgnored(..)method has been removed from the public API. There is no replacement. If you need this method open an issue describing the use-case. -
api: If you are using the
CLIclass most methods are now async and returnsPromise. There is no synchronous version of these API calls. -
api:
Config.fromFile(..)andConfig.fromObject(..)will return a Promise when used with an async loader or resolver. -
api:
ConfigLoadermethods can optionally return aPromisefor async operation. For most use-cases this will not require any changes. -
api: The
ConfigLoader.globalConfigproperty has been replaced withConfigLoader.getGlobalConfig()(async) andConfigLoader.getGlobalConfigSync()(sync). -
api: The redundant and deprecated
Config.init()method has been removed.Remove any calls to the method:
const config = Config.fromObject({ /* ... */ }); -config.init();
Features
-
api:
CLI.isIgnored()made private (9e3679a) -
api:
CLImethods async and return Promise (677c73e) -
api:
Config.fromFileandConfig.fromObjectcan returnPromise(b126361) -
api:
Config.merge(..)can returnPromise(cccb313) -
api:
Config.resolve()can returnPromise(09159f3) -
api:
ConfigLoaders can optionally returnPromisefor async operation (6041581) -
api:
FileSystemConfigLoaderusesesmResolverby default (dd4cfb1) -
api:
HtmlValidate.getConfigurationSchema()returns promise (f10ec1a) - api: allow transformers to return single source (fd126da)
-
api: new
esmResolverusingimport(..)(available for both nodejs and browser) (81b4777), closes #230 -
api: remove deprecated
Config.init()(0bd8ab7) -
api: remove deprecated
tag:openandtag:closeevents (88ac65e) -
api: replace
ConfigLoader.globalConfigwithConfigLoader.getGlobalConfig()(a64935a) -
api: resolvers may optionally return
Promisefor async operation (fe3c6a6) -
api: transformers may optionally return
Promisefor async operation (823da19) -
cli: cli uses esm (with
esmResolver) (3e4759e) - config: remove deprecated configuration presets (dbf5cf4)
-
config: support
.htmlvalidate.mjsconfiguration files (0ffd9b5), closes #125 - deps: require node 18 or later (d4f3bcb)
- meta: remove deprecated property expressions (a77043c)
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.