mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 07:47:32 +00:00
chore: update docusaurus to 3.8.0 (#9974)
> [!IMPORTANT] > We need to change the ENV `VERCEL_FORCE_NO_BUILD_CACHE` to `0` which is currently `1` to enable the cache on all deployments This pull request includes several updates to the documentation and benchmarking components, focusing on improving performance, error handling, and compatibility with newer versions of Docusaurus. The key changes include the removal of outdated configurations, updates to dependencies, and enhancements to the `BenchmarkChart` component for better error handling and data validation. ### Documentation and Configuration Updates: * **Removed outdated Babel and Webpack configurations**: The `babel.config.js` file was deleted, and the Webpack configuration was removed from `docusaurus.config.js` to align with the latest Docusaurus setup. [[1]](diffhunk://#diff-2ed4f5b03d34a87ef641e9e36af4a98a1c0ddaf74d07ce93665957be69b7b09aL1-L4) [[2]](diffhunk://#diff-28742c737e523f302e6de471b7fc27284dc8cf720be639e6afe4c17a550cd654L204-L225) * **Added experimental features in Docusaurus**: Introduced a `future` section in `docusaurus.config.js` to enable experimental features like `swcJsLoader`, `rspackBundler`, and `lightningCssMinimizer`, while disabling problematic settings due to known issues. ### Dependency Updates: * **Upgraded Docusaurus and related packages**: Updated dependencies in `package.json` to use Docusaurus version `^3.8.0` and newer versions of associated plugins and themes for improved performance and compatibility. [[1]](diffhunk://#diff-adfa337ce44dc2902621da20152a048dac41878cf3716dfc4cc56d03aa212a56L25-R39) [[2]](diffhunk://#diff-adfa337ce44dc2902621da20152a048dac41878cf3716dfc4cc56d03aa212a56L66-R67) ### Component Enhancements: * **Improved `BenchmarkChart` error handling**: Refactored the `BenchmarkChart` component to validate input data, handle errors gracefully, and provide meaningful fallback messages when data is missing or invalid. [[1]](diffhunk://#diff-ce9fccf51f6b863dd58a39f361a9cf980b10357bccc7381f928788483b30cb0eL4-R21) [[2]](diffhunk://#diff-ce9fccf51f6b863dd58a39f361a9cf980b10357bccc7381f928788483b30cb0eR72-R76) * **Fixed edge cases in chart rendering**: Addressed issues like invalid timestamps, undefined `p99` values, and empty data sets to ensure robust chart generation. [[1]](diffhunk://#diff-ce9fccf51f6b863dd58a39f361a9cf980b10357bccc7381f928788483b30cb0eL19-L29) [[2]](diffhunk://#diff-ce9fccf51f6b863dd58a39f361a9cf980b10357bccc7381f928788483b30cb0eL38-R61) ### Documentation Benchmark Updates: * **Simplified imports in benchmark files**: Replaced the use of `raw-loader` with direct imports for benchmark data in multiple `.mdx` files to streamline the documentation setup. [[1]](diffhunk://#diff-a9710709396e5ff6756aedf89dfcbd62aeea15368ba33bf3932ebf33046a29e8L66-R66) [[2]](diffhunk://#diff-0a9b6103c97c58792450bfd2d337bbb8a6b72df2ae326cc56ebc96e01c0acd6bL35-R35) [[3]](diffhunk://#diff-38f45388e065c57f1282a43bb319354da3c218e96d95ca20f4d11709f48491b8L36-R36) [[4]](diffhunk://#diff-b8e792ebe42fcb16a493e35d23b58a91c2117d949953487e70f379c64e5cb7c0L36-R36) [[5]](diffhunk://#diff-3778acfa893504004008b162fa95f21f1c7c40dcf1868bbbaaa504ac5d51901aL38-R38)
This commit is contained in:
@@ -1,11 +1,24 @@
|
||||
import React from "react";
|
||||
import Chart from "react-google-charts";
|
||||
|
||||
export function BenchmarkChart(testResults=[], height='500px') {
|
||||
export function BenchmarkChart({ testResults = [], height = '500px' } = {}) {
|
||||
if (!Array.isArray(testResults)) {
|
||||
console.error("BenchmarkChart: testResults is not an array. Received:", testResults);
|
||||
return <p>Error: Benchmark data is not available or in the wrong format.</p>;
|
||||
}
|
||||
|
||||
if (testResults.length === 0) {
|
||||
return <p>No benchmark data to display.</p>;
|
||||
}
|
||||
|
||||
const dataPerMetric = new Map();
|
||||
let maxVValue = 0;
|
||||
|
||||
JSON.parse(testResults.testResults).forEach((result) => {
|
||||
testResults.forEach((result) => {
|
||||
if (!result || typeof result.metric_name === 'undefined') {
|
||||
console.warn("BenchmarkChart: Skipping invalid result item:", result);
|
||||
return;
|
||||
}
|
||||
if (!dataPerMetric.has(result.metric_name)) {
|
||||
dataPerMetric.set(result.metric_name, [
|
||||
[
|
||||
@@ -16,17 +29,16 @@ export function BenchmarkChart(testResults=[], height='500px') {
|
||||
],
|
||||
]);
|
||||
}
|
||||
if (result.p99 > maxVValue) {
|
||||
if (result.p99 !== undefined && result.p99 > maxVValue) {
|
||||
maxVValue = result.p99;
|
||||
}
|
||||
dataPerMetric.get(result.metric_name).push([
|
||||
new Date(result.timestamp),
|
||||
result.timestamp ? new Date(result.timestamp) : null,
|
||||
result.p50,
|
||||
result.p95,
|
||||
result.p99,
|
||||
]);
|
||||
});
|
||||
|
||||
const options = {
|
||||
legend: { position: 'bottom' },
|
||||
focusTarget: 'category',
|
||||
@@ -35,17 +47,18 @@ export function BenchmarkChart(testResults=[], height='500px') {
|
||||
},
|
||||
vAxis: {
|
||||
title: 'latency (ms)',
|
||||
maxValue: maxVValue,
|
||||
maxValue: maxVValue > 0 ? maxVValue : undefined,
|
||||
},
|
||||
title: ''
|
||||
};
|
||||
const charts = [];
|
||||
|
||||
dataPerMetric.forEach((data, metric) => {
|
||||
const opt = Object.create(options);
|
||||
const opt = { ...options };
|
||||
opt.title = metric;
|
||||
charts.push(
|
||||
<Chart
|
||||
key={metric}
|
||||
chartType="LineChart"
|
||||
width="100%"
|
||||
height={height}
|
||||
@@ -56,6 +69,9 @@ export function BenchmarkChart(testResults=[], height='500px') {
|
||||
);
|
||||
});
|
||||
|
||||
if (charts.length === 0) {
|
||||
return <p>No chart data could be generated.</p>;
|
||||
}
|
||||
|
||||
return (charts);
|
||||
return <>{charts}</>;
|
||||
}
|
Reference in New Issue
Block a user