diff --git a/calico-cloud/variables.js b/calico-cloud/variables.js index 1a3d35722d..7c24b1cafa 100644 --- a/calico-cloud/variables.js +++ b/calico-cloud/variables.js @@ -1,4 +1,4 @@ -const releases = require('./releases.json'); +import releases from './releases.json'; const variables = { releaseTitle: 'v3.19.0-1.0', @@ -27,4 +27,4 @@ const variables = { }, }; -module.exports = variables; +export default variables; diff --git a/calico_versioned_docs/version-3.26/_includes/components/AutoHostendpointsMigrate.js b/calico_versioned_docs/version-3.26/_includes/components/AutoHostendpointsMigrate.js index 2fa83d4362..4b4e2d821e 100644 --- a/calico_versioned_docs/version-3.26/_includes/components/AutoHostendpointsMigrate.js +++ b/calico_versioned_docs/version-3.26/_includes/components/AutoHostendpointsMigrate.js @@ -4,8 +4,7 @@ import Admonition from '@theme/Admonition'; import Link from '@docusaurus/Link'; import CodeBlock from '@theme/CodeBlock'; import Heading from '@theme/Heading'; - -import { prodname, baseUrl } from '../../variables'; +import variables from '@site/calico_versioned_docs/version-3.26/variables'; export default function AutoHostendpointsMigrate(props) { return ( @@ -20,12 +19,12 @@ export default function AutoHostendpointsMigrate(props) { Auto host endpoints have an allow-all profile attached which allows all traffic in the absence of network policy. This may result in unexpected behavior and data. -
In order to migrate existing all-interfaces host endpoints to {prodname}-managed auto host endpoints:
+In order to migrate existing all-interfaces host endpoints to {variables.prodname}-managed auto host endpoints:
Add any labels on existing all-interfaces host endpoints to their corresponding {props.orch} nodes.{' '} - {prodname} manages labels on automatic host endpoints by syncing labels from their nodes. Any labels on + {variables.prodname} manages labels on automatic host endpoints by syncing labels from their nodes. Any labels on existing all-interfaces host endpoints should be added to their respective nodes. For example, if your existing all-interface host endpoint for node node1 has the label{' '} environment: dev, then you must add that same label to its node: @@ -39,7 +38,7 @@ export default function AutoHostendpointsMigrate(props) {
Enable auto host endpoints by following the{' '} - + enable automatic host endpoints how-to guide . Note that automatic host endpoints are created with a profile attached that allows all traffic in the @@ -52,7 +51,7 @@ export default function AutoHostendpointsMigrate(props) {
- Delete old all-interfaces host endpoints. You can distinguish host endpoints managed by {prodname} from + Delete old all-interfaces host endpoints. You can distinguish host endpoints managed by {variables.prodname} from others in several ways. First, automatic host endpoints have the label{' '} projectcalico.org/created-by: calico-kube-controllers. Secondly, automatic host endpoints' name have the suffix -auto-hep. diff --git a/calico_versioned_docs/version-3.26/_includes/components/CalicoWindowsInstall.js b/calico_versioned_docs/version-3.26/_includes/components/CalicoWindowsInstall.js index 8e3a81fc49..df856e248f 100644 --- a/calico_versioned_docs/version-3.26/_includes/components/CalicoWindowsInstall.js +++ b/calico_versioned_docs/version-3.26/_includes/components/CalicoWindowsInstall.js @@ -2,8 +2,7 @@ import React from 'react'; import Admonition from '@theme/Admonition'; import CodeBlock from '@theme/CodeBlock'; - -import { prodname, prodnameWindows, manifestsUrl } from '../../variables'; +import variables from '@site/calico_versioned_docs/version-3.26/variables'; function CalicoWindowsInstallFirstStep(props) { if (props.networkingType === 'vxlan') { @@ -11,8 +10,8 @@ function CalicoWindowsInstallFirstStep(props) {
Download the {prodnameWindows} installation manifest.
+Download the {variables.prodnameWindows} installation manifest.
- Get the cluster's Kubernetes API server host and port, which will be used to update the {prodnameWindows}{' '}
- config map. The API server host and port is required so that the {prodnameWindows} installation script can
- create a kubeconfig file for {prodname} services. If your Windows nodes already have {prodnameWindows}{' '}
+ Get the cluster's Kubernetes API server host and port, which will be used to update the {variables.prodnameWindows}{' '}
+ config map. The API server host and port is required so that the {variables.prodnameWindows} installation script can
+ create a kubeconfig file for {variables.prodname} services. If your Windows nodes already have {variables.prodnameWindows}{' '}
installed manually, skip this step. The installation script will use the API server host and port from your
node's existing kubeconfig file if the KUBERNETES_SERVICE_HOST and{' '}
KUBERNETES_SERVICE_PORT variables are not provided in the calico-windows-config{' '}
@@ -163,7 +162,7 @@ kubernetes 172.16.101.157:6443 40m`}
Apply the {prodnameWindows} installation manifest.
+Apply the {variables.prodnameWindows} installation manifest.
After the log Calico for Windows installed appears, installation is complete. Next, the{' '}
- {prodnameWindows} services are started in separate containers:
+ {variables.prodnameWindows} services are started in separate containers:
autodetect for force auto-detection of IP address every time the node starts. If you set
IP addresses through these environment variables, it reconfigures any values currently set through the
@@ -151,7 +150,7 @@ export default function EnvironmentFile(props) {
- In versions of {prodname} prior to v3.14, all-interfaces host endpoints (host endpoints with{' '}
+ In versions of {variables.prodname} prior to v3.14, all-interfaces host endpoints (host endpoints with{' '}
interfaceName: *) only supported pre-DNAT policy. The default behavior of all-interfaces host
endpoints, in the absence of any policy, was to allow all traffic.
- Before upgrading to {version}, you must ensure that global network policies are in place that select existing + Before upgrading to {variables.version}, you must ensure that global network policies are in place that select existing all-interfaces host endpoints and explicitly allow existing traffic flows. As a starting point, you can create an allow-all policy that selects existing all-interfaces host endpoints. First, we'll add a label to the existing host endpoints. Get a list of the nodes that have an all-interfaces host endpoint: diff --git a/calico_versioned_docs/version-3.26/_includes/components/InstallOpenShiftManifests.js b/calico_versioned_docs/version-3.26/_includes/components/InstallOpenShiftManifests.js index 9a34a4307f..8661ebb4c2 100644 --- a/calico_versioned_docs/version-3.26/_includes/components/InstallOpenShiftManifests.js +++ b/calico_versioned_docs/version-3.26/_includes/components/InstallOpenShiftManifests.js @@ -1,16 +1,14 @@ import React from 'react'; - import CodeBlock from '@theme/CodeBlock'; - -import { prodname, releaseTitle, calicoReleasesURL } from '../../variables'; +import variables from '@site/calico_versioned_docs/version-3.26/variables'; export default function InstallOpenShiftManifests() { return ( <> -
Download the {prodname} manifests for OpenShift and add them to the generated manifests directory:
+Download the {variables.prodname} manifests for OpenShift and add them to the generated manifests directory:
Use the following commands to pull the required {prodname} images.
+Use the following commands to pull the required {variables.prodname} images.
Push the images to your registry.
Due to the large number of distributions and kernel version out there, it’s hard to be precise about the names - of the particular kernel modules that are required to run {prodname}. However, in general, you’ll need: + of the particular kernel modules that are required to run {variables.prodname}. However, in general, you’ll need:
The iptables modules (both the “legacy” and “nft” variants are supported). These are typically
broken up into many small modules, one for each type of match criteria and one for each type of action.{' '}
- {prodname} requires:
+ {variables.prodname} requires:
- IPIP, VXLAN, Wireguard support, if using {prodname} + IPIP, VXLAN, Wireguard support, if using {variables.prodname} networking in one of those modes.
- {prodname} must be able to manage cali* interfaces on the host. When IPIP is enabled (the
- default), {prodname} also needs to be able to manage tunl* interfaces. When VXLAN is enabled,{' '}
- {prodname} also needs to be able to manage the
+ {variables.prodname} must be able to manage cali* interfaces on the host. When IPIP is enabled (the
+ default), {variables.prodname} also needs to be able to manage tunl* interfaces. When VXLAN is enabled,{' '}
+ {variables.prodname} also needs to be able to manage the
vxlan.calico interface.
Linux kernel 3.10 or later with required dependencies. The following distributions have the required kernel, its dependencies, and are known to work well with{' '} - {prodname} and {props.orch}. + {variables.prodname} and {props.orch}.
Many Linux distributions, such as most of the above, include NetworkManager. By default, NetworkManager does - not allow {prodname} to manage interfaces. If your nodes have NetworkManager, complete the steps in{' '} - - Preventing NetworkManager from controlling {prodname} interfaces + not allow {variables.prodname} to manage interfaces. If your nodes have NetworkManager, complete the steps in{' '} + + Preventing NetworkManager from controlling {variables.prodname} interfaces {' '} - before installing {prodname}. + before installing {variables.prodname}.
- If a host firewall is needed, it can be configured by {prodname} HostEndpoint and GlobalNetworkPolicy. More - information about configuration at Security for host. + If a host firewall is needed, it can be configured by {variables.prodname} HostEndpoint and GlobalNetworkPolicy. More + information about configuration at Security for host.
- {prodname} requires a key/value store accessible by all {prodname} components. + {variables.prodname} requires a key/value store accessible by all {variables.prodname} components. { { OpenShift: With OpenShift, the Kubernetes API datastore is used for the key/value store., Kubernetes: ( - On Kubernetes, you can configure {prodname} to access an etcdv3 cluster directly or to use the + On Kubernetes, you can configure {variables.prodname} to access an etcdv3 cluster directly or to use the Kubernetes API datastore. ), @@ -158,23 +158,23 @@ function NetworkRequirementsOSS(props) {
4
*{' '} @@ -269,7 +269,7 @@ function NetworkRequirementsOSS(props) {
)} - {props.orch === orchestrators.OpenStack && ( + {props.orch === globalVariables.orchestrators.OpenStack && (
*{' '}
@@ -291,15 +291,15 @@ function Privileges(props) {
Privileges
- Ensure that {prodname} has the
- The simplest way to provide the necessary privilege is to run {prodname} as root or in a privileged container.
+ The simplest way to provide the necessary privilege is to run {variables.prodname} as root or in a privileged container.
- When installed as a Kubernetes daemon set, {prodname} meets this requirement by running as a privileged
+ When installed as a Kubernetes daemon set, {variables.prodname} meets this requirement by running as a privileged
container. This requires that the kubelet be allowed to run privileged containers. There are two ways this
can be achieved.
In order to migrate existing all-interfaces host endpoints to {prodname}-managed auto host endpoints: In order to migrate existing all-interfaces host endpoints to {variables.prodname}-managed auto host endpoints:
Add any labels on existing all-interfaces host endpoints to their corresponding {props.orch} nodes.{' '}
- {prodname} manages labels on automatic host endpoints by syncing labels from their nodes. Any labels on
+ {variables.prodname} manages labels on automatic host endpoints by syncing labels from their nodes. Any labels on
existing all-interfaces host endpoints should be added to their respective nodes. For example, if your
existing all-interface host endpoint for node node1 has the label{' '}
environment: dev, then you must add that same label to its node:
@@ -39,7 +38,7 @@ export default function AutoHostendpointsMigrate(props) {
Enable auto host endpoints by following the{' '}
-
+
enable automatic host endpoints how-to guide
. Note that automatic host endpoints are created with a profile attached that allows all traffic in the
@@ -52,7 +51,7 @@ export default function AutoHostendpointsMigrate(props) {
- Delete old all-interfaces host endpoints. You can distinguish host endpoints managed by {prodname} from
+ Delete old all-interfaces host endpoints. You can distinguish host endpoints managed by {variables.prodname} from
others in several ways. First, automatic host endpoints have the label{' '}
projectcalico.org/created-by: calico-kube-controllers. Secondly, automatic host
endpoints' name have the suffix -auto-hep.
diff --git a/calico_versioned_docs/version-3.27/_includes/components/CalicoWindowsInstall.js b/calico_versioned_docs/version-3.27/_includes/components/CalicoWindowsInstall.js
index 4a7f28f8e9..1debd6c4f7 100644
--- a/calico_versioned_docs/version-3.27/_includes/components/CalicoWindowsInstall.js
+++ b/calico_versioned_docs/version-3.27/_includes/components/CalicoWindowsInstall.js
@@ -3,8 +3,7 @@ import React from 'react';
import Admonition from '@theme/Admonition';
import CodeBlock from '@theme/CodeBlock';
import Link from '@docusaurus/Link';
-
-import { prodname, prodnameWindows } from '../../variables';
+import variables from '@site/calico_versioned_docs/version-3.27/variables';
function CalicoWindowsInstallFirstStep(props) {
if (props.networkingType === 'vxlan') {
@@ -12,8 +11,8 @@ function CalicoWindowsInstallFirstStep(props) {
- Get the cluster's Kubernetes API server host and port, which will be used to update the {prodnameWindows}{' '}
- config map. The API server host and port is required so that the {prodnameWindows} installation script can
- create a kubeconfig file for {prodname} services. If your Windows nodes already have {prodnameWindows}{' '}
+ Get the cluster's Kubernetes API server host and port, which will be used to update the {variables.prodnameWindows}{' '}
+ config map. The API server host and port is required so that the {variables.prodnameWindows} installation script can
+ create a kubeconfig file for {variables.prodname} services. If your Windows nodes already have {variables.prodnameWindows}{' '}
installed manually, skip this step. The installation script will use the API server host and port from your
node's existing kubeconfig file if the
Create the
- Add the Kubernetes service CIDR (discovered in the previous step) enable {prodnameWindows} on the Tigera operator installation resource.
+ Add the Kubernetes service CIDR (discovered in the previous step) enable {variables.prodnameWindows} on the Tigera operator installation resource.
For example, with a Kubernetes service clusterIP range of 10.96.0.0/12:
@@ -159,7 +158,7 @@ EOF`}
Monitor the installation.
After these initContainers finish their execution, installation is complete. Next, the
- {prodnameWindows} services are started in separate containers:
+ {variables.prodnameWindows} services are started in separate containers:
CAP_SYS_ADMIN privilege.
+ Ensure that {variables.prodname} has the CAP_SYS_ADMIN privilege.
-
KUBERNETES_SERVICE_HOST and{' '}
KUBERNETES_SERVICE_PORT variables are not provided in the calico-windows-config{' '}
@@ -114,7 +113,7 @@ kubernetes 172.16.101.157:6443 40m`}
kubernetes-services-endpoint ConfigMap with the Kubernetes API server
- host and port (discovered in the previous step) used to create a kubeconfig file for {prodname} services.
+ host and port (discovered in the previous step) used to create a kubeconfig file for {variables.prodname} services.
uninstall-calico, which deals with removing previous manually installed {prodnameWindows} services, if any
+ The {variables.prodnameWindows} HPC installation has 2 initContainers: uninstall-calico, which deals with removing previous manually installed {variables.prodnameWindows} services, if any
and install-cni, which installs needed CNI binaries and configuration, when using Calico CNI.
autodetect for force auto-detection of IP address every time the node starts. If you set
IP addresses through these environment variables, it reconfigures any values currently set through the
@@ -151,7 +150,7 @@ export default function EnvironmentFile(props) {
- In versions of {prodname} prior to v3.14, all-interfaces host endpoints (host endpoints with{' '}
+ In versions of {variables.prodname} prior to v3.14, all-interfaces host endpoints (host endpoints with{' '}
interfaceName: *) only supported pre-DNAT policy. The default behavior of all-interfaces host
endpoints, in the absence of any policy, was to allow all traffic.
- Before upgrading to {version}, you must ensure that global network policies are in place that select existing + Before upgrading to {variables.version}, you must ensure that global network policies are in place that select existing all-interfaces host endpoints and explicitly allow existing traffic flows. As a starting point, you can create an allow-all policy that selects existing all-interfaces host endpoints. First, we'll add a label to the existing host endpoints. Get a list of the nodes that have an all-interfaces host endpoint: diff --git a/calico_versioned_docs/version-3.27/_includes/components/InstallOpenShiftManifests.js b/calico_versioned_docs/version-3.27/_includes/components/InstallOpenShiftManifests.js index 9a34a4307f..48315fbcf0 100644 --- a/calico_versioned_docs/version-3.27/_includes/components/InstallOpenShiftManifests.js +++ b/calico_versioned_docs/version-3.27/_includes/components/InstallOpenShiftManifests.js @@ -1,16 +1,14 @@ import React from 'react'; - import CodeBlock from '@theme/CodeBlock'; - -import { prodname, releaseTitle, calicoReleasesURL } from '../../variables'; +import variables from '@site/calico_versioned_docs/version-3.27/variables'; export default function InstallOpenShiftManifests() { return ( <> -
Download the {prodname} manifests for OpenShift and add them to the generated manifests directory:
+Download the {variables.prodname} manifests for OpenShift and add them to the generated manifests directory:
Due to the large number of distributions and kernel version out there, it’s hard to be precise about the names - of the particular kernel modules that are required to run {prodname}. However, in general, you’ll need: + of the particular kernel modules that are required to run {variables.prodname}. However, in general, you’ll need:
The iptables modules (both the “legacy” and “nft” variants are supported). These are typically
broken up into many small modules, one for each type of match criteria and one for each type of action.{' '}
- {prodname} requires:
+ {variables.prodname} requires:
- IPIP, VXLAN, Wireguard support, if using {prodname} + IPIP, VXLAN, Wireguard support, if using {variables.prodname} networking in one of those modes.
- {prodname} must be able to manage cali* interfaces on the host. When IPIP is enabled (the
- default), {prodname} also needs to be able to manage tunl* interfaces. When VXLAN is enabled,{' '}
- {prodname} also needs to be able to manage the
+ {variables.prodname} must be able to manage cali* interfaces on the host. When IPIP is enabled (the
+ default), {variables.prodname} also needs to be able to manage tunl* interfaces. When VXLAN is enabled,{' '}
+ {variables.prodname} also needs to be able to manage the
vxlan.calico interface.
Linux kernel 3.10 or later with required dependencies. The following distributions have the required kernel, its dependencies, and are known to work well with{' '} - {prodname} and {props.orch}. + {variables.prodname} and {props.orch}.
Many Linux distributions, such as most of the above, include NetworkManager. By default, NetworkManager does - not allow {prodname} to manage interfaces. If your nodes have NetworkManager, complete the steps in{' '} - - Preventing NetworkManager from controlling {prodname} interfaces + not allow {variables.prodname} to manage interfaces. If your nodes have NetworkManager, complete the steps in{' '} + + Preventing NetworkManager from controlling {variables.prodname} interfaces {' '} - before installing {prodname}. + before installing {variables.prodname}.
- If a host firewall is needed, it can be configured by {prodname} HostEndpoint and GlobalNetworkPolicy. More - information about configuration at Security for host. + If a host firewall is needed, it can be configured by {variables.prodname} HostEndpoint and GlobalNetworkPolicy. More + information about configuration at Security for host.
- {prodname} requires a key/value store accessible by all {prodname} components. + {variables.prodname} requires a key/value store accessible by all {variables.prodname} components. { { OpenShift: With OpenShift, the Kubernetes API datastore is used for the key/value store., Kubernetes: ( - On Kubernetes, you can configure {prodname} to access an etcdv3 cluster directly or to use the + On Kubernetes, you can configure {variables.prodname} to access an etcdv3 cluster directly or to use the Kubernetes API datastore. ), @@ -158,23 +158,23 @@ function NetworkRequirementsOSS(props) {
4
*{' '} @@ -269,7 +269,7 @@ function NetworkRequirementsOSS(props) {
)} - {props.orch === orchestrators.OpenStack && ( + {props.orch === globalVariables.orchestrators.OpenStack && (
*{' '}
@@ -291,15 +291,15 @@ function Privileges(props) {
Privileges
- Ensure that {prodname} has the
- The simplest way to provide the necessary privilege is to run {prodname} as root or in a privileged container.
+ The simplest way to provide the necessary privilege is to run {variables.prodname} as root or in a privileged container.
- When installed as a Kubernetes daemon set, {prodname} meets this requirement by running as a privileged
+ When installed as a Kubernetes daemon set, {variables.prodname} meets this requirement by running as a privileged
container. This requires that the kubelet be allowed to run privileged containers. There are two ways this
can be achieved.
In order to migrate existing all-interfaces host endpoints to {prodname}-managed auto host endpoints: In order to migrate existing all-interfaces host endpoints to {variables.prodname}-managed auto host endpoints:
Add any labels on existing all-interfaces host endpoints to their corresponding {props.orch} nodes.{' '}
- {prodname} manages labels on automatic host endpoints by syncing labels from their nodes. Any labels on
+ {variables.prodname} manages labels on automatic host endpoints by syncing labels from their nodes. Any labels on
existing all-interfaces host endpoints should be added to their respective nodes. For example, if your
existing all-interface host endpoint for node node1 has the label{' '}
environment: dev, then you must add that same label to its node:
@@ -39,7 +38,7 @@ export default function AutoHostendpointsMigrate(props) {
Enable auto host endpoints by following the{' '}
-
+
enable automatic host endpoints how-to guide
. Note that automatic host endpoints are created with a profile attached that allows all traffic in the
@@ -52,7 +51,7 @@ export default function AutoHostendpointsMigrate(props) {
- Delete old all-interfaces host endpoints. You can distinguish host endpoints managed by {prodname} from
+ Delete old all-interfaces host endpoints. You can distinguish host endpoints managed by {variables.prodname} from
others in several ways. First, automatic host endpoints have the label{' '}
projectcalico.org/created-by: calico-kube-controllers. Secondly, automatic host
endpoints' name have the suffix -auto-hep.
diff --git a/calico_versioned_docs/version-3.28/_includes/components/CalicoWindowsInstall.js b/calico_versioned_docs/version-3.28/_includes/components/CalicoWindowsInstall.js
index 4a7f28f8e9..4ab213512d 100644
--- a/calico_versioned_docs/version-3.28/_includes/components/CalicoWindowsInstall.js
+++ b/calico_versioned_docs/version-3.28/_includes/components/CalicoWindowsInstall.js
@@ -3,8 +3,7 @@ import React from 'react';
import Admonition from '@theme/Admonition';
import CodeBlock from '@theme/CodeBlock';
import Link from '@docusaurus/Link';
-
-import { prodname, prodnameWindows } from '../../variables';
+import variables from '@site/calico_versioned_docs/version-3.28/variables';
function CalicoWindowsInstallFirstStep(props) {
if (props.networkingType === 'vxlan') {
@@ -12,8 +11,8 @@ function CalicoWindowsInstallFirstStep(props) {
- Get the cluster's Kubernetes API server host and port, which will be used to update the {prodnameWindows}{' '}
- config map. The API server host and port is required so that the {prodnameWindows} installation script can
- create a kubeconfig file for {prodname} services. If your Windows nodes already have {prodnameWindows}{' '}
+ Get the cluster's Kubernetes API server host and port, which will be used to update the {variables.prodnameWindows}{' '}
+ config map. The API server host and port is required so that the {variables.prodnameWindows} installation script can
+ create a kubeconfig file for {variables.prodname} services. If your Windows nodes already have {variables.prodnameWindows}{' '}
installed manually, skip this step. The installation script will use the API server host and port from your
node's existing kubeconfig file if the
Create the
- Add the Kubernetes service CIDR (discovered in the previous step) enable {prodnameWindows} on the Tigera operator installation resource.
+ Add the Kubernetes service CIDR (discovered in the previous step) enable {variables.prodnameWindows} on the Tigera operator installation resource.
For example, with a Kubernetes service clusterIP range of 10.96.0.0/12:
@@ -159,7 +158,7 @@ EOF`}
Monitor the installation.
After these initContainers finish their execution, installation is complete. Next, the
- {prodnameWindows} services are started in separate containers:
+ {variables.prodnameWindows} services are started in separate containers:
CAP_SYS_ADMIN privilege.
+ Ensure that {variables.prodname} has the CAP_SYS_ADMIN privilege.
-
KUBERNETES_SERVICE_HOST and{' '}
KUBERNETES_SERVICE_PORT variables are not provided in the calico-windows-config{' '}
@@ -114,7 +113,7 @@ kubernetes 172.16.101.157:6443 40m`}
kubernetes-services-endpoint ConfigMap with the Kubernetes API server
- host and port (discovered in the previous step) used to create a kubeconfig file for {prodname} services.
+ host and port (discovered in the previous step) used to create a kubeconfig file for {variables.prodname} services.
uninstall-calico, which deals with removing previous manually installed {prodnameWindows} services, if any
+ The {variables.prodnameWindows} HPC installation has 2 initContainers: uninstall-calico, which deals with removing previous manually installed {variables.prodnameWindows} services, if any
and install-cni, which installs needed CNI binaries and configuration, when using Calico CNI.
autodetect for force auto-detection of IP address every time the node starts. If you set
IP addresses through these environment variables, it reconfigures any values currently set through the
@@ -151,7 +150,7 @@ export default function EnvironmentFile(props) {
- In versions of {prodname} prior to v3.14, all-interfaces host endpoints (host endpoints with{' '}
+ In versions of {variables.prodname} prior to v3.14, all-interfaces host endpoints (host endpoints with{' '}
interfaceName: *) only supported pre-DNAT policy. The default behavior of all-interfaces host
endpoints, in the absence of any policy, was to allow all traffic.
- Before upgrading to {version}, you must ensure that global network policies are in place that select existing + Before upgrading to {variables.version}, you must ensure that global network policies are in place that select existing all-interfaces host endpoints and explicitly allow existing traffic flows. As a starting point, you can create an allow-all policy that selects existing all-interfaces host endpoints. First, we'll add a label to the existing host endpoints. Get a list of the nodes that have an all-interfaces host endpoint: diff --git a/calico_versioned_docs/version-3.28/_includes/components/InstallOpenShiftManifests.js b/calico_versioned_docs/version-3.28/_includes/components/InstallOpenShiftManifests.js index 9a34a4307f..2119ba0512 100644 --- a/calico_versioned_docs/version-3.28/_includes/components/InstallOpenShiftManifests.js +++ b/calico_versioned_docs/version-3.28/_includes/components/InstallOpenShiftManifests.js @@ -1,16 +1,14 @@ import React from 'react'; - import CodeBlock from '@theme/CodeBlock'; - -import { prodname, releaseTitle, calicoReleasesURL } from '../../variables'; +import variables from '@site/calico_versioned_docs/version-3.28/variables'; export default function InstallOpenShiftManifests() { return ( <> -
Download the {prodname} manifests for OpenShift and add them to the generated manifests directory:
+Download the {variables.prodname} manifests for OpenShift and add them to the generated manifests directory:
Due to the large number of distributions and kernel version out there, it’s hard to be precise about the names - of the particular kernel modules that are required to run {prodname}. However, in general, you’ll need: + of the particular kernel modules that are required to run {variables.prodname}. However, in general, you’ll need:
The iptables modules (both the “legacy” and “nft” variants are supported). These are typically
broken up into many small modules, one for each type of match criteria and one for each type of action.{' '}
- {prodname} requires:
+ {variables.prodname} requires:
- IPIP, VXLAN, Wireguard support, if using {prodname} + IPIP, VXLAN, Wireguard support, if using {variables.prodname} networking in one of those modes.
- {prodname} must be able to manage cali* interfaces on the host. When IPIP is enabled (the
- default), {prodname} also needs to be able to manage tunl* interfaces. When VXLAN is enabled,{' '}
- {prodname} also needs to be able to manage the
+ {variables.prodname} must be able to manage cali* interfaces on the host. When IPIP is enabled (the
+ default), {variables.prodname} also needs to be able to manage tunl* interfaces. When VXLAN is enabled,{' '}
+ {variables.prodname} also needs to be able to manage the
vxlan.calico interface.
Linux kernel 3.10 or later with required dependencies. The following distributions have the required kernel, its dependencies, and are known to work well with{' '} - {prodname} and {props.orch}. + {variables.prodname} and {props.orch}.
Many Linux distributions, such as most of the above, include NetworkManager. By default, NetworkManager does - not allow {prodname} to manage interfaces. If your nodes have NetworkManager, complete the steps in{' '} - - Preventing NetworkManager from controlling {prodname} interfaces + not allow {variables.prodname} to manage interfaces. If your nodes have NetworkManager, complete the steps in{' '} + + Preventing NetworkManager from controlling {variables.prodname} interfaces {' '} - before installing {prodname}. + before installing {variables.prodname}.
- If a host firewall is needed, it can be configured by {prodname} HostEndpoint and GlobalNetworkPolicy. More - information about configuration at Security for host. + If a host firewall is needed, it can be configured by {variables.prodname} HostEndpoint and GlobalNetworkPolicy. More + information about configuration at Security for host.
- {prodname} requires a key/value store accessible by all {prodname} components. + {variables.prodname} requires a key/value store accessible by all {variables.prodname} components. { { OpenShift: With OpenShift, the Kubernetes API datastore is used for the key/value store., Kubernetes: ( - On Kubernetes, you can configure {prodname} to access an etcdv3 cluster directly or to use the + On Kubernetes, you can configure {variables.prodname} to access an etcdv3 cluster directly or to use the Kubernetes API datastore. ), @@ -158,23 +158,23 @@ function NetworkRequirementsOSS(props) {
4
*{' '} @@ -269,7 +269,7 @@ function NetworkRequirementsOSS(props) {
)} - {props.orch === orchestrators.OpenStack && ( + {props.orch === globalVariables.orchestrators.OpenStack && (
*{' '}
@@ -291,15 +291,15 @@ function Privileges(props) {
Privileges
- Ensure that {prodname} has the
- The simplest way to provide the necessary privilege is to run {prodname} as root or in a privileged container.
+ The simplest way to provide the necessary privilege is to run {variables.prodname} as root or in a privileged container.
- When installed as a Kubernetes daemon set, {prodname} meets this requirement by running as a privileged
+ When installed as a Kubernetes daemon set, {variables.prodname} meets this requirement by running as a privileged
container. This requires that the kubelet be allowed to run privileged containers. There are two ways this
can be achieved.
CAP_SYS_ADMIN privilege.
+ Ensure that {variables.prodname} has the CAP_SYS_ADMIN privilege.
dataplane to enhance your Kubernetes networking performance. Click here to learn more.",
-// "backgroundColor": "#FCE181",
-// "textColor": "#000",
-// "isCloseable": true,
-// },
+ // "announcementBar": {
+ // "id": "calico_ebpf",
+ // "content": "Use Calico
dataplane to enhance your Kubernetes networking performance. Click here to learn more.",
+ // "backgroundColor": "#FCE181",
+ // "textColor": "#000",
+ // "isCloseable": true,
+ // },
navbar: {
logo: {
src: 'img/tigera-logo-black.png',
@@ -121,20 +126,20 @@ const config = {
docsPluginId: 'calico',
className: 'navbar-product-link_calico',
},
- {
- label: 'Calico Cloud',
- type: 'docSidebar',
- sidebarId: 'calicoCloudSidebar',
- docsPluginId: 'calico-cloud',
- className: 'navbar-product-link_calico-cloud',
- },
- {
- label: 'Calico Enterprise',
- type: 'docSidebar',
- sidebarId: 'calicoEnterpriseSidebar',
- docsPluginId: 'calico-enterprise',
- className: 'navbar-product-link_calico-enterprise',
- },
+ // {
+ // label: 'Calico Cloud',
+ // type: 'docSidebar',
+ // sidebarId: 'calicoCloudSidebar',
+ // docsPluginId: 'calico-cloud',
+ // className: 'navbar-product-link_calico-cloud',
+ // },
+ // {
+ // label: 'Calico Enterprise',
+ // type: 'docSidebar',
+ // sidebarId: 'calicoEnterpriseSidebar',
+ // docsPluginId: 'calico-enterprise',
+ // className: 'navbar-product-link_calico-enterprise',
+ // },
],
},
{
@@ -384,7 +389,7 @@ const config = {
path: 'calico',
routeBasePath: 'calico',
editCurrentVersion: true,
- onlyIncludeVersions: ['3.28','3.27','3.26'],
+ onlyIncludeVersions: ['3.28', '3.27', '3.26'],
lastVersion: '3.28',
versions: {
current: {
@@ -395,7 +400,8 @@ const config = {
3.28: {
label: '3.28 (latest)',
path: 'latest',
- banner: 'none'
+ banner: 'none',
+ banner: 'none',
},
3.27: {
label: '3.27',
@@ -408,8 +414,8 @@ const config = {
banner: 'none',
},
},
- sidebarPath: require.resolve('./sidebars-calico.js'),
- beforeDefaultRemarkPlugins: [componentImagePlugin],
+ sidebarPath: './sidebars-calico.js',
+ sidebarPath: './sidebars-calico.js',
editUrl: generateEditUrl,
},
],
@@ -451,7 +457,6 @@ const config = {
},
},
sidebarPath: require.resolve('./sidebars-calico-enterprise.js'),
- beforeDefaultRemarkPlugins: [componentImagePlugin],
editUrl: generateEditUrl,
},
],
@@ -477,7 +482,6 @@ const config = {
},
},
sidebarPath: require.resolve('./sidebars-calico-cloud.js'),
- beforeDefaultRemarkPlugins: [componentImagePlugin],
editUrl: generateEditUrl,
},
],
diff --git a/package.json b/package.json
index 28c13b2385..a9f6dd2d2b 100644
--- a/package.json
+++ b/package.json
@@ -27,15 +27,15 @@
"@chakra-ui/icons": "1.1.1",
"@chakra-ui/react": "^2.8.2",
"@chakra-ui/react-types": "^2.0.6",
- "@docusaurus/core": "^3.5.1",
- "@docusaurus/preset-classic": "^3.5.1",
+ "@docusaurus/core": "^3.5.2",
+ "@docusaurus/preset-classic": "^3.5.2",
"@emotion/react": "^11.9.3",
"@emotion/styled": "^11.9.3",
"@jest/globals": "^29.4.1",
- "@mdx-js/react": "^1.6.22",
+ "@mdx-js/react": "^3.0.1",
"@types/react": "^18.2.37",
"@types/react-dom": "^18.2.15",
- "clsx": "^1.2.1",
+ "clsx": "^2.1.1",
"framer-motion": "^4.1.17",
"prism-react-renderer": "^2.1.0",
"react": "^18.2.0",
@@ -49,8 +49,8 @@
"webpack": "^5.76.0"
},
"devDependencies": {
- "@docusaurus/module-type-aliases": "^3.5.1",
- "@docusaurus/tsconfig": "^3.5.1",
+ "@docusaurus/module-type-aliases": "^3.5.2",
+ "@docusaurus/tsconfig": "^3.5.2",
"@playwright/test": "^1.30.0",
"@testing-library/react": "^12.1.5",
"@types/jest": "^29.5.0",
diff --git a/scripts/docusaurus.config.with-vnext.js b/scripts/docusaurus.config.with-vnext.js
index 403e3e85a9..195abc5e42 100644
--- a/scripts/docusaurus.config.with-vnext.js
+++ b/scripts/docusaurus.config.with-vnext.js
@@ -3,19 +3,18 @@
// 'make start-next' locally.
// TODO: Replace this line with the one below it when upgrading to docusaurus v3
-let config = require('../docusaurus.config.js');
-//import { config } from '../docusaurus.config.js';
+import { config } from '../docusaurus.config.js';
for (let i = 0; i < config['plugins'].length; i++) {
- let onlyIncludeVersions = config['plugins'][i][1].onlyIncludeVersions;
- if (onlyIncludeVersions !== undefined) {
- if (!config['plugins'][i][1].onlyIncludeVersions.includes('current')) {
- config['plugins'][i][1].onlyIncludeVersions = ['current', ...onlyIncludeVersions];
- console.log(config['plugins'][i][1].onlyIncludeVersions);
- }
+ let onlyIncludeVersions = config['plugins'][i][1].onlyIncludeVersions;
+ if (onlyIncludeVersions !== undefined) {
+ if (!config['plugins'][i][1].onlyIncludeVersions.includes('current')) {
+ config['plugins'][i][1].onlyIncludeVersions = ['current', ...onlyIncludeVersions];
+ console.log(config['plugins'][i][1].onlyIncludeVersions);
}
+ }
}
// TODO: Replace this line with the one below it when upgrading to docusaurus v3
-module.exports = config;
+export default config;
//export { config };
diff --git a/sidebars-calico-cloud.js b/sidebars-calico-cloud.js
index 4edb382f6a..c36050d830 100644
--- a/sidebars-calico-cloud.js
+++ b/sidebars-calico-cloud.js
@@ -1,4 +1,4 @@
-module.exports = {
+export default {
calicoCloudSidebar: [
{
type: 'category',
@@ -304,7 +304,7 @@ module.exports = {
{
type: 'category',
label: 'Compliance and security',
- link: {type: 'doc', id: 'compliance/index'},
+ link: { type: 'doc', id: 'compliance/index' },
items: [
'compliance/enable-compliance',
'compliance/overview',
diff --git a/sidebars-calico-enterprise.js b/sidebars-calico-enterprise.js
index 7b5672f6b9..a501c2d3f7 100644
--- a/sidebars-calico-enterprise.js
+++ b/sidebars-calico-enterprise.js
@@ -1,6 +1,6 @@
// This is the navigation file for Calico Enterprise
-module.exports = {
+export default {
calicoEnterpriseSidebar: [
{
type: 'category',
@@ -452,7 +452,7 @@ module.exports = {
{
type: 'category',
label: 'Compliance and security',
- link: {type: 'doc', id: 'compliance/index'},
+ link: { type: 'doc', id: 'compliance/index' },
items: [
'compliance/enable-compliance',
'compliance/overview',
diff --git a/sidebars-calico.js b/sidebars-calico.js
index cc1ba8c0c9..e954b71889 100644
--- a/sidebars-calico.js
+++ b/sidebars-calico.js
@@ -1,6 +1,6 @@
// This is the navigation file for Calico Open Source
-module.exports = {
+export default {
calicoSidebar: [
{
type: 'category',
@@ -12,23 +12,23 @@ module.exports = {
items: [
'about/product-comparison',
'about/training-resources',
- {
- type: 'category',
- label: 'Kubernetes training',
- link: {
- type: 'doc',
- id: 'about/kubernetes-training/index',
- },
- items: [
- 'about/kubernetes-training/about-k8s-networking',
- 'about/kubernetes-training/about-networking',
- 'about/kubernetes-training/about-network-policy',
- 'about/kubernetes-training/about-kubernetes-ingress',
- 'about/kubernetes-training/about-kubernetes-egress',
- 'about/kubernetes-training/about-kubernetes-services',
- 'about/kubernetes-training/about-ebpf',
- ],
- },
+ {
+ type: 'category',
+ label: 'Kubernetes training',
+ link: {
+ type: 'doc',
+ id: 'about/kubernetes-training/index',
+ },
+ items: [
+ 'about/kubernetes-training/about-k8s-networking',
+ 'about/kubernetes-training/about-networking',
+ 'about/kubernetes-training/about-network-policy',
+ 'about/kubernetes-training/about-kubernetes-ingress',
+ 'about/kubernetes-training/about-kubernetes-egress',
+ 'about/kubernetes-training/about-kubernetes-services',
+ 'about/kubernetes-training/about-ebpf',
+ ],
+ },
],
},
{
@@ -85,7 +85,6 @@ module.exports = {
items: [
'getting-started/kubernetes/self-managed-onprem/onpremises',
'getting-started/kubernetes/self-managed-onprem/config-options',
-
],
},
{
@@ -149,10 +148,7 @@ module.exports = {
type: 'category',
label: 'K3s',
link: { type: 'doc', id: 'getting-started/kubernetes/k3s/index' },
- items: [
- 'getting-started/kubernetes/k3s/quickstart',
- 'getting-started/kubernetes/k3s/multi-node-install',
- ],
+ items: ['getting-started/kubernetes/k3s/quickstart', 'getting-started/kubernetes/k3s/multi-node-install'],
},
'getting-started/kubernetes/helm',
'getting-started/kubernetes/microk8s',
@@ -188,7 +184,7 @@ module.exports = {
'getting-started/kubernetes/vpp/getting-started',
'getting-started/kubernetes/vpp/ipsec',
'getting-started/kubernetes/vpp/specifics',
- 'getting-started/kubernetes/vpp/openshift'
+ 'getting-started/kubernetes/vpp/openshift',
],
},
],
@@ -355,7 +351,6 @@ module.exports = {
'network-policy/policy-rules/service-accounts',
'network-policy/policy-rules/external-ips-policy',
'network-policy/policy-rules/icmp-ping',
-
],
},
{
@@ -373,10 +368,7 @@ module.exports = {
type: 'category',
label: 'Policy for services',
link: { type: 'doc', id: 'network-policy/services/index' },
- items: [
- 'network-policy/services/kubernetes-node-ports',
- 'network-policy/services/services-cluster-ips',
- ],
+ items: ['network-policy/services/kubernetes-node-ports', 'network-policy/services/services-cluster-ips'],
},
{
type: 'category',
@@ -452,10 +444,7 @@ module.exports = {
type: 'category',
label: 'Deploy image options',
link: { type: 'doc', id: 'operations/image-options/index' },
- items: [
- 'operations/image-options/imageset',
- 'operations/image-options/alternate-registry',
- ],
+ items: ['operations/image-options/imageset', 'operations/image-options/alternate-registry'],
},
'operations/datastore-migration',
'operations/operator-migration',
@@ -475,10 +464,7 @@ module.exports = {
type: 'category',
label: 'Monitor',
link: { type: 'doc', id: 'operations/monitor/index' },
- items: [
- 'operations/monitor/monitor-component-metrics',
- 'operations/monitor/monitor-component-visual',
- ],
+ items: ['operations/monitor/monitor-component-metrics', 'operations/monitor/monitor-component-visual'],
},
'operations/decommissioning-a-node',
'operations/fips',
@@ -620,30 +606,20 @@ module.exports = {
type: 'category',
label: 'Felix',
link: { type: 'doc', id: 'reference/felix/index' },
- items: [
- 'reference/felix/configuration',
- 'reference/felix/prometheus',
- ],
+ items: ['reference/felix/configuration', 'reference/felix/prometheus'],
},
{
type: 'category',
label: 'Typha',
link: { type: 'doc', id: 'reference/typha/index' },
- items: [
- 'reference/typha/overview',
- 'reference/typha/configuration',
- 'reference/typha/prometheus',
- ],
+ items: ['reference/typha/overview', 'reference/typha/configuration', 'reference/typha/prometheus'],
},
'reference/configure-cni-plugins',
{
type: 'category',
label: 'Calico Kubernetes controllers',
link: { type: 'doc', id: 'reference/kube-controllers/index' },
- items: [
- 'reference/kube-controllers/configuration',
- 'reference/kube-controllers/prometheus',
- ],
+ items: ['reference/kube-controllers/configuration', 'reference/kube-controllers/prometheus'],
},
{
type: 'category',
diff --git a/sidebars-use-cases.js b/sidebars-use-cases.js
index 376e54cf7f..496915343a 100644
--- a/sidebars-use-cases.js
+++ b/sidebars-use-cases.js
@@ -1,17 +1,11 @@
-module.exports = {
+export default {
useCaseSidebar: [
{
type: 'category',
label: 'Use cases',
collapsible: false,
collapsed: false,
- items: [
- 'microsegmentation',
- 'observability',
- 'egress-access-controls',
- 'egress-gateways',
- 'cluster-mesh',
- ],
+ items: ['microsegmentation', 'observability', 'egress-access-controls', 'egress-gateways', 'cluster-mesh'],
},
],
-}
+};
diff --git a/src/___new___/components/DocCardLink/index.tsx b/src/___new___/components/DocCardLink/index.tsx
index d0989a34b1..668851ff7e 100644
--- a/src/___new___/components/DocCardLink/index.tsx
+++ b/src/___new___/components/DocCardLink/index.tsx
@@ -1,6 +1,6 @@
import { Card, CardBody, CardHeader, Heading, Text } from '@chakra-ui/react';
import React from 'react';
-import { useDocById } from '@docusaurus/theme-common/internal';
+import { useDocById } from '@docusaurus/plugin-content-docs/client';
import Link from '@docusaurus/Link';
import { cardBodyStyles, cardHeaderStyles, cardStyles, cardTextStyles, headingStyles, linkStyles } from './styles';
import { useDocUrl } from '../../hooks';
diff --git a/src/theme/DocBreadcrumbs/index.js b/src/theme/DocBreadcrumbs/index.js
index 9f476a8571..fb3378ef08 100644
--- a/src/theme/DocBreadcrumbs/index.js
+++ b/src/theme/DocBreadcrumbs/index.js
@@ -1,7 +1,8 @@
import React from 'react';
import clsx from 'clsx';
import { ThemeClassNames } from '@docusaurus/theme-common';
-import { useSidebarBreadcrumbs, useHomePageRoute } from '@docusaurus/theme-common/internal';
+import { useSidebarBreadcrumbs } from '@docusaurus/plugin-content-docs/client';
+import { useHomePageRoute } from '@docusaurus/theme-common/internal';
import Link from '@docusaurus/Link';
import useBaseUrl from '@docusaurus/useBaseUrl';
import { translate } from '@docusaurus/Translate';
diff --git a/src/theme/DocItem/Layout/index.js b/src/theme/DocItem/Layout/index.js
index b49933005c..41fcab2872 100644
--- a/src/theme/DocItem/Layout/index.js
+++ b/src/theme/DocItem/Layout/index.js
@@ -2,7 +2,7 @@ import React from 'react';
import clsx from 'clsx';
import { useWindowSize } from '@docusaurus/theme-common';
-import { useDoc } from '@docusaurus/theme-common/internal';
+import { useDoc } from '@docusaurus/plugin-content-docs/client';
import DocItemPaginator from '@theme/DocItem/Paginator';
import DocVersionBanner from '@theme/DocVersionBanner';
import DocVersionBadge from '@theme/DocVersionBadge';
diff --git a/src/theme/DocItem/TOC/Desktop/index.js b/src/theme/DocItem/TOC/Desktop/index.js
index 515ab8a58b..ed3f922834 100644
--- a/src/theme/DocItem/TOC/Desktop/index.js
+++ b/src/theme/DocItem/TOC/Desktop/index.js
@@ -1,7 +1,7 @@
import React from 'react';
import { ThemeClassNames } from '@docusaurus/theme-common';
-import { useDoc } from '@docusaurus/theme-common/internal';
+import { useDoc } from '@docusaurus/plugin-content-docs/client';
import TOC from '@theme/TOC';
import useToc from '@site/src/utils/useToc';
diff --git a/src/theme/DocItem/TOC/Mobile/index.js b/src/theme/DocItem/TOC/Mobile/index.js
index 0af3343811..5b21204866 100644
--- a/src/theme/DocItem/TOC/Mobile/index.js
+++ b/src/theme/DocItem/TOC/Mobile/index.js
@@ -2,7 +2,7 @@ import React from 'react';
import clsx from 'clsx';
import { ThemeClassNames } from '@docusaurus/theme-common';
-import { useDoc } from '@docusaurus/theme-common/internal';
+import { useDoc } from '@docusaurus/plugin-content-docs/client';
import TOCCollapsible from '@theme/TOCCollapsible';
import useToc from '@site/src/utils/useToc';
diff --git a/src/utils/linkChecker.js b/src/utils/linkChecker.js
index f6815c4495..3df65d61b8 100644
--- a/src/utils/linkChecker.js
+++ b/src/utils/linkChecker.js
@@ -1,9 +1,16 @@
const urlCheck = require('./urlCheck');
-const LC = 'LINK-CHECK', DEAD = 'dead', SKIPPED = 'skipped', ALIVE = 'alive',
- ERROR = 'error', INVALID = 'invalid', WARN = 'warn', INFO = 'info',
+const LC = 'LINK-CHECK',
+ DEAD = 'dead',
+ SKIPPED = 'skipped',
+ ALIVE = 'alive',
+ ERROR = 'error',
+ INVALID = 'invalid',
+ WARN = 'warn',
+ INFO = 'info',
CHECKING = 'checking';
const defaultLinkRegex = /https?:\/\/[-a-zA-Z0-9()@:%._+~#?&/=]+/gi;
-const validURLRegex = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)/;
+const validURLRegex =
+ /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)/;
const trimUrlChars = /(\)|\)\.|\.)$/;
// Skip patterns are skipped, but remain in the reporting for visibility
@@ -39,8 +46,12 @@ const defaultIgnoreList = [
];
function linkChecker() {
- const sleep = ms => new Promise(r => setTimeout(r, ms));
- let skipped = 0, invalid = 0, alive = 0, dead = 0, error = 0;
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
+ let skipped = 0,
+ invalid = 0,
+ alive = 0,
+ dead = 0,
+ error = 0;
let linkRegex = [defaultLinkRegex];
let skipList = [...defaultSkipList];
let ignoreList = [...defaultIgnoreList];
@@ -49,7 +60,7 @@ function linkChecker() {
const urlMap = new Map();
function linkCheckCallback(err, result) {
- const getMsg = err => {
+ const getMsg = (err) => {
if (typeof err === 'string') return `error: ${err}`;
return `message: '${err?.message}', errno: ${err?.errno}, code: ${err?.code}`;
};
@@ -99,7 +110,7 @@ function linkChecker() {
list[list.length] = fmt(v, k);
});
list.sort();
- list.forEach(e => {
+ list.forEach((e) => {
if (type === INFO) console.info(e);
else if (type === WARN) console.warn(e);
else if (type === ERROR) console.error(e);
@@ -116,7 +127,7 @@ function linkChecker() {
urlMap.set(url, null);
if (isInvalidOrSkipped(url)) continue;
urlMap.set(url, { status: CHECKING });
- urlCheck(origin, url, linkCheckCallback).then(r => {});
+ urlCheck(origin, url, linkCheckCallback).then((r) => {});
}
}
}
@@ -131,7 +142,11 @@ function linkChecker() {
console.error(`[FATAL] ${LC} did not finish. There are ${cnt} remaining.`);
}
- skipped = 0; invalid = 0; alive = 0; dead = 0; error = 0;
+ skipped = 0;
+ invalid = 0;
+ alive = 0;
+ dead = 0;
+ error = 0;
urlMap.forEach((v, k) => {
if (typeof v === 'object') {
if (v.status === ERROR) {
@@ -145,41 +160,53 @@ function linkChecker() {
} else if (v.status === INVALID) {
invalid++;
} else {
- console.error(
- `FATAL: an invalid status exists in the ${LC} urlMap. k: ${k}, v: ${JSON.stringify(v)}`);
+ console.error(`FATAL: an invalid status exists in the ${LC} urlMap. k: ${k}, v: ${JSON.stringify(v)}`);
failed = true;
}
} else {
- console.error(
- `FATAL: an invalid status exists in the ${LC} urlMap. k: ${k}, v: ${v}`);
+ console.error(`FATAL: an invalid status exists in the ${LC} urlMap. k: ${k}, v: ${v}`);
failed = true;
}
});
console.log(
- `${LC} REPORT\nSummary: ignored: ${ignored}, skipped: ${skipped}, invalid: ${invalid}, errors: ${error}, dead: ${dead}, alive: ${alive}, total: ${urlMap.size}`);
+ `${LC} REPORT\nSummary: ignored: ${ignored}, skipped: ${skipped}, invalid: ${invalid}, errors: ${error}, dead: ${dead}, alive: ${alive}, total: ${urlMap.size}`
+ );
if (invalid > 0) {
- console.info(
- `\n[INFO] ${LC} skipped the following ${invalid} invalid link(s):`);
- enumMap(v => v.status === INVALID, (v, k) => `${k} is ${v.status}`, INFO);
+ console.info(`\n[INFO] ${LC} skipped the following ${invalid} invalid link(s):`);
+ enumMap(
+ (v) => v.status === INVALID,
+ (v, k) => `${k} is ${v.status}`,
+ INFO
+ );
}
if (skipped > 0) {
- console.info(
- `\n[INFO] ${LC} skipped the following ${skipped} link(s) due to built-in skip rules:`);
- enumMap(v => v.status === SKIPPED, (v, k) => `${k} was ${v.status}`, INFO);
+ console.info(`\n[INFO] ${LC} skipped the following ${skipped} link(s) due to built-in skip rules:`);
+ enumMap(
+ (v) => v.status === SKIPPED,
+ (v, k) => `${k} was ${v.status}`,
+ INFO
+ );
}
if (dead > 0) {
- console.warn(
- `\n[WARN] ${LC} found the following ${dead} dead link(s):`);
- enumMap(v => v.status === DEAD, (v, k) => `${k} is ${v.status} (${v.statusCode})\n==>Origin: ${v?.origin}\n`, WARN);
+ console.warn(`\n[WARN] ${LC} found the following ${dead} dead link(s):`);
+ enumMap(
+ (v) => v.status === DEAD,
+ (v, k) => `${k} is ${v.status} (${v.statusCode})\n==>Origin: ${v?.origin}\n`,
+ WARN
+ );
}
if (error > 0) {
console.warn(`\n[ERROR] ${LC} hit the following ${error} error(s):`);
- enumMap(v => v.status === ERROR,(v, k) => `${k} (${v.statusCode}) error: ${v.msg}\n==>Origin: ${v?.origin}\n`, WARN);
+ enumMap(
+ (v) => v.status === ERROR,
+ (v, k) => `${k} (${v.statusCode}) error: ${v.msg}\n==>Origin: ${v?.origin}\n`,
+ WARN
+ );
}
return !failed;
@@ -243,23 +270,28 @@ function linkChecker() {
function getStatus(status) {
const ret = [];
urlMap.forEach((v, k) => {
- if (typeof v === 'object' && v.status === status) ret.push(k)
- else if (v === status) ret.push(k)
+ if (typeof v === 'object' && v.status === status) ret.push(k);
+ else if (v === status) ret.push(k);
});
return ret;
}
async function wait() {
- let cnt = 0, iter = 0, lastCnt = 0, lastRpt = 0;
+ let cnt = 0,
+ iter = 0,
+ lastCnt = 0,
+ lastRpt = 0;
while (true) {
const checking = getStatus(CHECKING);
cnt = checking.length;
- if (cnt <= 0 || ++iter > (12 * 30)) break; // 30 min wait
- console.log(`Waiting for ${cnt} remaining ${LC}s to finish...`)
+ if (cnt <= 0 || ++iter > 12 * 30) break; // 30 min wait
+ console.log(`Waiting for ${cnt} remaining ${LC}s to finish...`);
if (cnt === lastCnt && cnt !== lastRpt) {
lastRpt = cnt;
console.log(`Here is what we're waiting on:`);
- for (const c of checking) { console.log(`> ${c}`) }
+ for (const c of checking) {
+ console.log(`> ${c}`);
+ }
}
lastCnt = cnt;
await sleep(5000); // 5s sleep
@@ -276,7 +308,7 @@ function linkChecker() {
for (const url of errors) {
const obj = urlMap.get(url);
urlMap.set(url, { status: CHECKING });
- urlCheck(obj.origin, url, linkCheckCallback).then(r => {});
+ urlCheck(obj.origin, url, linkCheckCallback).then((r) => {});
}
}
@@ -305,4 +337,4 @@ function linkChecker() {
};
}
-module.exports = linkChecker;
+export default linkChecker;
diff --git a/src/utils/playwright-custom-reporter.js b/src/utils/playwright-custom-reporter.js
index 33e75a3aa8..6419ac47f4 100644
--- a/src/utils/playwright-custom-reporter.js
+++ b/src/utils/playwright-custom-reporter.js
@@ -44,4 +44,4 @@ class StdIoErrReporter {
}
}
-module.exports = StdIoErrReporter;
\ No newline at end of file
+export default StdIoErrReporter;
diff --git a/src/utils/urlCheck.js b/src/utils/urlCheck.js
index de60bb56c8..295b38fabe 100644
--- a/src/utils/urlCheck.js
+++ b/src/utils/urlCheck.js
@@ -1,21 +1,20 @@
-const nodeUrl = require('node:url');
-const needle = require('needle');
-const { RateLimiter } = require('limiter');
-const defDelay = 1000; // ms
+import nodeUrl from 'node:url';
+import needle from 'needle';
+import { RateLimiter } from 'limiter';
+
+const defDelay = 1000; // ms
const defMaxRetry = 10;
const needleOpts = {
- compressed : false, // sets 'Accept-Encoding' to 'gzip, deflate, br'
- follow_max : 7, // follow redirects
- follow_keep_method : true, // on redirect, use original verb
- parse_response : false, // don't parse the response
- rejectUnauthorized : true, // verify SSL certificate
- user_agent : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36',
+ compressed: false, // sets 'Accept-Encoding' to 'gzip, deflate, br'
+ follow_max: 7, // follow redirects
+ follow_keep_method: true, // on redirect, use original verb
+ parse_response: false, // don't parse the response
+ rejectUnauthorized: true, // verify SSL certificate
+ user_agent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36',
};
-const URL_CHECK_DEBUG = process.env.URL_CHECK_DEBUG
- ? process.env.URL_CHECK_DEBUG.trim() : undefined;
+const URL_CHECK_DEBUG = process.env.URL_CHECK_DEBUG ? process.env.URL_CHECK_DEBUG.trim() : undefined;
const defRateLimit = '10/second';
-const rateLimit = process.env.RATE_LIMIT
- ? process.env.RATE_LIMIT.split('/') : defRateLimit.split('/');
+const rateLimit = process.env.RATE_LIMIT ? process.env.RATE_LIMIT.split('/') : defRateLimit.split('/');
const limiter = new RateLimiter({
tokensPerInterval: Number(rateLimit[0]),
interval: rateLimit[1],
@@ -27,13 +26,12 @@ function parseRetryAfter(headers, defValue) {
let hdrVal = '';
try {
if (!headers) return defValue;
- hdrVal = headers.hasOwnProperty('retry-after')
- ? headers['retry-after'].trim() : '';
+ hdrVal = headers.hasOwnProperty('retry-after') ? headers['retry-after'].trim() : '';
if (hdrVal === '') return defValue;
debugLog('/', `Header 'retry-after' has value: ${hdrVal}`);
return parseFloat(hdrVal) * 1000;
} catch (err) {
- console.error(`Error parsing 'retry-after' header '${hdrVal}': ${err}`)
+ console.error(`Error parsing 'retry-after' header '${hdrVal}': ${err}`);
return defValue;
}
}
@@ -53,15 +51,15 @@ function doGet(normUrl, callback, calls, delay, ctx) {
ctx.status = code === 200 ? 'alive' : 'dead';
delay = parseRetryAfter(headers, delay);
});
- get.on('data', chunk => {
+ get.on('data', (chunk) => {
debugLog(normUrl, `IN get data EVENT: ${normUrl}`);
get.request.abort();
get.request.destroy();
});
- get.on('done', err => {
+ get.on('done', (err) => {
debugLog(normUrl, `IN get done EVENT: ${normUrl}`);
ctx.err = err;
- ctx.status = (err) ? 'error' : ctx.status;
+ ctx.status = err ? 'error' : ctx.status;
end();
});
get.on('close', () => {
@@ -73,12 +71,12 @@ function doGet(normUrl, callback, calls, delay, ctx) {
if (endDone) return;
endDone = true;
if (!ctx.err && ctx.statusCode === 429 && calls < defMaxRetry) {
- debugLog(normUrl, `IN get retry-after (${delay/1000} seconds): ${normUrl}`);
- setTimeout(doGet, delay, normUrl, callback, 1+calls, delay, ctx);
+ debugLog(normUrl, `IN get retry-after (${delay / 1000} seconds): ${normUrl}`);
+ setTimeout(doGet, delay, normUrl, callback, 1 + calls, delay, ctx);
return;
}
callback(null, ctx);
- }
+ };
}
async function urlCheck(origin, url, callback, calls = undefined) {
@@ -95,8 +93,8 @@ async function urlCheck(origin, url, callback, calls = undefined) {
ctx.status = ctx.statusCode === 200 ? 'alive' : 'dead';
if (!err && resp && resp.statusCode === 429 && calls < defMaxRetry) {
delay = parseRetryAfter(resp.headers, delay);
- debugLog(normUrl, `IN head retry-after (${delay/1000} seconds): ${normUrl}`);
- setTimeout(urlCheck, delay, origin, url, callback, 1+calls);
+ debugLog(normUrl, `IN head retry-after (${delay / 1000} seconds): ${normUrl}`);
+ setTimeout(urlCheck, delay, origin, url, callback, 1 + calls);
} else if (!err && (ctx.statusCode === 200 || ctx.statusCode === 404)) {
debugLog(normUrl, `IN head 200/404: ${normUrl}`);
callback(err, ctx);
@@ -111,4 +109,4 @@ async function urlCheck(origin, url, callback, calls = undefined) {
}
}
-module.exports = urlCheck;
+export default urlCheck;
diff --git a/variables.js b/variables.js
index 04a6333362..9591331869 100644
--- a/variables.js
+++ b/variables.js
@@ -9,4 +9,4 @@ const variables = {
},
};
-module.exports = variables;
+export default variables;
diff --git a/yarn.lock b/yarn.lock
index 56d2da30be..f95c55d841 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2753,10 +2753,10 @@
"@docsearch/css" "3.6.1"
algoliasearch "^4.19.1"
-"@docusaurus/core@3.5.1", "@docusaurus/core@^3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.5.1.tgz#404069d12167bae097e73fdb0ad1c5e109407827"
- integrity sha512-N3+9IbGI2jbkiRc6ZbEnU9dC02nHQXi8ivM1VJldkPQyP7WlyHXS+NDhmL3rwaYOMbGH96X2LcKigCKg7pEEqg==
+"@docusaurus/core@3.5.2", "@docusaurus/core@^3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.5.2.tgz#3adedb90e7b6104592f1231043bd6bf91680c39c"
+ integrity sha512-4Z1WkhCSkX4KO0Fw5m/Vuc7Q3NxBG53NE5u59Rs96fWkMPZVSrzEPP16/Nk6cWb/shK7xXPndTmalJtw7twL/w==
dependencies:
"@babel/core" "^7.23.3"
"@babel/generator" "^7.23.3"
@@ -2768,12 +2768,12 @@
"@babel/runtime" "^7.22.6"
"@babel/runtime-corejs3" "^7.22.6"
"@babel/traverse" "^7.22.8"
- "@docusaurus/cssnano-preset" "3.5.1"
- "@docusaurus/logger" "3.5.1"
- "@docusaurus/mdx-loader" "3.5.1"
- "@docusaurus/utils" "3.5.1"
- "@docusaurus/utils-common" "3.5.1"
- "@docusaurus/utils-validation" "3.5.1"
+ "@docusaurus/cssnano-preset" "3.5.2"
+ "@docusaurus/logger" "3.5.2"
+ "@docusaurus/mdx-loader" "3.5.2"
+ "@docusaurus/utils" "3.5.2"
+ "@docusaurus/utils-common" "3.5.2"
+ "@docusaurus/utils-validation" "3.5.2"
autoprefixer "^10.4.14"
babel-loader "^9.1.3"
babel-plugin-dynamic-import-node "^2.3.3"
@@ -2827,32 +2827,32 @@
webpack-merge "^5.9.0"
webpackbar "^5.0.2"
-"@docusaurus/cssnano-preset@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.5.1.tgz#7b6911d3d991e02563ff88ffd04fbe1c5ec9246a"
- integrity sha512-mvtWPLWePlm+4doepxMUT5ynsJQ3CgPtDdbaQh9wm3iAE/7OATBpSgLlfz5N+YtxI5bjIErjbkH8yzISP+S65g==
+"@docusaurus/cssnano-preset@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.5.2.tgz#6c1f2b2f9656f978c4694c84ab24592b04dcfab3"
+ integrity sha512-D3KiQXOMA8+O0tqORBrTOEQyQxNIfPm9jEaJoALjjSjc2M/ZAWcUfPQEnwr2JB2TadHw2gqWgpZckQmrVWkytA==
dependencies:
cssnano-preset-advanced "^6.1.2"
postcss "^8.4.38"
postcss-sort-media-queries "^5.2.0"
tslib "^2.6.0"
-"@docusaurus/logger@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.5.1.tgz#85e56c58835c922fed25e32adf4e2a93c94f13b8"
- integrity sha512-B36a88CEHCtxIylAV1HNuiiISpoKBqm0UxA6a/JwtHX++Dxb7LNDSGs8ELBlQsZN0OG2tX3tBsCWyaLPwYorkQ==
+"@docusaurus/logger@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.5.2.tgz#1150339ad56844b30734115c19c580f3b25cf5ed"
+ integrity sha512-LHC540SGkeLfyT3RHK3gAMK6aS5TRqOD4R72BEU/DE2M/TY8WwEUAMY576UUc/oNJXv8pGhBmQB6N9p3pt8LQw==
dependencies:
chalk "^4.1.2"
tslib "^2.6.0"
-"@docusaurus/mdx-loader@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.5.1.tgz#6c04ed40387fe37a74f2db7743e189d52276a61c"
- integrity sha512-D6Ea2dt32xhoqH+1EuHLGDVSX2HLFiR4QpI0GTU46qOu2hb2ChpQENIUZ2inOsdGFunNa0fCnDG3qn7Kdbzq1A==
+"@docusaurus/mdx-loader@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.5.2.tgz#99781641372c5037bcbe09bb8ade93a0e0ada57d"
+ integrity sha512-ku3xO9vZdwpiMIVd8BzWV0DCqGEbCP5zs1iHfKX50vw6jX8vQo0ylYo1YJMZyz6e+JFJ17HYHT5FzVidz2IflA==
dependencies:
- "@docusaurus/logger" "3.5.1"
- "@docusaurus/utils" "3.5.1"
- "@docusaurus/utils-validation" "3.5.1"
+ "@docusaurus/logger" "3.5.2"
+ "@docusaurus/utils" "3.5.2"
+ "@docusaurus/utils-validation" "3.5.2"
"@mdx-js/mdx" "^3.0.0"
"@slorber/remark-comment" "^1.0.0"
escape-html "^1.0.3"
@@ -2875,12 +2875,12 @@
vfile "^6.0.1"
webpack "^5.88.1"
-"@docusaurus/module-type-aliases@3.5.1", "@docusaurus/module-type-aliases@^3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.5.1.tgz#3deeab0112cb2327614ce6653ae9ebbe6459e88b"
- integrity sha512-SKKdA5RnvZr3pvFXkxtfsBVNgflRGa/bN1HbNi+1s0HNVYPuhB9DFC/CrKe2OoOfUXx7F7k2gg0Jg9gJYDy4rA==
+"@docusaurus/module-type-aliases@3.5.2", "@docusaurus/module-type-aliases@^3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.5.2.tgz#4e8f9c0703e23b2e07ebfce96598ec83e4dd2a9e"
+ integrity sha512-Z+Xu3+2rvKef/YKTMxZHsEXp1y92ac0ngjDiExRdqGTmEKtCUpkbNYH8v5eXo5Ls+dnW88n6WTa+Q54kLOkwPg==
dependencies:
- "@docusaurus/types" "3.5.1"
+ "@docusaurus/types" "3.5.2"
"@types/history" "^4.7.11"
"@types/react" "*"
"@types/react-router-config" "*"
@@ -2888,19 +2888,19 @@
react-helmet-async "*"
react-loadable "npm:@docusaurus/react-loadable@6.0.0"
-"@docusaurus/plugin-content-blog@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.5.1.tgz#9d8e70c81a4ef6471e65bd4a17647889e275f555"
- integrity sha512-aPmrMV5cDa2QUZ+kPVJID5O6r+ZuLFtHEyneVl9AgryL/9ECudhtpTUdmdnmapnWfUzSSgqYRZ1JtydGLheSzw==
- dependencies:
- "@docusaurus/core" "3.5.1"
- "@docusaurus/logger" "3.5.1"
- "@docusaurus/mdx-loader" "3.5.1"
- "@docusaurus/theme-common" "3.5.1"
- "@docusaurus/types" "3.5.1"
- "@docusaurus/utils" "3.5.1"
- "@docusaurus/utils-common" "3.5.1"
- "@docusaurus/utils-validation" "3.5.1"
+"@docusaurus/plugin-content-blog@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.5.2.tgz#649c07c34da7603645f152bcebdf75285baed16b"
+ integrity sha512-R7ghWnMvjSf+aeNDH0K4fjyQnt5L0KzUEnUhmf1e3jZrv3wogeytZNN6n7X8yHcMsuZHPOrctQhXWnmxu+IRRg==
+ dependencies:
+ "@docusaurus/core" "3.5.2"
+ "@docusaurus/logger" "3.5.2"
+ "@docusaurus/mdx-loader" "3.5.2"
+ "@docusaurus/theme-common" "3.5.2"
+ "@docusaurus/types" "3.5.2"
+ "@docusaurus/utils" "3.5.2"
+ "@docusaurus/utils-common" "3.5.2"
+ "@docusaurus/utils-validation" "3.5.2"
cheerio "1.0.0-rc.12"
feed "^4.2.2"
fs-extra "^11.1.1"
@@ -2912,20 +2912,20 @@
utility-types "^3.10.0"
webpack "^5.88.1"
-"@docusaurus/plugin-content-docs@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.5.1.tgz#91d79dc90b1f4b5dc792da8297b5b2b5dea60cc6"
- integrity sha512-DX+I3eVyXak9KqYXg8dgptomqz/O4twjydpLJT8ZSe9lsZ0Pa1ZNPwmftWYn160O3o6GGeUYzr13Y1Got3iXRQ==
- dependencies:
- "@docusaurus/core" "3.5.1"
- "@docusaurus/logger" "3.5.1"
- "@docusaurus/mdx-loader" "3.5.1"
- "@docusaurus/module-type-aliases" "3.5.1"
- "@docusaurus/theme-common" "3.5.1"
- "@docusaurus/types" "3.5.1"
- "@docusaurus/utils" "3.5.1"
- "@docusaurus/utils-common" "3.5.1"
- "@docusaurus/utils-validation" "3.5.1"
+"@docusaurus/plugin-content-docs@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.5.2.tgz#adcf6c0bd9a9818eb192ab831e0069ee62d31505"
+ integrity sha512-Bt+OXn/CPtVqM3Di44vHjE7rPCEsRCB/DMo2qoOuozB9f7+lsdrHvD0QCHdBs0uhz6deYJDppAr2VgqybKPlVQ==
+ dependencies:
+ "@docusaurus/core" "3.5.2"
+ "@docusaurus/logger" "3.5.2"
+ "@docusaurus/mdx-loader" "3.5.2"
+ "@docusaurus/module-type-aliases" "3.5.2"
+ "@docusaurus/theme-common" "3.5.2"
+ "@docusaurus/types" "3.5.2"
+ "@docusaurus/utils" "3.5.2"
+ "@docusaurus/utils-common" "3.5.2"
+ "@docusaurus/utils-validation" "3.5.2"
"@types/react-router-config" "^5.0.7"
combine-promises "^1.1.0"
fs-extra "^11.1.1"
@@ -2935,114 +2935,114 @@
utility-types "^3.10.0"
webpack "^5.88.1"
-"@docusaurus/plugin-content-pages@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.5.1.tgz#906ca4cba3ece2422aedf562a12ad44150dabdd7"
- integrity sha512-V2PDVrO2vHYJ7uhrEHpfzg3TTuwfrgNC0pGhM5gXaMfCbdhKm7iwV0huGLcyIX5Peyh7EMP2e8GFccUzWFMYOg==
- dependencies:
- "@docusaurus/core" "3.5.1"
- "@docusaurus/mdx-loader" "3.5.1"
- "@docusaurus/types" "3.5.1"
- "@docusaurus/utils" "3.5.1"
- "@docusaurus/utils-validation" "3.5.1"
+"@docusaurus/plugin-content-pages@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.5.2.tgz#2b59e43f5bc5b5176ff01835de706f1c65c2e68b"
+ integrity sha512-WzhHjNpoQAUz/ueO10cnundRz+VUtkjFhhaQ9jApyv1a46FPURO4cef89pyNIOMny1fjDz/NUN2z6Yi+5WUrCw==
+ dependencies:
+ "@docusaurus/core" "3.5.2"
+ "@docusaurus/mdx-loader" "3.5.2"
+ "@docusaurus/types" "3.5.2"
+ "@docusaurus/utils" "3.5.2"
+ "@docusaurus/utils-validation" "3.5.2"
fs-extra "^11.1.1"
tslib "^2.6.0"
webpack "^5.88.1"
-"@docusaurus/plugin-debug@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.5.1.tgz#6bc6679130b6a3379f398cb793cea9078d32fb80"
- integrity sha512-teFZamoECDiELwM1cx5OXd6dBpRtHarc7kWGL1iQozAkYcobZmqOWykBl4joMjSWUbJlx5v9/CVciykWbFNXjA==
+"@docusaurus/plugin-debug@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.5.2.tgz#c25ca6a59e62a17c797b367173fe80c06fdf2f65"
+ integrity sha512-kBK6GlN0itCkrmHuCS6aX1wmoWc5wpd5KJlqQ1FyrF0cLDnvsYSnh7+ftdwzt7G6lGBho8lrVwkkL9/iQvaSOA==
dependencies:
- "@docusaurus/core" "3.5.1"
- "@docusaurus/types" "3.5.1"
- "@docusaurus/utils" "3.5.1"
+ "@docusaurus/core" "3.5.2"
+ "@docusaurus/types" "3.5.2"
+ "@docusaurus/utils" "3.5.2"
fs-extra "^11.1.1"
react-json-view-lite "^1.2.0"
tslib "^2.6.0"
-"@docusaurus/plugin-google-analytics@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.5.1.tgz#e21a61b9c2deab61d77f2e15aaef79d996cf85b2"
- integrity sha512-5FUiYZQWPXTPucMzaOOM25R7IwIPvMKbiB0SNVGtxVsGyFyo5i5fzrkBQl4mkZd7uqmslEPzwYbC28ZeFnrxjg==
+"@docusaurus/plugin-google-analytics@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.5.2.tgz#1143e78d1461d3c74a2746f036d25b18d4a2608d"
+ integrity sha512-rjEkJH/tJ8OXRE9bwhV2mb/WP93V441rD6XnM6MIluu7rk8qg38iSxS43ga2V2Q/2ib53PcqbDEJDG/yWQRJhQ==
dependencies:
- "@docusaurus/core" "3.5.1"
- "@docusaurus/types" "3.5.1"
- "@docusaurus/utils-validation" "3.5.1"
+ "@docusaurus/core" "3.5.2"
+ "@docusaurus/types" "3.5.2"
+ "@docusaurus/utils-validation" "3.5.2"
tslib "^2.6.0"
-"@docusaurus/plugin-google-gtag@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.5.1.tgz#81bc5075c99e3898d17684396379027b22116a7e"
- integrity sha512-jxBtLBPMv9BJXPXrwJSs69qYcHP/evT1NkVza2yOai7wi5r3E1tVm0bAxdciWitpM0dgS/HDa30qXE7vA1NRDg==
+"@docusaurus/plugin-google-gtag@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.5.2.tgz#60b5a9e1888c4fa16933f7c5cb5f2f2c31caad3a"
+ integrity sha512-lm8XL3xLkTPHFKKjLjEEAHUrW0SZBSHBE1I+i/tmYMBsjCcUB5UJ52geS5PSiOCFVR74tbPGcPHEV/gaaxFeSA==
dependencies:
- "@docusaurus/core" "3.5.1"
- "@docusaurus/types" "3.5.1"
- "@docusaurus/utils-validation" "3.5.1"
+ "@docusaurus/core" "3.5.2"
+ "@docusaurus/types" "3.5.2"
+ "@docusaurus/utils-validation" "3.5.2"
"@types/gtag.js" "^0.0.12"
tslib "^2.6.0"
-"@docusaurus/plugin-google-tag-manager@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.5.1.tgz#1f9d0bff161399777e45edafc1c59d9243508c30"
- integrity sha512-W5WsKoRmb3lDmg2IBfmKsZDlQAkEx/dXuwr4bj7sSQdM8qd829Rsc4Gp5RddUrQdUz/W3Iocn7LayRM5aacJlA==
+"@docusaurus/plugin-google-tag-manager@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.5.2.tgz#7a37334d2e7f00914d61ad05bc09391c4db3bfda"
+ integrity sha512-QkpX68PMOMu10Mvgvr5CfZAzZQFx8WLlOiUQ/Qmmcl6mjGK6H21WLT5x7xDmcpCoKA/3CegsqIqBR+nA137lQg==
dependencies:
- "@docusaurus/core" "3.5.1"
- "@docusaurus/types" "3.5.1"
- "@docusaurus/utils-validation" "3.5.1"
+ "@docusaurus/core" "3.5.2"
+ "@docusaurus/types" "3.5.2"
+ "@docusaurus/utils-validation" "3.5.2"
tslib "^2.6.0"
-"@docusaurus/plugin-sitemap@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.5.1.tgz#1b0c579c3ffe2a433768afb9df4aed367813ebeb"
- integrity sha512-VXMGJM6uy4jx6HUsFs+kn8MujWGjN7S7p7PYUYSf1bmcFNlf+Qg5vDZtwBElHa2hapeH2AIj2b3QmTgmWeyOHw==
- dependencies:
- "@docusaurus/core" "3.5.1"
- "@docusaurus/logger" "3.5.1"
- "@docusaurus/types" "3.5.1"
- "@docusaurus/utils" "3.5.1"
- "@docusaurus/utils-common" "3.5.1"
- "@docusaurus/utils-validation" "3.5.1"
+"@docusaurus/plugin-sitemap@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.5.2.tgz#9c940b27f3461c54d65295cf4c52cb20538bd360"
+ integrity sha512-DnlqYyRAdQ4NHY28TfHuVk414ft2uruP4QWCH//jzpHjqvKyXjj2fmDtI8RPUBh9K8iZKFMHRnLtzJKySPWvFA==
+ dependencies:
+ "@docusaurus/core" "3.5.2"
+ "@docusaurus/logger" "3.5.2"
+ "@docusaurus/types" "3.5.2"
+ "@docusaurus/utils" "3.5.2"
+ "@docusaurus/utils-common" "3.5.2"
+ "@docusaurus/utils-validation" "3.5.2"
fs-extra "^11.1.1"
sitemap "^7.1.1"
tslib "^2.6.0"
-"@docusaurus/preset-classic@^3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.5.1.tgz#d7bcf5545a56fdeff5363cf81b30825ea39f4282"
- integrity sha512-afDMZoNYxdloJ7qJJbd3Lmv9uYXKKsEAOtvnvu2945kqe1LUGIIwOo1nMAKgB9y21E5FEvWKnla0MvkMraumZA==
- dependencies:
- "@docusaurus/core" "3.5.1"
- "@docusaurus/plugin-content-blog" "3.5.1"
- "@docusaurus/plugin-content-docs" "3.5.1"
- "@docusaurus/plugin-content-pages" "3.5.1"
- "@docusaurus/plugin-debug" "3.5.1"
- "@docusaurus/plugin-google-analytics" "3.5.1"
- "@docusaurus/plugin-google-gtag" "3.5.1"
- "@docusaurus/plugin-google-tag-manager" "3.5.1"
- "@docusaurus/plugin-sitemap" "3.5.1"
- "@docusaurus/theme-classic" "3.5.1"
- "@docusaurus/theme-common" "3.5.1"
- "@docusaurus/theme-search-algolia" "3.5.1"
- "@docusaurus/types" "3.5.1"
-
-"@docusaurus/theme-classic@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.5.1.tgz#a957270a88e64078fefc39e85e07128521700ef3"
- integrity sha512-k8rLMwHuTc3SqYekc20s1uZHjabt9yi6mt1RUjbkwmjsJlAB6zrtYvsB+ZxrhY5yeUD8DZm3h0qVvKbClHVCCA==
- dependencies:
- "@docusaurus/core" "3.5.1"
- "@docusaurus/mdx-loader" "3.5.1"
- "@docusaurus/module-type-aliases" "3.5.1"
- "@docusaurus/plugin-content-blog" "3.5.1"
- "@docusaurus/plugin-content-docs" "3.5.1"
- "@docusaurus/plugin-content-pages" "3.5.1"
- "@docusaurus/theme-common" "3.5.1"
- "@docusaurus/theme-translations" "3.5.1"
- "@docusaurus/types" "3.5.1"
- "@docusaurus/utils" "3.5.1"
- "@docusaurus/utils-common" "3.5.1"
- "@docusaurus/utils-validation" "3.5.1"
+"@docusaurus/preset-classic@^3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.5.2.tgz#977f78510bbc556aa0539149eef960bb7ab52bd9"
+ integrity sha512-3ihfXQ95aOHiLB5uCu+9PRy2gZCeSZoDcqpnDvf3B+sTrMvMTr8qRUzBvWkoIqc82yG5prCboRjk1SVILKx6sg==
+ dependencies:
+ "@docusaurus/core" "3.5.2"
+ "@docusaurus/plugin-content-blog" "3.5.2"
+ "@docusaurus/plugin-content-docs" "3.5.2"
+ "@docusaurus/plugin-content-pages" "3.5.2"
+ "@docusaurus/plugin-debug" "3.5.2"
+ "@docusaurus/plugin-google-analytics" "3.5.2"
+ "@docusaurus/plugin-google-gtag" "3.5.2"
+ "@docusaurus/plugin-google-tag-manager" "3.5.2"
+ "@docusaurus/plugin-sitemap" "3.5.2"
+ "@docusaurus/theme-classic" "3.5.2"
+ "@docusaurus/theme-common" "3.5.2"
+ "@docusaurus/theme-search-algolia" "3.5.2"
+ "@docusaurus/types" "3.5.2"
+
+"@docusaurus/theme-classic@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.5.2.tgz#602ddb63d987ab1f939e3760c67bc1880f01c000"
+ integrity sha512-XRpinSix3NBv95Rk7xeMF9k4safMkwnpSgThn0UNQNumKvmcIYjfkwfh2BhwYh/BxMXQHJ/PdmNh22TQFpIaYg==
+ dependencies:
+ "@docusaurus/core" "3.5.2"
+ "@docusaurus/mdx-loader" "3.5.2"
+ "@docusaurus/module-type-aliases" "3.5.2"
+ "@docusaurus/plugin-content-blog" "3.5.2"
+ "@docusaurus/plugin-content-docs" "3.5.2"
+ "@docusaurus/plugin-content-pages" "3.5.2"
+ "@docusaurus/theme-common" "3.5.2"
+ "@docusaurus/theme-translations" "3.5.2"
+ "@docusaurus/types" "3.5.2"
+ "@docusaurus/utils" "3.5.2"
+ "@docusaurus/utils-common" "3.5.2"
+ "@docusaurus/utils-validation" "3.5.2"
"@mdx-js/react" "^3.0.0"
clsx "^2.0.0"
copy-text-to-clipboard "^3.2.0"
@@ -3057,15 +3057,15 @@
tslib "^2.6.0"
utility-types "^3.10.0"
-"@docusaurus/theme-common@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.5.1.tgz#579fa956fde8f57bf8d88a5405878683cb27447e"
- integrity sha512-r34YDzSjggX+B+8W+mG2dVh1ps4JJRCiyq8E1LnZIKLU6F89I2KpAZpPQ2/njKsKhBRLtQ1x92HVkD0FZ3xjrg==
+"@docusaurus/theme-common@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.5.2.tgz#b507ab869a1fba0be9c3c9d74f2f3d74c3ac78b2"
+ integrity sha512-QXqlm9S6x9Ibwjs7I2yEDgsCocp708DrCrgHgKwg2n2AY0YQ6IjU0gAK35lHRLOvAoJUfCKpQAwUykB0R7+Eew==
dependencies:
- "@docusaurus/mdx-loader" "3.5.1"
- "@docusaurus/module-type-aliases" "3.5.1"
- "@docusaurus/utils" "3.5.1"
- "@docusaurus/utils-common" "3.5.1"
+ "@docusaurus/mdx-loader" "3.5.2"
+ "@docusaurus/module-type-aliases" "3.5.2"
+ "@docusaurus/utils" "3.5.2"
+ "@docusaurus/utils-common" "3.5.2"
"@types/history" "^4.7.11"
"@types/react" "*"
"@types/react-router-config" "*"
@@ -3075,19 +3075,19 @@
tslib "^2.6.0"
utility-types "^3.10.0"
-"@docusaurus/theme-search-algolia@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.5.1.tgz#70917ef7ee2ddf65814df1b232666e5e0806b0c4"
- integrity sha512-IcUbgh9YcedANhpa0Q3+67WUKY8G7YkN/pZxVBEFjq3d2bniRKktPv41Nh/+AtGLSNJIcspZwEAs/r/mKSZGug==
+"@docusaurus/theme-search-algolia@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.5.2.tgz#466c83ca7e8017d95ae6889ccddc5ef8bf6b61c6"
+ integrity sha512-qW53kp3VzMnEqZGjakaV90sst3iN1o32PH+nawv1uepROO8aEGxptcq2R5rsv7aBShSRbZwIobdvSYKsZ5pqvA==
dependencies:
"@docsearch/react" "^3.5.2"
- "@docusaurus/core" "3.5.1"
- "@docusaurus/logger" "3.5.1"
- "@docusaurus/plugin-content-docs" "3.5.1"
- "@docusaurus/theme-common" "3.5.1"
- "@docusaurus/theme-translations" "3.5.1"
- "@docusaurus/utils" "3.5.1"
- "@docusaurus/utils-validation" "3.5.1"
+ "@docusaurus/core" "3.5.2"
+ "@docusaurus/logger" "3.5.2"
+ "@docusaurus/plugin-content-docs" "3.5.2"
+ "@docusaurus/theme-common" "3.5.2"
+ "@docusaurus/theme-translations" "3.5.2"
+ "@docusaurus/utils" "3.5.2"
+ "@docusaurus/utils-validation" "3.5.2"
algoliasearch "^4.18.0"
algoliasearch-helper "^3.13.3"
clsx "^2.0.0"
@@ -3097,23 +3097,23 @@
tslib "^2.6.0"
utility-types "^3.10.0"
-"@docusaurus/theme-translations@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.5.1.tgz#c400204a82b05aa922257143c7fbcb7fb0f38b2a"
- integrity sha512-fyzQOWrTm0+ZpTlS0/xHsIK4f+LA4qVFrq8rCzIHjxZRip/noYUOwF64lA95vcuw6qnOVBoNE/LyfbBvExnpcw==
+"@docusaurus/theme-translations@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.5.2.tgz#38f9ebf2a5d860397022206a05fef66c08863c89"
+ integrity sha512-GPZLcu4aT1EmqSTmbdpVrDENGR2yObFEX8ssEFYTCiAIVc0EihNSdOIBTazUvgNqwvnoU1A8vIs1xyzc3LITTw==
dependencies:
fs-extra "^11.1.1"
tslib "^2.6.0"
-"@docusaurus/tsconfig@^3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/tsconfig/-/tsconfig-3.5.1.tgz#dd72e77191b6253b015f69954461e1aa2a84f0ad"
- integrity sha512-6OO63/xQ11Tu4reCRuB4zfjqdZYmQwkOTVI8zxxEHCLma4pplsx4HTCB2lVgztEL+Qr6hcHY952ZrpmoAt5rUA==
+"@docusaurus/tsconfig@^3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/tsconfig/-/tsconfig-3.5.2.tgz#98878103ba217bff355cd8944926d9ca06e6e153"
+ integrity sha512-rQ7toURCFnWAIn8ubcquDs0ewhPwviMzxh6WpRjBW7sJVCXb6yzwUaY3HMNa0VXCFw+qkIbFywrMTf+Pb4uHWQ==
-"@docusaurus/types@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.5.1.tgz#f9e86fbf8f6e090d635a3016cfa25bf9d5fb6fcf"
- integrity sha512-IXTGQBoXAGFliGF5Cn3F+gSGskgzAL8+4y6dDY1gcePA0r8WngHj8oovS1YPv+b9JOff32nv8YGGZITHOMXJsA==
+"@docusaurus/types@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.5.2.tgz#058019dbeffbee2d412c3f72569e412a727f9608"
+ integrity sha512-N6GntLXoLVUwkZw7zCxwy9QiuEXIcTVzA9AkmNw16oc0AP3SXLrMmDMMBIfgqwuKWa6Ox6epHol9kMtJqekACw==
dependencies:
"@mdx-js/mdx" "^3.0.0"
"@types/history" "^4.7.11"
@@ -3125,34 +3125,34 @@
webpack "^5.88.1"
webpack-merge "^5.9.0"
-"@docusaurus/utils-common@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.5.1.tgz#970989453033478c366b48af45e0b1be5f91d336"
- integrity sha512-374n6/IW34gHR65JMMN33XLFogTCsrGVPQDVbv2vG96EYHvYzE/plfcGV7xSbXB8yS1YHsxVfvNgVUGi973bfQ==
+"@docusaurus/utils-common@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.5.2.tgz#4d7f5e962fbca3e2239d80457aa0e4bd3d8f7e0a"
+ integrity sha512-i0AZjHiRgJU6d7faQngIhuHKNrszpL/SHQPgF1zH4H+Ij6E9NBYGy6pkcGWToIv7IVPbs+pQLh1P3whn0gWXVg==
dependencies:
tslib "^2.6.0"
-"@docusaurus/utils-validation@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.5.1.tgz#369f38e599d105e2ccb5017db1e233b847405788"
- integrity sha512-LZdQnqVVLStgTCn0rfvf4wuOQkjPbGtLXJIQ449em1wJeSFO7lfmn5VGUNLt+xKHvIPfN272EHG8BuvijCI0+A==
+"@docusaurus/utils-validation@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.5.2.tgz#1b2b2f02082781cc8ce713d4c85e88d6d2fc4eb3"
+ integrity sha512-m+Foq7augzXqB6HufdS139PFxDC5d5q2QKZy8q0qYYvGdI6nnlNsGH4cIGsgBnV7smz+mopl3g4asbSDvMV0jA==
dependencies:
- "@docusaurus/logger" "3.5.1"
- "@docusaurus/utils" "3.5.1"
- "@docusaurus/utils-common" "3.5.1"
+ "@docusaurus/logger" "3.5.2"
+ "@docusaurus/utils" "3.5.2"
+ "@docusaurus/utils-common" "3.5.2"
fs-extra "^11.2.0"
joi "^17.9.2"
js-yaml "^4.1.0"
lodash "^4.17.21"
tslib "^2.6.0"
-"@docusaurus/utils@3.5.1":
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.5.1.tgz#680067a3a38d46b6fed80b95555a58bcf19cb5ef"
- integrity sha512-/4QAvXyiQviz2FQ4ct5l1ckvDihIdjS8FsOExC0T+Y1UD38jgPbjTwRJXsDaRsDRCCrDAtXvlonxXw2kixcnXw==
+"@docusaurus/utils@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.5.2.tgz#17763130215f18d7269025903588ef7fb373e2cb"
+ integrity sha512-33QvcNFh+Gv+C2dP9Y9xWEzMgf3JzrpL2nW9PopidiohS1nDcyknKRx2DWaFvyVTTYIkkABVSr073VTj/NITNA==
dependencies:
- "@docusaurus/logger" "3.5.1"
- "@docusaurus/utils-common" "3.5.1"
+ "@docusaurus/logger" "3.5.2"
+ "@docusaurus/utils-common" "3.5.2"
"@svgr/webpack" "^8.1.0"
escape-string-regexp "^4.0.0"
file-loader "^6.2.0"
@@ -3660,12 +3660,7 @@
unist-util-visit "^5.0.0"
vfile "^6.0.0"
-"@mdx-js/react@^1.6.22":
- version "1.6.22"
- resolved "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz"
- integrity sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==
-
-"@mdx-js/react@^3.0.0":
+"@mdx-js/react@^3.0.0", "@mdx-js/react@^3.0.1":
version "3.0.1"
resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-3.0.1.tgz#997a19b3a5b783d936c75ae7c47cfe62f967f746"
integrity sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==
@@ -5708,7 +5703,7 @@ clsx@^1.2.1:
resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz"
integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==
-clsx@^2.0.0:
+clsx@^2.0.0, clsx@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999"
integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==