diff --git a/README.md b/README.md index 23eda4e..e824d4b 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,10 @@ This repository stores the provenance status of high-impact npm packages. The pa The results are generated by checking the provenance information for each package and are saved in `results.json`. -Provenance Chart +Provenance Chart +Provenance Trend Over Time + +> The dashed vertical line and ▲ markers indicate days when the upstream [`npm-high-impact`](https://github.com/wooorm/npm-high-impact) package list was updated, which changes the set of packages being tracked and can cause discontinuities in the trend. diff --git a/chart-daily.svg b/chart-daily.svg new file mode 100644 index 0000000..d271e88 --- /dev/null +++ b/chart-daily.svg @@ -0,0 +1 @@ +TrustedProvenanceUntrustednpm Top Packages — Provenance Status Over Time (%)2025-08-302025-09-242025-10-162025-11-072025-11-292025-12-212026-01-122026-02-032026-02-252026-03-192026-04-102026-05-020%10%20%30%40%50%60%70%80%90%100% \ No newline at end of file diff --git a/chart-daily.ts b/chart-daily.ts new file mode 100644 index 0000000..43e03de --- /dev/null +++ b/chart-daily.ts @@ -0,0 +1,138 @@ +import { writeFile } from 'node:fs/promises' +import { createCanvas, SvgExportFlag } from '@napi-rs/canvas' +import Chart from 'chart.js/auto' +import stats from './daily-stats.json' with { type: 'json' } + +interface DailyStat { + date: string + listSize: number + trusted: number + provenance: number + untrusted: number + total: number + trustedPercent: number + provenancePercent: number + untrustedPercent: number +} + +const data = stats as DailyStat[] + +const updateIndices = new Set() +for (let i = 1; i < data.length; i++) { + if (data[i].listSize !== data[i - 1].listSize) { + updateIndices.add(i) + } +} + +const pointRadius = (ctx: any) => + updateIndices.has(ctx.dataIndex) ? 6 : 0 +const pointStyle = (ctx: any) => + updateIndices.has(ctx.dataIndex) ? 'triangle' : 'circle' + +const verticalLinePlugin = { + id: 'listUpdateMarker', + afterDatasetsDraw(chart: any) { + const { ctx, chartArea, scales } = chart + ctx.save() + ctx.strokeStyle = 'rgba(0, 0, 0, 0.35)' + ctx.setLineDash([4, 4]) + ctx.lineWidth = 1 + for (const i of updateIndices) { + const x = scales.x.getPixelForValue(i) + ctx.beginPath() + ctx.moveTo(x, chartArea.top) + ctx.lineTo(x, chartArea.bottom) + ctx.stroke() + } + ctx.restore() + }, +} + +const canvas = createCanvas(1000, 500, SvgExportFlag.NoPrettyXML) + +const chart = new Chart(canvas as any, { + type: 'line', + plugins: [verticalLinePlugin], + data: { + labels: data.map((d) => d.date), + datasets: [ + { + label: 'Trusted', + data: data.map((d) => d.trustedPercent), + borderColor: '#4caf50', + backgroundColor: '#4caf50', + tension: 0.2, + pointRadius, + pointStyle, + pointBackgroundColor: '#000', + pointBorderColor: '#000', + borderWidth: 2, + }, + { + label: 'Provenance', + data: data.map((d) => d.provenancePercent), + borderColor: '#ff9800', + backgroundColor: '#ff9800', + tension: 0.2, + pointRadius, + pointStyle, + pointBackgroundColor: '#000', + pointBorderColor: '#000', + borderWidth: 2, + }, + { + label: 'Untrusted', + data: data.map((d) => d.untrustedPercent), + borderColor: '#f44336', + backgroundColor: '#f44336', + tension: 0.2, + pointRadius, + pointStyle, + pointBackgroundColor: '#000', + pointBorderColor: '#000', + borderWidth: 2, + }, + ], + }, + options: { + responsive: false, + plugins: { + legend: { + position: 'bottom', + labels: { + padding: 16, + font: { size: 16 }, + }, + }, + title: { + display: true, + text: 'npm Top Packages — Provenance Status Over Time (%)', + font: { size: 18 }, + padding: { top: 8, bottom: 12 }, + }, + }, + scales: { + x: { + ticks: { + font: { size: 12 }, + maxRotation: 45, + minRotation: 45, + autoSkip: true, + maxTicksLimit: 12, + }, + }, + y: { + beginAtZero: true, + max: 100, + ticks: { + font: { size: 13 }, + callback: (v) => `${v}%`, + }, + }, + }, + }, +}) + +await writeFile('chart-daily.svg', canvas.getContent()) +console.log('chart-daily.svg updated successfully') +chart.destroy() diff --git a/chart-pie.svg b/chart-pie.svg new file mode 100644 index 0000000..1ad79e9 --- /dev/null +++ b/chart-pie.svg @@ -0,0 +1 @@ +TrustedProvenanceUntrusted \ No newline at end of file diff --git a/chart.ts b/chart-pie.ts similarity index 87% rename from chart.ts rename to chart-pie.ts index 94c2cd5..c398660 100644 --- a/chart.ts +++ b/chart-pie.ts @@ -30,6 +30,6 @@ const chart = new Chart(canvas as any, { }, }) -await writeFile('chart.svg', canvas.getContent()) -console.log('chart.svg updated successfully') +await writeFile('chart-pie.svg', canvas.getContent()) +console.log('chart-pie.svg updated successfully') chart.destroy() diff --git a/chart.svg b/chart.svg deleted file mode 100644 index 397c7e7..0000000 --- a/chart.svg +++ /dev/null @@ -1 +0,0 @@ -TrustedProvenanceUntrusted \ No newline at end of file diff --git a/daily-stats.json b/daily-stats.json new file mode 100644 index 0000000..2a04fe4 --- /dev/null +++ b/daily-stats.json @@ -0,0 +1,2906 @@ +[ + { + "date": "2025-08-30", + "listSize": 9505, + "trusted": 52, + "provenance": 654, + "untrusted": 8691, + "total": 9397, + "trustedPercent": 0.55, + "provenancePercent": 6.96, + "untrustedPercent": 92.49 + }, + { + "date": "2025-08-31", + "listSize": 9505, + "trusted": 52, + "provenance": 654, + "untrusted": 8691, + "total": 9397, + "trustedPercent": 0.55, + "provenancePercent": 6.96, + "untrustedPercent": 92.49 + }, + { + "date": "2025-09-01", + "listSize": 9505, + "trusted": 52, + "provenance": 654, + "untrusted": 8691, + "total": 9397, + "trustedPercent": 0.55, + "provenancePercent": 6.96, + "untrustedPercent": 92.49 + }, + { + "date": "2025-09-04", + "listSize": 9505, + "trusted": 82, + "provenance": 636, + "untrusted": 8679, + "total": 9397, + "trustedPercent": 0.87, + "provenancePercent": 6.77, + "untrustedPercent": 92.36 + }, + { + "date": "2025-09-07", + "listSize": 9505, + "trusted": 85, + "provenance": 636, + "untrusted": 8676, + "total": 9397, + "trustedPercent": 0.9, + "provenancePercent": 6.77, + "untrustedPercent": 92.33 + }, + { + "date": "2025-09-06", + "listSize": 9505, + "trusted": 85, + "provenance": 636, + "untrusted": 8676, + "total": 9397, + "trustedPercent": 0.9, + "provenancePercent": 6.77, + "untrustedPercent": 92.33 + }, + { + "date": "2025-09-08", + "listSize": 9505, + "trusted": 86, + "provenance": 635, + "untrusted": 8676, + "total": 9397, + "trustedPercent": 0.92, + "provenancePercent": 6.76, + "untrustedPercent": 92.33 + }, + { + "date": "2025-09-09", + "listSize": 9505, + "trusted": 97, + "provenance": 624, + "untrusted": 8676, + "total": 9397, + "trustedPercent": 1.03, + "provenancePercent": 6.64, + "untrustedPercent": 92.33 + }, + { + "date": "2025-09-10", + "listSize": 9505, + "trusted": 101, + "provenance": 621, + "untrusted": 8675, + "total": 9397, + "trustedPercent": 1.07, + "provenancePercent": 6.61, + "untrustedPercent": 92.32 + }, + { + "date": "2025-09-11", + "listSize": 9505, + "trusted": 103, + "provenance": 620, + "untrusted": 8674, + "total": 9397, + "trustedPercent": 1.1, + "provenancePercent": 6.6, + "untrustedPercent": 92.31 + }, + { + "date": "2025-09-12", + "listSize": 9505, + "trusted": 106, + "provenance": 617, + "untrusted": 8674, + "total": 9397, + "trustedPercent": 1.13, + "provenancePercent": 6.57, + "untrustedPercent": 92.31 + }, + { + "date": "2025-09-13", + "listSize": 9505, + "trusted": 123, + "provenance": 617, + "untrusted": 8656, + "total": 9396, + "trustedPercent": 1.31, + "provenancePercent": 6.57, + "untrustedPercent": 92.12 + }, + { + "date": "2025-09-14", + "listSize": 9505, + "trusted": 125, + "provenance": 616, + "untrusted": 8656, + "total": 9397, + "trustedPercent": 1.33, + "provenancePercent": 6.56, + "untrustedPercent": 92.11 + }, + { + "date": "2025-09-15", + "listSize": 9505, + "trusted": 133, + "provenance": 610, + "untrusted": 8654, + "total": 9397, + "trustedPercent": 1.42, + "provenancePercent": 6.49, + "untrustedPercent": 92.09 + }, + { + "date": "2025-09-16", + "listSize": 9505, + "trusted": 141, + "provenance": 610, + "untrusted": 8646, + "total": 9397, + "trustedPercent": 1.5, + "provenancePercent": 6.49, + "untrustedPercent": 92.01 + }, + { + "date": "2025-09-17", + "listSize": 9505, + "trusted": 143, + "provenance": 611, + "untrusted": 8643, + "total": 9397, + "trustedPercent": 1.52, + "provenancePercent": 6.5, + "untrustedPercent": 91.98 + }, + { + "date": "2025-09-18", + "listSize": 9505, + "trusted": 161, + "provenance": 606, + "untrusted": 8630, + "total": 9397, + "trustedPercent": 1.71, + "provenancePercent": 6.45, + "untrustedPercent": 91.84 + }, + { + "date": "2025-09-19", + "listSize": 9505, + "trusted": 166, + "provenance": 604, + "untrusted": 8627, + "total": 9397, + "trustedPercent": 1.77, + "provenancePercent": 6.43, + "untrustedPercent": 91.81 + }, + { + "date": "2025-09-20", + "listSize": 9505, + "trusted": 170, + "provenance": 603, + "untrusted": 8624, + "total": 9397, + "trustedPercent": 1.81, + "provenancePercent": 6.42, + "untrustedPercent": 91.77 + }, + { + "date": "2025-09-21", + "listSize": 9505, + "trusted": 173, + "provenance": 602, + "untrusted": 8622, + "total": 9397, + "trustedPercent": 1.84, + "provenancePercent": 6.41, + "untrustedPercent": 91.75 + }, + { + "date": "2025-09-22", + "listSize": 9505, + "trusted": 173, + "provenance": 602, + "untrusted": 8622, + "total": 9397, + "trustedPercent": 1.84, + "provenancePercent": 6.41, + "untrustedPercent": 91.75 + }, + { + "date": "2025-09-23", + "listSize": 9505, + "trusted": 178, + "provenance": 598, + "untrusted": 8621, + "total": 9397, + "trustedPercent": 1.89, + "provenancePercent": 6.36, + "untrustedPercent": 91.74 + }, + { + "date": "2025-09-24", + "listSize": 9505, + "trusted": 183, + "provenance": 597, + "untrusted": 8617, + "total": 9397, + "trustedPercent": 1.95, + "provenancePercent": 6.35, + "untrustedPercent": 91.7 + }, + { + "date": "2025-09-25", + "listSize": 9505, + "trusted": 185, + "provenance": 597, + "untrusted": 8615, + "total": 9397, + "trustedPercent": 1.97, + "provenancePercent": 6.35, + "untrustedPercent": 91.68 + }, + { + "date": "2025-09-26", + "listSize": 9505, + "trusted": 196, + "provenance": 586, + "untrusted": 8615, + "total": 9397, + "trustedPercent": 2.09, + "provenancePercent": 6.24, + "untrustedPercent": 91.68 + }, + { + "date": "2025-09-27", + "listSize": 9505, + "trusted": 196, + "provenance": 586, + "untrusted": 8614, + "total": 9396, + "trustedPercent": 2.09, + "provenancePercent": 6.24, + "untrustedPercent": 91.68 + }, + { + "date": "2025-09-28", + "listSize": 9505, + "trusted": 199, + "provenance": 585, + "untrusted": 8613, + "total": 9397, + "trustedPercent": 2.12, + "provenancePercent": 6.23, + "untrustedPercent": 91.66 + }, + { + "date": "2025-09-29", + "listSize": 9505, + "trusted": 198, + "provenance": 585, + "untrusted": 8614, + "total": 9397, + "trustedPercent": 2.11, + "provenancePercent": 6.23, + "untrustedPercent": 91.67 + }, + { + "date": "2025-09-30", + "listSize": 9505, + "trusted": 244, + "provenance": 540, + "untrusted": 8613, + "total": 9397, + "trustedPercent": 2.6, + "provenancePercent": 5.75, + "untrustedPercent": 91.66 + }, + { + "date": "2025-10-01", + "listSize": 9505, + "trusted": 245, + "provenance": 539, + "untrusted": 8613, + "total": 9397, + "trustedPercent": 2.61, + "provenancePercent": 5.74, + "untrustedPercent": 91.66 + }, + { + "date": "2025-10-02", + "listSize": 9505, + "trusted": 258, + "provenance": 538, + "untrusted": 8601, + "total": 9397, + "trustedPercent": 2.75, + "provenancePercent": 5.73, + "untrustedPercent": 91.53 + }, + { + "date": "2025-10-03", + "listSize": 9505, + "trusted": 261, + "provenance": 537, + "untrusted": 8599, + "total": 9397, + "trustedPercent": 2.78, + "provenancePercent": 5.71, + "untrustedPercent": 91.51 + }, + { + "date": "2025-10-04", + "listSize": 9505, + "trusted": 285, + "provenance": 536, + "untrusted": 8576, + "total": 9397, + "trustedPercent": 3.03, + "provenancePercent": 5.7, + "untrustedPercent": 91.26 + }, + { + "date": "2025-10-05", + "listSize": 9505, + "trusted": 287, + "provenance": 535, + "untrusted": 8573, + "total": 9395, + "trustedPercent": 3.05, + "provenancePercent": 5.69, + "untrustedPercent": 91.25 + }, + { + "date": "2025-10-06", + "listSize": 9505, + "trusted": 288, + "provenance": 535, + "untrusted": 8574, + "total": 9397, + "trustedPercent": 3.06, + "provenancePercent": 5.69, + "untrustedPercent": 91.24 + }, + { + "date": "2025-10-07", + "listSize": 9505, + "trusted": 320, + "provenance": 510, + "untrusted": 8567, + "total": 9397, + "trustedPercent": 3.41, + "provenancePercent": 5.43, + "untrustedPercent": 91.17 + }, + { + "date": "2025-10-08", + "listSize": 9505, + "trusted": 324, + "provenance": 509, + "untrusted": 8564, + "total": 9397, + "trustedPercent": 3.45, + "provenancePercent": 5.42, + "untrustedPercent": 91.14 + }, + { + "date": "2025-10-09", + "listSize": 9505, + "trusted": 325, + "provenance": 508, + "untrusted": 8564, + "total": 9397, + "trustedPercent": 3.46, + "provenancePercent": 5.41, + "untrustedPercent": 91.14 + }, + { + "date": "2025-10-10", + "listSize": 9505, + "trusted": 327, + "provenance": 507, + "untrusted": 8563, + "total": 9397, + "trustedPercent": 3.48, + "provenancePercent": 5.4, + "untrustedPercent": 91.12 + }, + { + "date": "2025-10-11", + "listSize": 9505, + "trusted": 328, + "provenance": 506, + "untrusted": 8563, + "total": 9397, + "trustedPercent": 3.49, + "provenancePercent": 5.38, + "untrustedPercent": 91.12 + }, + { + "date": "2025-10-12", + "listSize": 9505, + "trusted": 329, + "provenance": 507, + "untrusted": 8561, + "total": 9397, + "trustedPercent": 3.5, + "provenancePercent": 5.4, + "untrustedPercent": 91.1 + }, + { + "date": "2025-10-13", + "listSize": 9505, + "trusted": 329, + "provenance": 507, + "untrusted": 8561, + "total": 9397, + "trustedPercent": 3.5, + "provenancePercent": 5.4, + "untrustedPercent": 91.1 + }, + { + "date": "2025-10-14", + "listSize": 9505, + "trusted": 333, + "provenance": 506, + "untrusted": 8558, + "total": 9397, + "trustedPercent": 3.54, + "provenancePercent": 5.38, + "untrustedPercent": 91.07 + }, + { + "date": "2025-10-15", + "listSize": 9505, + "trusted": 334, + "provenance": 506, + "untrusted": 8556, + "total": 9396, + "trustedPercent": 3.55, + "provenancePercent": 5.39, + "untrustedPercent": 91.06 + }, + { + "date": "2025-10-16", + "listSize": 9505, + "trusted": 340, + "provenance": 504, + "untrusted": 8553, + "total": 9397, + "trustedPercent": 3.62, + "provenancePercent": 5.36, + "untrustedPercent": 91.02 + }, + { + "date": "2025-10-17", + "listSize": 9505, + "trusted": 369, + "provenance": 504, + "untrusted": 8524, + "total": 9397, + "trustedPercent": 3.93, + "provenancePercent": 5.36, + "untrustedPercent": 90.71 + }, + { + "date": "2025-10-18", + "listSize": 9505, + "trusted": 375, + "provenance": 499, + "untrusted": 8523, + "total": 9397, + "trustedPercent": 3.99, + "provenancePercent": 5.31, + "untrustedPercent": 90.7 + }, + { + "date": "2025-10-19", + "listSize": 9505, + "trusted": 375, + "provenance": 499, + "untrusted": 8523, + "total": 9397, + "trustedPercent": 3.99, + "provenancePercent": 5.31, + "untrustedPercent": 90.7 + }, + { + "date": "2025-10-20", + "listSize": 9505, + "trusted": 375, + "provenance": 499, + "untrusted": 8523, + "total": 9397, + "trustedPercent": 3.99, + "provenancePercent": 5.31, + "untrustedPercent": 90.7 + }, + { + "date": "2025-10-21", + "listSize": 9505, + "trusted": 379, + "provenance": 499, + "untrusted": 8519, + "total": 9397, + "trustedPercent": 4.03, + "provenancePercent": 5.31, + "untrustedPercent": 90.66 + }, + { + "date": "2025-10-22", + "listSize": 9505, + "trusted": 395, + "provenance": 489, + "untrusted": 8513, + "total": 9397, + "trustedPercent": 4.2, + "provenancePercent": 5.2, + "untrustedPercent": 90.59 + }, + { + "date": "2025-10-23", + "listSize": 9505, + "trusted": 435, + "provenance": 453, + "untrusted": 8509, + "total": 9397, + "trustedPercent": 4.63, + "provenancePercent": 4.82, + "untrustedPercent": 90.55 + }, + { + "date": "2025-10-24", + "listSize": 9505, + "trusted": 473, + "provenance": 443, + "untrusted": 8481, + "total": 9397, + "trustedPercent": 5.03, + "provenancePercent": 4.71, + "untrustedPercent": 90.25 + }, + { + "date": "2025-10-25", + "listSize": 9505, + "trusted": 478, + "provenance": 442, + "untrusted": 8477, + "total": 9397, + "trustedPercent": 5.09, + "provenancePercent": 4.7, + "untrustedPercent": 90.21 + }, + { + "date": "2025-10-26", + "listSize": 9505, + "trusted": 478, + "provenance": 441, + "untrusted": 8478, + "total": 9397, + "trustedPercent": 5.09, + "provenancePercent": 4.69, + "untrustedPercent": 90.22 + }, + { + "date": "2025-10-27", + "listSize": 9505, + "trusted": 479, + "provenance": 441, + "untrusted": 8477, + "total": 9397, + "trustedPercent": 5.1, + "provenancePercent": 4.69, + "untrustedPercent": 90.21 + }, + { + "date": "2025-10-28", + "listSize": 9505, + "trusted": 482, + "provenance": 439, + "untrusted": 8476, + "total": 9397, + "trustedPercent": 5.13, + "provenancePercent": 4.67, + "untrustedPercent": 90.2 + }, + { + "date": "2025-10-29", + "listSize": 9505, + "trusted": 486, + "provenance": 437, + "untrusted": 8473, + "total": 9396, + "trustedPercent": 5.17, + "provenancePercent": 4.65, + "untrustedPercent": 90.18 + }, + { + "date": "2025-10-30", + "listSize": 9505, + "trusted": 503, + "provenance": 434, + "untrusted": 8460, + "total": 9397, + "trustedPercent": 5.35, + "provenancePercent": 4.62, + "untrustedPercent": 90.03 + }, + { + "date": "2025-10-31", + "listSize": 9505, + "trusted": 504, + "provenance": 435, + "untrusted": 8458, + "total": 9397, + "trustedPercent": 5.36, + "provenancePercent": 4.63, + "untrustedPercent": 90.01 + }, + { + "date": "2025-11-01", + "listSize": 9505, + "trusted": 506, + "provenance": 435, + "untrusted": 8456, + "total": 9397, + "trustedPercent": 5.38, + "provenancePercent": 4.63, + "untrustedPercent": 89.99 + }, + { + "date": "2025-11-02", + "listSize": 9505, + "trusted": 506, + "provenance": 435, + "untrusted": 8456, + "total": 9397, + "trustedPercent": 5.38, + "provenancePercent": 4.63, + "untrustedPercent": 89.99 + }, + { + "date": "2025-11-03", + "listSize": 9505, + "trusted": 506, + "provenance": 435, + "untrusted": 8456, + "total": 9397, + "trustedPercent": 5.38, + "provenancePercent": 4.63, + "untrustedPercent": 89.99 + }, + { + "date": "2025-11-04", + "listSize": 9505, + "trusted": 511, + "provenance": 432, + "untrusted": 8454, + "total": 9397, + "trustedPercent": 5.44, + "provenancePercent": 4.6, + "untrustedPercent": 89.96 + }, + { + "date": "2025-11-05", + "listSize": 9505, + "trusted": 514, + "provenance": 428, + "untrusted": 8455, + "total": 9397, + "trustedPercent": 5.47, + "provenancePercent": 4.55, + "untrustedPercent": 89.98 + }, + { + "date": "2025-11-06", + "listSize": 9505, + "trusted": 516, + "provenance": 427, + "untrusted": 8454, + "total": 9397, + "trustedPercent": 5.49, + "provenancePercent": 4.54, + "untrustedPercent": 89.96 + }, + { + "date": "2025-11-07", + "listSize": 9505, + "trusted": 523, + "provenance": 423, + "untrusted": 8451, + "total": 9397, + "trustedPercent": 5.57, + "provenancePercent": 4.5, + "untrustedPercent": 89.93 + }, + { + "date": "2025-11-08", + "listSize": 9505, + "trusted": 525, + "provenance": 422, + "untrusted": 8450, + "total": 9397, + "trustedPercent": 5.59, + "provenancePercent": 4.49, + "untrustedPercent": 89.92 + }, + { + "date": "2025-11-09", + "listSize": 9505, + "trusted": 526, + "provenance": 422, + "untrusted": 8449, + "total": 9397, + "trustedPercent": 5.6, + "provenancePercent": 4.49, + "untrustedPercent": 89.91 + }, + { + "date": "2025-11-10", + "listSize": 9505, + "trusted": 556, + "provenance": 420, + "untrusted": 8421, + "total": 9397, + "trustedPercent": 5.92, + "provenancePercent": 4.47, + "untrustedPercent": 89.61 + }, + { + "date": "2025-11-11", + "listSize": 9505, + "trusted": 563, + "provenance": 415, + "untrusted": 8419, + "total": 9397, + "trustedPercent": 5.99, + "provenancePercent": 4.42, + "untrustedPercent": 89.59 + }, + { + "date": "2025-11-12", + "listSize": 9505, + "trusted": 567, + "provenance": 413, + "untrusted": 8417, + "total": 9397, + "trustedPercent": 6.03, + "provenancePercent": 4.4, + "untrustedPercent": 89.57 + }, + { + "date": "2025-11-13", + "listSize": 9505, + "trusted": 569, + "provenance": 412, + "untrusted": 8416, + "total": 9397, + "trustedPercent": 6.06, + "provenancePercent": 4.38, + "untrustedPercent": 89.56 + }, + { + "date": "2025-11-14", + "listSize": 9505, + "trusted": 577, + "provenance": 408, + "untrusted": 8411, + "total": 9396, + "trustedPercent": 6.14, + "provenancePercent": 4.34, + "untrustedPercent": 89.52 + }, + { + "date": "2025-11-15", + "listSize": 9505, + "trusted": 578, + "provenance": 407, + "untrusted": 8412, + "total": 9397, + "trustedPercent": 6.15, + "provenancePercent": 4.33, + "untrustedPercent": 89.52 + }, + { + "date": "2025-11-16", + "listSize": 9505, + "trusted": 579, + "provenance": 408, + "untrusted": 8410, + "total": 9397, + "trustedPercent": 6.16, + "provenancePercent": 4.34, + "untrustedPercent": 89.5 + }, + { + "date": "2025-11-17", + "listSize": 9505, + "trusted": 579, + "provenance": 407, + "untrusted": 8411, + "total": 9397, + "trustedPercent": 6.16, + "provenancePercent": 4.33, + "untrustedPercent": 89.51 + }, + { + "date": "2025-11-18", + "listSize": 9505, + "trusted": 583, + "provenance": 403, + "untrusted": 8411, + "total": 9397, + "trustedPercent": 6.2, + "provenancePercent": 4.29, + "untrustedPercent": 89.51 + }, + { + "date": "2025-11-19", + "listSize": 9505, + "trusted": 587, + "provenance": 403, + "untrusted": 8407, + "total": 9397, + "trustedPercent": 6.25, + "provenancePercent": 4.29, + "untrustedPercent": 89.46 + }, + { + "date": "2025-11-20", + "listSize": 9505, + "trusted": 598, + "provenance": 392, + "untrusted": 8407, + "total": 9397, + "trustedPercent": 6.36, + "provenancePercent": 4.17, + "untrustedPercent": 89.46 + }, + { + "date": "2025-11-21", + "listSize": 9505, + "trusted": 599, + "provenance": 391, + "untrusted": 8407, + "total": 9397, + "trustedPercent": 6.37, + "provenancePercent": 4.16, + "untrustedPercent": 89.46 + }, + { + "date": "2025-11-22", + "listSize": 9505, + "trusted": 599, + "provenance": 391, + "untrusted": 8407, + "total": 9397, + "trustedPercent": 6.37, + "provenancePercent": 4.16, + "untrustedPercent": 89.46 + }, + { + "date": "2025-11-23", + "listSize": 9505, + "trusted": 601, + "provenance": 392, + "untrusted": 8404, + "total": 9397, + "trustedPercent": 6.4, + "provenancePercent": 4.17, + "untrustedPercent": 89.43 + }, + { + "date": "2025-11-24", + "listSize": 9505, + "trusted": 601, + "provenance": 392, + "untrusted": 8404, + "total": 9397, + "trustedPercent": 6.4, + "provenancePercent": 4.17, + "untrustedPercent": 89.43 + }, + { + "date": "2025-11-25", + "listSize": 9505, + "trusted": 602, + "provenance": 392, + "untrusted": 8403, + "total": 9397, + "trustedPercent": 6.41, + "provenancePercent": 4.17, + "untrustedPercent": 89.42 + }, + { + "date": "2025-11-26", + "listSize": 9505, + "trusted": 607, + "provenance": 390, + "untrusted": 8400, + "total": 9397, + "trustedPercent": 6.46, + "provenancePercent": 4.15, + "untrustedPercent": 89.39 + }, + { + "date": "2025-11-27", + "listSize": 9505, + "trusted": 609, + "provenance": 390, + "untrusted": 8398, + "total": 9397, + "trustedPercent": 6.48, + "provenancePercent": 4.15, + "untrustedPercent": 89.37 + }, + { + "date": "2025-11-28", + "listSize": 9505, + "trusted": 613, + "provenance": 393, + "untrusted": 8391, + "total": 9397, + "trustedPercent": 6.52, + "provenancePercent": 4.18, + "untrustedPercent": 89.29 + }, + { + "date": "2025-11-29", + "listSize": 9505, + "trusted": 616, + "provenance": 391, + "untrusted": 8390, + "total": 9397, + "trustedPercent": 6.56, + "provenancePercent": 4.16, + "untrustedPercent": 89.28 + }, + { + "date": "2025-11-30", + "listSize": 9505, + "trusted": 617, + "provenance": 395, + "untrusted": 8385, + "total": 9397, + "trustedPercent": 6.57, + "provenancePercent": 4.2, + "untrustedPercent": 89.23 + }, + { + "date": "2025-12-01", + "listSize": 9505, + "trusted": 618, + "provenance": 395, + "untrusted": 8384, + "total": 9397, + "trustedPercent": 6.58, + "provenancePercent": 4.2, + "untrustedPercent": 89.22 + }, + { + "date": "2025-12-02", + "listSize": 9505, + "trusted": 621, + "provenance": 395, + "untrusted": 8381, + "total": 9397, + "trustedPercent": 6.61, + "provenancePercent": 4.2, + "untrustedPercent": 89.19 + }, + { + "date": "2025-12-03", + "listSize": 9505, + "trusted": 622, + "provenance": 394, + "untrusted": 8381, + "total": 9397, + "trustedPercent": 6.62, + "provenancePercent": 4.19, + "untrustedPercent": 89.19 + }, + { + "date": "2025-12-04", + "listSize": 9505, + "trusted": 629, + "provenance": 393, + "untrusted": 8375, + "total": 9397, + "trustedPercent": 6.69, + "provenancePercent": 4.18, + "untrustedPercent": 89.12 + }, + { + "date": "2025-12-05", + "listSize": 15113, + "trusted": 917, + "provenance": 988, + "untrusted": 12991, + "total": 14896, + "trustedPercent": 6.16, + "provenancePercent": 6.63, + "untrustedPercent": 87.21 + }, + { + "date": "2025-12-06", + "listSize": 15113, + "trusted": 934, + "provenance": 972, + "untrusted": 12986, + "total": 14892, + "trustedPercent": 6.27, + "provenancePercent": 6.53, + "untrustedPercent": 87.2 + }, + { + "date": "2025-12-07", + "listSize": 15113, + "trusted": 1104, + "provenance": 810, + "untrusted": 12985, + "total": 14899, + "trustedPercent": 7.41, + "provenancePercent": 5.44, + "untrustedPercent": 87.15 + }, + { + "date": "2025-12-08", + "listSize": 15113, + "trusted": 1105, + "provenance": 810, + "untrusted": 12984, + "total": 14899, + "trustedPercent": 7.42, + "provenancePercent": 5.44, + "untrustedPercent": 87.15 + }, + { + "date": "2025-12-09", + "listSize": 15113, + "trusted": 1107, + "provenance": 811, + "untrusted": 12981, + "total": 14899, + "trustedPercent": 7.43, + "provenancePercent": 5.44, + "untrustedPercent": 87.13 + }, + { + "date": "2025-12-10", + "listSize": 15113, + "trusted": 1132, + "provenance": 807, + "untrusted": 12960, + "total": 14899, + "trustedPercent": 7.6, + "provenancePercent": 5.42, + "untrustedPercent": 86.99 + }, + { + "date": "2025-12-11", + "listSize": 15113, + "trusted": 1145, + "provenance": 802, + "untrusted": 12952, + "total": 14899, + "trustedPercent": 7.69, + "provenancePercent": 5.38, + "untrustedPercent": 86.93 + }, + { + "date": "2025-12-12", + "listSize": 15113, + "trusted": 1152, + "provenance": 799, + "untrusted": 12948, + "total": 14899, + "trustedPercent": 7.73, + "provenancePercent": 5.36, + "untrustedPercent": 86.91 + }, + { + "date": "2025-12-13", + "listSize": 15113, + "trusted": 1192, + "provenance": 787, + "untrusted": 12920, + "total": 14899, + "trustedPercent": 8, + "provenancePercent": 5.28, + "untrustedPercent": 86.72 + }, + { + "date": "2025-12-14", + "listSize": 15113, + "trusted": 1195, + "provenance": 787, + "untrusted": 12917, + "total": 14899, + "trustedPercent": 8.02, + "provenancePercent": 5.28, + "untrustedPercent": 86.7 + }, + { + "date": "2025-12-15", + "listSize": 15113, + "trusted": 1197, + "provenance": 786, + "untrusted": 12916, + "total": 14899, + "trustedPercent": 8.03, + "provenancePercent": 5.28, + "untrustedPercent": 86.69 + }, + { + "date": "2025-12-16", + "listSize": 15113, + "trusted": 1215, + "provenance": 782, + "untrusted": 12902, + "total": 14899, + "trustedPercent": 8.15, + "provenancePercent": 5.25, + "untrustedPercent": 86.6 + }, + { + "date": "2025-12-17", + "listSize": 15113, + "trusted": 1224, + "provenance": 782, + "untrusted": 12893, + "total": 14899, + "trustedPercent": 8.22, + "provenancePercent": 5.25, + "untrustedPercent": 86.54 + }, + { + "date": "2025-12-18", + "listSize": 15113, + "trusted": 1248, + "provenance": 782, + "untrusted": 12869, + "total": 14899, + "trustedPercent": 8.38, + "provenancePercent": 5.25, + "untrustedPercent": 86.37 + }, + { + "date": "2025-12-19", + "listSize": 15113, + "trusted": 1250, + "provenance": 781, + "untrusted": 12868, + "total": 14899, + "trustedPercent": 8.39, + "provenancePercent": 5.24, + "untrustedPercent": 86.37 + }, + { + "date": "2025-12-20", + "listSize": 15113, + "trusted": 1303, + "provenance": 729, + "untrusted": 12867, + "total": 14899, + "trustedPercent": 8.75, + "provenancePercent": 4.89, + "untrustedPercent": 86.36 + }, + { + "date": "2025-12-21", + "listSize": 15113, + "trusted": 1308, + "provenance": 728, + "untrusted": 12863, + "total": 14899, + "trustedPercent": 8.78, + "provenancePercent": 4.89, + "untrustedPercent": 86.33 + }, + { + "date": "2025-12-22", + "listSize": 15113, + "trusted": 1317, + "provenance": 723, + "untrusted": 12859, + "total": 14899, + "trustedPercent": 8.84, + "provenancePercent": 4.85, + "untrustedPercent": 86.31 + }, + { + "date": "2025-12-23", + "listSize": 15113, + "trusted": 1322, + "provenance": 719, + "untrusted": 12858, + "total": 14899, + "trustedPercent": 8.87, + "provenancePercent": 4.83, + "untrustedPercent": 86.3 + }, + { + "date": "2025-12-24", + "listSize": 15113, + "trusted": 1334, + "provenance": 712, + "untrusted": 12853, + "total": 14899, + "trustedPercent": 8.95, + "provenancePercent": 4.78, + "untrustedPercent": 86.27 + }, + { + "date": "2025-12-25", + "listSize": 15113, + "trusted": 1348, + "provenance": 699, + "untrusted": 12852, + "total": 14899, + "trustedPercent": 9.05, + "provenancePercent": 4.69, + "untrustedPercent": 86.26 + }, + { + "date": "2025-12-26", + "listSize": 15113, + "trusted": 1350, + "provenance": 697, + "untrusted": 12852, + "total": 14899, + "trustedPercent": 9.06, + "provenancePercent": 4.68, + "untrustedPercent": 86.26 + }, + { + "date": "2025-12-27", + "listSize": 15113, + "trusted": 1350, + "provenance": 698, + "untrusted": 12851, + "total": 14899, + "trustedPercent": 9.06, + "provenancePercent": 4.68, + "untrustedPercent": 86.25 + }, + { + "date": "2025-12-28", + "listSize": 15113, + "trusted": 1351, + "provenance": 697, + "untrusted": 12851, + "total": 14899, + "trustedPercent": 9.07, + "provenancePercent": 4.68, + "untrustedPercent": 86.25 + }, + { + "date": "2025-12-29", + "listSize": 15113, + "trusted": 1361, + "provenance": 689, + "untrusted": 12849, + "total": 14899, + "trustedPercent": 9.13, + "provenancePercent": 4.62, + "untrustedPercent": 86.24 + }, + { + "date": "2025-12-30", + "listSize": 15113, + "trusted": 1365, + "provenance": 688, + "untrusted": 12846, + "total": 14899, + "trustedPercent": 9.16, + "provenancePercent": 4.62, + "untrustedPercent": 86.22 + }, + { + "date": "2025-12-31", + "listSize": 15113, + "trusted": 1369, + "provenance": 687, + "untrusted": 12843, + "total": 14899, + "trustedPercent": 9.19, + "provenancePercent": 4.61, + "untrustedPercent": 86.2 + }, + { + "date": "2026-01-01", + "listSize": 15113, + "trusted": 1371, + "provenance": 685, + "untrusted": 12843, + "total": 14899, + "trustedPercent": 9.2, + "provenancePercent": 4.6, + "untrustedPercent": 86.2 + }, + { + "date": "2026-01-02", + "listSize": 15113, + "trusted": 1373, + "provenance": 685, + "untrusted": 12841, + "total": 14899, + "trustedPercent": 9.22, + "provenancePercent": 4.6, + "untrustedPercent": 86.19 + }, + { + "date": "2026-01-03", + "listSize": 15113, + "trusted": 1397, + "provenance": 685, + "untrusted": 12817, + "total": 14899, + "trustedPercent": 9.38, + "provenancePercent": 4.6, + "untrustedPercent": 86.03 + }, + { + "date": "2026-01-04", + "listSize": 15113, + "trusted": 1406, + "provenance": 685, + "untrusted": 12808, + "total": 14899, + "trustedPercent": 9.44, + "provenancePercent": 4.6, + "untrustedPercent": 85.97 + }, + { + "date": "2026-01-05", + "listSize": 15113, + "trusted": 1410, + "provenance": 683, + "untrusted": 12806, + "total": 14899, + "trustedPercent": 9.46, + "provenancePercent": 4.58, + "untrustedPercent": 85.95 + }, + { + "date": "2026-01-06", + "listSize": 15113, + "trusted": 1415, + "provenance": 680, + "untrusted": 12804, + "total": 14899, + "trustedPercent": 9.5, + "provenancePercent": 4.56, + "untrustedPercent": 85.94 + }, + { + "date": "2026-01-07", + "listSize": 15113, + "trusted": 1429, + "provenance": 679, + "untrusted": 12791, + "total": 14899, + "trustedPercent": 9.59, + "provenancePercent": 4.56, + "untrustedPercent": 85.85 + }, + { + "date": "2026-01-08", + "listSize": 15113, + "trusted": 1443, + "provenance": 675, + "untrusted": 12781, + "total": 14899, + "trustedPercent": 9.69, + "provenancePercent": 4.53, + "untrustedPercent": 85.78 + }, + { + "date": "2026-01-09", + "listSize": 15113, + "trusted": 1449, + "provenance": 673, + "untrusted": 12777, + "total": 14899, + "trustedPercent": 9.73, + "provenancePercent": 4.52, + "untrustedPercent": 85.76 + }, + { + "date": "2026-01-10", + "listSize": 15113, + "trusted": 1454, + "provenance": 673, + "untrusted": 12772, + "total": 14899, + "trustedPercent": 9.76, + "provenancePercent": 4.52, + "untrustedPercent": 85.72 + }, + { + "date": "2026-01-11", + "listSize": 15113, + "trusted": 1455, + "provenance": 676, + "untrusted": 12768, + "total": 14899, + "trustedPercent": 9.77, + "provenancePercent": 4.54, + "untrustedPercent": 85.7 + }, + { + "date": "2026-01-12", + "listSize": 15113, + "trusted": 1456, + "provenance": 675, + "untrusted": 12768, + "total": 14899, + "trustedPercent": 9.77, + "provenancePercent": 4.53, + "untrustedPercent": 85.7 + }, + { + "date": "2026-01-13", + "listSize": 15113, + "trusted": 1515, + "provenance": 675, + "untrusted": 12709, + "total": 14899, + "trustedPercent": 10.17, + "provenancePercent": 4.53, + "untrustedPercent": 85.3 + }, + { + "date": "2026-01-14", + "listSize": 15113, + "trusted": 1526, + "provenance": 674, + "untrusted": 12699, + "total": 14899, + "trustedPercent": 10.24, + "provenancePercent": 4.52, + "untrustedPercent": 85.23 + }, + { + "date": "2026-01-15", + "listSize": 15113, + "trusted": 1541, + "provenance": 671, + "untrusted": 12687, + "total": 14899, + "trustedPercent": 10.34, + "provenancePercent": 4.5, + "untrustedPercent": 85.15 + }, + { + "date": "2026-01-16", + "listSize": 15113, + "trusted": 1546, + "provenance": 670, + "untrusted": 12683, + "total": 14899, + "trustedPercent": 10.38, + "provenancePercent": 4.5, + "untrustedPercent": 85.13 + }, + { + "date": "2026-01-17", + "listSize": 15113, + "trusted": 1551, + "provenance": 668, + "untrusted": 12680, + "total": 14899, + "trustedPercent": 10.41, + "provenancePercent": 4.48, + "untrustedPercent": 85.11 + }, + { + "date": "2026-01-18", + "listSize": 15113, + "trusted": 1558, + "provenance": 666, + "untrusted": 12675, + "total": 14899, + "trustedPercent": 10.46, + "provenancePercent": 4.47, + "untrustedPercent": 85.07 + }, + { + "date": "2026-01-19", + "listSize": 15113, + "trusted": 1561, + "provenance": 666, + "untrusted": 12672, + "total": 14899, + "trustedPercent": 10.48, + "provenancePercent": 4.47, + "untrustedPercent": 85.05 + }, + { + "date": "2026-01-20", + "listSize": 15113, + "trusted": 1563, + "provenance": 665, + "untrusted": 12671, + "total": 14899, + "trustedPercent": 10.49, + "provenancePercent": 4.46, + "untrustedPercent": 85.05 + }, + { + "date": "2026-01-21", + "listSize": 15113, + "trusted": 1579, + "provenance": 662, + "untrusted": 12658, + "total": 14899, + "trustedPercent": 10.6, + "provenancePercent": 4.44, + "untrustedPercent": 84.96 + }, + { + "date": "2026-01-22", + "listSize": 15113, + "trusted": 1584, + "provenance": 662, + "untrusted": 12653, + "total": 14899, + "trustedPercent": 10.63, + "provenancePercent": 4.44, + "untrustedPercent": 84.93 + }, + { + "date": "2026-01-23", + "listSize": 15113, + "trusted": 1587, + "provenance": 661, + "untrusted": 12651, + "total": 14899, + "trustedPercent": 10.65, + "provenancePercent": 4.44, + "untrustedPercent": 84.91 + }, + { + "date": "2026-01-24", + "listSize": 15113, + "trusted": 1590, + "provenance": 660, + "untrusted": 12649, + "total": 14899, + "trustedPercent": 10.67, + "provenancePercent": 4.43, + "untrustedPercent": 84.9 + }, + { + "date": "2026-01-25", + "listSize": 15113, + "trusted": 1593, + "provenance": 660, + "untrusted": 12646, + "total": 14899, + "trustedPercent": 10.69, + "provenancePercent": 4.43, + "untrustedPercent": 84.88 + }, + { + "date": "2026-01-26", + "listSize": 15113, + "trusted": 1594, + "provenance": 659, + "untrusted": 12646, + "total": 14899, + "trustedPercent": 10.7, + "provenancePercent": 4.42, + "untrustedPercent": 84.88 + }, + { + "date": "2026-01-27", + "listSize": 15113, + "trusted": 1601, + "provenance": 659, + "untrusted": 12639, + "total": 14899, + "trustedPercent": 10.75, + "provenancePercent": 4.42, + "untrustedPercent": 84.83 + }, + { + "date": "2026-01-28", + "listSize": 15113, + "trusted": 1610, + "provenance": 658, + "untrusted": 12631, + "total": 14899, + "trustedPercent": 10.81, + "provenancePercent": 4.42, + "untrustedPercent": 84.78 + }, + { + "date": "2026-01-29", + "listSize": 15113, + "trusted": 1729, + "provenance": 655, + "untrusted": 12515, + "total": 14899, + "trustedPercent": 11.6, + "provenancePercent": 4.4, + "untrustedPercent": 84 + }, + { + "date": "2026-01-30", + "listSize": 15113, + "trusted": 1734, + "provenance": 654, + "untrusted": 12511, + "total": 14899, + "trustedPercent": 11.64, + "provenancePercent": 4.39, + "untrustedPercent": 83.97 + }, + { + "date": "2026-01-31", + "listSize": 15113, + "trusted": 1739, + "provenance": 653, + "untrusted": 12507, + "total": 14899, + "trustedPercent": 11.67, + "provenancePercent": 4.38, + "untrustedPercent": 83.95 + }, + { + "date": "2026-02-01", + "listSize": 15113, + "trusted": 1747, + "provenance": 654, + "untrusted": 12498, + "total": 14899, + "trustedPercent": 11.73, + "provenancePercent": 4.39, + "untrustedPercent": 83.88 + }, + { + "date": "2026-02-02", + "listSize": 15113, + "trusted": 1750, + "provenance": 653, + "untrusted": 12496, + "total": 14899, + "trustedPercent": 11.75, + "provenancePercent": 4.38, + "untrustedPercent": 83.87 + }, + { + "date": "2026-02-03", + "listSize": 15113, + "trusted": 1753, + "provenance": 652, + "untrusted": 12494, + "total": 14899, + "trustedPercent": 11.77, + "provenancePercent": 4.38, + "untrustedPercent": 83.86 + }, + { + "date": "2026-02-04", + "listSize": 15113, + "trusted": 1760, + "provenance": 650, + "untrusted": 12489, + "total": 14899, + "trustedPercent": 11.81, + "provenancePercent": 4.36, + "untrustedPercent": 83.82 + }, + { + "date": "2026-02-05", + "listSize": 15113, + "trusted": 1777, + "provenance": 648, + "untrusted": 12474, + "total": 14899, + "trustedPercent": 11.93, + "provenancePercent": 4.35, + "untrustedPercent": 83.72 + }, + { + "date": "2026-02-06", + "listSize": 15113, + "trusted": 1781, + "provenance": 647, + "untrusted": 12471, + "total": 14899, + "trustedPercent": 11.95, + "provenancePercent": 4.34, + "untrustedPercent": 83.7 + }, + { + "date": "2026-02-07", + "listSize": 15113, + "trusted": 1787, + "provenance": 646, + "untrusted": 12466, + "total": 14899, + "trustedPercent": 11.99, + "provenancePercent": 4.34, + "untrustedPercent": 83.67 + }, + { + "date": "2026-02-08", + "listSize": 15113, + "trusted": 1789, + "provenance": 645, + "untrusted": 12465, + "total": 14899, + "trustedPercent": 12.01, + "provenancePercent": 4.33, + "untrustedPercent": 83.66 + }, + { + "date": "2026-02-09", + "listSize": 15113, + "trusted": 1794, + "provenance": 644, + "untrusted": 12461, + "total": 14899, + "trustedPercent": 12.04, + "provenancePercent": 4.32, + "untrustedPercent": 83.64 + }, + { + "date": "2026-02-10", + "listSize": 15113, + "trusted": 1806, + "provenance": 641, + "untrusted": 12452, + "total": 14899, + "trustedPercent": 12.12, + "provenancePercent": 4.3, + "untrustedPercent": 83.58 + }, + { + "date": "2026-02-11", + "listSize": 15113, + "trusted": 1810, + "provenance": 640, + "untrusted": 12449, + "total": 14899, + "trustedPercent": 12.15, + "provenancePercent": 4.3, + "untrustedPercent": 83.56 + }, + { + "date": "2026-02-12", + "listSize": 15113, + "trusted": 1815, + "provenance": 637, + "untrusted": 12447, + "total": 14899, + "trustedPercent": 12.18, + "provenancePercent": 4.28, + "untrustedPercent": 83.54 + }, + { + "date": "2026-02-13", + "listSize": 15113, + "trusted": 1823, + "provenance": 634, + "untrusted": 12442, + "total": 14899, + "trustedPercent": 12.24, + "provenancePercent": 4.26, + "untrustedPercent": 83.51 + }, + { + "date": "2026-02-14", + "listSize": 15113, + "trusted": 1828, + "provenance": 635, + "untrusted": 12436, + "total": 14899, + "trustedPercent": 12.27, + "provenancePercent": 4.26, + "untrustedPercent": 83.47 + }, + { + "date": "2026-02-15", + "listSize": 15113, + "trusted": 1832, + "provenance": 633, + "untrusted": 12434, + "total": 14899, + "trustedPercent": 12.3, + "provenancePercent": 4.25, + "untrustedPercent": 83.46 + }, + { + "date": "2026-02-16", + "listSize": 15113, + "trusted": 1839, + "provenance": 631, + "untrusted": 12429, + "total": 14899, + "trustedPercent": 12.34, + "provenancePercent": 4.24, + "untrustedPercent": 83.42 + }, + { + "date": "2026-02-17", + "listSize": 15113, + "trusted": 1841, + "provenance": 630, + "untrusted": 12428, + "total": 14899, + "trustedPercent": 12.36, + "provenancePercent": 4.23, + "untrustedPercent": 83.41 + }, + { + "date": "2026-02-18", + "listSize": 15113, + "trusted": 1846, + "provenance": 627, + "untrusted": 12426, + "total": 14899, + "trustedPercent": 12.39, + "provenancePercent": 4.21, + "untrustedPercent": 83.4 + }, + { + "date": "2026-02-19", + "listSize": 15113, + "trusted": 1852, + "provenance": 623, + "untrusted": 12424, + "total": 14899, + "trustedPercent": 12.43, + "provenancePercent": 4.18, + "untrustedPercent": 83.39 + }, + { + "date": "2026-02-20", + "listSize": 15113, + "trusted": 1857, + "provenance": 622, + "untrusted": 12420, + "total": 14899, + "trustedPercent": 12.46, + "provenancePercent": 4.17, + "untrustedPercent": 83.36 + }, + { + "date": "2026-02-21", + "listSize": 15113, + "trusted": 1876, + "provenance": 621, + "untrusted": 12402, + "total": 14899, + "trustedPercent": 12.59, + "provenancePercent": 4.17, + "untrustedPercent": 83.24 + }, + { + "date": "2026-02-22", + "listSize": 15113, + "trusted": 1877, + "provenance": 621, + "untrusted": 12401, + "total": 14899, + "trustedPercent": 12.6, + "provenancePercent": 4.17, + "untrustedPercent": 83.23 + }, + { + "date": "2026-02-23", + "listSize": 15113, + "trusted": 1879, + "provenance": 621, + "untrusted": 12399, + "total": 14899, + "trustedPercent": 12.61, + "provenancePercent": 4.17, + "untrustedPercent": 83.22 + }, + { + "date": "2026-02-24", + "listSize": 15113, + "trusted": 1886, + "provenance": 619, + "untrusted": 12394, + "total": 14899, + "trustedPercent": 12.66, + "provenancePercent": 4.15, + "untrustedPercent": 83.19 + }, + { + "date": "2026-02-25", + "listSize": 15113, + "trusted": 1890, + "provenance": 619, + "untrusted": 12390, + "total": 14899, + "trustedPercent": 12.69, + "provenancePercent": 4.15, + "untrustedPercent": 83.16 + }, + { + "date": "2026-02-26", + "listSize": 15113, + "trusted": 1890, + "provenance": 621, + "untrusted": 12388, + "total": 14899, + "trustedPercent": 12.69, + "provenancePercent": 4.17, + "untrustedPercent": 83.15 + }, + { + "date": "2026-02-27", + "listSize": 15113, + "trusted": 1905, + "provenance": 617, + "untrusted": 12377, + "total": 14899, + "trustedPercent": 12.79, + "provenancePercent": 4.14, + "untrustedPercent": 83.07 + }, + { + "date": "2026-02-28", + "listSize": 15113, + "trusted": 1914, + "provenance": 612, + "untrusted": 12373, + "total": 14899, + "trustedPercent": 12.85, + "provenancePercent": 4.11, + "untrustedPercent": 83.05 + }, + { + "date": "2026-03-01", + "listSize": 15113, + "trusted": 1916, + "provenance": 611, + "untrusted": 12372, + "total": 14899, + "trustedPercent": 12.86, + "provenancePercent": 4.1, + "untrustedPercent": 83.04 + }, + { + "date": "2026-03-02", + "listSize": 15113, + "trusted": 1917, + "provenance": 610, + "untrusted": 12372, + "total": 14899, + "trustedPercent": 12.87, + "provenancePercent": 4.09, + "untrustedPercent": 83.04 + }, + { + "date": "2026-03-03", + "listSize": 15113, + "trusted": 1924, + "provenance": 607, + "untrusted": 12368, + "total": 14899, + "trustedPercent": 12.91, + "provenancePercent": 4.07, + "untrustedPercent": 83.01 + }, + { + "date": "2026-03-04", + "listSize": 15113, + "trusted": 1935, + "provenance": 600, + "untrusted": 12364, + "total": 14899, + "trustedPercent": 12.99, + "provenancePercent": 4.03, + "untrustedPercent": 82.99 + }, + { + "date": "2026-03-05", + "listSize": 15113, + "trusted": 1940, + "provenance": 597, + "untrusted": 12362, + "total": 14899, + "trustedPercent": 13.02, + "provenancePercent": 4.01, + "untrustedPercent": 82.97 + }, + { + "date": "2026-03-06", + "listSize": 15113, + "trusted": 1947, + "provenance": 595, + "untrusted": 12357, + "total": 14899, + "trustedPercent": 13.07, + "provenancePercent": 3.99, + "untrustedPercent": 82.94 + }, + { + "date": "2026-03-07", + "listSize": 15113, + "trusted": 1953, + "provenance": 595, + "untrusted": 12351, + "total": 14899, + "trustedPercent": 13.11, + "provenancePercent": 3.99, + "untrustedPercent": 82.9 + }, + { + "date": "2026-03-08", + "listSize": 15113, + "trusted": 1954, + "provenance": 595, + "untrusted": 12350, + "total": 14899, + "trustedPercent": 13.11, + "provenancePercent": 3.99, + "untrustedPercent": 82.89 + }, + { + "date": "2026-03-09", + "listSize": 15113, + "trusted": 1967, + "provenance": 595, + "untrusted": 12337, + "total": 14899, + "trustedPercent": 13.2, + "provenancePercent": 3.99, + "untrustedPercent": 82.8 + }, + { + "date": "2026-03-10", + "listSize": 15113, + "trusted": 1974, + "provenance": 592, + "untrusted": 12333, + "total": 14899, + "trustedPercent": 13.25, + "provenancePercent": 3.97, + "untrustedPercent": 82.78 + }, + { + "date": "2026-03-11", + "listSize": 15113, + "trusted": 1981, + "provenance": 592, + "untrusted": 12326, + "total": 14899, + "trustedPercent": 13.3, + "provenancePercent": 3.97, + "untrustedPercent": 82.73 + }, + { + "date": "2026-03-12", + "listSize": 15113, + "trusted": 1992, + "provenance": 592, + "untrusted": 12315, + "total": 14899, + "trustedPercent": 13.37, + "provenancePercent": 3.97, + "untrustedPercent": 82.66 + }, + { + "date": "2026-03-13", + "listSize": 15113, + "trusted": 1997, + "provenance": 590, + "untrusted": 12312, + "total": 14899, + "trustedPercent": 13.4, + "provenancePercent": 3.96, + "untrustedPercent": 82.64 + }, + { + "date": "2026-03-14", + "listSize": 15113, + "trusted": 2003, + "provenance": 589, + "untrusted": 12307, + "total": 14899, + "trustedPercent": 13.44, + "provenancePercent": 3.95, + "untrustedPercent": 82.6 + }, + { + "date": "2026-03-15", + "listSize": 15113, + "trusted": 2004, + "provenance": 590, + "untrusted": 12305, + "total": 14899, + "trustedPercent": 13.45, + "provenancePercent": 3.96, + "untrustedPercent": 82.59 + }, + { + "date": "2026-03-16", + "listSize": 15113, + "trusted": 2005, + "provenance": 596, + "untrusted": 12298, + "total": 14899, + "trustedPercent": 13.46, + "provenancePercent": 4, + "untrustedPercent": 82.54 + }, + { + "date": "2026-03-17", + "listSize": 15113, + "trusted": 2011, + "provenance": 592, + "untrusted": 12296, + "total": 14899, + "trustedPercent": 13.5, + "provenancePercent": 3.97, + "untrustedPercent": 82.53 + }, + { + "date": "2026-03-18", + "listSize": 15113, + "trusted": 2028, + "provenance": 591, + "untrusted": 12280, + "total": 14899, + "trustedPercent": 13.61, + "provenancePercent": 3.97, + "untrustedPercent": 82.42 + }, + { + "date": "2026-03-19", + "listSize": 15113, + "trusted": 2035, + "provenance": 591, + "untrusted": 12273, + "total": 14899, + "trustedPercent": 13.66, + "provenancePercent": 3.97, + "untrustedPercent": 82.37 + }, + { + "date": "2026-03-20", + "listSize": 15113, + "trusted": 2046, + "provenance": 591, + "untrusted": 12262, + "total": 14899, + "trustedPercent": 13.73, + "provenancePercent": 3.97, + "untrustedPercent": 82.3 + }, + { + "date": "2026-03-21", + "listSize": 15113, + "trusted": 2051, + "provenance": 590, + "untrusted": 12258, + "total": 14899, + "trustedPercent": 13.77, + "provenancePercent": 3.96, + "untrustedPercent": 82.27 + }, + { + "date": "2026-03-22", + "listSize": 15113, + "trusted": 2052, + "provenance": 590, + "untrusted": 12257, + "total": 14899, + "trustedPercent": 13.77, + "provenancePercent": 3.96, + "untrustedPercent": 82.27 + }, + { + "date": "2026-03-23", + "listSize": 15113, + "trusted": 2055, + "provenance": 590, + "untrusted": 12254, + "total": 14899, + "trustedPercent": 13.79, + "provenancePercent": 3.96, + "untrustedPercent": 82.25 + }, + { + "date": "2026-03-24", + "listSize": 15113, + "trusted": 2057, + "provenance": 590, + "untrusted": 12252, + "total": 14899, + "trustedPercent": 13.81, + "provenancePercent": 3.96, + "untrustedPercent": 82.23 + }, + { + "date": "2026-03-25", + "listSize": 15113, + "trusted": 2062, + "provenance": 588, + "untrusted": 12249, + "total": 14899, + "trustedPercent": 13.84, + "provenancePercent": 3.95, + "untrustedPercent": 82.21 + }, + { + "date": "2026-03-26", + "listSize": 15113, + "trusted": 2071, + "provenance": 589, + "untrusted": 12239, + "total": 14899, + "trustedPercent": 13.9, + "provenancePercent": 3.95, + "untrustedPercent": 82.15 + }, + { + "date": "2026-03-27", + "listSize": 15113, + "trusted": 2072, + "provenance": 590, + "untrusted": 12237, + "total": 14899, + "trustedPercent": 13.91, + "provenancePercent": 3.96, + "untrustedPercent": 82.13 + }, + { + "date": "2026-03-28", + "listSize": 15113, + "trusted": 2076, + "provenance": 589, + "untrusted": 12234, + "total": 14899, + "trustedPercent": 13.93, + "provenancePercent": 3.95, + "untrustedPercent": 82.11 + }, + { + "date": "2026-03-29", + "listSize": 15113, + "trusted": 2077, + "provenance": 589, + "untrusted": 12233, + "total": 14899, + "trustedPercent": 13.94, + "provenancePercent": 3.95, + "untrustedPercent": 82.11 + }, + { + "date": "2026-03-30", + "listSize": 15113, + "trusted": 2080, + "provenance": 588, + "untrusted": 12231, + "total": 14899, + "trustedPercent": 13.96, + "provenancePercent": 3.95, + "untrustedPercent": 82.09 + }, + { + "date": "2026-03-31", + "listSize": 15113, + "trusted": 2083, + "provenance": 588, + "untrusted": 12228, + "total": 14899, + "trustedPercent": 13.98, + "provenancePercent": 3.95, + "untrustedPercent": 82.07 + }, + { + "date": "2026-04-01", + "listSize": 15113, + "trusted": 2088, + "provenance": 588, + "untrusted": 12223, + "total": 14899, + "trustedPercent": 14.01, + "provenancePercent": 3.95, + "untrustedPercent": 82.04 + }, + { + "date": "2026-04-02", + "listSize": 15113, + "trusted": 2092, + "provenance": 585, + "untrusted": 12222, + "total": 14899, + "trustedPercent": 14.04, + "provenancePercent": 3.93, + "untrustedPercent": 82.03 + }, + { + "date": "2026-04-03", + "listSize": 15113, + "trusted": 2096, + "provenance": 591, + "untrusted": 12212, + "total": 14899, + "trustedPercent": 14.07, + "provenancePercent": 3.97, + "untrustedPercent": 81.97 + }, + { + "date": "2026-04-04", + "listSize": 15113, + "trusted": 2106, + "provenance": 582, + "untrusted": 12211, + "total": 14899, + "trustedPercent": 14.14, + "provenancePercent": 3.91, + "untrustedPercent": 81.96 + }, + { + "date": "2026-04-05", + "listSize": 15113, + "trusted": 2114, + "provenance": 582, + "untrusted": 12203, + "total": 14899, + "trustedPercent": 14.19, + "provenancePercent": 3.91, + "untrustedPercent": 81.9 + }, + { + "date": "2026-04-06", + "listSize": 15113, + "trusted": 2114, + "provenance": 582, + "untrusted": 12203, + "total": 14899, + "trustedPercent": 14.19, + "provenancePercent": 3.91, + "untrustedPercent": 81.9 + }, + { + "date": "2026-04-07", + "listSize": 15113, + "trusted": 2127, + "provenance": 576, + "untrusted": 12196, + "total": 14899, + "trustedPercent": 14.28, + "provenancePercent": 3.87, + "untrustedPercent": 81.86 + }, + { + "date": "2026-04-08", + "listSize": 15113, + "trusted": 2158, + "provenance": 572, + "untrusted": 12169, + "total": 14899, + "trustedPercent": 14.48, + "provenancePercent": 3.84, + "untrustedPercent": 81.68 + }, + { + "date": "2026-04-09", + "listSize": 15113, + "trusted": 2163, + "provenance": 571, + "untrusted": 12165, + "total": 14899, + "trustedPercent": 14.52, + "provenancePercent": 3.83, + "untrustedPercent": 81.65 + }, + { + "date": "2026-04-10", + "listSize": 15113, + "trusted": 2179, + "provenance": 560, + "untrusted": 12160, + "total": 14899, + "trustedPercent": 14.63, + "provenancePercent": 3.76, + "untrustedPercent": 81.62 + }, + { + "date": "2026-04-11", + "listSize": 15113, + "trusted": 2177, + "provenance": 568, + "untrusted": 12154, + "total": 14899, + "trustedPercent": 14.61, + "provenancePercent": 3.81, + "untrustedPercent": 81.58 + }, + { + "date": "2026-04-12", + "listSize": 15113, + "trusted": 2180, + "provenance": 566, + "untrusted": 12153, + "total": 14899, + "trustedPercent": 14.63, + "provenancePercent": 3.8, + "untrustedPercent": 81.57 + }, + { + "date": "2026-04-13", + "listSize": 15113, + "trusted": 2183, + "provenance": 563, + "untrusted": 12153, + "total": 14899, + "trustedPercent": 14.65, + "provenancePercent": 3.78, + "untrustedPercent": 81.57 + }, + { + "date": "2026-04-14", + "listSize": 15113, + "trusted": 2187, + "provenance": 562, + "untrusted": 12150, + "total": 14899, + "trustedPercent": 14.68, + "provenancePercent": 3.77, + "untrustedPercent": 81.55 + }, + { + "date": "2026-04-15", + "listSize": 15113, + "trusted": 2192, + "provenance": 560, + "untrusted": 12147, + "total": 14899, + "trustedPercent": 14.71, + "provenancePercent": 3.76, + "untrustedPercent": 81.53 + }, + { + "date": "2026-04-16", + "listSize": 15113, + "trusted": 2197, + "provenance": 556, + "untrusted": 12146, + "total": 14899, + "trustedPercent": 14.75, + "provenancePercent": 3.73, + "untrustedPercent": 81.52 + }, + { + "date": "2026-04-17", + "listSize": 15113, + "trusted": 2202, + "provenance": 555, + "untrusted": 12142, + "total": 14899, + "trustedPercent": 14.78, + "provenancePercent": 3.73, + "untrustedPercent": 81.5 + }, + { + "date": "2026-04-18", + "listSize": 15113, + "trusted": 2207, + "provenance": 554, + "untrusted": 12138, + "total": 14899, + "trustedPercent": 14.81, + "provenancePercent": 3.72, + "untrustedPercent": 81.47 + }, + { + "date": "2026-04-19", + "listSize": 15113, + "trusted": 2209, + "provenance": 553, + "untrusted": 12137, + "total": 14899, + "trustedPercent": 14.83, + "provenancePercent": 3.71, + "untrustedPercent": 81.46 + }, + { + "date": "2026-04-20", + "listSize": 15113, + "trusted": 2212, + "provenance": 553, + "untrusted": 12134, + "total": 14899, + "trustedPercent": 14.85, + "provenancePercent": 3.71, + "untrustedPercent": 81.44 + }, + { + "date": "2026-04-21", + "listSize": 15113, + "trusted": 2263, + "provenance": 523, + "untrusted": 12113, + "total": 14899, + "trustedPercent": 15.19, + "provenancePercent": 3.51, + "untrustedPercent": 81.3 + }, + { + "date": "2026-04-22", + "listSize": 15113, + "trusted": 2273, + "provenance": 514, + "untrusted": 12112, + "total": 14899, + "trustedPercent": 15.26, + "provenancePercent": 3.45, + "untrustedPercent": 81.29 + }, + { + "date": "2026-04-23", + "listSize": 15113, + "trusted": 2274, + "provenance": 514, + "untrusted": 12111, + "total": 14899, + "trustedPercent": 15.26, + "provenancePercent": 3.45, + "untrustedPercent": 81.29 + }, + { + "date": "2026-04-24", + "listSize": 15113, + "trusted": 2292, + "provenance": 513, + "untrusted": 12094, + "total": 14899, + "trustedPercent": 15.38, + "provenancePercent": 3.44, + "untrustedPercent": 81.17 + }, + { + "date": "2026-04-25", + "listSize": 15113, + "trusted": 2297, + "provenance": 512, + "untrusted": 12090, + "total": 14899, + "trustedPercent": 15.42, + "provenancePercent": 3.44, + "untrustedPercent": 81.15 + }, + { + "date": "2026-04-26", + "listSize": 15113, + "trusted": 2297, + "provenance": 512, + "untrusted": 12090, + "total": 14899, + "trustedPercent": 15.42, + "provenancePercent": 3.44, + "untrustedPercent": 81.15 + }, + { + "date": "2026-04-27", + "listSize": 15113, + "trusted": 2298, + "provenance": 512, + "untrusted": 12089, + "total": 14899, + "trustedPercent": 15.42, + "provenancePercent": 3.44, + "untrustedPercent": 81.14 + }, + { + "date": "2026-04-28", + "listSize": 15113, + "trusted": 2302, + "provenance": 511, + "untrusted": 12086, + "total": 14899, + "trustedPercent": 15.45, + "provenancePercent": 3.43, + "untrustedPercent": 81.12 + }, + { + "date": "2026-04-29", + "listSize": 15113, + "trusted": 2305, + "provenance": 510, + "untrusted": 12084, + "total": 14899, + "trustedPercent": 15.47, + "provenancePercent": 3.42, + "untrustedPercent": 81.11 + }, + { + "date": "2026-04-30", + "listSize": 15113, + "trusted": 2331, + "provenance": 507, + "untrusted": 12061, + "total": 14899, + "trustedPercent": 15.65, + "provenancePercent": 3.4, + "untrustedPercent": 80.95 + }, + { + "date": "2026-05-01", + "listSize": 15113, + "trusted": 2344, + "provenance": 499, + "untrusted": 12056, + "total": 14899, + "trustedPercent": 15.73, + "provenancePercent": 3.35, + "untrustedPercent": 80.92 + }, + { + "date": "2026-05-02", + "listSize": 15113, + "trusted": 2354, + "provenance": 497, + "untrusted": 12048, + "total": 14899, + "trustedPercent": 15.8, + "provenancePercent": 3.34, + "untrustedPercent": 80.86 + }, + { + "date": "2026-05-03", + "listSize": 15113, + "trusted": 2355, + "provenance": 497, + "untrusted": 12047, + "total": 14899, + "trustedPercent": 15.81, + "provenancePercent": 3.34, + "untrustedPercent": 80.86 + }, + { + "date": "2026-05-04", + "listSize": 15113, + "trusted": 2356, + "provenance": 497, + "untrusted": 12046, + "total": 14899, + "trustedPercent": 15.81, + "provenancePercent": 3.34, + "untrustedPercent": 80.85 + }, + { + "date": "2026-05-05", + "listSize": 15113, + "trusted": 2361, + "provenance": 497, + "untrusted": 12041, + "total": 14899, + "trustedPercent": 15.85, + "provenancePercent": 3.34, + "untrustedPercent": 80.82 + }, + { + "date": "2026-05-06", + "listSize": 15113, + "trusted": 2363, + "provenance": 496, + "untrusted": 12040, + "total": 14899, + "trustedPercent": 15.86, + "provenancePercent": 3.33, + "untrustedPercent": 80.81 + }, + { + "date": "2026-05-07", + "listSize": 15113, + "trusted": 2380, + "provenance": 482, + "untrusted": 12037, + "total": 14899, + "trustedPercent": 15.97, + "provenancePercent": 3.24, + "untrustedPercent": 80.79 + }, + { + "date": "2026-05-08", + "listSize": 15113, + "trusted": 2384, + "provenance": 480, + "untrusted": 12035, + "total": 14899, + "trustedPercent": 16, + "provenancePercent": 3.22, + "untrustedPercent": 80.78 + }, + { + "date": "2026-05-09", + "listSize": 15113, + "trusted": 2393, + "provenance": 476, + "untrusted": 12030, + "total": 14899, + "trustedPercent": 16.06, + "provenancePercent": 3.19, + "untrustedPercent": 80.74 + }, + { + "date": "2026-05-10", + "listSize": 15113, + "trusted": 2397, + "provenance": 476, + "untrusted": 12026, + "total": 14899, + "trustedPercent": 16.09, + "provenancePercent": 3.19, + "untrustedPercent": 80.72 + }, + { + "date": "2026-05-11", + "listSize": 15113, + "trusted": 2398, + "provenance": 476, + "untrusted": 12025, + "total": 14899, + "trustedPercent": 16.1, + "provenancePercent": 3.19, + "untrustedPercent": 80.71 + }, + { + "date": "2026-05-12", + "listSize": 15113, + "trusted": 2407, + "provenance": 474, + "untrusted": 12018, + "total": 14899, + "trustedPercent": 16.16, + "provenancePercent": 3.18, + "untrustedPercent": 80.66 + }, + { + "date": "2026-05-13", + "listSize": 15113, + "trusted": 2410, + "provenance": 475, + "untrusted": 12014, + "total": 14899, + "trustedPercent": 16.18, + "provenancePercent": 3.19, + "untrustedPercent": 80.64 + }, + { + "date": "2026-05-14", + "listSize": 15113, + "trusted": 2414, + "provenance": 474, + "untrusted": 12011, + "total": 14899, + "trustedPercent": 16.2, + "provenancePercent": 3.18, + "untrustedPercent": 80.62 + }, + { + "date": "2026-05-15", + "listSize": 15113, + "trusted": 2426, + "provenance": 474, + "untrusted": 11999, + "total": 14899, + "trustedPercent": 16.28, + "provenancePercent": 3.18, + "untrustedPercent": 80.54 + }, + { + "date": "2026-05-16", + "listSize": 15113, + "trusted": 2435, + "provenance": 471, + "untrusted": 11993, + "total": 14899, + "trustedPercent": 16.34, + "provenancePercent": 3.16, + "untrustedPercent": 80.5 + }, + { + "date": "2026-05-17", + "listSize": 15113, + "trusted": 2436, + "provenance": 471, + "untrusted": 11992, + "total": 14899, + "trustedPercent": 16.35, + "provenancePercent": 3.16, + "untrustedPercent": 80.49 + }, + { + "date": "2026-05-18", + "listSize": 15113, + "trusted": 2438, + "provenance": 471, + "untrusted": 11990, + "total": 14899, + "trustedPercent": 16.36, + "provenancePercent": 3.16, + "untrustedPercent": 80.48 + }, + { + "date": "2026-05-19", + "listSize": 15113, + "trusted": 2460, + "provenance": 470, + "untrusted": 11969, + "total": 14899, + "trustedPercent": 16.51, + "provenancePercent": 3.15, + "untrustedPercent": 80.33 + }, + { + "date": "2026-05-20", + "listSize": 15113, + "trusted": 2462, + "provenance": 470, + "untrusted": 11967, + "total": 14899, + "trustedPercent": 16.52, + "provenancePercent": 3.15, + "untrustedPercent": 80.32 + }, + { + "date": "2026-05-21", + "listSize": 15113, + "trusted": 2467, + "provenance": 469, + "untrusted": 11963, + "total": 14899, + "trustedPercent": 16.56, + "provenancePercent": 3.15, + "untrustedPercent": 80.29 + }, + { + "date": "2026-05-22", + "listSize": 15113, + "trusted": 2484, + "provenance": 468, + "untrusted": 11947, + "total": 14899, + "trustedPercent": 16.67, + "provenancePercent": 3.14, + "untrustedPercent": 80.19 + }, + { + "date": "2026-05-23", + "listSize": 15113, + "trusted": 2486, + "provenance": 468, + "untrusted": 11945, + "total": 14899, + "trustedPercent": 16.69, + "provenancePercent": 3.14, + "untrustedPercent": 80.17 + } +] diff --git a/eslint.config.js b/eslint.config.js index 3b99746..12c6c9e 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,6 +1,10 @@ import { sxzz } from '@sxzz/eslint-config' -export default sxzz().append({ +export default sxzz({ + baseline: { + ignoreFeatures: ['top-level-await'], + }, +}).append({ rules: { 'no-console': 'off', }, diff --git a/index.ts b/index.ts index 03dfaa1..fabdac0 100644 --- a/index.ts +++ b/index.ts @@ -45,6 +45,65 @@ const results = Object.fromEntries( ) fs.writeFileSync('results.json', `${JSON.stringify(results)}\n`) +updateDailyStats(results) + +interface DailyStat { + date: string + listSize: number + trusted: number + provenance: number + untrusted: number + total: number + trustedPercent: number + provenancePercent: number + untrustedPercent: number +} + +function updateDailyStats(results: Record): void { + const listSize = Object.keys(results).length + let trusted = 0 + let provenance = 0 + let untrusted = 0 + for (const value of Object.values(results)) { + switch (value) { + case 'trustedPublisher': + trusted++ + break + case true: + provenance++ + break + case false: + untrusted++ + break + } + } + const total = trusted + provenance + untrusted + const pct = (n: number): number => Math.round((n / total) * 10000) / 100 + + const date = new Date().toISOString().slice(0, 10) + const entry: DailyStat = { + date, + listSize, + trusted, + provenance, + untrusted, + total, + trustedPercent: pct(trusted), + provenancePercent: pct(provenance), + untrustedPercent: pct(untrusted), + } + + const path = 'daily-stats.json' + const existing: DailyStat[] = fs.existsSync(path) + ? JSON.parse(fs.readFileSync(path, 'utf8')) + : [] + const next = existing.filter((s) => s.date !== date) + next.push(entry) + next.sort((a, b) => a.date.localeCompare(b.date)) + fs.writeFileSync(path, `${JSON.stringify(next, null, 2)}\n`) + console.log(`daily-stats.json updated for ${date}`) +} + async function getMetadata(name: string): Promise { const response = await ky( // `https://registry.npmjs.org/${name}/latest` diff --git a/package.json b/package.json index 70498a0..8b24dd6 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "npm-top-provenance", "type": "module", "private": true, - "packageManager": "pnpm@10.33.2", + "packageManager": "pnpm@11.2.2", "author": "Kevin Deng ", "license": "MIT", "funding": "https://github.com/sponsors/sxzz", @@ -15,14 +15,14 @@ "url": "https://github.com/sxzz/npm-top-provenance/issues" }, "scripts": { - "refresh": "node index.ts && node update-readme.ts && node chart.ts && pnpm run format && svgo chart.svg", + "refresh": "node index.ts && node update-readme.ts && node chart-pie.ts && node chart-daily.ts && pnpm run format && svgo chart-pie.svg chart-daily.svg", "lint": "eslint --cache .", "lint:fix": "pnpm run lint --fix", "typecheck": "tsgo --noEmit", "format": "prettier --cache --write ." }, "dependencies": { - "@napi-rs/canvas": "^0.1.99", + "@napi-rs/canvas": "^1.0.0", "chart.js": "^4.5.1", "ky": "^2.0.2", "nanospinner": "^1.2.2", @@ -31,11 +31,11 @@ "svgo": "^4.0.1" }, "devDependencies": { - "@sxzz/eslint-config": "^7.8.4", + "@sxzz/eslint-config": "^8.1.0", "@sxzz/prettier-config": "^2.3.1", - "@types/node": "^25.6.0", - "@typescript/native-preview": "7.0.0-dev.20260425.1", - "eslint": "^10.2.1", + "@types/node": "^25.9.1", + "@typescript/native-preview": "7.0.0-dev.20260522.1", + "eslint": "^10.4.0", "prettier": "^3.8.3" }, "prettier": "@sxzz/prettier-config" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a290f35..6219a74 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,97 +1,3 @@ ---- -lockfileVersion: '9.0' - -importers: - - .: - configDependencies: {} - packageManagerDependencies: - '@pnpm/exe': - specifier: 10.33.2 - version: 10.33.2 - pnpm: - specifier: 10.33.2 - version: 10.33.2 - -packages: - - '@pnpm/exe@10.33.2': - resolution: {integrity: sha512-jMTAKcTBptqD6xsm0oyF2q4S5zlhvVm70uwfmkfNED3S5V3vr6JRykV/xwt1qKd5ChLMONquKemNuVSrmUvx1w==} - hasBin: true - - '@pnpm/linux-arm64@10.33.2': - resolution: {integrity: sha512-t7riiqXKzj3r2hy3SVkwiHnJB/9ussTLnSqA/6h9x5zuLlj9LZB3wla96hZDem2+wsLQ4xsMMVyZ1Rn1BGsH7w==} - cpu: [arm64] - os: [linux] - hasBin: true - - '@pnpm/linux-x64@10.33.2': - resolution: {integrity: sha512-tWwfiXIvZwnnsNR0GJj2DWSWW5UsJCq+zd62LrGiB9IBT5e/oPDPo1uV88UGpfJGNNHexGQuczi4oYocnTkZNA==} - cpu: [x64] - os: [linux] - hasBin: true - - '@pnpm/macos-arm64@10.33.2': - resolution: {integrity: sha512-4Gp5kO+sZBtmUScajoodNu8id58b6K3iNeChyKYrmiTc4EmAAcAFcwbXty0gTs5/GJaWtgT9NOuhDzx1e33eiw==} - cpu: [arm64] - os: [darwin] - hasBin: true - - '@pnpm/macos-x64@10.33.2': - resolution: {integrity: sha512-en+5m6ygIik49Nbj1V+CUf7tzLWadnxpjVJiM/POd+P0JovR7sodlu93oHEOze/T2vunHhjTpnGk+qsafM5kuw==} - cpu: [x64] - os: [darwin] - hasBin: true - - '@pnpm/win-arm64@10.33.2': - resolution: {integrity: sha512-ZJQaXG20k4efIFcITv53pyGk+0E13vBHbhdqcIZeF4Euw7iUNwb4F2ID4hnTW82NrvaI1woeS5cIPJSCrFpsxQ==} - cpu: [arm64] - os: [win32] - hasBin: true - - '@pnpm/win-x64@10.33.2': - resolution: {integrity: sha512-A2zrjz2Ii/wdHBh83fMT6MtJ1WFSbQEDD9RCBVnC60fRcWda4+M2UoIDvwSiq+eTRRGj29ljFIE2FWzEDEQdbA==} - cpu: [x64] - os: [win32] - hasBin: true - - pnpm@10.33.2: - resolution: {integrity: sha512-qQ+vb+6rca1sblf5Tg/hoS9dzCLNdU20CulZPraj4LaxLjVAIYuzeuCDQEsfLObbKkEh6XmCm0r/lLmfSdoc+A==} - engines: {node: '>=18.12'} - hasBin: true - -snapshots: - - '@pnpm/exe@10.33.2': - optionalDependencies: - '@pnpm/linux-arm64': 10.33.2 - '@pnpm/linux-x64': 10.33.2 - '@pnpm/macos-arm64': 10.33.2 - '@pnpm/macos-x64': 10.33.2 - '@pnpm/win-arm64': 10.33.2 - '@pnpm/win-x64': 10.33.2 - - '@pnpm/linux-arm64@10.33.2': - optional: true - - '@pnpm/linux-x64@10.33.2': - optional: true - - '@pnpm/macos-arm64@10.33.2': - optional: true - - '@pnpm/macos-x64@10.33.2': - optional: true - - '@pnpm/win-arm64@10.33.2': - optional: true - - '@pnpm/win-x64@10.33.2': - optional: true - - pnpm@10.33.2: {} - ---- lockfileVersion: '9.0' settings: @@ -103,8 +9,8 @@ importers: .: dependencies: '@napi-rs/canvas': - specifier: ^0.1.99 - version: 0.1.99 + specifier: ^1.0.0 + version: 1.0.0 chart.js: specifier: ^4.5.1 version: 4.5.1 @@ -125,20 +31,20 @@ importers: version: 4.0.1 devDependencies: '@sxzz/eslint-config': - specifier: ^7.8.4 - version: 7.8.4(@typescript-eslint/eslint-plugin@8.59.0(@typescript-eslint/parser@8.59.0(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1)(typescript@5.9.3))(@typescript-eslint/parser@8.59.0(eslint@10.2.1)(typescript@5.9.3))(@typescript-eslint/rule-tester@8.59.0(eslint@10.2.1)(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.59.0(typescript@5.9.3))(@typescript-eslint/utils@8.59.0(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1)(prettier@3.8.3)(typescript@5.9.3) + specifier: ^8.1.0 + version: 8.1.0(@typescript-eslint/eslint-plugin@8.59.4(@typescript-eslint/parser@8.59.4(eslint@10.4.0)(typescript@6.0.3))(eslint@10.4.0)(typescript@6.0.3))(@typescript-eslint/parser@8.59.4(eslint@10.4.0)(typescript@6.0.3))(@typescript-eslint/rule-tester@8.59.4(eslint@10.4.0)(typescript@6.0.3))(@typescript-eslint/typescript-estree@8.59.4(typescript@6.0.3))(@typescript-eslint/utils@8.59.4(eslint@10.4.0)(typescript@6.0.3))(eslint@10.4.0)(prettier@3.8.3)(typescript@6.0.3) '@sxzz/prettier-config': specifier: ^2.3.1 version: 2.3.1 '@types/node': - specifier: ^25.6.0 - version: 25.6.0 + specifier: ^25.9.1 + version: 25.9.1 '@typescript/native-preview': - specifier: 7.0.0-dev.20260425.1 - version: 7.0.0-dev.20260425.1 + specifier: 7.0.0-dev.20260522.1 + version: 7.0.0-dev.20260522.1 eslint: - specifier: ^10.2.1 - version: 10.2.1 + specifier: ^10.4.0 + version: 10.4.0 prettier: specifier: ^3.8.3 version: 3.8.3 @@ -186,8 +92,8 @@ packages: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/compat@2.0.5': - resolution: {integrity: sha512-IbHDbHJfkVNv6xjlET8AIVo/K1NQt7YT4Rp6ok/clyBGcpRx1l6gv0Rq3vBvYfPJIZt6ODf66Zq08FJNDpnzgg==} + '@eslint/compat@2.1.0': + resolution: {integrity: sha512-LgaSCymEpw7tF53xvDw9SNsraPb1IBHxpdABIOM0hW8UAlP8znrjYtuxfR58FSJ3L9BhwD+FaPRFQpZq84Nh6g==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} peerDependencies: eslint: ^8.40 || 9 || 10 @@ -203,6 +109,10 @@ packages: resolution: {integrity: sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@eslint/config-helpers@0.6.0': + resolution: {integrity: sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@eslint/core@1.2.1': resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -216,8 +126,8 @@ packages: eslint: optional: true - '@eslint/markdown@8.0.1': - resolution: {integrity: sha512-WWKmld/EyNdEB8GMq7JMPX1SDWgyJAM1uhtCi5ySrqYQM4HQjmg11EX/q3ZpnpRXHfdccFtli3NBvvGaYjWyQw==} + '@eslint/markdown@8.0.2': + resolution: {integrity: sha512-W+/0qHp0WbvFEljUvvECNpSWrUHpBWIWwp7F3QqEwQKmaRCmfEWvk6VfUia9pTQ0th6HyBGBsPfg/kG3/aQxLA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/object-schema@3.0.5': @@ -255,79 +165,79 @@ packages: '@kurkle/color@0.3.4': resolution: {integrity: sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==} - '@napi-rs/canvas-android-arm64@0.1.99': - resolution: {integrity: sha512-9OCRt8VVxA17m32NWZKyNC2qamdaS/SC5CEOIQwFngRq0DIeVm4PDal+6Ljnhqm2whZiC63DNuKZ4xSp2nbj9w==} + '@napi-rs/canvas-android-arm64@1.0.0': + resolution: {integrity: sha512-3hNKJObUK7JsCF9aJlVCs1J0/KE/gGfZNeK8MO1ge6bB3aicr5walGme9t9No1f/oyk9GgvdAT/rjSdsx3gbIw==} engines: {node: '>= 10'} cpu: [arm64] os: [android] - '@napi-rs/canvas-darwin-arm64@0.1.99': - resolution: {integrity: sha512-lupMDMy1+H38dhyCcLirOKKVUyzzlxi7j7rGPLI3vViMHOoPjcXO1b10ivy+ad+q6MiwHfoLjKTCoLke5ySOBg==} + '@napi-rs/canvas-darwin-arm64@1.0.0': + resolution: {integrity: sha512-ZIja19/BiGz2puhki+WUYSRriwFeFJ8Mi9eK3hZdSS85w4Y60cuEAJVhMCfKwswQkKkUtrnzdKMBuO7TupvexA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@napi-rs/canvas-darwin-x64@0.1.99': - resolution: {integrity: sha512-fdz02t4w8n6Ii/rYhWig6STb/zcTmCC/6YZTGmjoDeidDwn9Wf0ukQVynhCPEs29vqUc66wHZKsuIgMs9tycCg==} + '@napi-rs/canvas-darwin-x64@1.0.0': + resolution: {integrity: sha512-hImggWc82jqZVpEsFR9S7PE9OQYjq/H/D7vwCGB6X1jRH+UVBP1+1niJTPBOat1B154T6GKK7/kcFtoWgjgFzQ==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@napi-rs/canvas-linux-arm-gnueabihf@0.1.99': - resolution: {integrity: sha512-w4FwVwlNo00ezeRhfY62IVIyt6G3u8wodkPtiqWc52BUHx+VDBUM2vkS3ogfANaLI7hnf3s6WK4LyZVUjBg1lA==} + '@napi-rs/canvas-linux-arm-gnueabihf@1.0.0': + resolution: {integrity: sha512-hlJRy6d+kWLKVOG/+1rEvNQVURZ0DxxRPJsLmEWwhwiXZUJc0BF5o9esALHSEP4CoJK4wChRtj3hnyBgVx2oWA==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@napi-rs/canvas-linux-arm64-gnu@0.1.99': - resolution: {integrity: sha512-8JvHeexKQ8c7g0q7YJ29NVQwnf1ePghP9ys9ZN0R0qzyqJQ9Uw6N9qnDINArlm3IYHexB7LjzArIfhQiqSDGvQ==} + '@napi-rs/canvas-linux-arm64-gnu@1.0.0': + resolution: {integrity: sha512-5Hru4T3RXkosRQafcjelv7AUzw9mXqmGYsxnzeDDOWveFCJyEPMSJltvGCM+jfH98seOCbfwm9KyFg6Jm5FhAA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - '@napi-rs/canvas-linux-arm64-musl@0.1.99': - resolution: {integrity: sha512-Z+6nyLdJXWzLPVxi4H6g9TJop4DwN3KSgHWto5JCbZV5/uKoVqcSynPs0tGlUHOoWI8S8tEvJspz51GQkvr07w==} + '@napi-rs/canvas-linux-arm64-musl@1.0.0': + resolution: {integrity: sha512-LTUl9jS8WsLSUGaxQZKQkxfluOJRpgvBuxxdM4pYcjib+di8AU4OzQc6+L6SzGMLcKc9H0RAjojRatBhTMqYdg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - '@napi-rs/canvas-linux-riscv64-gnu@0.1.99': - resolution: {integrity: sha512-jAnfOUv4IO1l8Levk5t85oVtEBOXLa07KnIUgWo1CDlPxiqpxS3uBfiE38Lvj/CQgHaNF6Nxk/SaemwLgsVJgw==} + '@napi-rs/canvas-linux-riscv64-gnu@1.0.0': + resolution: {integrity: sha512-Iz931SAZf+WVDzpjk52Q3ffW3zw0YflFwEZMgs036Wfu1kX/LrwT9wGjsuSqyduqefUkl91/vTdAjn8hQu5ezA==} engines: {node: '>= 10'} cpu: [riscv64] os: [linux] libc: [glibc] - '@napi-rs/canvas-linux-x64-gnu@0.1.99': - resolution: {integrity: sha512-mIkXw3fGmbYyFjSmfWEvty4jN+rwEOmv0+Dy9bRvvTzLYWCgm3RMgUEQVfAKFw96nIRFnyNZiK83KNQaVVFjng==} + '@napi-rs/canvas-linux-x64-gnu@1.0.0': + resolution: {integrity: sha512-pFEQ5eFK4JusgN1K6KkO9DKP/Hi1WMJOkF8Ch03/khTc4bFbCKkCCsJG4YcOMOW9bI4XbT2/eMAWxhO0xaWgPA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@napi-rs/canvas-linux-x64-musl@0.1.99': - resolution: {integrity: sha512-f3Uz2P0RgrtBHISxZqr6yiYXJlTDyCVBumDacxo+4AmSg7z0HiqYZKGWC/gszq3fbPhyQUya1W2AEteKxT9Y6A==} + '@napi-rs/canvas-linux-x64-musl@1.0.0': + resolution: {integrity: sha512-jnvr8NrLHiZ3NCiOKWqDbkI4Ah+QDrqtZ+sddPZBltEb1mQ2coSvCSJYfict+oAwcm0c970oTmVySpjKP/lnaA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - '@napi-rs/canvas-win32-arm64-msvc@0.1.99': - resolution: {integrity: sha512-XE6KUkfqRsCNejcoRMiMr3RaUeObxNf6y7dut3hrq2rn7PzfRTZgrjF1F/B2C7FcdgqY/vSHWpQeMuNz1vTNHg==} + '@napi-rs/canvas-win32-arm64-msvc@1.0.0': + resolution: {integrity: sha512-y2j9/Gfd5joqiqxdP/L1smqjQ+uAx3C4N0EC7bDHrnZEEH8ToM/OC5p3uHvtj4Lq591aHj+ArL01UDLNwT5HgQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@napi-rs/canvas-win32-x64-msvc@0.1.99': - resolution: {integrity: sha512-plMYGVbc/vmmPF9MtmHbwNk1rL1Aj53vQZt+Gnv1oZn6gmd9jEHHJ0n9Nd2nxa5sKH7TS5IjkCDM6289O0d6PQ==} + '@napi-rs/canvas-win32-x64-msvc@1.0.0': + resolution: {integrity: sha512-qwdhh9N6Gge/hC4pL9S1tQp0iKwhSl/dYjg7+RGp9k26iRGRi5MqqUyKGOXIWli0zOcuy5Y2wIH/jk2ry6i/jA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@napi-rs/canvas@0.1.99': - resolution: {integrity: sha512-zN4eQlK3eBf7aJBcTHZilpBH3tDekBzPMIWC8r0s94Ecl73XfOyFi4w7yKFMRVUT0lvNQjtOL8YSrwqQj6mZFg==} + '@napi-rs/canvas@1.0.0': + resolution: {integrity: sha512-Jqxcy1XOIqj+lH9sl1GT+il6GR3uQv13vI2mrwubP3uT8Olak2ClDrK2RnxlQKjwv8BRr4b3ug0YR7c6hBX8wg==} engines: {node: '>= 10'} '@napi-rs/wasm-runtime@1.1.4': @@ -482,9 +392,9 @@ packages: resolution: {integrity: sha512-TeheYy0ILzBEI/CO55CP6zJCSdSWeRtGnHy8U8dWSUH4I68iqTsy7HkMktR4xakThc9jotkPQUXT4ITdbV7cHA==} engines: {node: '>=18'} - '@sxzz/eslint-config@7.8.4': - resolution: {integrity: sha512-54DGJBv+PMYU7I0baupvwibijMjOhm6u1zGWgB/Ubxfm7Evn4zF2zbr27jWJF2Z8mHDPH0QfqGRTH6VeM5j4Ag==} - engines: {node: '>=20.19.0'} + '@sxzz/eslint-config@8.1.0': + resolution: {integrity: sha512-6FL7F3qGPUeT25iFu+qo9ftKUrhQQhEwRovFajbdSKK6n3s4W6olGSPQp+xG/9DLHs5Hk98koWaSWPzKKrsqjw==} + engines: {node: ^22.18.0 || >=24.0.0} peerDependencies: '@unocss/eslint-plugin': '>=65.0.0' eslint: ^9.5.0 || ^10.0.0 @@ -503,8 +413,8 @@ packages: prettier-plugin-astro: optional: true - '@tybys/wasm-util@0.10.1': - resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} + '@tybys/wasm-util@0.10.2': + resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} '@types/debug@4.1.13': resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} @@ -512,8 +422,8 @@ packages: '@types/esrecurse@4.3.1': resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} - '@types/estree@1.0.8': - resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} @@ -530,121 +440,122 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node@25.6.0': - resolution: {integrity: sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==} + '@types/node@25.9.1': + resolution: {integrity: sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==} '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@typescript-eslint/eslint-plugin@8.59.0': - resolution: {integrity: sha512-HyAZtpdkgZwpq8Sz3FSUvCR4c+ScbuWa9AksK2Jweub7w4M3yTz4O11AqVJzLYjy/B9ZWPyc81I+mOdJU/bDQw==} + '@typescript-eslint/eslint-plugin@8.59.4': + resolution: {integrity: sha512-PegsU+XfyJJNjd4+u/k6f9yTyp0lEXXiPopUNobZcIAUJFGICFLN+sP0Rb3JehVmiij1Ph0dFGYqODoRo/2+6A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.59.0 + '@typescript-eslint/parser': ^8.59.4 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.59.0': - resolution: {integrity: sha512-TI1XGwKbDpo9tRW8UDIXCOeLk55qe9ZFGs8MTKU6/M08HWTw52DD/IYhfQtOEhEdPhLMT26Ka/x7p70nd3dzDg==} + '@typescript-eslint/parser@8.59.4': + resolution: {integrity: sha512-zORHqO/tuhxY1zWuTvMUqddRxpiFJ72xVfcNoWpqdLjs6lfPbuQBJuW4pk+49/uBMy7Ssr4bzgjiKmmDB1UbZQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.59.0': - resolution: {integrity: sha512-Lw5ITrR5s5TbC19YSvlr63ZfLaJoU6vtKTHyB0GQOpX0W7d5/Ir6vUahWi/8Sps/nOukZQ0IB3SmlxZnjaKVnw==} + '@typescript-eslint/project-service@8.59.4': + resolution: {integrity: sha512-Ly00Vu4oAacfDeHp2Zg85ioNG6l8HG+tN1D7J+xTHSxu9y0awYKJ2zH1rFBn8ZSfuGK+7FxK3Cgl3uAz0aZZLg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/rule-tester@8.59.0': - resolution: {integrity: sha512-2Ej6W28DqObFuEUQ+puEpDZFWFXAW7jIZ4TsgfLUCTNz1FID0NMfp1sXc+fQq8m5ysfPdhXAPjti6jYEu1oRcg==} + '@typescript-eslint/rule-tester@8.59.4': + resolution: {integrity: sha512-kEhAUFyaLGuxk3LQVyLjeFwJeIoFEgMEAco89Ma9r3CD75W+fICWLW/2NG3O0TpnMivl5/XKbi2Ok0YJcQPwKA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@8.59.0': - resolution: {integrity: sha512-UzR16Ut8IpA3Mc4DbgAShlPPkVm8xXMWafXxB0BocaVRHs8ZGakAxGRskF7FId3sdk9lgGD73GSFaWmWFDE4dg==} + '@typescript-eslint/scope-manager@8.59.4': + resolution: {integrity: sha512-mUeR/3H1WrTAddJrwut8OoPjfauaztMQmRwV5fQTUyNVJCLiUXXe4lGEyYIL2oFDpP7UtgbGJXCt72wT0z2S3Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.59.0': - resolution: {integrity: sha512-91Sbl3s4Kb3SybliIY6muFBmHVv+pYXfybC4Oolp3dvk8BvIE3wOPc+403CWIT7mJNkfQRGtdqghzs2+Z91Tqg==} + '@typescript-eslint/tsconfig-utils@8.59.4': + resolution: {integrity: sha512-DLCpnKgD4alVxTBSKulK+gU1KCqOgUXfDRDXh2mZgzokQKa/70ax93I2uVO3m/LLvIAtWZIFoiifudmIqAxpMA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.59.0': - resolution: {integrity: sha512-3TRiZaQSltGqGeNrJzzr1+8YcEobKH9rHnqIp/1psfKFmhRQDNMGP5hBufanYTGznwShzVLs3Mz+gDN7HkWfXg==} + '@typescript-eslint/type-utils@8.59.4': + resolution: {integrity: sha512-uonTuPAAKr9XaBGqJ3LjYTh72zy5DyGesljO9gtmk/eFW0W1fRHjnwVYKB35Lm8d5Q5CluEW3gPHjTvZTmgrfA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/types@8.59.0': - resolution: {integrity: sha512-nLzdsT1gdOgFxxxwrlNVUBzSNBEEHJ86bblmk4QAS6stfig7rcJzWKqCyxFy3YRRHXDWEkb2NralA1nOYkkm/A==} + '@typescript-eslint/types@8.59.4': + resolution: {integrity: sha512-F1o7WJcCq+bc8dwcO/YsSEOudAH8RDtaOhM6wcAQhcUsFhnWQl81JKy48q1hoxAU0qrzM89+31GYh1515Zde3Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.59.0': - resolution: {integrity: sha512-O9Re9P1BmBLFJyikRbQpLku/QA3/AueZNO9WePLBwQrvkixTmDe8u76B6CYUAITRl/rHawggEqUGn5QIkVRLMw==} + '@typescript-eslint/typescript-estree@8.59.4': + resolution: {integrity: sha512-F+RuOmcDXo4+TPdfd/TCLS3m2nw8gE9XXyZLrA3JBfaA5tz9TtdkyD3YJFmPxulyc2cKbEok/CvFE3MgSLWnag==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.59.0': - resolution: {integrity: sha512-I1R/K7V07XsMJ12Oaxg/O9GfrysGTmCRhvZJBv0RE0NcULMzjqVpR5kRRQjHsz3J/bElU7HwCO7zkqL+MSUz+g==} + '@typescript-eslint/utils@8.59.4': + resolution: {integrity: sha512-cYXeNAUsG4lJo5dbc1FcKm+JwIWrj1/UpTORsC6tGMjEZ81DYcvIr9/ueikhMa/Y/gDQYGp+YX9/xQrXje5BJw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/visitor-keys@8.59.0': - resolution: {integrity: sha512-/uejZt4dSere1bx12WLlPfv8GktzcaDtuJ7s42/HEZ5zGj9oxRaD4bj7qwSunXkf+pbAhFt2zjpHYUiT5lHf0Q==} + '@typescript-eslint/visitor-keys@8.59.4': + resolution: {integrity: sha512-U3gxVaDVnuZKhSspW/MzMxE1kq7zOdc072FcSNoqA1I9p8HyKbBFfEHoWckBAMgNMph4MamwS5iTVzFmrnt8TQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260425.1': - resolution: {integrity: sha512-vM7O+PlxHRUT4Dv0VkxEmU3N2uyWeSFrhu57O7s3SE9TX1ENljwQlCFG0oQdBGLBRo+SZSoedxKL5jOGlD1eiw==} + '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260522.1': + resolution: {integrity: sha512-kp2JX8wSCQ5i8f5Zr30t9TdAIEw8s3MCvT1zEe6PJAHU7aUHTnRCM+oAHEM8QxM29VD/PxR6b5dVKxHtX7Ny/A==} engines: {node: '>=16.20.0'} cpu: [arm64] os: [darwin] - '@typescript/native-preview-darwin-x64@7.0.0-dev.20260425.1': - resolution: {integrity: sha512-EiikklZSuEvMhZEeN0VRb0vmedhLgtKwz5p4Oz9e8hlJ4lLrslgvX7Z7JWb2YSKlhm14dUlRMvdoe+6t+56rSA==} + '@typescript/native-preview-darwin-x64@7.0.0-dev.20260522.1': + resolution: {integrity: sha512-jX89E/hV/r0fOcP4+JWdKSugJXmWbOO74aC5a1U8+U7TBD1TTfK50Da+BL8Sf2Xud2ybqQ+2FUHAlBsLTC743g==} engines: {node: '>=16.20.0'} cpu: [x64] os: [darwin] - '@typescript/native-preview-linux-arm64@7.0.0-dev.20260425.1': - resolution: {integrity: sha512-5KJ++prl1dscJtxnkE7Cb6rjud4T3nO4mcnKhkCfYcQaFtFrvcZhBtDobwcpSzHbfsW0MeM+QCy1UfWoK4gjUQ==} + '@typescript/native-preview-linux-arm64@7.0.0-dev.20260522.1': + resolution: {integrity: sha512-XFLpJNscLKqT6LLSBrv78DzLdzwFYOePeluRBF616KUPEcfiXliTan1YuHQh4m9i9o6tvW/NnuAPlr/Q8DObsg==} engines: {node: '>=16.20.0'} cpu: [arm64] os: [linux] - '@typescript/native-preview-linux-arm@7.0.0-dev.20260425.1': - resolution: {integrity: sha512-9eWInaHqhfTu1Mt/1M85p5M+HlSStahAQkqYaW9rJzUWRe+AcVUKsN6I7U7iwxbkCT8gFZsMCRqABcwBUWw3kg==} + '@typescript/native-preview-linux-arm@7.0.0-dev.20260522.1': + resolution: {integrity: sha512-vItWfPtZfUQLaVJe0iClfsKSDtkUCUTp2LfEXBHqBCdWhoE3irg7Ivs41l3sp4zXlTio5SUvMzvO8/Mc2SImzA==} engines: {node: '>=16.20.0'} cpu: [arm] os: [linux] - '@typescript/native-preview-linux-x64@7.0.0-dev.20260425.1': - resolution: {integrity: sha512-a/E/8UL2x6nWmIJwrrbEvLz938RMcrFfm5hLRKaPMjCE32bgwesBZEG5jRn8fzQes+4HICRXKEaL544jtb/Syg==} + '@typescript/native-preview-linux-x64@7.0.0-dev.20260522.1': + resolution: {integrity: sha512-r5wkbqL+qpI3QN3GiF0dg5A0PD5x9cfYSSCD744+Ov35P8inuJSySjR44gdoOF3IcFTupPEc/4q4to/gId1kZQ==} engines: {node: '>=16.20.0'} cpu: [x64] os: [linux] - '@typescript/native-preview-win32-arm64@7.0.0-dev.20260425.1': - resolution: {integrity: sha512-BZ7jEnaNZHkHbq9LWuqqIgYMmMb2E2NReMybjOyl3ASFmJHYekDnytXIT3Zbp4dyPLJV55faGzLqMw2MMS81NA==} + '@typescript/native-preview-win32-arm64@7.0.0-dev.20260522.1': + resolution: {integrity: sha512-Xtqw0dfE35WISVqN2J9hp21N6l5MT21DSgJ4w/cXisDZlaeT0Vq57CgUWUbLT4CEw5gs0QK6kmUFOSAP7Dga6Q==} engines: {node: '>=16.20.0'} cpu: [arm64] os: [win32] - '@typescript/native-preview-win32-x64@7.0.0-dev.20260425.1': - resolution: {integrity: sha512-/iwK50mO31lKr1KVDRCqW5xGyKArZuq9jQr2b/PJ3e0xEuV6hoJ4Kok11LA1lhx1uctqr3UXKmfwQF3HWqcZTQ==} + '@typescript/native-preview-win32-x64@7.0.0-dev.20260522.1': + resolution: {integrity: sha512-CBTpf7skuTNgHzjwEbw3ujU76r/u9asENXc9xQmgj6qCJ1+ZHn34MMzolkUegwtHWfuem38ayYTJOMn2dmNQ5g==} engines: {node: '>=16.20.0'} cpu: [x64] os: [win32] - '@typescript/native-preview@7.0.0-dev.20260425.1': - resolution: {integrity: sha512-qhSVDT9DsoKPBeEm777eUUkiCDjBFlF7wwjfMvcPctZFVHfD6b1O1icpfCdQHPqzjrSXWu2YaNiY0DXbljTmgw==} + '@typescript/native-preview@7.0.0-dev.20260522.1': + resolution: {integrity: sha512-NgnE3PE3/nr4Qr8p1uCIkaM5YmNa8hQGhzb8Olb6w09aocg4Wq8bjrFHe4qZH2kgV+Hl4gGXRNb9ww1P2fwc9Q==} engines: {node: '>=16.20.0'} hasBin: true @@ -669,16 +580,16 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.10.22: - resolution: {integrity: sha512-6qruVrb5rse6WylFkU0FhBKKGuecWseqdpQfhkawn6ztyk2QlfwSRjsDxMCLJrkfmfN21qvhl9ABgaMeRkuwww==} + baseline-browser-mapping@2.10.32: + resolution: {integrity: sha512-wbPvpyjJPC0zdfdKXxqEL3Ea+bOMD/87X4lftiJkkaBiuG6ALQy1SLmEd7BSmVCuwCQsBrCamgBoLyfFDD1EPg==} engines: {node: '>=6.0.0'} hasBin: true boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - brace-expansion@5.0.5: - resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} + brace-expansion@5.0.6: + resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} engines: {node: 18 || 20 || >=22} browserslist@4.28.2: @@ -686,12 +597,12 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - builtin-modules@5.1.0: - resolution: {integrity: sha512-c5JxaDrzwRjq3WyJkI1AGR5xy6Gr6udlt7sQPbl09+3ckB+Zo2qqQ2KhCTBr7Q8dHB43bENGYEk4xddrFH/b7A==} + builtin-modules@5.2.0: + resolution: {integrity: sha512-02yxLeyxF4dNl6SlY6/5HfRSrSdZ/sCPoxy2kZNP5dZZX8LSAD9aE2gtJIUgWrsQTiMPl3mxESyrobSwvRGisQ==} engines: {node: '>=18.20'} - caniuse-lite@1.0.30001790: - resolution: {integrity: sha512-bOoxfJPyYo+ds6W0YfptaCWbFnJYjh2Y1Eow5lRv+vI2u8ganPZqNm1JwNh0t2ELQCqIWg4B3dWEusgAmsoyOw==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -800,15 +711,15 @@ packages: domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} - electron-to-chromium@1.5.344: - resolution: {integrity: sha512-4MxfbmNDm+KPh066EZy+eUnkcDPcZ35wNmOWzFuh/ijvHsve6kbLTLURy88uCNK5FbpN+yk2nQY6BYh1GEt+wg==} + electron-to-chromium@1.5.361: + resolution: {integrity: sha512-Q6Hts7N9FnJc5LeGRINFvLhCI9xZmNtTDe5ZbcVezQz7cU4a8Aua3GH1b8J2XY8Al9PF+OCwYqhgsOOheMdvkA==} - empathic@2.0.0: - resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==} + empathic@2.0.1: + resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==} engines: {node: '>=14'} - enhanced-resolve@5.21.0: - resolution: {integrity: sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA==} + enhanced-resolve@5.22.0: + resolution: {integrity: sha512-xYcDWrpELkFzz9SpZ3PlI6Eu6eD93Yf0WLDRxikGhWJ3MAir2SNZTIVCVZqZ/NUyx8AdMc2gT9C0gPiw18kG+A==} engines: {node: '>=10.13.0'} entities@4.5.0: @@ -848,8 +759,8 @@ packages: peerDependencies: eslint: '>=7.0.0' - eslint-flat-config-utils@3.1.0: - resolution: {integrity: sha512-lM+Nwo2CzpuTS/RASQExlEIwk/BQoKqJWX6VbDlLMb/mveqvt9MMrRXFEkG3bseuK6g8noKZLeX82epkILtv4A==} + eslint-flat-config-utils@3.2.0: + resolution: {integrity: sha512-PHgo1X5uqIorJONLVD9BIaOSdoYFD3z/AeJljdqDPlWVRpeCYkDbK9k0AXoYVqqNJr6FEYIEr5Rm2TSktLQcHw==} eslint-json-compat-utils@0.2.3: resolution: {integrity: sha512-RbBmDFyu7FqnjE8F0ZxPNzx5UaptdeS9Uu50r7A+D7s/+FCX+ybiyViYEgFUaFIFqSWJgZRTpL5d8Kanxxl2lQ==} @@ -862,8 +773,8 @@ packages: '@eslint/json': optional: true - eslint-plugin-antfu@3.2.2: - resolution: {integrity: sha512-Qzixht2Dmd/pMbb5EnKqw2V8TiWHbotPlsORO8a+IzCLFwE0RxK8a9k4DCTFPzBwyxJzH+0m2Mn8IUGeGQkyUw==} + eslint-plugin-antfu@3.2.3: + resolution: {integrity: sha512-U2fnz/H0gFPxpuC7QpaHa0Jv2AgCZ5hunp36SOP/yWo8yFzgvMh8X4pZ4uN4IKoqtBhk7G3HuVa93Urf51+sZg==} peerDependencies: eslint: '*' @@ -881,8 +792,8 @@ packages: '@typescript-eslint/utils': '*' eslint: '*' - eslint-plugin-de-morgan@2.1.1: - resolution: {integrity: sha512-0CeQ38b8hMMa3gO5vLnGcQS/xatvYno9RvjKoZ4UVaHjzvHZhR9i6+0ZkZhbbZF1FW7rqrS2MtcH3tVBejrmHQ==} + eslint-plugin-de-morgan@2.1.2: + resolution: {integrity: sha512-6/MXP77FUrFGTdJ2Lny3Jv027bE3SUHDf+/VBUBckpH5TskOY5G4UX+AebqJeUpt3nXjy3S0KWBRwTItVQwgvw==} engines: {node: ^20.0.0 || >=22.0.0} peerDependencies: eslint: ^8.45.0 || ^9.0.0 || ^10.0.0 @@ -917,11 +828,18 @@ packages: peerDependencies: eslint: '>=9.38.0' - eslint-plugin-n@17.24.0: - resolution: {integrity: sha512-/gC7/KAYmfNnPNOb3eu8vw+TdVnV0zhdQwexsw6FLXbhzroVj20vRn2qL8lDWDGnAQ2J8DhdfvXxX9EoxvERvw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-plugin-n@18.0.1: + resolution: {integrity: sha512-q3ARhk+eZRc7myR0KHx+R3/GJeOHF+Ir6PK95Pu2tEX8Sl/4BIpmmVLva2kPrjC2gCmn6WHlHm+3yeo6Rxhycw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} peerDependencies: - eslint: '>=8.23.0' + eslint: '>=8.57.1' + ts-declaration-location: ^1.0.6 + typescript: '>=5.0.0' + peerDependenciesMeta: + ts-declaration-location: + optional: true + typescript: + optional: true eslint-plugin-perfectionist@5.9.0: resolution: {integrity: sha512-8TWzg02zmnBdZwCkWLi8jhzqXI+fE7Z/RwV8SL6xD45tJ8Bp3wGuYL2XtQgfe/Wd0eBqOUX+s6ey73IyszvKTA==} @@ -929,8 +847,8 @@ packages: peerDependencies: eslint: ^8.45.0 || ^9.0.0 || ^10.0.0 - eslint-plugin-pnpm@1.6.0: - resolution: {integrity: sha512-dxmt9r3zvPaft6IugS4i0k16xag3fTbOvm/road5uV9Y8qUCQT0xzheSh3gMlYAlC6vXRpfArBDsTZ7H7JKCbg==} + eslint-plugin-pnpm@1.6.1: + resolution: {integrity: sha512-pgcaJclu3YxZ/WMsiKMF58bHQasbGVARSMqCJvFaETYxSc7KcR2H74UVWV6exuGv9nNv9c0KKqn4PVHQlzMSEg==} peerDependencies: eslint: ^9.0.0 || ^10.0.0 @@ -954,14 +872,14 @@ packages: peerDependencies: eslint: '>=9.38.0' - eslint-plugin-sxzz@0.4.4: - resolution: {integrity: sha512-LIQ4fxSNKfnNsNm57dlJr/dFcbnxWK/kgrBCjq78SWJGkq16kTQJ5HRH6aOfIsyh3xOOWSPWOszD9WQZ8VIt2A==} - engines: {node: '>=20.19.0'} + eslint-plugin-sxzz@0.5.0: + resolution: {integrity: sha512-RU31t0+dkBYWzlZIuYurLXvt8dIx62EpMADGiaa//aX9XtVgyYSV81boDRRK6lrNa0I0ZotTsqUm8DC6T71z+g==} + engines: {node: ^22.18.0 || >=24.0.0} peerDependencies: eslint: ^9.15.0 || ^10.0.0 - eslint-plugin-unicorn@63.0.0: - resolution: {integrity: sha512-Iqecl9118uQEXYh7adylgEmGfkn5es3/mlQTLLkd4pXkIk9CTGrAbeUux+YljSa2ohXCBmQQ0+Ej1kZaFgcfkA==} + eslint-plugin-unicorn@64.0.0: + resolution: {integrity: sha512-rNZwalHh8i0UfPlhNwg5BTUO1CMdKNmjqe+TgzOTZnpKoi8VBgsW7u9qCHIdpxEzZ1uwrJrPF0uRb7l//K38gA==} engines: {node: ^20.10.0 || >=21.0.0} peerDependencies: eslint: '>=9.38.0' @@ -975,22 +893,22 @@ packages: '@typescript-eslint/eslint-plugin': optional: true - eslint-plugin-vue@10.9.0: - resolution: {integrity: sha512-EFNNzu4HqtTRb5DJINpyd+u3bDdzETWDMpCzG+UBHz1tpsnMDCeOcf61u4Wy/cbXnMymK+MT9bjH7KcG1fItSw==} + eslint-plugin-vue@10.9.1: + resolution: {integrity: sha512-cHB0Tf4Duvzwecwd/AqWzZvF/QszE13BhjVUpVXWCy9AeMR5GjkAjP3i85vqgLgOuTmkHR1OJ5oMeqLHtuw8zg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@stylistic/eslint-plugin': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 '@typescript-eslint/parser': ^7.0.0 || ^8.0.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - vue-eslint-parser: ^10.0.0 + vue-eslint-parser: ^10.3.0 peerDependenciesMeta: '@stylistic/eslint-plugin': optional: true '@typescript-eslint/parser': optional: true - eslint-plugin-yml@3.3.1: - resolution: {integrity: sha512-isntsZchaTqDMNNkD+CakrgA/pdUoJ45USWBKpuqfAW1MCuw731xX/vrXfoJFZU3tTFr24nCbDYmDfT2+g4QtQ==} + eslint-plugin-yml@3.3.2: + resolution: {integrity: sha512-XjmOB/fLBwYHqevnpclPL938V+9ExX7xw1hPaM3IPePGyMFRV1giS16RjSTNhIyCv/Oh0G0PEdmmZPATJ02YCw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} peerDependencies: eslint: '>=9.38.0' @@ -1013,8 +931,8 @@ packages: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@10.2.1: - resolution: {integrity: sha512-wiyGaKsDgqXvF40P8mDwiUp/KQjE1FdrIEJsM8PZ3XCiniTMXS3OHWWUe5FI5agoCnr8x4xPrTDZuxsBlNHl+Q==} + eslint@10.4.0: + resolution: {integrity: sha512-loXy6bWOoP3EP6JA7jo6p5jMpBJmHmsNZM5SFRHLdh1MGOPurMnNBj4ZlAbaqUAaQWbCr7jHV4P7gzAyryZWkQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: @@ -1104,12 +1022,8 @@ packages: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} - globals@16.5.0: - resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} - engines: {node: '>=18'} - - globals@17.5.0: - resolution: {integrity: sha512-qoV+HK2yFl/366t2/Cb3+xxPUo5BuMynomoDmiaZBIdbs+0pYbjfZU+twLhGKp4uCZ/+NbtpVepH5bGCxRyy2g==} + globals@17.6.0: + resolution: {integrity: sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==} engines: {node: '>=18'} globrex@0.1.2: @@ -1178,8 +1092,8 @@ packages: resolution: {integrity: sha512-75EA7EWZExL/j+MDKQrRbdzcRI2HOkRlmUw8fZJc1ioqFEOvBsq7Rt+A6yCxOt9w/TYNpkt52gC6nm/g5tFIng==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - katex@0.16.45: - resolution: {integrity: sha512-pQpZbdBu7wCTmQUh7ufPmLr0pFoObnGUoL/yhtwJDgmmQpbkg/0HSVti25Fu4rmd1oCR6NGWe9vqTWuWv3GcNA==} + katex@0.16.47: + resolution: {integrity: sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==} hasBin: true keyv@4.5.4: @@ -1358,8 +1272,9 @@ packages: resolution: {integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==} engines: {node: '>=18'} - node-releases@2.0.38: - resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} + node-releases@2.0.46: + resolution: {integrity: sha512-GYVXHE2KnrzAfsAjl4uP++evGFCrAU1jta4ubEjIG7YWt/64Gqv66a30yKwWczVjA6j3bM4nBwH7Pk1JmDHaxQ==} + engines: {node: '>=18'} npm-high-impact@1.12.0: resolution: {integrity: sha512-9JOL8+Vb4GvNmMvl3n6wbzMGKC1v7rrZg0wvVo/oVg6uCLWdjhMbjh9DR685KaIqX90M2kGr6taIGDJ2HVRKxQ==} @@ -1367,8 +1282,8 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - object-deep-merge@2.0.0: - resolution: {integrity: sha512-3DC3UMpeffLTHiuXSy/UG4NOIYTLlY9u3V82+djSCLYClWobZiS4ivYzpIUWrRY/nfsJ8cWsKyG3QfyLePmhvg==} + object-deep-merge@2.0.1: + resolution: {integrity: sha512-aKttDKcU3pyZqKcCkDhsMn70WmZFG2JGDQLP9EcLyTSIFQRCPWLAmBZRLJnrVUrhPG1jETEEbfdgbNtJf1LyMg==} optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} @@ -1418,8 +1333,8 @@ packages: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} - pnpm-workspace-yaml@1.6.0: - resolution: {integrity: sha512-uUy4dK3E11sp7nK+hnT7uAWfkBMe00KaUw8OG3NuNlYQoTk4sc9pcdIy1+XIP85v9Tvr02mK3JPaNNrP0QyRaw==} + pnpm-workspace-yaml@1.6.1: + resolution: {integrity: sha512-yTeZntGWi8m9WNuhoVsP0DpFc4sC1U0+rr/qR6Zi9n2g3sxXY+JfccjXjjruNz96tM8I09yaJUA86doRnNLkbg==} postcss-selector-parser@7.1.1: resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} @@ -1473,8 +1388,8 @@ packages: resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} engines: {node: ^14.0.0 || >=16.0.0} - semver@7.7.4: - resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + semver@7.8.1: + resolution: {integrity: sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==} engines: {node: '>=10'} hasBin: true @@ -1530,11 +1445,6 @@ packages: peerDependencies: typescript: '>=4.8.4' - ts-declaration-location@1.0.7: - resolution: {integrity: sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==} - peerDependencies: - typescript: '>=4.0.0' - tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -1542,20 +1452,20 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - typescript-eslint@8.59.0: - resolution: {integrity: sha512-BU3ONW9X+v90EcCH9ZS6LMackcVtxRLlI3XrYyqZIwVSHIk7Qf7bFw1z0M9Q0IUxhTMZCf8piY9hTYaNEIASrw==} + typescript-eslint@8.59.4: + resolution: {integrity: sha512-Rw6+44QNFaXtgHSjPy+Kw8hrJniMYzR85E9yLmOLcfZ91/rz+JXQbDTCmc6ccxMPY6K6PgAq26f0JCBfR7LIPQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} engines: {node: '>=14.17'} hasBin: true - undici-types@7.19.2: - resolution: {integrity: sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==} + undici-types@7.24.6: + resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} unist-util-is@6.0.1: resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} @@ -1607,8 +1517,8 @@ packages: resolution: {integrity: sha512-h0uDm97wvT2bokfwwTmY6kJ1hp6YDFL0nRHwNKz8s/VD1FH/vvZjAKoMUE+un0eaYBSG7/c6h+lJTP+31tjgTw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - yaml@2.8.3: - resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==} + yaml@2.9.0: + resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} engines: {node: '>= 14.6'} hasBin: true @@ -1645,40 +1555,40 @@ snapshots: '@es-joy/jsdoccomment@0.84.0': dependencies: - '@types/estree': 1.0.8 - '@typescript-eslint/types': 8.59.0 + '@types/estree': 1.0.9 + '@typescript-eslint/types': 8.59.4 comment-parser: 1.4.5 esquery: 1.7.0 jsdoc-type-pratt-parser: 7.1.1 '@es-joy/jsdoccomment@0.86.0': dependencies: - '@types/estree': 1.0.8 - '@typescript-eslint/types': 8.59.0 + '@types/estree': 1.0.9 + '@typescript-eslint/types': 8.59.4 comment-parser: 1.4.6 esquery: 1.7.0 jsdoc-type-pratt-parser: 7.2.0 '@es-joy/resolve.exports@1.2.0': {} - '@eslint-community/eslint-plugin-eslint-comments@4.7.1(eslint@10.2.1)': + '@eslint-community/eslint-plugin-eslint-comments@4.7.1(eslint@10.4.0)': dependencies: escape-string-regexp: 4.0.0 - eslint: 10.2.1 + eslint: 10.4.0 ignore: 7.0.5 - '@eslint-community/eslint-utils@4.9.1(eslint@10.2.1)': + '@eslint-community/eslint-utils@4.9.1(eslint@10.4.0)': dependencies: - eslint: 10.2.1 + eslint: 10.4.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} - '@eslint/compat@2.0.5(eslint@10.2.1)': + '@eslint/compat@2.1.0(eslint@10.4.0)': dependencies: '@eslint/core': 1.2.1 optionalDependencies: - eslint: 10.2.1 + eslint: 10.4.0 '@eslint/config-array@0.23.5': dependencies: @@ -1692,18 +1602,22 @@ snapshots: dependencies: '@eslint/core': 1.2.1 + '@eslint/config-helpers@0.6.0': + dependencies: + '@eslint/core': 1.2.1 + '@eslint/core@1.2.1': dependencies: '@types/json-schema': 7.0.15 - '@eslint/js@10.0.1(eslint@10.2.1)': + '@eslint/js@10.0.1(eslint@10.4.0)': optionalDependencies: - eslint: 10.2.1 + eslint: 10.4.0 - '@eslint/markdown@8.0.1': + '@eslint/markdown@8.0.2': dependencies: '@eslint/core': 1.2.1 - '@eslint/plugin-kit': 0.6.1 + '@eslint/plugin-kit': 0.7.1 github-slugger: 2.0.0 mdast-util-from-markdown: 2.0.3 mdast-util-frontmatter: 2.0.1 @@ -1746,58 +1660,58 @@ snapshots: '@kurkle/color@0.3.4': {} - '@napi-rs/canvas-android-arm64@0.1.99': + '@napi-rs/canvas-android-arm64@1.0.0': optional: true - '@napi-rs/canvas-darwin-arm64@0.1.99': + '@napi-rs/canvas-darwin-arm64@1.0.0': optional: true - '@napi-rs/canvas-darwin-x64@0.1.99': + '@napi-rs/canvas-darwin-x64@1.0.0': optional: true - '@napi-rs/canvas-linux-arm-gnueabihf@0.1.99': + '@napi-rs/canvas-linux-arm-gnueabihf@1.0.0': optional: true - '@napi-rs/canvas-linux-arm64-gnu@0.1.99': + '@napi-rs/canvas-linux-arm64-gnu@1.0.0': optional: true - '@napi-rs/canvas-linux-arm64-musl@0.1.99': + '@napi-rs/canvas-linux-arm64-musl@1.0.0': optional: true - '@napi-rs/canvas-linux-riscv64-gnu@0.1.99': + '@napi-rs/canvas-linux-riscv64-gnu@1.0.0': optional: true - '@napi-rs/canvas-linux-x64-gnu@0.1.99': + '@napi-rs/canvas-linux-x64-gnu@1.0.0': optional: true - '@napi-rs/canvas-linux-x64-musl@0.1.99': + '@napi-rs/canvas-linux-x64-musl@1.0.0': optional: true - '@napi-rs/canvas-win32-arm64-msvc@0.1.99': + '@napi-rs/canvas-win32-arm64-msvc@1.0.0': optional: true - '@napi-rs/canvas-win32-x64-msvc@0.1.99': + '@napi-rs/canvas-win32-x64-msvc@1.0.0': optional: true - '@napi-rs/canvas@0.1.99': + '@napi-rs/canvas@1.0.0': optionalDependencies: - '@napi-rs/canvas-android-arm64': 0.1.99 - '@napi-rs/canvas-darwin-arm64': 0.1.99 - '@napi-rs/canvas-darwin-x64': 0.1.99 - '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.99 - '@napi-rs/canvas-linux-arm64-gnu': 0.1.99 - '@napi-rs/canvas-linux-arm64-musl': 0.1.99 - '@napi-rs/canvas-linux-riscv64-gnu': 0.1.99 - '@napi-rs/canvas-linux-x64-gnu': 0.1.99 - '@napi-rs/canvas-linux-x64-musl': 0.1.99 - '@napi-rs/canvas-win32-arm64-msvc': 0.1.99 - '@napi-rs/canvas-win32-x64-msvc': 0.1.99 + '@napi-rs/canvas-android-arm64': 1.0.0 + '@napi-rs/canvas-darwin-arm64': 1.0.0 + '@napi-rs/canvas-darwin-x64': 1.0.0 + '@napi-rs/canvas-linux-arm-gnueabihf': 1.0.0 + '@napi-rs/canvas-linux-arm64-gnu': 1.0.0 + '@napi-rs/canvas-linux-arm64-musl': 1.0.0 + '@napi-rs/canvas-linux-riscv64-gnu': 1.0.0 + '@napi-rs/canvas-linux-x64-gnu': 1.0.0 + '@napi-rs/canvas-linux-x64-musl': 1.0.0 + '@napi-rs/canvas-win32-arm64-msvc': 1.0.0 + '@napi-rs/canvas-win32-x64-msvc': 1.0.0 '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': dependencies: '@emnapi/core': 1.9.2 '@emnapi/runtime': 1.9.2 - '@tybys/wasm-util': 0.10.1 + '@tybys/wasm-util': 0.10.2 optional: true '@ota-meshi/ast-token-store@0.3.0': {} @@ -1876,36 +1790,36 @@ snapshots: '@sindresorhus/base62@1.0.0': {} - '@sxzz/eslint-config@7.8.4(@typescript-eslint/eslint-plugin@8.59.0(@typescript-eslint/parser@8.59.0(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1)(typescript@5.9.3))(@typescript-eslint/parser@8.59.0(eslint@10.2.1)(typescript@5.9.3))(@typescript-eslint/rule-tester@8.59.0(eslint@10.2.1)(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.59.0(typescript@5.9.3))(@typescript-eslint/utils@8.59.0(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1)(prettier@3.8.3)(typescript@5.9.3)': - dependencies: - '@eslint-community/eslint-plugin-eslint-comments': 4.7.1(eslint@10.2.1) - '@eslint/js': 10.0.1(eslint@10.2.1) - '@eslint/markdown': 8.0.1 - eslint: 10.2.1 - eslint-config-flat-gitignore: 2.3.0(eslint@10.2.1) - eslint-config-prettier: 10.1.8(eslint@10.2.1) - eslint-flat-config-utils: 3.1.0 - eslint-plugin-antfu: 3.2.2(eslint@10.2.1) - eslint-plugin-baseline-js: 0.6.2(eslint@10.2.1) - eslint-plugin-command: 3.5.2(@typescript-eslint/rule-tester@8.59.0(eslint@10.2.1)(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.59.0(typescript@5.9.3))(@typescript-eslint/utils@8.59.0(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1) - eslint-plugin-de-morgan: 2.1.1(eslint@10.2.1) - eslint-plugin-importer: 0.3.0(eslint@10.2.1) - eslint-plugin-jsdoc: 62.9.0(eslint@10.2.1) - eslint-plugin-jsonc: 3.1.2(eslint@10.2.1) - eslint-plugin-n: 17.24.0(eslint@10.2.1)(typescript@5.9.3) - eslint-plugin-perfectionist: 5.9.0(eslint@10.2.1)(typescript@5.9.3) - eslint-plugin-pnpm: 1.6.0(eslint@10.2.1) - eslint-plugin-prettier: 5.5.5(eslint-config-prettier@10.1.8(eslint@10.2.1))(eslint@10.2.1)(prettier@3.8.3) - eslint-plugin-regexp: 3.1.0(eslint@10.2.1) - eslint-plugin-sxzz: 0.4.4(eslint@10.2.1) - eslint-plugin-unicorn: 63.0.0(eslint@10.2.1) - eslint-plugin-unused-imports: 4.4.1(@typescript-eslint/eslint-plugin@8.59.0(@typescript-eslint/parser@8.59.0(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1) - eslint-plugin-vue: 10.9.0(@typescript-eslint/parser@8.59.0(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1)(vue-eslint-parser@10.4.0(eslint@10.2.1)) - eslint-plugin-yml: 3.3.1(eslint@10.2.1) - globals: 17.5.0 + '@sxzz/eslint-config@8.1.0(@typescript-eslint/eslint-plugin@8.59.4(@typescript-eslint/parser@8.59.4(eslint@10.4.0)(typescript@6.0.3))(eslint@10.4.0)(typescript@6.0.3))(@typescript-eslint/parser@8.59.4(eslint@10.4.0)(typescript@6.0.3))(@typescript-eslint/rule-tester@8.59.4(eslint@10.4.0)(typescript@6.0.3))(@typescript-eslint/typescript-estree@8.59.4(typescript@6.0.3))(@typescript-eslint/utils@8.59.4(eslint@10.4.0)(typescript@6.0.3))(eslint@10.4.0)(prettier@3.8.3)(typescript@6.0.3)': + dependencies: + '@eslint-community/eslint-plugin-eslint-comments': 4.7.1(eslint@10.4.0) + '@eslint/js': 10.0.1(eslint@10.4.0) + '@eslint/markdown': 8.0.2 + eslint: 10.4.0 + eslint-config-flat-gitignore: 2.3.0(eslint@10.4.0) + eslint-config-prettier: 10.1.8(eslint@10.4.0) + eslint-flat-config-utils: 3.2.0 + eslint-plugin-antfu: 3.2.3(eslint@10.4.0) + eslint-plugin-baseline-js: 0.6.2(eslint@10.4.0) + eslint-plugin-command: 3.5.2(@typescript-eslint/rule-tester@8.59.4(eslint@10.4.0)(typescript@6.0.3))(@typescript-eslint/typescript-estree@8.59.4(typescript@6.0.3))(@typescript-eslint/utils@8.59.4(eslint@10.4.0)(typescript@6.0.3))(eslint@10.4.0) + eslint-plugin-de-morgan: 2.1.2(eslint@10.4.0) + eslint-plugin-importer: 0.3.0(eslint@10.4.0) + eslint-plugin-jsdoc: 62.9.0(eslint@10.4.0) + eslint-plugin-jsonc: 3.1.2(eslint@10.4.0) + eslint-plugin-n: 18.0.1(eslint@10.4.0)(typescript@6.0.3) + eslint-plugin-perfectionist: 5.9.0(eslint@10.4.0)(typescript@6.0.3) + eslint-plugin-pnpm: 1.6.1(eslint@10.4.0) + eslint-plugin-prettier: 5.5.5(eslint-config-prettier@10.1.8(eslint@10.4.0))(eslint@10.4.0)(prettier@3.8.3) + eslint-plugin-regexp: 3.1.0(eslint@10.4.0) + eslint-plugin-sxzz: 0.5.0(eslint@10.4.0) + eslint-plugin-unicorn: 64.0.0(eslint@10.4.0) + eslint-plugin-unused-imports: 4.4.1(@typescript-eslint/eslint-plugin@8.59.4(@typescript-eslint/parser@8.59.4(eslint@10.4.0)(typescript@6.0.3))(eslint@10.4.0)(typescript@6.0.3))(eslint@10.4.0) + eslint-plugin-vue: 10.9.1(@typescript-eslint/parser@8.59.4(eslint@10.4.0)(typescript@6.0.3))(eslint@10.4.0)(vue-eslint-parser@10.4.0(eslint@10.4.0)) + eslint-plugin-yml: 3.3.2(eslint@10.4.0) + globals: 17.6.0 jsonc-eslint-parser: 3.1.0 - typescript-eslint: 8.59.0(eslint@10.2.1)(typescript@5.9.3) - vue-eslint-parser: 10.4.0(eslint@10.2.1) + typescript-eslint: 8.59.4(eslint@10.4.0)(typescript@6.0.3) + vue-eslint-parser: 10.4.0(eslint@10.4.0) transitivePeerDependencies: - '@eslint/json' - '@stylistic/eslint-plugin' @@ -1917,13 +1831,14 @@ snapshots: - '@typescript-eslint/utils' - prettier - supports-color + - ts-declaration-location - typescript '@sxzz/prettier-config@2.3.1': dependencies: '@prettier/plugin-oxc': 0.1.4 - '@tybys/wasm-util@0.10.1': + '@tybys/wasm-util@0.10.2': dependencies: tslib: 2.8.1 optional: true @@ -1934,7 +1849,7 @@ snapshots: '@types/esrecurse@4.3.1': {} - '@types/estree@1.0.8': {} + '@types/estree@1.0.9': {} '@types/hast@3.0.4': dependencies: @@ -1950,147 +1865,147 @@ snapshots: '@types/ms@2.1.0': {} - '@types/node@25.6.0': + '@types/node@25.9.1': dependencies: - undici-types: 7.19.2 + undici-types: 7.24.6 '@types/unist@3.0.3': {} - '@typescript-eslint/eslint-plugin@8.59.0(@typescript-eslint/parser@8.59.0(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1)(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.59.4(@typescript-eslint/parser@8.59.4(eslint@10.4.0)(typescript@6.0.3))(eslint@10.4.0)(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.59.0(eslint@10.2.1)(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.59.0 - '@typescript-eslint/type-utils': 8.59.0(eslint@10.2.1)(typescript@5.9.3) - '@typescript-eslint/utils': 8.59.0(eslint@10.2.1)(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.59.0 - eslint: 10.2.1 + '@typescript-eslint/parser': 8.59.4(eslint@10.4.0)(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.59.4 + '@typescript-eslint/type-utils': 8.59.4(eslint@10.4.0)(typescript@6.0.3) + '@typescript-eslint/utils': 8.59.4(eslint@10.4.0)(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.59.4 + eslint: 10.4.0 ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.59.0(eslint@10.2.1)(typescript@5.9.3)': + '@typescript-eslint/parser@8.59.4(eslint@10.4.0)(typescript@6.0.3)': dependencies: - '@typescript-eslint/scope-manager': 8.59.0 - '@typescript-eslint/types': 8.59.0 - '@typescript-eslint/typescript-estree': 8.59.0(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.59.0 + '@typescript-eslint/scope-manager': 8.59.4 + '@typescript-eslint/types': 8.59.4 + '@typescript-eslint/typescript-estree': 8.59.4(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.59.4 debug: 4.4.3 - eslint: 10.2.1 - typescript: 5.9.3 + eslint: 10.4.0 + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.59.0(typescript@5.9.3)': + '@typescript-eslint/project-service@8.59.4(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.59.0(typescript@5.9.3) - '@typescript-eslint/types': 8.59.0 + '@typescript-eslint/tsconfig-utils': 8.59.4(typescript@6.0.3) + '@typescript-eslint/types': 8.59.4 debug: 4.4.3 - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/rule-tester@8.59.0(eslint@10.2.1)(typescript@5.9.3)': + '@typescript-eslint/rule-tester@8.59.4(eslint@10.4.0)(typescript@6.0.3)': dependencies: - '@typescript-eslint/parser': 8.59.0(eslint@10.2.1)(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.59.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.59.0(eslint@10.2.1)(typescript@5.9.3) + '@typescript-eslint/parser': 8.59.4(eslint@10.4.0)(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.59.4(typescript@6.0.3) + '@typescript-eslint/utils': 8.59.4(eslint@10.4.0)(typescript@6.0.3) ajv: 6.15.0 - eslint: 10.2.1 + eslint: 10.4.0 json-stable-stringify-without-jsonify: 1.0.1 lodash.merge: 4.6.2 - semver: 7.7.4 + semver: 7.8.1 + typescript: 6.0.3 transitivePeerDependencies: - supports-color - - typescript - '@typescript-eslint/scope-manager@8.59.0': + '@typescript-eslint/scope-manager@8.59.4': dependencies: - '@typescript-eslint/types': 8.59.0 - '@typescript-eslint/visitor-keys': 8.59.0 + '@typescript-eslint/types': 8.59.4 + '@typescript-eslint/visitor-keys': 8.59.4 - '@typescript-eslint/tsconfig-utils@8.59.0(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.59.4(typescript@6.0.3)': dependencies: - typescript: 5.9.3 + typescript: 6.0.3 - '@typescript-eslint/type-utils@8.59.0(eslint@10.2.1)(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.59.4(eslint@10.4.0)(typescript@6.0.3)': dependencies: - '@typescript-eslint/types': 8.59.0 - '@typescript-eslint/typescript-estree': 8.59.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.59.0(eslint@10.2.1)(typescript@5.9.3) + '@typescript-eslint/types': 8.59.4 + '@typescript-eslint/typescript-estree': 8.59.4(typescript@6.0.3) + '@typescript-eslint/utils': 8.59.4(eslint@10.4.0)(typescript@6.0.3) debug: 4.4.3 - eslint: 10.2.1 - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 + eslint: 10.4.0 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.59.0': {} + '@typescript-eslint/types@8.59.4': {} - '@typescript-eslint/typescript-estree@8.59.0(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.59.4(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.59.0(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.59.0(typescript@5.9.3) - '@typescript-eslint/types': 8.59.0 - '@typescript-eslint/visitor-keys': 8.59.0 + '@typescript-eslint/project-service': 8.59.4(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.59.4(typescript@6.0.3) + '@typescript-eslint/types': 8.59.4 + '@typescript-eslint/visitor-keys': 8.59.4 debug: 4.4.3 minimatch: 10.2.5 - semver: 7.7.4 + semver: 7.8.1 tinyglobby: 0.2.16 - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.59.0(eslint@10.2.1)(typescript@5.9.3)': + '@typescript-eslint/utils@8.59.4(eslint@10.4.0)(typescript@6.0.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1) - '@typescript-eslint/scope-manager': 8.59.0 - '@typescript-eslint/types': 8.59.0 - '@typescript-eslint/typescript-estree': 8.59.0(typescript@5.9.3) - eslint: 10.2.1 - typescript: 5.9.3 + '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.0) + '@typescript-eslint/scope-manager': 8.59.4 + '@typescript-eslint/types': 8.59.4 + '@typescript-eslint/typescript-estree': 8.59.4(typescript@6.0.3) + eslint: 10.4.0 + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.59.0': + '@typescript-eslint/visitor-keys@8.59.4': dependencies: - '@typescript-eslint/types': 8.59.0 + '@typescript-eslint/types': 8.59.4 eslint-visitor-keys: 5.0.1 - '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260425.1': + '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260522.1': optional: true - '@typescript/native-preview-darwin-x64@7.0.0-dev.20260425.1': + '@typescript/native-preview-darwin-x64@7.0.0-dev.20260522.1': optional: true - '@typescript/native-preview-linux-arm64@7.0.0-dev.20260425.1': + '@typescript/native-preview-linux-arm64@7.0.0-dev.20260522.1': optional: true - '@typescript/native-preview-linux-arm@7.0.0-dev.20260425.1': + '@typescript/native-preview-linux-arm@7.0.0-dev.20260522.1': optional: true - '@typescript/native-preview-linux-x64@7.0.0-dev.20260425.1': + '@typescript/native-preview-linux-x64@7.0.0-dev.20260522.1': optional: true - '@typescript/native-preview-win32-arm64@7.0.0-dev.20260425.1': + '@typescript/native-preview-win32-arm64@7.0.0-dev.20260522.1': optional: true - '@typescript/native-preview-win32-x64@7.0.0-dev.20260425.1': + '@typescript/native-preview-win32-x64@7.0.0-dev.20260522.1': optional: true - '@typescript/native-preview@7.0.0-dev.20260425.1': + '@typescript/native-preview@7.0.0-dev.20260522.1': optionalDependencies: - '@typescript/native-preview-darwin-arm64': 7.0.0-dev.20260425.1 - '@typescript/native-preview-darwin-x64': 7.0.0-dev.20260425.1 - '@typescript/native-preview-linux-arm': 7.0.0-dev.20260425.1 - '@typescript/native-preview-linux-arm64': 7.0.0-dev.20260425.1 - '@typescript/native-preview-linux-x64': 7.0.0-dev.20260425.1 - '@typescript/native-preview-win32-arm64': 7.0.0-dev.20260425.1 - '@typescript/native-preview-win32-x64': 7.0.0-dev.20260425.1 + '@typescript/native-preview-darwin-arm64': 7.0.0-dev.20260522.1 + '@typescript/native-preview-darwin-x64': 7.0.0-dev.20260522.1 + '@typescript/native-preview-linux-arm': 7.0.0-dev.20260522.1 + '@typescript/native-preview-linux-arm64': 7.0.0-dev.20260522.1 + '@typescript/native-preview-linux-x64': 7.0.0-dev.20260522.1 + '@typescript/native-preview-win32-arm64': 7.0.0-dev.20260522.1 + '@typescript/native-preview-win32-x64': 7.0.0-dev.20260522.1 acorn-jsx@5.3.2(acorn@8.16.0): dependencies: @@ -2109,25 +2024,25 @@ snapshots: balanced-match@4.0.4: {} - baseline-browser-mapping@2.10.22: {} + baseline-browser-mapping@2.10.32: {} boolbase@1.0.0: {} - brace-expansion@5.0.5: + brace-expansion@5.0.6: dependencies: balanced-match: 4.0.4 browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.22 - caniuse-lite: 1.0.30001790 - electron-to-chromium: 1.5.344 - node-releases: 2.0.38 + baseline-browser-mapping: 2.10.32 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.361 + node-releases: 2.0.46 update-browserslist-db: 1.2.3(browserslist@4.28.2) - builtin-modules@5.1.0: {} + builtin-modules@5.2.0: {} - caniuse-lite@1.0.30001790: {} + caniuse-lite@1.0.30001793: {} ccount@2.0.1: {} @@ -2225,11 +2140,11 @@ snapshots: domelementtype: 2.3.0 domhandler: 5.0.3 - electron-to-chromium@1.5.344: {} + electron-to-chromium@1.5.361: {} - empathic@2.0.0: {} + empathic@2.0.1: {} - enhanced-resolve@5.21.0: + enhanced-resolve@5.22.0: dependencies: graceful-fs: 4.2.11 tapable: 2.3.3 @@ -2244,71 +2159,71 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-compat-utils@0.5.1(eslint@10.2.1): + eslint-compat-utils@0.5.1(eslint@10.4.0): dependencies: - eslint: 10.2.1 - semver: 7.7.4 + eslint: 10.4.0 + semver: 7.8.1 - eslint-config-flat-gitignore@2.3.0(eslint@10.2.1): + eslint-config-flat-gitignore@2.3.0(eslint@10.4.0): dependencies: - '@eslint/compat': 2.0.5(eslint@10.2.1) - eslint: 10.2.1 + '@eslint/compat': 2.1.0(eslint@10.4.0) + eslint: 10.4.0 - eslint-config-prettier@10.1.8(eslint@10.2.1): + eslint-config-prettier@10.1.8(eslint@10.4.0): dependencies: - eslint: 10.2.1 + eslint: 10.4.0 - eslint-flat-config-utils@3.1.0: + eslint-flat-config-utils@3.2.0: dependencies: '@eslint/config-helpers': 0.5.5 pathe: 2.0.3 - eslint-json-compat-utils@0.2.3(eslint@10.2.1)(jsonc-eslint-parser@3.1.0): + eslint-json-compat-utils@0.2.3(eslint@10.4.0)(jsonc-eslint-parser@3.1.0): dependencies: - eslint: 10.2.1 + eslint: 10.4.0 esquery: 1.7.0 jsonc-eslint-parser: 3.1.0 - eslint-plugin-antfu@3.2.2(eslint@10.2.1): + eslint-plugin-antfu@3.2.3(eslint@10.4.0): dependencies: - eslint: 10.2.1 + eslint: 10.4.0 - eslint-plugin-baseline-js@0.6.2(eslint@10.2.1): + eslint-plugin-baseline-js@0.6.2(eslint@10.4.0): dependencies: - eslint: 10.2.1 - eslint-plugin-es-x: 9.6.0(eslint@10.2.1) + eslint: 10.4.0 + eslint-plugin-es-x: 9.6.0(eslint@10.4.0) - eslint-plugin-command@3.5.2(@typescript-eslint/rule-tester@8.59.0(eslint@10.2.1)(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.59.0(typescript@5.9.3))(@typescript-eslint/utils@8.59.0(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1): + eslint-plugin-command@3.5.2(@typescript-eslint/rule-tester@8.59.4(eslint@10.4.0)(typescript@6.0.3))(@typescript-eslint/typescript-estree@8.59.4(typescript@6.0.3))(@typescript-eslint/utils@8.59.4(eslint@10.4.0)(typescript@6.0.3))(eslint@10.4.0): dependencies: '@es-joy/jsdoccomment': 0.84.0 - '@typescript-eslint/rule-tester': 8.59.0(eslint@10.2.1)(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.59.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.59.0(eslint@10.2.1)(typescript@5.9.3) - eslint: 10.2.1 + '@typescript-eslint/rule-tester': 8.59.4(eslint@10.4.0)(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.59.4(typescript@6.0.3) + '@typescript-eslint/utils': 8.59.4(eslint@10.4.0)(typescript@6.0.3) + eslint: 10.4.0 - eslint-plugin-de-morgan@2.1.1(eslint@10.2.1): + eslint-plugin-de-morgan@2.1.2(eslint@10.4.0): dependencies: - eslint: 10.2.1 + eslint: 10.4.0 - eslint-plugin-es-x@7.8.0(eslint@10.2.1): + eslint-plugin-es-x@7.8.0(eslint@10.4.0): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.0) '@eslint-community/regexpp': 4.12.2 - eslint: 10.2.1 - eslint-compat-utils: 0.5.1(eslint@10.2.1) + eslint: 10.4.0 + eslint-compat-utils: 0.5.1(eslint@10.4.0) - eslint-plugin-es-x@9.6.0(eslint@10.2.1): + eslint-plugin-es-x@9.6.0(eslint@10.4.0): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.0) '@eslint-community/regexpp': 4.12.2 - eslint: 10.2.1 - eslint-type-tracer: 0.5.2(eslint@10.2.1) + eslint: 10.4.0 + eslint-type-tracer: 0.5.2(eslint@10.4.0) - eslint-plugin-importer@0.3.0(eslint@10.2.1): + eslint-plugin-importer@0.3.0(eslint@10.4.0): dependencies: - eslint: 10.2.1 + eslint: 10.4.0 - eslint-plugin-jsdoc@62.9.0(eslint@10.2.1): + eslint-plugin-jsdoc@62.9.0(eslint@10.4.0): dependencies: '@es-joy/jsdoccomment': 0.86.0 '@es-joy/resolve.exports': 1.2.0 @@ -2316,173 +2231,169 @@ snapshots: comment-parser: 1.4.6 debug: 4.4.3 escape-string-regexp: 4.0.0 - eslint: 10.2.1 + eslint: 10.4.0 espree: 11.2.0 esquery: 1.7.0 html-entities: 2.6.0 - object-deep-merge: 2.0.0 + object-deep-merge: 2.0.1 parse-imports-exports: 0.2.4 - semver: 7.7.4 + semver: 7.8.1 spdx-expression-parse: 4.0.0 to-valid-identifier: 1.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@3.1.2(eslint@10.2.1): + eslint-plugin-jsonc@3.1.2(eslint@10.4.0): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.0) '@eslint/core': 1.2.1 '@eslint/plugin-kit': 0.6.1 '@ota-meshi/ast-token-store': 0.3.0 diff-sequences: 29.6.3 - eslint: 10.2.1 - eslint-json-compat-utils: 0.2.3(eslint@10.2.1)(jsonc-eslint-parser@3.1.0) + eslint: 10.4.0 + eslint-json-compat-utils: 0.2.3(eslint@10.4.0)(jsonc-eslint-parser@3.1.0) jsonc-eslint-parser: 3.1.0 natural-compare: 1.4.0 synckit: 0.11.12 transitivePeerDependencies: - '@eslint/json' - eslint-plugin-n@17.24.0(eslint@10.2.1)(typescript@5.9.3): + eslint-plugin-n@18.0.1(eslint@10.4.0)(typescript@6.0.3): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1) - enhanced-resolve: 5.21.0 - eslint: 10.2.1 - eslint-plugin-es-x: 7.8.0(eslint@10.2.1) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.0) + enhanced-resolve: 5.22.0 + eslint: 10.4.0 + eslint-plugin-es-x: 7.8.0(eslint@10.4.0) get-tsconfig: 4.14.0 globals: 15.15.0 globrex: 0.1.2 ignore: 5.3.2 - semver: 7.7.4 - ts-declaration-location: 1.0.7(typescript@5.9.3) - transitivePeerDependencies: - - typescript + semver: 7.8.1 + optionalDependencies: + typescript: 6.0.3 - eslint-plugin-perfectionist@5.9.0(eslint@10.2.1)(typescript@5.9.3): + eslint-plugin-perfectionist@5.9.0(eslint@10.4.0)(typescript@6.0.3): dependencies: - '@typescript-eslint/utils': 8.59.0(eslint@10.2.1)(typescript@5.9.3) - eslint: 10.2.1 + '@typescript-eslint/utils': 8.59.4(eslint@10.4.0)(typescript@6.0.3) + eslint: 10.4.0 natural-orderby: 5.0.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-pnpm@1.6.0(eslint@10.2.1): + eslint-plugin-pnpm@1.6.1(eslint@10.4.0): dependencies: - empathic: 2.0.0 - eslint: 10.2.1 + empathic: 2.0.1 + eslint: 10.4.0 jsonc-eslint-parser: 3.1.0 pathe: 2.0.3 - pnpm-workspace-yaml: 1.6.0 + pnpm-workspace-yaml: 1.6.1 tinyglobby: 0.2.16 - yaml: 2.8.3 + yaml: 2.9.0 yaml-eslint-parser: 2.0.0 - eslint-plugin-prettier@5.5.5(eslint-config-prettier@10.1.8(eslint@10.2.1))(eslint@10.2.1)(prettier@3.8.3): + eslint-plugin-prettier@5.5.5(eslint-config-prettier@10.1.8(eslint@10.4.0))(eslint@10.4.0)(prettier@3.8.3): dependencies: - eslint: 10.2.1 + eslint: 10.4.0 prettier: 3.8.3 prettier-linter-helpers: 1.0.1 synckit: 0.11.12 optionalDependencies: - eslint-config-prettier: 10.1.8(eslint@10.2.1) + eslint-config-prettier: 10.1.8(eslint@10.4.0) - eslint-plugin-regexp@3.1.0(eslint@10.2.1): + eslint-plugin-regexp@3.1.0(eslint@10.4.0): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.0) '@eslint-community/regexpp': 4.12.2 comment-parser: 1.4.6 - eslint: 10.2.1 + eslint: 10.4.0 jsdoc-type-pratt-parser: 7.2.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-sxzz@0.4.4(eslint@10.2.1): + eslint-plugin-sxzz@0.5.0(eslint@10.4.0): dependencies: - eslint: 10.2.1 + eslint: 10.4.0 - eslint-plugin-unicorn@63.0.0(eslint@10.2.1): + eslint-plugin-unicorn@64.0.0(eslint@10.4.0): dependencies: '@babel/helper-validator-identifier': 7.28.5 - '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.0) change-case: 5.4.4 ci-info: 4.4.0 clean-regexp: 1.0.0 core-js-compat: 3.49.0 - eslint: 10.2.1 + eslint: 10.4.0 find-up-simple: 1.0.1 - globals: 16.5.0 + globals: 17.6.0 indent-string: 5.0.0 is-builtin-module: 5.0.0 jsesc: 3.1.0 pluralize: 8.0.0 regexp-tree: 0.1.27 regjsparser: 0.13.1 - semver: 7.7.4 + semver: 7.8.1 strip-indent: 4.1.1 - eslint-plugin-unused-imports@4.4.1(@typescript-eslint/eslint-plugin@8.59.0(@typescript-eslint/parser@8.59.0(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1): + eslint-plugin-unused-imports@4.4.1(@typescript-eslint/eslint-plugin@8.59.4(@typescript-eslint/parser@8.59.4(eslint@10.4.0)(typescript@6.0.3))(eslint@10.4.0)(typescript@6.0.3))(eslint@10.4.0): dependencies: - eslint: 10.2.1 + eslint: 10.4.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.59.0(@typescript-eslint/parser@8.59.0(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1)(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.59.4(@typescript-eslint/parser@8.59.4(eslint@10.4.0)(typescript@6.0.3))(eslint@10.4.0)(typescript@6.0.3) - eslint-plugin-vue@10.9.0(@typescript-eslint/parser@8.59.0(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1)(vue-eslint-parser@10.4.0(eslint@10.2.1)): + eslint-plugin-vue@10.9.1(@typescript-eslint/parser@8.59.4(eslint@10.4.0)(typescript@6.0.3))(eslint@10.4.0)(vue-eslint-parser@10.4.0(eslint@10.4.0)): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1) - eslint: 10.2.1 + '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.0) + eslint: 10.4.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 7.1.1 - semver: 7.7.4 - vue-eslint-parser: 10.4.0(eslint@10.2.1) + semver: 7.8.1 + vue-eslint-parser: 10.4.0(eslint@10.4.0) xml-name-validator: 4.0.0 optionalDependencies: - '@typescript-eslint/parser': 8.59.0(eslint@10.2.1)(typescript@5.9.3) + '@typescript-eslint/parser': 8.59.4(eslint@10.4.0)(typescript@6.0.3) - eslint-plugin-yml@3.3.1(eslint@10.2.1): + eslint-plugin-yml@3.3.2(eslint@10.4.0): dependencies: '@eslint/core': 1.2.1 - '@eslint/plugin-kit': 0.6.1 + '@eslint/plugin-kit': 0.7.1 '@ota-meshi/ast-token-store': 0.3.0 - debug: 4.4.3 diff-sequences: 29.6.3 escape-string-regexp: 5.0.0 - eslint: 10.2.1 + eslint: 10.4.0 natural-compare: 1.4.0 yaml-eslint-parser: 2.0.0 - transitivePeerDependencies: - - supports-color eslint-scope@9.1.2: dependencies: '@types/esrecurse': 4.3.1 - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-type-tracer@0.5.2(eslint@10.2.1): + eslint-type-tracer@0.5.2(eslint@10.4.0): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1) - eslint: 10.2.1 + '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.0) + eslint: 10.4.0 eslint-visitor-keys@3.4.3: {} eslint-visitor-keys@5.0.1: {} - eslint@10.2.1: + eslint@10.4.0: dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.0) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.23.5 - '@eslint/config-helpers': 0.5.5 + '@eslint/config-helpers': 0.6.0 '@eslint/core': 1.2.1 '@eslint/plugin-kit': 0.7.1 '@humanfs/node': 0.16.8 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 ajv: 6.15.0 cross-spawn: 7.0.6 debug: 4.4.3 @@ -2572,9 +2483,7 @@ snapshots: globals@15.15.0: {} - globals@16.5.0: {} - - globals@17.5.0: {} + globals@17.6.0: {} globrex@0.1.2: {} @@ -2592,7 +2501,7 @@ snapshots: is-builtin-module@5.0.0: dependencies: - builtin-modules: 5.1.0 + builtin-modules: 5.2.0 is-extglob@2.1.1: {} @@ -2618,9 +2527,9 @@ snapshots: dependencies: acorn: 8.16.0 eslint-visitor-keys: 5.0.1 - semver: 7.7.4 + semver: 7.8.1 - katex@0.16.45: + katex@0.16.47: dependencies: commander: 8.3.0 @@ -2862,7 +2771,7 @@ snapshots: dependencies: '@types/katex': 0.16.8 devlop: 1.1.0 - katex: 0.16.45 + katex: 0.16.47 micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 @@ -2984,7 +2893,7 @@ snapshots: minimatch@10.2.5: dependencies: - brace-expansion: 5.0.5 + brace-expansion: 5.0.6 ms@2.1.3: {} @@ -2996,7 +2905,7 @@ snapshots: natural-orderby@5.0.0: {} - node-releases@2.0.38: {} + node-releases@2.0.46: {} npm-high-impact@1.12.0: {} @@ -3004,7 +2913,7 @@ snapshots: dependencies: boolbase: 1.0.0 - object-deep-merge@2.0.0: {} + object-deep-merge@2.0.1: {} optionator@0.9.4: dependencies: @@ -3070,9 +2979,9 @@ snapshots: pluralize@8.0.0: {} - pnpm-workspace-yaml@1.6.0: + pnpm-workspace-yaml@1.6.1: dependencies: - yaml: 2.8.3 + yaml: 2.9.0 postcss-selector-parser@7.1.1: dependencies: @@ -3116,7 +3025,7 @@ snapshots: refa: 0.12.1 regexp-ast-analysis: 0.7.1 - semver@7.7.4: {} + semver@7.8.1: {} shebang-command@2.0.0: dependencies: @@ -3163,14 +3072,9 @@ snapshots: '@sindresorhus/base62': 1.0.0 reserved-identifiers: 1.2.0 - ts-api-utils@2.5.0(typescript@5.9.3): + ts-api-utils@2.5.0(typescript@6.0.3): dependencies: - typescript: 5.9.3 - - ts-declaration-location@1.0.7(typescript@5.9.3): - dependencies: - picomatch: 4.0.4 - typescript: 5.9.3 + typescript: 6.0.3 tslib@2.8.1: optional: true @@ -3179,20 +3083,20 @@ snapshots: dependencies: prelude-ls: 1.2.1 - typescript-eslint@8.59.0(eslint@10.2.1)(typescript@5.9.3): + typescript-eslint@8.59.4(eslint@10.4.0)(typescript@6.0.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.59.0(@typescript-eslint/parser@8.59.0(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1)(typescript@5.9.3) - '@typescript-eslint/parser': 8.59.0(eslint@10.2.1)(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.59.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.59.0(eslint@10.2.1)(typescript@5.9.3) - eslint: 10.2.1 - typescript: 5.9.3 + '@typescript-eslint/eslint-plugin': 8.59.4(@typescript-eslint/parser@8.59.4(eslint@10.4.0)(typescript@6.0.3))(eslint@10.4.0)(typescript@6.0.3) + '@typescript-eslint/parser': 8.59.4(eslint@10.4.0)(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.59.4(typescript@6.0.3) + '@typescript-eslint/utils': 8.59.4(eslint@10.4.0)(typescript@6.0.3) + eslint: 10.4.0 + typescript: 6.0.3 transitivePeerDependencies: - supports-color - typescript@5.9.3: {} + typescript@6.0.3: {} - undici-types@7.19.2: {} + undici-types@7.24.6: {} unist-util-is@6.0.1: dependencies: @@ -3230,15 +3134,15 @@ snapshots: util-deprecate@1.0.2: {} - vue-eslint-parser@10.4.0(eslint@10.2.1): + vue-eslint-parser@10.4.0(eslint@10.4.0): dependencies: debug: 4.4.3 - eslint: 10.2.1 + eslint: 10.4.0 eslint-scope: 9.1.2 eslint-visitor-keys: 5.0.1 espree: 11.2.0 esquery: 1.7.0 - semver: 7.7.4 + semver: 7.8.1 transitivePeerDependencies: - supports-color @@ -3253,9 +3157,9 @@ snapshots: yaml-eslint-parser@2.0.0: dependencies: eslint-visitor-keys: 5.0.1 - yaml: 2.8.3 + yaml: 2.9.0 - yaml@2.8.3: {} + yaml@2.9.0: {} yocto-queue@0.1.0: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 6e91522..263a132 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1 +1,2 @@ +minimumReleaseAge: 0 trustPolicy: no-downgrade