docs: Various small documentation improvements (#2386)

This commit is contained in:
Dermot Duffy
2026-03-01 20:23:59 -08:00
committed by GitHub
parent db0a747729
commit 526acf7688
26 changed files with 69 additions and 384 deletions
+1 -1
View File
@@ -25,7 +25,7 @@ A comprehensive camera card for Home Assistant.
- Grid or carousel/swipeable media, thumbnails and cameras.
- Direct media downloads.
- Lovelace visual editing.
- Full [Picture Elements](https://www.home-assistant.io/lovelace/picture-elements/) support.
- Full [Picture Elements](https://www.home-assistant.io/dashboards/picture-elements/) support.
- Theme friendly.
See [full documentation](https://dermotduffy.github.io/advanced-camera-card).
+1 -1
View File
@@ -17,7 +17,7 @@ action functionality. In general, the Advanced Camera Card functionality is a su
of that offered by stock Home Assistant.
Stock action functionality is used for Stock [Home Assistant picture
elements](https://www.home-assistant.io/lovelace/picture-elements/). Extended
elements](https://www.home-assistant.io/dashboards/picture-elements/). Extended
Advanced Camera Card behavior covers all other interactions on the Advanced Camera Card (e.g.
menu icon elements, submenus and actions on the card or views).
+12 -12
View File
@@ -211,13 +211,13 @@ cameras:
# [...]
```
| Option | Default | Description |
| ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `fit` | `contain` | If `contain`, the media is contained within the camera container/card and letterboxed if necessary. If `cover`, the media is expanded proportionally (i.e. maintaining the media aspect ratio) until the camera/card dimensions are fully covered. If `fill`, the media is stretched to fill the camera/card dimensions (i.e. ignoring the media aspect ratio). See [CSS object-fit](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit) for technical details and a visualization. Note that if `aspect_ratio` is also set, this is controlling the behavior "within" that aspect-ratio, otherwise it's within the container for the camera (which is effectively the whole card for single card configurations). |
| `pan` | | A dictionary that may contain an `x` and `y` percentage (`0` - `100`) to control the position of the media when "digitally zoomed in" (see `zoom` parameter). This can be effectively used to "pan"/cut the media shown. A value of `0` means maximally to the left or top of the media, a value of `100` means maximally to the right or bottom of the media. See visualizations below. |
| `position` | | A dictionary that may contain an `x` and `y` percentage (`0` - `100`) to control the position of the media when the fit is `cover` (for other values of `fit` this option has no effect). This can be effectively used to "pan"/cut the media shown. At any given time, only one of `x` and `y` will have an effect, depending on whether media width is larger than the camera/card dimensions (in which case `x` controls the position) or the media height is larger than the camera/card dimensions (in which case `y` controls the position). A value of `0` means maximally to the left or top of the media, a value of `100` means maximally to the right or bottom of the media. See [CSS object-position](https://developer.mozilla.org/en-US/docs/Web/CSS/object-position) for technicals. See visualizations below. |
| `view_box` | | A dictionary that may contain a `top`, `bottom`, `left` and `right` percentage (`0` - `100`) to precisely crop what part of the media to show by specifying a % inset value from each side. Browsers apply this cropping after `position` and `fit` have been applied. Unlike `zoom`, the user cannot dynamically zoom back out -- however the builtin media controls will work as normal. See visualizations below. Limited [browser support](https://caniuse.com/mdn-css_properties_object-view-box): ![Chrome](../../images/browsers/chrome_16x16.png 'Google Chrome :no-zoom') ![Chromium](../../images/browsers/chromium_16x16.png 'Chromium :no-zoom') ![Edge](../../images/browsers/edge_16x16.png 'Microsoft Edge :no-zoom') |
| `zoom` | `1.0` | A value between `1.0` and `10.0` inclusive that defines how much additional "digital zoom" to apply to this camera by default. Unlike with `view_box` the user can easily "zoom back out". Often used in conjuction with `pan`. When zoomed in the [builtin browser media controls](../live.md?id=controls) will automatically be disabled (as otherwise they would be enlarged also). |
| Option | Default | Description |
| ---------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `fit` | `contain` | If `contain`, the media is contained within the camera container/card and letterboxed if necessary. If `cover`, the media is expanded proportionally (i.e. maintaining the media aspect ratio) until the camera/card dimensions are fully covered. If `fill`, the media is stretched to fill the camera/card dimensions (i.e. ignoring the media aspect ratio). See [CSS object-fit](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/object-fit) for technical details and a visualization. Note that if `aspect_ratio` is also set, this is controlling the behavior "within" that aspect-ratio, otherwise it's within the container for the camera (which is effectively the whole card for single card configurations). |
| `pan` | | A dictionary that may contain an `x` and `y` percentage (`0` - `100`) to control the position of the media when "digitally zoomed in" (see `zoom` parameter). This can be effectively used to "pan"/cut the media shown. A value of `0` means maximally to the left or top of the media, a value of `100` means maximally to the right or bottom of the media. See visualizations below. |
| `position` | | A dictionary that may contain an `x` and `y` percentage (`0` - `100`) to control the position of the media when the fit is `cover` (for other values of `fit` this option has no effect). This can be effectively used to "pan"/cut the media shown. At any given time, only one of `x` and `y` will have an effect, depending on whether media width is larger than the camera/card dimensions (in which case `x` controls the position) or the media height is larger than the camera/card dimensions (in which case `y` controls the position). A value of `0` means maximally to the left or top of the media, a value of `100` means maximally to the right or bottom of the media. See [CSS object-position](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/object-position) for technicals. See visualizations below. |
| `view_box` | | A dictionary that may contain a `top`, `bottom`, `left` and `right` percentage (`0` - `100`) to precisely crop what part of the media to show by specifying a % inset value from each side. Browsers apply this cropping after `position` and `fit` have been applied. Unlike `zoom`, the user cannot dynamically zoom back out -- however the builtin media controls will work as normal. See visualizations below. Limited [browser support](https://caniuse.com/mdn-css_properties_object-view-box): ![Chrome](../../images/browsers/chrome_16x16.png 'Google Chrome :no-zoom') ![Chromium](../../images/browsers/chromium_16x16.png 'Chromium :no-zoom') ![Edge](../../images/browsers/edge_16x16.png 'Microsoft Edge :no-zoom') |
| `zoom` | `1.0` | A value between `1.0` and `10.0` inclusive that defines how much additional "digital zoom" to apply to this camera by default. Unlike with `view_box` the user can easily "zoom back out". Often used in conjuction with `pan`. When zoomed in the [builtin browser media controls](../live.md?id=controls) will automatically be disabled (as otherwise they would be enlarged also). |
> [!NOTE]
> Layout operations are effectively applied in this order: `fit`, `position`, `view_box`, `zoom` then `pan`.
@@ -351,11 +351,11 @@ For live streams, only the `go2rtc` [live provider](./live-provider.md) currentl
For media, not all [engines](./engine.md) benefit from proxying:
| Engine | Purpose of proxying |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `frigate` | The Frigate integration already comes with a built-in proxy, so this functionality does not serve any purpose for `frigate`. |
| `reolink`, `motioneye` | May be used to fetch videos in cases where the browser may not be able to access the camera/NVR, or the camera/NVR may use a self-signed SSL certificate that your browser would otherwise reject due to [mixed content](https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content). |
| `generic` | `generic` cameras do not have media, so proxying currently would serve no purpose. |
| Engine | Purpose of proxying |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `frigate` | The Frigate integration already comes with a built-in proxy, so this functionality does not serve any purpose for `frigate`. |
| `reolink`, `motioneye` | May be used to fetch videos in cases where the browser may not be able to access the camera/NVR, or the camera/NVR may use a self-signed SSL certificate that your browser would otherwise reject due to [mixed content](https://developer.mozilla.org/en-US/docs/Web/Security/Defenses/Mixed_content). |
| `generic` | `generic` cameras do not have media, so proxying currently would serve no purpose. |
Regardless of the parameters, the integration will never attempt to proxy
content if the
+7 -7
View File
@@ -35,13 +35,13 @@ cameras:
# [...]
```
| Option | Default | Description |
| ------------- | ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `camera_name` | Autodetected from `camera_entity` if that is specified. | The Frigate camera name to use when communicating with the Frigate server, e.g. for viewing clips/snapshots or the JSMPEG live view. |
| `client_id` | `frigate` | The Frigate client id to use. If this Home Assistant server has multiple Frigate server backends configured, this selects which server should be used. It should be set to the MQTT client id configured for this server, see [Frigate Integration Multiple Instance Support](https://docs.frigate.video/integrations/home-assistant/#multiple-instance-support). |
| `labels` | | A list of Frigate labels used in the default media filter for events (clips & snapshots), e.g. [`person`, `car`]. |
| `url` | | The URL of the frigate server. If set, this value will be (exclusively) used for a `Camera UI` menu button. All other communication with Frigate goes via Home Assistant. |
| `zones` | | A list of Frigates zones used in the default media filter for events (clips & snapshots), e.g. [`front_door`, `front_steps`]. |
| Option | Default | Description |
| ------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `camera_name` | Autodetected from `camera_entity` if that is specified. | The Frigate camera name to use when communicating with the Frigate server, e.g. for viewing clips/snapshots or the JSMPEG live view. |
| `client_id` | `frigate` | The Frigate client id to use. If this Home Assistant server has multiple Frigate server backends configured, this selects which server should be used. It should be set to the MQTT client id configured for this server, see [Frigate Integration Multiple Instance Support](https://docs.frigate.video/integrations/home-assistant//#multiple-instance-support). |
| `labels` | | A list of Frigate labels used in the default media filter for events (clips & snapshots), e.g. [`person`, `car`]. |
| `url` | | The URL of the frigate server. If set, this value will be (exclusively) used for a `Camera UI` menu button. All other communication with Frigate goes via Home Assistant. |
| `zones` | | A list of Frigates zones used in the default media filter for events (clips & snapshots), e.g. [`front_door`, `front_steps`]. |
## `motioneye`
+5 -5
View File
@@ -13,11 +13,11 @@ dimensions:
# [...]
```
| Option | Default | Description |
| ------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `aspect_ratio_mode` | `dynamic` | The aspect ratio mode to use. Acceptable values: `dynamic`, `static`, `unconstrained`. See below. |
| `aspect_ratio` | `16:9` | The aspect ratio to use. Acceptable values: `[W]:[H]` or `[W]/[H]`. See below. |
| `height` | `auto` | The height for the card. Specified in [CSS units](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units). Generally users should not need to change this. |
| Option | Default | Description |
| ------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `aspect_ratio_mode` | `dynamic` | The aspect ratio mode to use. Acceptable values: `dynamic`, `static`, `unconstrained`. See below. |
| `aspect_ratio` | `16:9` | The aspect ratio to use. Acceptable values: `[W]:[H]` or `[W]/[H]`. See below. |
| `height` | `auto` | The height for the card. Specified in [CSS units](https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Styling_basics/Values_and_units). Generally users should not need to change this. |
### `aspect_ratio_mode`
+1 -1
View File
@@ -3,7 +3,7 @@
## Introduction to elements <!-- {docsify-ignore} -->
This card supports the [Picture Elements configuration
syntax](https://www.home-assistant.io/lovelace/picture-elements/) to seamlessly
syntax](https://www.home-assistant.io/dashboards/picture-elements/) to seamlessly
allow the user to add custom elements to the card.
```yaml
+2 -2
View File
@@ -30,7 +30,7 @@ elements:
# [...]
```
Configuration is similar to a stock [Picture Elements Icon](https://www.home-assistant.io/lovelace/picture-elements/#icon-element).
Configuration is similar to a stock [Picture Elements Icon](https://www.home-assistant.io/dashboards/picture-elements/#icon-element).
| Parameter | Default | Description |
| ------------------------------------------------------------------------ | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -119,7 +119,7 @@ elements:
# [...]
```
Configuration is similar to a stock [Picture Elements State Icon](https://www.home-assistant.io/lovelace/picture-elements/#state-icon).
Configuration is similar to a stock [Picture Elements State Icon](https://www.home-assistant.io/dashboards/picture-elements/#state-icon).
| Parameter | Default | Description |
| ------------------------------------------------------------------------ | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+1 -1
View File
@@ -94,7 +94,7 @@ Allows overriding of any CSS value, can be used to tweak theming parameters.
| Option | Description |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
| Any CSS key. Overriding the [Advanced Camera Card](https://github.com/dermotduffy/advanced-camera-card/tree/main/src/scss/themes/base.scss) CSS variables allows changing individual theming parameters, e.g. `--advanced-camera-card-menu-override-background` | Any CSS value, e.g. `red` or `rgba(10, 11, 12, 0.64)`. |
| Any CSS key. Overriding the [Advanced Camera Card](https://github.com/dermotduffy/advanced-camera-card/blob/main/src/scss/themes/base.scss) CSS variables allows changing individual theming parameters, e.g. `--advanced-camera-card-menu-override-background` | Any CSS value, e.g. `red` or `rgba(10, 11, 12, 0.64)`. |
## `triggers`
+11 -2
View File
@@ -54,8 +54,7 @@ To add translations, you can manually edit the JSON translation files in
[![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Containers&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/dermotduffy/advanced-camera-card)
You can use the [VS Code Dev Containers](https://code.visualstudio.com/docs/remote/containers) extension to
speed up the development environment creation. Simply:
You can use the [VS Code Dev Containers](https://code.visualstudio.com/docs/devcontainers/containers) extension to speed up the development environment creation. Simply:
1. Clone the repository to your machine
2. Open VS Code on it
@@ -84,3 +83,13 @@ Some environment variables are supported in a `.env` file:
The Home Assistant container will get preconfigured during first initialization,
therefore, if you changed the Home Assistant configuration, you will need to
remove the HA container and start another.
### Documentation
Docs are served with [Docsify](https://docsify.js.org/) from the `docs/` directory and validated with:
```sh
$ yarn run docs-check-links
```
Run this before submitting a documentation PR.
+2 -2
View File
@@ -203,7 +203,7 @@ cameras:
```
> [!WARNING]
> Browsers will reject [mixed content](https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content): if you access Home Assistant over `https`, you must also put `go2rtc` behind `https` and use that in the `url` parameter. Check [go2rtc proxying](#go2rtc) as an alternative.
> Browsers will reject [mixed content](https://developer.mozilla.org/en-US/docs/Web/Security/Defenses/Mixed_content): if you access Home Assistant over `https`, you must also put `go2rtc` behind `https` and use that in the `url` parameter. Check [go2rtc proxying](#go2rtc) as an alternative.
## Card Mod
@@ -216,7 +216,7 @@ card contents.
This example changes the color and removes the padding around a [Picture
Elements state
label](https://www.home-assistant.io/lovelace/picture-elements/#state-label).
label](https://www.home-assistant.io/dashboards/picture-elements/#state-label).
```yaml
type: custom:advanced-camera-card
Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 973 KiB

+1 -1
View File
@@ -131,7 +131,7 @@ your Home Assistant log as there may be more information in there.
> Frigate must be modified, i.e. Frigate does not encode clips in a Chromecast
> compatible format out of the box (specifically: audio must be enabled in the AAC
> codec, whether your camera supports audio or not). See the [Frigate Home
> Assistant documentation](https://docs.frigate.video/integrations/home-assistant)
> Assistant documentation](https://docs.frigate.video/integrations/home-assistant/)
> or [this issue](https://github.com/blakeblackshear/frigate/issues/3175) for
> more.
+2 -2
View File
@@ -66,7 +66,7 @@ Which in turn will cast the specified Home Assistant dashboard (and view) to the
For the example above to work, a dashboard with `dashboard-cast` URL must exist:
![image](https://github.com/user-attachments/assets/67f0e145-df05-412a-8c6d-897feb5439d2)
![image](../images/cast-dashboard.png)
Within that dashboard, create an `office` view and finally within that view you can place the Advanced Camera Card configured for that camera for a proper full-screen casting experience:
@@ -87,7 +87,7 @@ views:
The `casting` profile pre-configures the card to be casted to a 16:9 screen (such as a TV), including hiding all interactive elements and the menu. The `low-performance` profile is also recommended, as normally casting devices have limited hardware capabilities.
![](https://github.com/user-attachments/assets/bd96c4ad-36f5-4501-9018-23b496e7edc5)
![image](../images/cast-profile.jpg)
When casting to a Google Nest Hub, the following configuration can be used:
+7
View File
@@ -0,0 +1,7 @@
exclude_path = [
"node_modules",
"vscode://"
]
timeout = 20
max_retries = 3
accept = [200, 204]
-10
View File
@@ -1,10 +0,0 @@
{
"ignorePatterns": [
{
"pattern": "vscode://"
},
{
"pattern": "https://www.npmjs.com/"
}
]
}
+1 -2
View File
@@ -78,7 +78,6 @@
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.29.1",
"jsdom": "^21.1.2",
"markdown-link-check": "^3.12.2",
"prettier": "^3.3.2",
"rollup": "^3.29.4",
"rollup-plugin-git-info": "^1.0.0",
@@ -183,7 +182,7 @@
"start": "rollup -c --watch",
"build": "yarn run lint && yarn run rollup",
"docs": "docsify serve ./docs",
"docs-check-links": "find ./docs -name '*.md' -print0 | xargs -0 -n1 markdown-link-check -c ./markdown-link-check.json",
"docs-check-links": "docker run --init --rm -v \"$(pwd):/input\" -w /input lycheeverse/lychee --config lychee.toml \"./docs/\"",
"docs-update-images": "./scripts/docs-update-images.sh",
"docs-update-dependencies": "./scripts/docs-update-dependencies.sh",
"lint": "eslint 'src/**/*.ts'",
+1 -1
View File
@@ -1,6 +1,6 @@
import { z } from 'zod';
// https://www.home-assistant.io/lovelace/picture-elements/#custom-elements
// https://www.home-assistant.io/dashboards/picture-elements/#custom-elements
export const customSchema = z
.object({
// Insist that Advanced Camera Card custom elements are handled by other schemas.
+1 -1
View File
@@ -1,7 +1,7 @@
import { z } from 'zod';
import { elementsBaseSchema } from '../base';
// https://www.home-assistant.io/lovelace/picture-elements/#icon-element
// https://www.home-assistant.io/dashboards/picture-elements/#icon-element
export const iconSchema = elementsBaseSchema.extend({
type: z.literal('icon'),
icon: z.string(),
+1 -1
View File
@@ -1,7 +1,7 @@
import { z } from 'zod';
import { elementsBaseSchema } from '../base';
// https://www.home-assistant.io/lovelace/picture-elements/#image-element
// https://www.home-assistant.io/dashboards/picture-elements/#image-element
export const imageSchema = elementsBaseSchema.extend({
type: z.literal('image'),
entity: z.string().optional(),
@@ -1,7 +1,7 @@
import { z } from 'zod';
import { elementsBaseSchema } from '../base';
// https://www.home-assistant.io/lovelace/picture-elements/#service-call-button
// https://www.home-assistant.io/dashboards/picture-elements/#service-call-button
export const serviceCallButtonSchema = elementsBaseSchema.extend({
type: z.literal('service-button'),
@@ -1,7 +1,7 @@
import { z } from 'zod';
import { elementsBaseSchema } from '../base';
// https://www.home-assistant.io/lovelace/picture-elements/#state-badge
// https://www.home-assistant.io/dashboards/picture-elements/#state-badge
export const stateBadgeIconSchema = elementsBaseSchema.extend({
type: z.literal('state-badge'),
entity: z.string(),
@@ -1,7 +1,7 @@
import { z } from 'zod';
import { elementsBaseSchema } from '../base';
// https://www.home-assistant.io/lovelace/picture-elements/#state-icon
// https://www.home-assistant.io/dashboards/picture-elements/#state-icon
export const stateIconSchema = elementsBaseSchema.extend({
type: z.literal('state-icon'),
entity: z.string(),
@@ -1,7 +1,7 @@
import { z } from 'zod';
import { elementsBaseSchema } from '../base';
// https://www.home-assistant.io/lovelace/picture-elements/#state-label
// https://www.home-assistant.io/dashboards/picture-elements/#state-label
export const stateLabelSchema = elementsBaseSchema.extend({
type: z.literal('state-label'),
entity: z.string(),
+1 -1
View File
@@ -23,7 +23,7 @@ import { stateLabelSchema } from './stock/state-label';
// typescript circular dependency errors as the types need to be both included
// in the master pictureElementSchema, but also refer to it internally.
// https://www.home-assistant.io/lovelace/picture-elements/#image-element
// https://www.home-assistant.io/dashboards/picture-elements/#image-element
export const conditionalSchema = z.object({
type: z.literal('conditional'),
conditions: stockConditionSchema.array(),
+7 -327
View File
@@ -2001,13 +2001,6 @@ __metadata:
languageName: node
linkType: hard
"@tootallnate/quickjs-emscripten@npm:^0.23.0":
version: 0.23.0
resolution: "@tootallnate/quickjs-emscripten@npm:0.23.0"
checksum: 10c0/2a939b781826fb5fd3edd0f2ec3b321d259d760464cf20611c9877205aaca3ccc0b7304dea68416baa0d568e82cd86b17d29548d1e5139fa3155a4a86a2b4b49
languageName: node
linkType: hard
"@trysound/sax@npm:0.2.0":
version: 0.2.0
resolution: "@trysound/sax@npm:0.2.0"
@@ -2528,7 +2521,6 @@ __metadata:
keycharm: "npm:^0.4.0"
lit: "npm:^3.1.4"
lodash-es: "npm:^4.17.21"
markdown-link-check: "npm:^3.12.2"
masonry-layout: "npm:^4.2.2"
moment: "npm:^2.30.1"
p-queue: "npm:^8.0.1"
@@ -2579,15 +2571,6 @@ __metadata:
languageName: node
linkType: hard
"agent-base@npm:^7.1.1":
version: 7.1.1
resolution: "agent-base@npm:7.1.1"
dependencies:
debug: "npm:^4.3.4"
checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50
languageName: node
linkType: hard
"aggregate-error@npm:^3.0.0":
version: 3.1.0
resolution: "aggregate-error@npm:3.1.0"
@@ -2867,22 +2850,6 @@ __metadata:
languageName: node
linkType: hard
"ast-types@npm:^0.13.4":
version: 0.13.4
resolution: "ast-types@npm:0.13.4"
dependencies:
tslib: "npm:^2.0.1"
checksum: 10c0/3a1a409764faa1471601a0ad01b3aa699292991aa9c8a30c7717002cabdf5d98008e7b53ae61f6e058f757fc6ba965e147967a93c13e62692c907d79cfb245f8
languageName: node
linkType: hard
"async@npm:^3.2.5":
version: 3.2.5
resolution: "async@npm:3.2.5"
checksum: 10c0/1408287b26c6db67d45cb346e34892cee555b8b59e6c68e6f8c3e495cad5ca13b4f218180e871f3c2ca30df4ab52693b66f2f6ff43644760cab0b2198bda79c1
languageName: node
linkType: hard
"asynckit@npm:^0.4.0":
version: 0.4.0
resolution: "asynckit@npm:0.4.0"
@@ -2906,13 +2873,6 @@ __metadata:
languageName: node
linkType: hard
"basic-ftp@npm:^5.0.2":
version: 5.0.5
resolution: "basic-ftp@npm:5.0.5"
checksum: 10c0/be983a3997749856da87b839ffce6b8ed6c7dbf91ea991d5c980d8add275f9f2926c19f80217ac3e7f353815be879371d636407ca72b038cea8cab30e53928a6
languageName: node
linkType: hard
"before-after-hook@npm:^3.0.2":
version: 3.0.2
resolution: "before-after-hook@npm:3.0.2"
@@ -3252,35 +3212,6 @@ __metadata:
languageName: node
linkType: hard
"cheerio-select@npm:^2.1.0":
version: 2.1.0
resolution: "cheerio-select@npm:2.1.0"
dependencies:
boolbase: "npm:^1.0.0"
css-select: "npm:^5.1.0"
css-what: "npm:^6.1.0"
domelementtype: "npm:^2.3.0"
domhandler: "npm:^5.0.3"
domutils: "npm:^3.0.1"
checksum: 10c0/2242097e593919dba4aacb97d7b8275def8b9ec70b00aa1f43335456870cfc9e284eae2080bdc832ed232dabb9eefcf56c722d152da4a154813fb8814a55d282
languageName: node
linkType: hard
"cheerio@npm:^1.0.0-rc.10":
version: 1.0.0-rc.12
resolution: "cheerio@npm:1.0.0-rc.12"
dependencies:
cheerio-select: "npm:^2.1.0"
dom-serializer: "npm:^2.0.0"
domhandler: "npm:^5.0.3"
domutils: "npm:^3.0.1"
htmlparser2: "npm:^8.0.1"
parse5: "npm:^7.0.0"
parse5-htmlparser2-tree-adapter: "npm:^7.0.0"
checksum: 10c0/c85d2f2461e3f024345b78e0bb16ad8e41492356210470dd1e7d5a91391da9fcf6c0a7cb48a9ba8820330153f0cedb4d0a60c7af15d96ecdb3092299b9d9c0cc
languageName: node
linkType: hard
"chokidar@npm:>=3.0.0 <4.0.0, chokidar@npm:^3.5.0":
version: 3.6.0
resolution: "chokidar@npm:3.6.0"
@@ -3496,13 +3427,6 @@ __metadata:
languageName: node
linkType: hard
"commander@npm:^12.1.0":
version: 12.1.0
resolution: "commander@npm:12.1.0"
checksum: 10c0/6e1996680c083b3b897bfc1cfe1c58dfbcd9842fd43e1aaf8a795fbc237f65efcc860a3ef457b318e73f29a4f4a28f6403c3d653d021d960e4632dd45bde54a9
languageName: node
linkType: hard
"commander@npm:^2.20.0, commander@npm:^2.20.3":
version: 2.20.3
resolution: "commander@npm:2.20.3"
@@ -4012,13 +3936,6 @@ __metadata:
languageName: node
linkType: hard
"data-uri-to-buffer@npm:^6.0.2":
version: 6.0.2
resolution: "data-uri-to-buffer@npm:6.0.2"
checksum: 10c0/f76922bf895b3d7d443059ff278c9cc5efc89d70b8b80cd9de0aa79b3adc6d7a17948eefb8692e30398c43635f70ece1673d6085cc9eba2878dbc6c6da5292ac
languageName: node
linkType: hard
"data-urls@npm:^4.0.0":
version: 4.0.0
resolution: "data-urls@npm:4.0.0"
@@ -4175,17 +4092,6 @@ __metadata:
languageName: node
linkType: hard
"degenerator@npm:^5.0.0":
version: 5.0.1
resolution: "degenerator@npm:5.0.1"
dependencies:
ast-types: "npm:^0.13.4"
escodegen: "npm:^2.1.0"
esprima: "npm:^4.0.1"
checksum: 10c0/e48d8a651edeb512a648711a09afec269aac6de97d442a4bb9cf121a66877e0eec11b9727100a10252335c0666ae1c84a8bc1e3a3f47788742c975064d2c7b1c
languageName: node
linkType: hard
"delayed-stream@npm:~1.0.0":
version: 1.0.0
resolution: "delayed-stream@npm:1.0.0"
@@ -4784,7 +4690,7 @@ __metadata:
languageName: node
linkType: hard
"escodegen@npm:^2.0.0, escodegen@npm:^2.1.0":
"escodegen@npm:^2.0.0":
version: 2.1.0
resolution: "escodegen@npm:2.1.0"
dependencies:
@@ -5338,7 +5244,7 @@ __metadata:
languageName: node
linkType: hard
"fs-extra@npm:^11.0.0, fs-extra@npm:^11.2.0":
"fs-extra@npm:^11.0.0":
version: 11.2.0
resolution: "fs-extra@npm:11.2.0"
dependencies:
@@ -5545,18 +5451,6 @@ __metadata:
languageName: node
linkType: hard
"get-uri@npm:^6.0.1":
version: 6.0.3
resolution: "get-uri@npm:6.0.3"
dependencies:
basic-ftp: "npm:^5.0.2"
data-uri-to-buffer: "npm:^6.0.2"
debug: "npm:^4.3.4"
fs-extra: "npm:^11.2.0"
checksum: 10c0/8d801c462cd5b9c171d4d9e5f17afce3d9ebfbbfb006a88e3e768ce0071a8e2e59ee1ce822915fc43b9d6b83fde7b8d1c9648330ae89778fa41ad774df8ee0ac
languageName: node
linkType: hard
"git-log-parser@npm:^1.2.0":
version: 1.2.1
resolution: "git-log-parser@npm:1.2.1"
@@ -5906,27 +5800,6 @@ __metadata:
languageName: node
linkType: hard
"html-link-extractor@npm:^1.0.5":
version: 1.0.5
resolution: "html-link-extractor@npm:1.0.5"
dependencies:
cheerio: "npm:^1.0.0-rc.10"
checksum: 10c0/04473e792c756323792d151845e9b859bf6cb7783182f23c2850223164d6914d969b752f56d728dd6f642ec348efbbfe64b556d387d232f63a24890ac00e192e
languageName: node
linkType: hard
"htmlparser2@npm:^8.0.1":
version: 8.0.2
resolution: "htmlparser2@npm:8.0.2"
dependencies:
domelementtype: "npm:^2.3.0"
domhandler: "npm:^5.0.3"
domutils: "npm:^3.0.1"
entities: "npm:^4.4.0"
checksum: 10c0/609cca85886d0bf2c9a5db8c6926a89f3764596877492e2caa7a25a789af4065bc6ee2cdc81807fe6b1d03a87bf8a373b5a754528a4cc05146b713c20575aab4
languageName: node
linkType: hard
"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.1":
version: 4.1.1
resolution: "http-cache-semantics@npm:4.1.1"
@@ -5958,7 +5831,7 @@ __metadata:
languageName: node
linkType: hard
"http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.1":
"http-proxy-agent@npm:^7.0.0":
version: 7.0.2
resolution: "http-proxy-agent@npm:7.0.2"
dependencies:
@@ -5988,7 +5861,7 @@ __metadata:
languageName: node
linkType: hard
"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.2, https-proxy-agent@npm:^7.0.3":
"https-proxy-agent@npm:^7.0.1":
version: 7.0.4
resolution: "https-proxy-agent@npm:7.0.4"
dependencies:
@@ -6012,7 +5885,7 @@ __metadata:
languageName: node
linkType: hard
"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3":
"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2":
version: 0.6.3
resolution: "iconv-lite@npm:0.6.3"
dependencies:
@@ -6220,13 +6093,6 @@ __metadata:
languageName: node
linkType: hard
"is-absolute-url@npm:^4.0.1":
version: 4.0.1
resolution: "is-absolute-url@npm:4.0.1"
checksum: 10c0/6f8f603945bd9f2c6031758bbc12352fc647bd5d807cad10d96cc6300fd0e15240cc091521a61db767e4ec0bacff257b4f1015fd5249c147bbb4a4497356c72e
languageName: node
linkType: hard
"is-array-buffer@npm:^3.0.4":
version: 3.0.4
resolution: "is-array-buffer@npm:3.0.4"
@@ -6459,15 +6325,6 @@ __metadata:
languageName: node
linkType: hard
"is-relative-url@npm:^4.0.0":
version: 4.0.0
resolution: "is-relative-url@npm:4.0.0"
dependencies:
is-absolute-url: "npm:^4.0.1"
checksum: 10c0/73dffa89682088dbb3c5c46e19ac5d9c86963f9f456b6531fc6d0e92abc75a285cd3098ad180671a1ff3a9980fd5a4f66aa0e84a832db36439b1a7bc69397de9
languageName: node
linkType: hard
"is-shared-array-buffer@npm:^1.0.2, is-shared-array-buffer@npm:^1.0.3":
version: 1.0.3
resolution: "is-shared-array-buffer@npm:1.0.3"
@@ -6578,15 +6435,6 @@ __metadata:
languageName: node
linkType: hard
"isemail@npm:^3.2.0":
version: 3.2.0
resolution: "isemail@npm:3.2.0"
dependencies:
punycode: "npm:2.x.x"
checksum: 10c0/de836d3231337175bc46cf882c59d2ef090381df1e265c6a3afdbb3d510ea169fb22ebea937429f73a41b24e39decf17d8d6d23463bda2f428b066c8fb13f14d
languageName: node
linkType: hard
"isexe@npm:^2.0.0":
version: 2.0.0
resolution: "isexe@npm:2.0.0"
@@ -7092,19 +6940,6 @@ __metadata:
languageName: node
linkType: hard
"link-check@npm:^5.3.0":
version: 5.3.0
resolution: "link-check@npm:5.3.0"
dependencies:
is-relative-url: "npm:^4.0.0"
isemail: "npm:^3.2.0"
ms: "npm:^2.1.3"
needle: "npm:^3.3.1"
proxy-agent: "npm:^6.4.0"
checksum: 10c0/2eeec47c9e2efe80b7164a5b2c15e127853baedaf886b73153ddf1b628334193aaf8d40143e0fa7eb213057ebd3af942d60dd5f0356dd5d5aa7d4c0abc7b5cfb
languageName: node
linkType: hard
"lit-element@npm:^4.0.4":
version: 4.0.4
resolution: "lit-element@npm:4.0.4"
@@ -7350,13 +7185,6 @@ __metadata:
languageName: node
linkType: hard
"lru-cache@npm:^7.14.1":
version: 7.18.3
resolution: "lru-cache@npm:7.18.3"
checksum: 10c0/b3a452b491433db885beed95041eb104c157ef7794b9c9b4d647be503be91769d11206bb573849a16b4cc0d03cbd15ffd22df7960997788b74c1d399ac7a4fed
languageName: node
linkType: hard
"magic-string@npm:^0.30.3, magic-string@npm:^0.30.5":
version: 0.30.10
resolution: "magic-string@npm:0.30.10"
@@ -7434,35 +7262,6 @@ __metadata:
languageName: node
linkType: hard
"markdown-link-check@npm:^3.12.2":
version: 3.12.2
resolution: "markdown-link-check@npm:3.12.2"
dependencies:
async: "npm:^3.2.5"
chalk: "npm:^5.3.0"
commander: "npm:^12.1.0"
link-check: "npm:^5.3.0"
lodash: "npm:^4.17.21"
markdown-link-extractor: "npm:^4.0.2"
needle: "npm:^3.3.1"
progress: "npm:^2.0.3"
proxy-agent: "npm:^6.4.0"
bin:
markdown-link-check: markdown-link-check
checksum: 10c0/c1d4d2f69322d1ed98437db9f37807f982a3dc9aa1203841f40c71ac4e2a733b6c36311aa6f7f3a6fc34d7713e51c0f3704d55bf59fc607b30360ecfb5465d2d
languageName: node
linkType: hard
"markdown-link-extractor@npm:^4.0.2":
version: 4.0.2
resolution: "markdown-link-extractor@npm:4.0.2"
dependencies:
html-link-extractor: "npm:^1.0.5"
marked: "npm:^12.0.1"
checksum: 10c0/e9433dc3e1bdf26165b3daf644998fc84933efb6f74289b3f7637c4e36411a269f67992769032817c8821248ebf34ed97091fb91340b88fa1ffc50ad63163e16
languageName: node
linkType: hard
"marked-terminal@npm:^7.0.0":
version: 7.1.0
resolution: "marked-terminal@npm:7.1.0"
@@ -7497,15 +7296,6 @@ __metadata:
languageName: node
linkType: hard
"marked@npm:^12.0.1":
version: 12.0.1
resolution: "marked@npm:12.0.1"
bin:
marked: bin/marked.js
checksum: 10c0/e5c2a4da12dc59351e3e8acd0ca36c11a49f9a538bd0c3bda2dc3c71868f168dd678907184308e6f458eafad0c14146d01841b0644b6ccfcab920c73b814f8d8
languageName: node
linkType: hard
"masonry-layout@npm:^4.2.2":
version: 4.2.2
resolution: "masonry-layout@npm:4.2.2"
@@ -7875,18 +7665,6 @@ __metadata:
languageName: node
linkType: hard
"needle@npm:^3.3.1":
version: 3.3.1
resolution: "needle@npm:3.3.1"
dependencies:
iconv-lite: "npm:^0.6.3"
sax: "npm:^1.2.4"
bin:
needle: bin/needle
checksum: 10c0/233b9315d47b735867d03e7a018fb665ee6cacf3a83b991b19538019cf42b538a3e85ca745c840b4c5e9a0ffdca76472f941363bf7c166214ae8cbc650fd4d39
languageName: node
linkType: hard
"negotiator@npm:^0.6.3":
version: 0.6.3
resolution: "negotiator@npm:0.6.3"
@@ -7915,13 +7693,6 @@ __metadata:
languageName: node
linkType: hard
"netmask@npm:^2.0.2":
version: 2.0.2
resolution: "netmask@npm:2.0.2"
checksum: 10c0/cafd28388e698e1138ace947929f842944d0f1c0b87d3fa2601a61b38dc89397d33c0ce2c8e7b99e968584b91d15f6810b91bef3f3826adf71b1833b61d4bf4f
languageName: node
linkType: hard
"node-emoji@npm:^2.1.3":
version: 2.1.3
resolution: "node-emoji@npm:2.1.3"
@@ -8643,32 +8414,6 @@ __metadata:
languageName: node
linkType: hard
"pac-proxy-agent@npm:^7.0.1":
version: 7.0.1
resolution: "pac-proxy-agent@npm:7.0.1"
dependencies:
"@tootallnate/quickjs-emscripten": "npm:^0.23.0"
agent-base: "npm:^7.0.2"
debug: "npm:^4.3.4"
get-uri: "npm:^6.0.1"
http-proxy-agent: "npm:^7.0.0"
https-proxy-agent: "npm:^7.0.2"
pac-resolver: "npm:^7.0.0"
socks-proxy-agent: "npm:^8.0.2"
checksum: 10c0/95b07e2a409511262d6e29be3d50f2e18ac387ef99664687ab4e92741d1d20fae97309722c37841583b024d1cde1790dd263a9b915d5241751b77f1e8003c418
languageName: node
linkType: hard
"pac-resolver@npm:^7.0.0":
version: 7.0.1
resolution: "pac-resolver@npm:7.0.1"
dependencies:
degenerator: "npm:^5.0.0"
netmask: "npm:^2.0.2"
checksum: 10c0/5f3edd1dd10fded31e7d1f95776442c3ee51aa098c28b74ede4927d9677ebe7cebb2636750c24e945f5b84445e41ae39093d3a1014a994e5ceb9f0b1b88ebff5
languageName: node
linkType: hard
"package-json-from-dist@npm:^1.0.0":
version: 1.0.0
resolution: "package-json-from-dist@npm:1.0.0"
@@ -8791,16 +8536,6 @@ __metadata:
languageName: node
linkType: hard
"parse5-htmlparser2-tree-adapter@npm:^7.0.0":
version: 7.0.0
resolution: "parse5-htmlparser2-tree-adapter@npm:7.0.0"
dependencies:
domhandler: "npm:^5.0.2"
parse5: "npm:^7.0.0"
checksum: 10c0/e820cacb8486e6f7ede403327d18480df086d70e32ede2f6654d8c3a8b4b8dc4a4d5c21c03c18a92ba2466c513b93ca63be4a138dd73cd0995f384eb3b9edf11
languageName: node
linkType: hard
"parse5@npm:^5.1.1":
version: 5.1.1
resolution: "parse5@npm:5.1.1"
@@ -8815,7 +8550,7 @@ __metadata:
languageName: node
linkType: hard
"parse5@npm:^7.0.0, parse5@npm:^7.1.2":
"parse5@npm:^7.1.2":
version: 7.1.2
resolution: "parse5@npm:7.1.2"
dependencies:
@@ -9469,13 +9204,6 @@ __metadata:
languageName: node
linkType: hard
"progress@npm:^2.0.3":
version: 2.0.3
resolution: "progress@npm:2.0.3"
checksum: 10c0/1697e07cb1068055dbe9fe858d242368ff5d2073639e652b75a7eb1f2a1a8d4afd404d719de23c7b48481a6aa0040686310e2dac2f53d776daa2176d3f96369c
languageName: node
linkType: hard
"promise-all-reject-late@npm:^1.0.0":
version: 1.0.1
resolution: "promise-all-reject-late@npm:1.0.1"
@@ -9532,29 +9260,6 @@ __metadata:
languageName: node
linkType: hard
"proxy-agent@npm:^6.4.0":
version: 6.4.0
resolution: "proxy-agent@npm:6.4.0"
dependencies:
agent-base: "npm:^7.0.2"
debug: "npm:^4.3.4"
http-proxy-agent: "npm:^7.0.1"
https-proxy-agent: "npm:^7.0.3"
lru-cache: "npm:^7.14.1"
pac-proxy-agent: "npm:^7.0.1"
proxy-from-env: "npm:^1.1.0"
socks-proxy-agent: "npm:^8.0.2"
checksum: 10c0/0c5b85cacf67eec9d8add025a5e577b2c895672e4187079ec41b0ee2a6dacd90e69a837936cb3ac141dd92b05b50a325b9bfe86ab0dc3b904011aa3bcf406fc0
languageName: node
linkType: hard
"proxy-from-env@npm:^1.1.0":
version: 1.1.0
resolution: "proxy-from-env@npm:1.1.0"
checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b
languageName: node
linkType: hard
"psl@npm:^1.1.33":
version: 1.9.0
resolution: "psl@npm:1.9.0"
@@ -9572,7 +9277,7 @@ __metadata:
languageName: node
linkType: hard
"punycode@npm:2.x.x, punycode@npm:^2.1.0, punycode@npm:^2.1.1, punycode@npm:^2.3.0":
"punycode@npm:^2.1.0, punycode@npm:^2.1.1, punycode@npm:^2.3.0":
version: 2.3.1
resolution: "punycode@npm:2.3.1"
checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9
@@ -10106,13 +9811,6 @@ __metadata:
languageName: node
linkType: hard
"sax@npm:^1.2.4":
version: 1.3.0
resolution: "sax@npm:1.3.0"
checksum: 10c0/599dbe0ba9d8bd55e92d920239b21d101823a6cedff71e542589303fa0fa8f3ece6cf608baca0c51be846a2e88365fac94a9101a9c341d94b98e30c4deea5bea
languageName: node
linkType: hard
"saxes@npm:^6.0.0":
version: 6.0.0
resolution: "saxes@npm:6.0.0"
@@ -10446,17 +10144,6 @@ __metadata:
languageName: node
linkType: hard
"socks-proxy-agent@npm:^8.0.2":
version: 8.0.3
resolution: "socks-proxy-agent@npm:8.0.3"
dependencies:
agent-base: "npm:^7.1.1"
debug: "npm:^4.3.4"
socks: "npm:^2.7.1"
checksum: 10c0/4950529affd8ccd6951575e21c1b7be8531b24d924aa4df3ee32df506af34b618c4e50d261f4cc603f1bfd8d426915b7d629966c8ce45b05fb5ad8c8b9a6459d
languageName: node
linkType: hard
"socks@npm:^2.7.1":
version: 2.8.1
resolution: "socks@npm:2.8.1"
@@ -11203,13 +10890,6 @@ __metadata:
languageName: node
linkType: hard
"tslib@npm:^2.0.1":
version: 2.6.2
resolution: "tslib@npm:2.6.2"
checksum: 10c0/e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb
languageName: node
linkType: hard
"tslib@npm:^2.6.2":
version: 2.6.3
resolution: "tslib@npm:2.6.3"