This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [html-validate](https://html-validate.org) ([source](https://gitlab.com/html-validate/html-validate)) | [`^8.27.0` -> `^9.0.0`](https://renovatebot.com/diffs/npm/html-validate/8.29.0/9.0.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
---
### Release Notes
<details>
<summary>html-validate/html-validate (html-validate)</summary>
### [`v9.0.0`](https://gitlab.com/html-validate/html-validate/blob/HEAD/CHANGELOG.md#900-2024-12-23)
[Compare Source](https://gitlab.com/html-validate/html-validate/compare/v8.29.0...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 a `Promise` when used with an
async 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'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:open` and `tag:close` events has been
removed, use `tag:begin` and `tag:end` instead.
- **api:** The `Config.resolve()` method can return a `Promise` if any
underlying loader or resolver has returned a `Promise`.
It is recommended to assume it returns a `Promise` and always `await` the
result:
```diff
-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 a `Promise`. If you use this method you need to await the result:
```diff
-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 using `test-utils` to write unit tests
you must now resolve the promise.
```diff
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 `CLI` class most methods are now async and
returns `Promise`. There is no synchronous version of these API calls.
- **api:** `Config.fromFile(..)` and `Config.fromObject(..)` will return a
Promise when used with an async loader or resolver.
- **api:** `ConfigLoader` methods can optionally return a `Promise` for
async operation. For most use-cases this will not require any changes.
- **api:** The `ConfigLoader.globalConfig` property has been replaced with
`ConfigLoader.getGlobalConfig()` (async) and
`ConfigLoader.getGlobalConfigSync()` (sync).
- **api:** The redundant and deprecated `Config.init()` method has been
removed.
Remove any calls to the method:
```diff
const config = Config.fromObject({ /* ... */ });
-config.init();
```
##### Features
- **api:** `CLI.isIgnored()` made private ([9e3679a](9e3679a13a))
- **api:** `CLI` methods async and return Promise ([677c73e](677c73e51a))
- **api:** `Config.fromFile` and `Config.fromObject` can return `Promise` ([b126361](b126361701))
- **api:** `Config.merge(..)` can return `Promise` ([cccb313](cccb313c67))
- **api:** `Config.resolve()` can return `Promise` ([09159f3](09159f39c5))
- **api:** `ConfigLoader`s can optionally return `Promise` for async operation ([6041581](6041581eb8))
- **api:** `FileSystemConfigLoader` uses `esmResolver` by default ([dd4cfb1](dd4cfb1e1b))
- **api:** `HtmlValidate.getConfigurationSchema()` returns promise ([f10ec1a](f10ec1a650))
- **api:** allow transformers to return single source ([fd126da](fd126dab3f))
- **api:** new `esmResolver` using `import(..)` (available for both nodejs and browser) ([81b4777](81b4777083)), closes [#​230](https://gitlab.com/html-validate/html-validate/issues/230)
- **api:** remove deprecated `Config.init()` ([0bd8ab7](0bd8ab787a))
- **api:** remove deprecated `tag:open` and `tag:close` events ([88ac65e](88ac65ee6b))
- **api:** replace `ConfigLoader.globalConfig` with `ConfigLoader.getGlobalConfig()` ([a64935a](a64935af91))
- **api:** resolvers may optionally return `Promise` for async operation ([fe3c6a6](fe3c6a6362))
- **api:** transformers may optionally return `Promise` for async operation ([823da19](823da1998e))
- **cli:** cli uses esm (with `esmResolver`) ([3e4759e](3e4759e4a3))
- **config:** remove deprecated configuration presets ([dbf5cf4](dbf5cf405b))
- **config:** support `.htmlvalidate.mjs` configuration files ([0ffd9b5](0ffd9b5f0e)), closes [#​125](https://gitlab.com/html-validate/html-validate/issues/125)
- **deps:** require node 18 or later ([d4f3bcb](d4f3bcb0a6))
- **meta:** remove deprecated property expressions ([a77043c](a77043cff3))
</details>
---
### Configuration
📅 **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 becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS44MC4wIiwidXBkYXRlZEluVmVyIjoiMzkuODAuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->