feat(deps): support html-validate v9
This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| html-validate (source) | peerDependencies | major | ^5 || ^6 || ^7 || ^8 -> ^5 || ^6 || ^7 || ^8 || ^9.0.0 |
| html-validate (source) | devDependencies | major | 8.29.0 -> 9.0.0 |
Release Notes
html-validate/html-validate (html-validate)
v9.0.0
⚠️ 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 aPromisewhen used with an async loader or resolver. -
config: This change affects all users. The following deprecated configuration presets has been removed:
htmlvalidate:recommendedhtmlvalidate:documenthtml-validate:a17y
-
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.
refactor(cli): use ESM in CLI
- deps: Requires NodeJS v18 or later.
-
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 Promise and always await the
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 staticResolver with
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.