diff --git a/packages/midscene/src/ai-model/automation/planning.ts b/packages/midscene/src/ai-model/automation/planning.ts index d52f81a7..da138b1a 100644 --- a/packages/midscene/src/ai-model/automation/planning.ts +++ b/packages/midscene/src/ai-model/automation/planning.ts @@ -17,7 +17,7 @@ export function systemPromptToTaskPlanning() { * type: 'KeyboardPress', press a key * param: { value: string }, the value to input or the key to press. Use (Enter, Shift, Control, Alt, Meta, ShiftLeft, ControlOrMeta, ControlOrMeta) to represent the key. * type: 'Scroll' - * param: { scrollType: 'ScrollUntilBottom', 'ScrollUntilTop', 'ScrollDown', 'ScrollUp' } + * param: { scrollType: 'scrollDownOneScreen', 'scrollUpOneScreen', 'scrollUntilBottom', 'scrollUntilTop' } * type: 'Error' * param: { message: string }, the error message * type: 'Sleep' diff --git a/packages/midscene/src/types.ts b/packages/midscene/src/types.ts index 0a30c4e7..d0d98e20 100644 --- a/packages/midscene/src/types.ts +++ b/packages/midscene/src/types.ts @@ -209,10 +209,10 @@ export interface PlanningActionParamInputOrKeyPress { } export interface PlanningActionParamScroll { scrollType: - | 'ScrollUntilBottom' - | 'ScrollUntilTop' - | 'ScrollDown' - | 'ScrollUp'; + | 'scrollUntilTop' + | 'scrollUntilBottom' + | 'scrollUpOneScreen' + | 'scrollDownOneScreen'; } export interface PlanningActionParamAssert { diff --git a/packages/midscene/src/utils.ts b/packages/midscene/src/utils.ts index 6dec5363..9d3910f8 100644 --- a/packages/midscene/src/utils.ts +++ b/packages/midscene/src/utils.ts @@ -1,12 +1,6 @@ import assert from 'node:assert'; import { randomUUID } from 'node:crypto'; -import { - copyFileSync, - existsSync, - mkdirSync, - readFileSync, - writeFileSync, -} from 'node:fs'; +import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'; import { tmpdir } from 'node:os'; import path, { basename, dirname, join } from 'node:path'; import type { Rect, ReportDumpWithAttributes } from './types'; diff --git a/packages/shared/src/img/transform.ts b/packages/shared/src/img/transform.ts index a7964b63..b7e651e6 100644 --- a/packages/shared/src/img/transform.ts +++ b/packages/shared/src/img/transform.ts @@ -1,6 +1,5 @@ import { Buffer } from 'node:buffer'; import Jimp from 'jimp'; -import type { Rect } from '../types'; /** * Saves a Base64-encoded image to a file @@ -47,24 +46,27 @@ export async function transformImgPathToBase64(inputPath: string) { * @returns A Promise that resolves to a base64-encoded string representing the resized image * @throws An error if the width or height cannot be determined from the metadata */ -export async function resizeImg(base64Data: string) { - // Remove the base64 data prefix (if any) - const base64Image = base64Data.split(';base64,').pop() || base64Data; - - // Converts base64 data to buffer - const imageBuffer = Buffer.from(base64Image, 'base64'); +export async function resizeImg( + inputData: string | Buffer, +): Promise { + const isBase64 = typeof inputData === 'string'; + const imageBuffer = isBase64 + ? Buffer.from(inputData.split(';base64,').pop() || inputData, 'base64') + : inputData; const image = await Jimp.read(imageBuffer); const { width, height } = image.bitmap; + if (!width || !height) { - throw Error('undefined width or height with url'); + throw Error('Undefined width or height from the input image.'); } const newSize = calculateNewDimensions(width, height); image.resize(newSize.width, newSize.height); - const buffer = await image.getBufferAsync(Jimp.MIME_PNG); - return buffer.toString('base64'); + const resizedBuffer = await image.getBufferAsync(Jimp.MIME_PNG); + + return isBase64 ? resizedBuffer.toString('base64') : resizedBuffer; } /** diff --git a/packages/web-integration/package.json b/packages/web-integration/package.json index 583ab000..6a6674d6 100644 --- a/packages/web-integration/package.json +++ b/packages/web-integration/package.json @@ -77,25 +77,29 @@ "openai": "4.47.1", "inquirer": "10.1.5", "@midscene/core": "workspace:*", - "@midscene/shared": "workspace:*" + "@midscene/shared": "workspace:*", + "@xmldom/xmldom": "0.8.10" }, "devDependencies": { "@modern-js/module-tools": "2.58.2", - "js-sha256": "0.11.0", + "@playwright/test": "1.44.1", + "@types/fs-extra": "11.0.4", "@types/node": "^18.0.0", - "typescript": "~5.0.4", - "vitest": "^1.6.0", + "@wdio/types": "9.0.4", + "dotenv": "16.4.5", + "fs-extra": "11.2.0", + "js-sha256": "0.11.0", "playwright": "1.44.1", "puppeteer": "23.0.2", - "@playwright/test": "1.44.1", - "fs-extra": "11.2.0", - "@types/fs-extra": "11.0.4", - "dotenv": "16.4.5" + "typescript": "~5.0.4", + "vitest": "^1.6.0", + "webdriverio": "9.0.6" }, "peerDependencies": { "@playwright/test": "^1.44.1", "playwright": "^1.44.1", - "puppeteer": ">=20.0.0" + "puppeteer": ">=20.0.0", + "webdriverio": ">=9.0.6" }, "peerDependenciesMeta": { "@playwright/test": { @@ -103,6 +107,9 @@ }, "puppeteer": { "optional": true + }, + "webdriverio": { + "optional": true } }, "engines": { diff --git a/packages/web-integration/src/Page.ts b/packages/web-integration/src/Page.ts new file mode 100644 index 00000000..a61f1ea8 --- /dev/null +++ b/packages/web-integration/src/Page.ts @@ -0,0 +1,45 @@ +import type { WebKeyInput } from './common/page'; +import type { ElementInfo } from './extractor/extractor'; + +type encodingType = 'base64' | 'binary'; +type imageType = 'jpeg' | 'png'; + +export type screenshotOptions = { + path?: string; + encoding?: encodingType; + type?: imageType; + quality?: number; +}; +export type MouseButton = 'left' | 'right' | 'middle'; + +export abstract class AbstractPage { + abstract screenshot(options: screenshotOptions): Promise; + abstract getElementInfos(): Promise; + abstract url(): string; + + get mouse() { + return { + click: async ( + x: number, + y: number, + options: { button: MouseButton }, + ) => {}, + wheel: async (deltaX: number, deltaY: number) => {}, + move: async (x: number, y: number) => {}, + }; + } + + get keyboard() { + return { + type: async (text: string) => {}, + press: async (key: WebKeyInput) => {}, + }; + } + + async selectAll(): Promise {} + + abstract scrollUntilTop(): Promise; + abstract scrollUntilBottom(): Promise; + abstract scrollUpOneScreen(): Promise; + abstract scrollDownOneScreen(): Promise; +} diff --git a/packages/web-integration/src/appium/index.ts b/packages/web-integration/src/appium/index.ts new file mode 100644 index 00000000..3dd4af7e --- /dev/null +++ b/packages/web-integration/src/appium/index.ts @@ -0,0 +1,2 @@ +export { PageAgent as AppiumAgent } from '@/common/agent'; +export { Page as AppiumPage } from './page'; diff --git a/packages/web-integration/src/appium/page.ts b/packages/web-integration/src/appium/page.ts new file mode 100644 index 00000000..3b338c26 --- /dev/null +++ b/packages/web-integration/src/appium/page.ts @@ -0,0 +1,220 @@ +import fs from 'node:fs'; +import { resizeImg } from '@midscene/shared/img'; +import type { KeyInput as PuppeteerKeyInput } from 'puppeteer'; +import type { Browser } from 'webdriverio'; +import type { AbstractPage, MouseButton, screenshotOptions } from '../Page'; +import { parsePageSource } from '../extractor/appium-exactor'; + +type WebKeyInput = PuppeteerKeyInput; + +function buttonToNumber(button: MouseButton): number { + return button === 'left' ? 0 : button === 'middle' ? 1 : 2; +} + +export class Page implements AbstractPage { + private browser: Browser; + + constructor(browser: Browser) { + this.browser = browser; + } + + async getElementInfos() { + const pageSource = await this.browser.getPageSource(); + return parsePageSource(pageSource); + } + + async screenshot(options: screenshotOptions): Promise { + if (!options.path) { + return Buffer.from(''); + } + + const screenshotBuffer = await this.browser.saveScreenshot(options.path); + const resizedScreenshotBuffer = await resizeImg(screenshotBuffer); + + if (options.path) { + fs.writeFileSync(options.path, resizedScreenshotBuffer); + } + + return resizedScreenshotBuffer as Buffer; + } + + get mouse() { + return { + click: (x: number, y: number, options?: { button: MouseButton }) => + this.mouseClick(x, y, options?.button || 'left'), + wheel: (deltaX: number, deltaY: number) => + this.mouseWheel(deltaX, deltaY), + move: (x: number, y: number) => this.mouseMove(x, y), + }; + } + + // Object that includes keyboard and mouse operations + get keyboard() { + return { + type: (text: string) => this.keyboardType(text), + press: (key: WebKeyInput) => this.keyboardPress(key), + }; + } + + async selectAll(): Promise { + // TODO: Implement selectAll + } + + url(): string { + const platformName = this.browser.capabilities.platformName?.toLowerCase(); + + if (platformName === 'ios') { + const bundleId = (this.browser.capabilities as { bundleId: string }) + .bundleId; + return bundleId; + } + + if (platformName === 'android') { + const appActivity = (this.browser.capabilities as { appActivity: string }) + .appActivity; + return appActivity; + } + + return ''; + } + + // Scroll to top element + async scrollUntilTop(): Promise { + const { height } = await this.browser.getWindowSize(); + + await this.mouseWheel(0, height, 100); + } + + // Scroll to bottom element + async scrollUntilBottom(): Promise { + const { height } = await this.browser.getWindowSize(); + + await this.mouseWheel(0, -height, 100); + } + + // Scroll up one screen + async scrollUpOneScreen(): Promise { + const { height } = await this.browser.getWindowSize(); + + await this.mouseWheel(0, height, 1000); + } + + // Scroll down one screen + async scrollDownOneScreen(): Promise { + const { height } = await this.browser.getWindowSize(); + + await this.mouseWheel(0, -height, 1000); + } + + private async keyboardType(text: string): Promise { + const actions = []; + + for (const char of text) { + actions.push({ type: 'keyDown', value: char }); + actions.push({ type: 'keyUp', value: char }); + } + + await this.browser.performActions([ + { + type: 'key', + id: 'keyboard', + actions: actions, + }, + ]); + } + + private async keyboardPress(key: WebKeyInput): Promise { + await this.browser.performActions([ + { + type: 'key', + id: 'keyboard', + actions: [ + { type: 'keyDown', value: key }, + { type: 'keyUp', value: key }, + ], + }, + ]); + } + + private async mouseClick( + x: number, + y: number, + button: MouseButton = 'left', + ): Promise { + await this.mouseMove(x, y); + await this.browser.performActions([ + { + type: 'pointer', + id: 'mouse', + parameters: { pointerType: 'mouse' }, + actions: [ + { type: 'pointerMove', duration: 0, x, y }, + { type: 'pointerDown', button: buttonToNumber(button) }, + { type: 'pause', duration: 100 }, + { type: 'pointerUp', button: buttonToNumber(button) }, + ], + }, + ]); + } + + private async mouseMove(x: number, y: number): Promise { + await this.browser.performActions([ + { + type: 'pointer', + id: 'mouse', + parameters: { pointerType: 'mouse' }, + actions: [{ type: 'pointerMove', duration: 0, x, y }], + }, + ]); + } + + private async mouseWheel( + deltaX: number, + deltaY: number, + duration = 1000, + ): Promise { + const n = 4; + // Get the size of the window + const windowSize = await this.browser.getWindowSize(); + + // Set the starting point based on the sign of deltaX and deltaY + const startX = + deltaX < 0 ? (n - 1) * (windowSize.width / n) : windowSize.width / n; + const startY = + deltaY < 0 ? (n - 1) * (windowSize.height / n) : windowSize.height / n; + + // Calculate the maximum allowable offset for non-symmetry + const maxNegativeDeltaX = startX; // Maximum offset on the left + const maxPositiveDeltaX = (n - 1) * (windowSize.width / n); // Maximum offset on the right + + const maxNegativeDeltaY = startY; // Maximum offset on the top + const maxPositiveDeltaY = (n - 1) * (windowSize.height / n); // Maximum offset on the bottom + + // Limit the absolute value of deltaX and deltaY within the maximum offset + deltaX = Math.max(-maxNegativeDeltaX, Math.min(deltaX, maxPositiveDeltaX)); + deltaY = Math.max(-maxNegativeDeltaY, Math.min(deltaY, maxPositiveDeltaY)); + + await this.browser.performActions([ + { + type: 'pointer', + id: 'finger1', + parameters: { pointerType: 'touch' }, + actions: [ + { type: 'pointerMove', duration: 0, x: startX, y: startY }, + { type: 'pointerDown', button: 0 }, + { type: 'pause', duration }, + { + type: 'pointerMove', + duration, + origin: 'pointer', // Use 'pointer' as the starting point + x: deltaX, // X offset relative to the starting point + y: deltaY, // Y offset relative to the starting point + }, + { type: 'pointerUp', button: 0 }, + ], + }, + ]); + + await new Promise((resolve) => setTimeout(resolve, 2000)); + } +} diff --git a/packages/web-integration/src/common/page.d.ts b/packages/web-integration/src/common/page.d.ts index e5ca3ab8..7dbb52a3 100644 --- a/packages/web-integration/src/common/page.d.ts +++ b/packages/web-integration/src/common/page.d.ts @@ -1,7 +1,7 @@ -import type { Page as PlaywrightPage } from 'playwright'; -import type { KeyInput, Page as PuppeteerPage } from 'puppeteer'; +import type { KeyInput } from 'puppeteer'; +import type { AppiumPage } from '../appium'; +import type { PlaywrightPage } from '../playwright'; +import type { PuppeteerPage } from '../puppeteer'; -export type WebPage = (PlaywrightPage | PuppeteerPage) & { - evaluate(pageFunction: PageFunction, arg?: Arg): Promise; -}; +export type WebPage = PlaywrightPage | PuppeteerPage | AppiumPage; export type WebKeyInput = KeyInput; diff --git a/packages/web-integration/src/common/tasks.ts b/packages/web-integration/src/common/tasks.ts index 1094f3e3..7a1a5f90 100644 --- a/packages/web-integration/src/common/tasks.ts +++ b/packages/web-integration/src/common/tasks.ts @@ -27,6 +27,7 @@ import Insight, { import { commonScreenshotParam, getTmpFile, sleep } from '@midscene/core/utils'; import { base64Encoded } from '@midscene/shared/img'; import type { KeyInput, Page as PuppeteerPage } from 'puppeteer'; +import type { AppiumPage } from '../appium'; import type { WebElementInfo } from '../web-element'; import { type AiTaskCache, TaskCache } from './task-cache'; import { type WebUIContext, parseContextFromWebPage } from './utils'; @@ -213,17 +214,7 @@ export class PageTaskExecutor { ); // clear the input field // Select all content in the input field - //TODO: This needs to be abstracted to meet the mobile scene - const isMac = process.platform === 'darwin'; - if (isMac) { - await this.page.keyboard.down('Meta'); - await this.page.keyboard.press('a'); - await this.page.keyboard.up('Meta'); - } else { - await this.page.keyboard.down('Control'); - await this.page.keyboard.press('a'); - await this.page.keyboard.up('Control'); - } + await this.page.selectAll(); await this.page.keyboard.press('Backspace'); } assert(taskParam.value, 'No value to input'); @@ -283,22 +274,19 @@ export class PageTaskExecutor { param: plan.param, executor: async (taskParam) => { const scrollToEventName = taskParam.scrollType; - const innerHeight = await (this.page as PuppeteerPage).evaluate( - () => window.innerHeight, - ); switch (scrollToEventName) { - case 'ScrollUntilTop': - await this.page.mouse.wheel(0, -9999999); + case 'scrollUntilTop': + await this.page.scrollUntilTop(); break; - case 'ScrollUntilBottom': - await this.page.mouse.wheel(0, 9999999); + case 'scrollUntilBottom': + await this.page.scrollUntilBottom(); break; - case 'ScrollUp': - await this.page.mouse.wheel(0, -innerHeight); + case 'scrollUpOneScreen': + await this.page.scrollUpOneScreen(); break; - case 'ScrollDown': - await this.page.mouse.wheel(0, innerHeight); + case 'scrollDownOneScreen': + await this.page.scrollDownOneScreen(); break; default: console.error( diff --git a/packages/web-integration/src/common/utils.ts b/packages/web-integration/src/common/utils.ts index 9a005cfd..c404c96a 100644 --- a/packages/web-integration/src/common/utils.ts +++ b/packages/web-integration/src/common/utils.ts @@ -2,11 +2,13 @@ import assert from 'node:assert'; import type { Buffer } from 'node:buffer'; import fs, { readFileSync } from 'node:fs'; import path from 'node:path'; +import { parsePageSource } from '@/extractor/appium-exactor'; import type { ElementInfo } from '@/extractor/extractor'; import type { PlaywrightParserOpt, UIContext } from '@midscene/core'; import { getTmpFile } from '@midscene/core/utils'; import { base64Encoded, imageInfoOfBase64 } from '@midscene/shared/img'; import dayjs from 'dayjs'; +import { AppiumPage } from '../appium'; import { WebElementInfo } from '../web-element'; import type { WebPage } from './page'; @@ -21,12 +23,11 @@ export async function parseContextFromWebPage( assert(page, 'page is required'); const url = page.url(); - const file = getTmpFile('jpeg'); - - await page.screenshot({ path: file, type: 'jpeg', quality: 75 }); + const file = getTmpFile('png'); + await page.screenshot({ path: file }); const screenshotBuffer = readFileSync(file); const screenshotBase64 = base64Encoded(file); - const captureElementSnapshot = await getElementInfosFromPage(page); + const captureElementSnapshot = await page.getElementInfos(); // align element const elementsInfo = await alignElements( @@ -45,15 +46,12 @@ export async function parseContextFromWebPage( }; } -export async function getElementInfosFromPage(page: WebPage) { +export async function getExtraReturnLogic() { const pathDir = findNearestPackageJson(__dirname); assert(pathDir, `can't find pathDir, with ${__dirname}`); const scriptPath = path.join(pathDir, './dist/script/htmlElement.js'); const elementInfosScriptContent = readFileSync(scriptPath, 'utf-8'); - const extraReturnLogic = `${elementInfosScriptContent}midscene_element_inspector.extractTextWithPosition()`; - - const captureElementSnapshot = await page.evaluate(extraReturnLogic); - return captureElementSnapshot as Array; + return `${elementInfosScriptContent}midscene_element_inspector.extractTextWithPosition()`; } const sizeThreshold = 3; diff --git a/packages/web-integration/src/debug/img/index.ts b/packages/web-integration/src/debug/img/index.ts index 9661145e..2dec6830 100644 --- a/packages/web-integration/src/debug/img/index.ts +++ b/packages/web-integration/src/debug/img/index.ts @@ -141,3 +141,9 @@ export const processImageElementInfo = async (options: { } throw Error('Image processing failed because width or height is undefined'); }; + +export const compressImageSize = async (buffer: Buffer) => { + const resizedBuffer = await sharp(buffer).resize({ width: 640 }).toBuffer(); + + return resizedBuffer; +}; diff --git a/packages/web-integration/src/debug/img/util.ts b/packages/web-integration/src/debug/img/util.ts index c4792ca9..2f553f94 100644 --- a/packages/web-integration/src/debug/img/util.ts +++ b/packages/web-integration/src/debug/img/util.ts @@ -1,10 +1,8 @@ import { NodeType } from '@/extractor/constants'; import type { ElementInfo } from '@/extractor/extractor'; -import { getElementInfosFromPage } from '../../common/utils'; export async function getElementInfos(page: any) { - const captureElementSnapshot: Array = - await getElementInfosFromPage(page); + const captureElementSnapshot: ElementInfo[] = await page.getElementInfos; const elementsPositionInfo = captureElementSnapshot.map((elementInfo) => { return { label: elementInfo.indexId.toString(), diff --git a/packages/web-integration/src/debug/index.ts b/packages/web-integration/src/debug/index.ts index 556375c4..dc9b50b5 100644 --- a/packages/web-integration/src/debug/index.ts +++ b/packages/web-integration/src/debug/index.ts @@ -8,7 +8,6 @@ import { resizeImg, saveBase64Image, } from '@midscene/shared/img'; -import { getElementInfosFromPage } from '../common/utils'; export async function generateExtractData( page: WebPage, @@ -125,7 +124,7 @@ export function writeFileSyncWithDir( export async function getElementInfos(page: any) { const captureElementSnapshot: Array = - await getElementInfosFromPage(page); + await page.getElementInfos(); const elementsPositionInfo = captureElementSnapshot.map((elementInfo) => { return { label: elementInfo.indexId.toString(), diff --git a/packages/web-integration/src/extractor/appium-exactor.ts b/packages/web-integration/src/extractor/appium-exactor.ts new file mode 100644 index 00000000..11d2f6a9 --- /dev/null +++ b/packages/web-integration/src/extractor/appium-exactor.ts @@ -0,0 +1,170 @@ +import { DOMParser } from '@xmldom/xmldom'; +import { NodeType } from './constants'; +import type { ElementInfo } from './extractor'; +import { generateId, midsceneGenerateHash } from './util'; + +// https://github.com/appium/appium/tree/master/packages/universal-xml-plugin +// Definition of NodeDescriptor interface +interface NodeDescriptor { + node: Node; + children: NodeDescriptor[]; +} + +// Retrieve attributes from a node +function getNodeAttributes(node: Node): { [key: string]: string } { + const attrs: { [key: string]: string } = {}; + + // Check if node exists and its type is ELEMENT_NODE + if (node && node.nodeType === 1) { + const element = node as Element; + + for (let i = 0; i < element.attributes.length; i++) { + const attr = element.attributes[i]; + attrs[attr.nodeName] = attr.nodeValue ?? ''; + } + } + + return attrs; +} + +// Retrieve rectangle information +function getRect(attributes: { [key: string]: string }): { + left: number; + top: number; + width: number; + height: number; +} { + const x = Math.round(Number.parseFloat(attributes.x ?? '0')); + const y = Math.round(Number.parseFloat(attributes.y ?? '0')); + const width = Math.round(Number.parseFloat(attributes.width ?? '0')); + const height = Math.round(Number.parseFloat(attributes.height ?? '0')); + + return { + left: Math.max(0, Math.floor(x)), + top: Math.max(0, Math.floor(y)), + width: Math.max(0, width), + height: Math.max(0, height), + }; +} + +// Validate if the node can provide text content +function validTextNodeContent(node: Node): string { + if (node.nodeType === 3) { + return node.nodeValue?.trim() || ''; + } + return ''; +} + +// New parsePageSource function to extract from Appium's pageSource +export function parsePageSource(pageSource: string) { + const parser = new DOMParser(); + const doc = parser.parseFromString(pageSource, 'text/xml'); + return extractTextWithPosition(doc); +} + +// Perform DFS traversal and collect element information +export function extractTextWithPosition(initNode: Document): ElementInfo[] { + const elementInfoArray: ElementInfo[] = []; + let nodeIndex = 1; + + function dfs(node: Node, parentNode: NodeDescriptor | null = null): void { + if (!node) { + return; + } + + const currentNodeDes: NodeDescriptor = { node, children: [] }; + if (parentNode) { + parentNode.children.push(currentNodeDes); + } + + collectElementInfo(node); + + if (node.childNodes && node.childNodes.length > 0) { + for (let i = 0; i < node.childNodes.length; i++) { + dfs(node.childNodes[i], currentNodeDes); + } + } + } + + function collectElementInfo(node: Node) { + const attributes = getNodeAttributes(node); + const rect = getRect(attributes); + const nodeHashId = midsceneGenerateHash(attributes.placeholder, rect); + const text = validTextNodeContent(node); + + let nodeType = NodeType.FORM_ITEM; + + switch (node.nodeName.toUpperCase()) { + case 'TEXT': + nodeType = NodeType.TEXT; + break; + case 'IMAGE': + nodeType = NodeType.IMG; + break; + case 'BUTTON': + nodeType = NodeType.BUTTON; + break; + } + + const xpath = getXPathForElement(node); + + const elementInfo: ElementInfo = { + id: nodeHashId, + indexId: generateId(nodeIndex++), + nodeHashId, + locator: xpath, + attributes: { + nodeType, + ...attributes, + }, + content: text, + rect, + center: [ + Math.round(rect.left + rect.width / 2), + Math.round(rect.top + rect.height / 2), + ], + nodeType, + htmlNode: null, + }; + + elementInfoArray.push(elementInfo); + } + + const rootNode = initNode; + const rootDescriptor: NodeDescriptor = { node: rootNode, children: [] }; + dfs(rootNode, rootDescriptor); + + return elementInfoArray; +} + +function getXPathForElement(element: Node): string { + if (element.nodeType !== 1) { + return ''; + } + + const getIndex = (sib: Node, name: string) => { + let count = 1; + for (let cur = sib.previousSibling; cur; cur = cur.previousSibling) { + if (cur.nodeType === 1 && cur.nodeName === name) { + count++; + } + } + return count; + }; + + const getPath = (node: Node, path = ''): string => { + if (node.parentNode) { + path = getPath(node.parentNode, path); + } + + if (node.nodeType === 1) { + const index = getIndex(node, node.nodeName); + const tagName = node.nodeName.toLowerCase(); + path += `/${tagName}[${index}]`; + } + + return path; + }; + + return getPath(element); +} diff --git a/packages/web-integration/src/extractor/debug.ts b/packages/web-integration/src/extractor/debug.ts deleted file mode 100644 index 934b7900..00000000 --- a/packages/web-integration/src/extractor/debug.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { extractTextWithPosition } from '.'; - -console.log(extractTextWithPosition(document.body, true)); -console.log(JSON.stringify(extractTextWithPosition(document.body, false))); -(window as any).extractTextWithPosition = extractTextWithPosition; diff --git a/packages/web-integration/src/extractor/extractor.ts b/packages/web-integration/src/extractor/extractor.ts index 23206412..706df161 100644 --- a/packages/web-integration/src/extractor/extractor.ts +++ b/packages/web-integration/src/extractor/extractor.ts @@ -7,6 +7,7 @@ import { isWidgetElement, } from './dom-util'; import { + generateId, getNodeAttributes, getPseudoElementContent, logger, @@ -37,15 +38,10 @@ export interface ElementInfo { center: [number, number]; } -const container: HTMLElement = document.body || document; +let container: HTMLElement; -function generateId(numberId: number) { - // const letters = 'ABCDEFGHIJKLMNPRSTUVXYZ'; - // const numbers = '0123456789'; - // const randomLetter = letters.charAt(Math.floor(Math.random() * letters.length)).toUpperCase(); - // const randomNumber = numbers.charAt(Math.floor(Math.random() * numbers.length)); - // return randomLetter + numberId; - return `${numberId}`; +if (typeof document !== 'undefined') { + container = document.body || document.createElement('div'); } export function extractTextWithPosition( diff --git a/packages/web-integration/src/extractor/util.ts b/packages/web-integration/src/extractor/util.ts index b3f00f52..158cd113 100644 --- a/packages/web-integration/src/extractor/util.ts +++ b/packages/web-integration/src/extractor/util.ts @@ -1,5 +1,6 @@ // import { TEXT_MAX_SIZE } from './constants'; import SHA256 from 'js-sha256'; +import { extractTextWithPosition } from './extractor'; let debugMode = false; @@ -246,5 +247,29 @@ export function midsceneGenerateHash(content: string, rect: any): string { return hashHex.slice(0, 10); } -(window as any).midsceneGenerateHash = midsceneGenerateHash; -(window as any).midsceneVisibleRect = visibleRect; +export function generateId(numberId: number) { + // const letters = 'ABCDEFGHIJKLMNPRSTUVXYZ'; + // const numbers = '0123456789'; + // const randomLetter = letters.charAt(Math.floor(Math.random() * letters.length)).toUpperCase(); + // const randomNumber = numbers.charAt(Math.floor(Math.random() * numbers.length)); + // return randomLetter + numberId; + return `${numberId}`; +} + +export function setGenerateHashOnWindow() { + if (typeof window !== 'undefined') { + (window as any).midsceneGenerateHash = midsceneGenerateHash; + } +} + +export function setMidsceneVisibleRectOnWindow() { + if (typeof window !== 'undefined') { + (window as any).midsceneVisibleRect = visibleRect; + } +} + +export function setExtractTextWithPositionOnWindow() { + if (typeof window !== 'undefined') { + (window as any).extractTextWithPosition = extractTextWithPosition; + } +} diff --git a/packages/web-integration/src/index.ts b/packages/web-integration/src/index.ts index c540c23f..3eff165f 100644 --- a/packages/web-integration/src/index.ts +++ b/packages/web-integration/src/index.ts @@ -2,5 +2,7 @@ export { PlaywrightAiFixture } from './playwright'; export type { PlayWrightAiFixtureType } from './playwright'; export { PuppeteerAgent } from './puppeteer'; +export { PlaywrightAgent } from './playwright'; +export { AppiumAgent } from './appium'; export { generateExtractData } from './debug'; diff --git a/packages/web-integration/src/playwright/ai-fixture.ts b/packages/web-integration/src/playwright/ai-fixture.ts index 3a825707..73ea15d0 100644 --- a/packages/web-integration/src/playwright/ai-fixture.ts +++ b/packages/web-integration/src/playwright/ai-fixture.ts @@ -1,9 +1,9 @@ import { randomUUID } from 'node:crypto'; import { PageAgent } from '@/common/agent'; -import type { WebPage } from '@/common/page'; +import { PlaywrightPage } from '@/playwright'; import type { AgentWaitForOpt } from '@midscene/core/.'; import { type TestInfo, type TestType, test } from '@playwright/test'; -import type { Page as PlaywrightPage } from 'playwright'; +import type { Page as OriginPlaywrightPage } from 'playwright'; import type { PageTaskExecutor } from '../common/tasks'; import { readTestCache, writeTestCache } from './cache'; @@ -32,7 +32,7 @@ export const midsceneDumpAnnotationId = 'MIDSCENE_DUMP_ANNOTATION'; export const PlaywrightAiFixture = () => { const pageAgentMap: Record = {}; const agentForPage = ( - page: WebPage, + page: OriginPlaywrightPage, testInfo: TestInfo, // { testId: string; taskFile: string; taskTitle: string }, ) => { let idForPage = (page as any)[midsceneAgentKeyId]; @@ -45,7 +45,7 @@ export const PlaywrightAiFixture = () => { aiTasks: [], }; - pageAgentMap[idForPage] = new PageAgent(page, { + pageAgentMap[idForPage] = new PageAgent(new PlaywrightPage(page), { testId: `playwright-${testId}-${idForPage}`, groupName: taskTitle, groupDescription: taskFile, @@ -72,7 +72,7 @@ export const PlaywrightAiFixture = () => { return { ai: async ( - { page }: { page: PlaywrightPage }, + { page }: { page: OriginPlaywrightPage }, use: any, testInfo: TestInfo, ) => { @@ -95,7 +95,7 @@ export const PlaywrightAiFixture = () => { updateDumpAnnotation(testInfo, agent.dumpDataString()); }, aiAction: async ( - { page }: { page: PlaywrightPage }, + { page }: { page: OriginPlaywrightPage }, use: any, testInfo: TestInfo, ) => { @@ -111,7 +111,7 @@ export const PlaywrightAiFixture = () => { updateDumpAnnotation(testInfo, agent.dumpDataString()); }, aiQuery: async ( - { page }: { page: PlaywrightPage }, + { page }: { page: OriginPlaywrightPage }, use: any, testInfo: TestInfo, ) => { @@ -128,7 +128,7 @@ export const PlaywrightAiFixture = () => { updateDumpAnnotation(testInfo, agent.dumpDataString()); }, aiAssert: async ( - { page }: { page: PlaywrightPage }, + { page }: { page: OriginPlaywrightPage }, use: any, testInfo: TestInfo, ) => { @@ -145,7 +145,7 @@ export const PlaywrightAiFixture = () => { updateDumpAnnotation(testInfo, agent.dumpDataString()); }, aiWaitFor: async ( - { page }: { page: PlaywrightPage }, + { page }: { page: OriginPlaywrightPage }, use: any, testInfo: TestInfo, ) => { diff --git a/packages/web-integration/src/playwright/index.ts b/packages/web-integration/src/playwright/index.ts index bd5330be..d411dad6 100644 --- a/packages/web-integration/src/playwright/index.ts +++ b/packages/web-integration/src/playwright/index.ts @@ -1,2 +1,4 @@ -export { PlaywrightAiFixture } from './ai-fixture'; export type { PlayWrightAiFixtureType } from './ai-fixture'; +export { PlaywrightAiFixture } from './ai-fixture'; +export { PageAgent as PlaywrightAgent } from '@/common/agent'; +export { Page as PlaywrightPage } from './page'; diff --git a/packages/web-integration/src/playwright/page.ts b/packages/web-integration/src/playwright/page.ts new file mode 100644 index 00000000..95d06574 --- /dev/null +++ b/packages/web-integration/src/playwright/page.ts @@ -0,0 +1,82 @@ +import type { Page as Browser } from 'playwright'; +import type { AbstractPage, screenshotOptions } from '../Page'; +import type { MouseButton } from '../Page'; +import type { WebKeyInput } from '../common/page'; +import { getExtraReturnLogic } from '../common/utils'; +import type { ElementInfo } from '../extractor/extractor'; + +export class Page implements AbstractPage { + private browser: Browser; + + constructor(browser: Browser) { + this.browser = browser; + } + + async getElementInfos() { + const captureElementSnapshot = await this.browser.evaluate( + await getExtraReturnLogic(), + ); + return captureElementSnapshot as ElementInfo[]; + } + + screenshot(options: screenshotOptions): Promise { + const { path } = options; + + return this.browser.screenshot({ + path, + type: 'jpeg', + quality: 75, + }); + } + + url(): string { + return this.browser.url(); + } + + get mouse() { + return { + click: async (x: number, y: number, options?: { button: MouseButton }) => + this.browser.mouse.click(x, y, { button: options?.button || 'left' }), + wheel: async (deltaX: number, deltaY: number) => + this.browser.mouse.wheel(deltaX, deltaY), + move: async (x: number, y: number) => this.browser.mouse.move(x, y), + }; + } + + get keyboard() { + return { + type: async (text: string) => this.browser.keyboard.type(text), + press: async (key: WebKeyInput) => this.browser.keyboard.press(key), + }; + } + + async selectAll(): Promise { + const isMac = process.platform === 'darwin'; + if (isMac) { + await this.browser.keyboard.down('Meta'); + await this.browser.keyboard.press('a'); + await this.browser.keyboard.up('Meta'); + } else { + await this.browser.keyboard.down('Control'); + await this.browser.keyboard.press('a'); + await this.browser.keyboard.up('Control'); + } + } + + scrollUntilTop(): Promise { + return this.browser.mouse.wheel(0, -9999999); + } + scrollUntilBottom(): Promise { + return this.browser.mouse.wheel(0, 9999999); + } + async scrollUpOneScreen(): Promise { + const innerHeight = await this.browser.evaluate(() => window.innerHeight); + + return this.browser.mouse.wheel(0, -innerHeight); + } + async scrollDownOneScreen(): Promise { + const innerHeight = await this.browser.evaluate(() => window.innerHeight); + + return this.browser.mouse.wheel(0, innerHeight); + } +} diff --git a/packages/web-integration/src/puppeteer/index.ts b/packages/web-integration/src/puppeteer/index.ts index ca0787bf..e2191d2c 100644 --- a/packages/web-integration/src/puppeteer/index.ts +++ b/packages/web-integration/src/puppeteer/index.ts @@ -1 +1,2 @@ export { PageAgent as PuppeteerAgent } from '@/common/agent'; +export { Page as PuppeteerPage } from './page'; diff --git a/packages/web-integration/src/puppeteer/page.ts b/packages/web-integration/src/puppeteer/page.ts new file mode 100644 index 00000000..b64241a2 --- /dev/null +++ b/packages/web-integration/src/puppeteer/page.ts @@ -0,0 +1,80 @@ +import type { Page as Browser } from 'puppeteer'; +import type { AbstractPage, screenshotOptions } from '../Page'; +import type { MouseButton } from '../Page'; +import type { WebKeyInput } from '../common/page'; +import { getExtraReturnLogic } from '../common/utils'; +import type { ElementInfo } from '../extractor/extractor'; + +export class Page implements AbstractPage { + private browser: Browser; + + constructor(browser: Browser) { + this.browser = browser; + } + + async getElementInfos() { + const captureElementSnapshot = await this.browser.evaluate( + await getExtraReturnLogic(), + ); + return captureElementSnapshot as ElementInfo[]; + } + + screenshot(options: screenshotOptions): Promise { + const { path } = options; + + return this.browser.screenshot({ path, type: 'jpeg' }); + } + + url(): string { + return this.browser.url(); + } + + get mouse() { + return { + click: async (x: number, y: number, options?: { button: MouseButton }) => + this.browser.mouse.click(x, y, { button: options?.button || 'left' }), + wheel: async (deltaX: number, deltaY: number) => + this.browser.mouse.wheel({ deltaX, deltaY }), + move: async (x: number, y: number) => this.browser.mouse.move(x, y), + }; + } + + get keyboard() { + return { + type: async (text: string) => this.browser.keyboard.type(text), + press: async (key: WebKeyInput) => this.browser.keyboard.press(key), + down: async (key: WebKeyInput) => this.browser.keyboard.down(key), + up: async (key: WebKeyInput) => this.browser.keyboard.up(key), + }; + } + + async selectAll(): Promise { + const isMac = process.platform === 'darwin'; + if (isMac) { + await this.browser.keyboard.down('Meta'); + await this.browser.keyboard.press('a'); + await this.browser.keyboard.up('Meta'); + } else { + await this.browser.keyboard.down('Control'); + await this.browser.keyboard.press('a'); + await this.browser.keyboard.up('Control'); + } + } + + scrollUntilTop(): Promise { + return this.browser.mouse.wheel({ deltaX: 0, deltaY: -9999999 }); + } + scrollUntilBottom(): Promise { + return this.browser.mouse.wheel({ deltaX: 0, deltaY: 9999999 }); + } + async scrollUpOneScreen(): Promise { + const innerHeight = await this.browser.evaluate(() => window.innerHeight); + + return this.browser.mouse.wheel({ deltaX: 0, deltaY: -innerHeight }); + } + async scrollDownOneScreen(): Promise { + const innerHeight = await this.browser.evaluate(() => window.innerHeight); + + return this.browser.mouse.wheel({ deltaX: 0, deltaY: innerHeight }); + } +} diff --git a/packages/web-integration/tests/ai/appium/android.test.ts b/packages/web-integration/tests/ai/appium/android.test.ts new file mode 100644 index 00000000..07cab502 --- /dev/null +++ b/packages/web-integration/tests/ai/appium/android.test.ts @@ -0,0 +1,38 @@ +import { AppiumAgent } from '@/appium'; +import { describe, it, vi } from 'vitest'; +import { launchPage } from './utils'; + +vi.setConfig({ + testTimeout: 90 * 1000, +}); + +const ANDROID_DEFAULT_OPTIONS = { + port: 4723, + capabilities: { + platformName: 'Android', + 'appium:automationName': 'UiAutomator2', + 'appium:deviceName': 'Android', + 'appium:appPackage': 'com.android.settings', + 'appium:appActivity': '.MainSettings', + }, +}; + +describe( + 'appium integration', + () => { + it('Android settings page demo', async () => { + const page = await launchPage(ANDROID_DEFAULT_OPTIONS); + const mid = new AppiumAgent(page); + + await mid.aiAction('滑动列表到底部'); + await mid.aiAction('打开"更多设置"'); + await mid.aiAction('滑动列表到底部'); + await mid.aiAction('滑动列表到顶部'); + await mid.aiAction('向下滑动一屏'); + await mid.aiAction('向上滑动一屏'); + }); + }, + { + timeout: 360 * 1000, + }, +); diff --git a/packages/web-integration/tests/ai/appium/dongchedi.test.ts b/packages/web-integration/tests/ai/appium/dongchedi.test.ts new file mode 100644 index 00000000..5420bd59 --- /dev/null +++ b/packages/web-integration/tests/ai/appium/dongchedi.test.ts @@ -0,0 +1,59 @@ +import { AppiumAgent } from '@/appium'; +import { describe, expect, it, vi } from 'vitest'; +import { launchPage } from './utils'; + +vi.setConfig({ + testTimeout: 90 * 1000, +}); + +const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); + +const IOS_OPTIONS = { + port: 4723, + capabilities: { + platformName: 'iOS', + 'appium:automationName': 'XCUITest', + 'appium:deviceName': 'iPhone 15 Plus Simulator (18.0)', + 'appium:platformVersion': '18.0', + 'appium:bundleId': 'com.ss.ios.InHouse.AutoMobile', + 'appium:udid': 'B8517A53-6C4C-41D8-9B1E-825A0D75FA47', + }, +}; + +const ANDROID_OPTIONS = { + port: 4723, + capabilities: { + platformName: 'Android', + 'appium:automationName': 'UiAutomator2', + 'appium:deviceName': 'Android', + 'appium:appPackage': 'com.ss.android.auto', + 'appium:appActivity': '.policy.AutoPrivacyActivity', + }, +}; + +describe( + 'appium integration', + () => { + it('懂车帝查找小米 SU7', async () => { + const page = await launchPage(IOS_OPTIONS); + const mid = new AppiumAgent(page); + + await mid.aiAction('点击同意按钮'); + await sleep(3000); + await mid.aiAction('点击顶部搜索框'); + await sleep(3000); + await mid.aiAction('在搜索框里输入"SU7",并点击搜索'); + await sleep(3000); + const items = await mid.aiQuery( + '"{carName: string, price: number }[], return item name, price', + ); + console.log('items: ', items); + expect(items.length).toBeGreaterThanOrEqual(2); + await mid.aiAssert('最贵的那辆是 29.99 万'); + await mid.aiAction('列表滚动到底部'); + }); + }, + { + timeout: 720 * 1000, + }, +); diff --git a/packages/web-integration/tests/ai/appium/ios.test.ts b/packages/web-integration/tests/ai/appium/ios.test.ts new file mode 100644 index 00000000..b1e53981 --- /dev/null +++ b/packages/web-integration/tests/ai/appium/ios.test.ts @@ -0,0 +1,39 @@ +import { AppiumAgent } from '@/appium'; +import { describe, it, vi } from 'vitest'; +import { launchPage } from './utils'; + +vi.setConfig({ + testTimeout: 90 * 1000, +}); + +const IOS_DEFAULT_OPTIONS = { + port: 4723, + capabilities: { + platformName: 'iOS', + 'appium:automationName': 'XCUITest', + 'appium:deviceName': 'iPhone 15 Plus Simulator (18.0)', + 'appium:platformVersion': '18.0', + 'appium:bundleId': 'com.apple.Preferences', + 'appium:udid': 'B8517A53-6C4C-41D8-9B1E-825A0D75FA47', + }, +}; + +describe( + 'appium integration', + () => { + it('iOS settings page demo', async () => { + const page = await launchPage(IOS_DEFAULT_OPTIONS); + const mid = new AppiumAgent(page); + + await mid.aiAction('滑动列表到底部'); + await mid.aiAction('打开"开发者"'); + await mid.aiAction('滑动列表到底部'); + await mid.aiAction('滑动列表到顶部'); + await mid.aiAction('向下滑动一屏'); + await mid.aiAction('向上滑动一屏'); + }); + }, + { + timeout: 360 * 1000, + }, +); diff --git a/packages/web-integration/tests/ai/appium/utils.ts b/packages/web-integration/tests/ai/appium/utils.ts new file mode 100644 index 00000000..f36a5bd8 --- /dev/null +++ b/packages/web-integration/tests/ai/appium/utils.ts @@ -0,0 +1,11 @@ +import { AppiumPage } from '@/appium'; +import type { Capabilities } from '@wdio/types'; +import { remote } from 'webdriverio'; + +export async function launchPage( + opt: Capabilities.WebdriverIOConfig, +): Promise { + const driver = await remote(opt); + + return new AppiumPage(driver); +} diff --git a/packages/web-integration/tests/ai/e2e/ai-auto-todo.spec.ts b/packages/web-integration/tests/ai/playright/ai-auto-todo.spec.ts similarity index 100% rename from packages/web-integration/tests/ai/e2e/ai-auto-todo.spec.ts rename to packages/web-integration/tests/ai/playright/ai-auto-todo.spec.ts diff --git a/packages/web-integration/tests/ai/e2e/ai-online-order.spec.ts b/packages/web-integration/tests/ai/playright/ai-online-order.spec.ts similarity index 96% rename from packages/web-integration/tests/ai/e2e/ai-online-order.spec.ts rename to packages/web-integration/tests/ai/playright/ai-online-order.spec.ts index fb572e5d..bc5f74aa 100644 --- a/packages/web-integration/tests/ai/e2e/ai-online-order.spec.ts +++ b/packages/web-integration/tests/ai/playright/ai-online-order.spec.ts @@ -1,5 +1,3 @@ -import path from 'node:path'; -import { generateExtractData } from '@/debug'; import { expect } from 'playwright/test'; import { test } from './fixture'; diff --git a/packages/web-integration/tests/ai/e2e/fixture.ts b/packages/web-integration/tests/ai/playright/fixture.ts similarity index 100% rename from packages/web-integration/tests/ai/e2e/fixture.ts rename to packages/web-integration/tests/ai/playright/fixture.ts diff --git a/packages/web-integration/tests/ai/e2e/generate-test-data.spec.ts b/packages/web-integration/tests/ai/playright/generate-test-data.spec.ts similarity index 73% rename from packages/web-integration/tests/ai/e2e/generate-test-data.spec.ts rename to packages/web-integration/tests/ai/playright/generate-test-data.spec.ts index 2def059c..bf506f8c 100644 --- a/packages/web-integration/tests/ai/e2e/generate-test-data.spec.ts +++ b/packages/web-integration/tests/ai/playright/generate-test-data.spec.ts @@ -1,5 +1,6 @@ import { generateExtractData, generateTestDataPath } from '@/debug'; import { test } from '@playwright/test'; +import { PlaywrightPage } from '../../../src/playwright'; function sleep(time: number) { return new Promise((resolve) => { @@ -10,6 +11,7 @@ function sleep(time: number) { } test('generate todo test data', async ({ page }) => { + const playwrightPage = new PlaywrightPage(page); await page.goto('https://todomvc.com/examples/react/dist/'); // Add data await page.getByTestId('text-input').click(); @@ -23,31 +25,43 @@ test('generate todo test data', async ({ page }) => { await page.keyboard.press('Enter'); await page.getByText('Learn Rust').hover(); - await generateExtractData(page, generateTestDataPath('todo')); + await generateExtractData(playwrightPage, generateTestDataPath('todo')); await page.keyboard.type('Learn English'); await generateExtractData( - page, + playwrightPage, generateTestDataPath('todo-input-with-value'), ); }); test('generate visualstudio test data', async ({ page }) => { + const playwrightPage = new PlaywrightPage(page); + await page.goto('https://code.visualstudio.com/'); await page.waitForLoadState('networkidle'); - await generateExtractData(page, generateTestDataPath('visualstudio')); + await generateExtractData( + playwrightPage, + generateTestDataPath('visualstudio'), + ); }); test('generate githubstatus test data', async ({ page }) => { + const playwrightPage = new PlaywrightPage(page); + await page.setViewportSize({ width: 1920, height: 1080 }); await page.goto('https://www.githubstatus.com/'); await page.waitForLoadState('networkidle'); await sleep(3000); - await generateExtractData(page, generateTestDataPath('githubstatus')); + await generateExtractData( + playwrightPage, + generateTestDataPath('githubstatus'), + ); }); test('generate online order test data', async ({ page }) => { + const playwrightPage = new PlaywrightPage(page); + page.setViewportSize({ width: 400, height: 905 }); await page.goto('https://heyteavivocity.meuu.online/home'); await page.evaluate('window.localStorage.setItem("LOCALE", "zh-CN")'); @@ -55,5 +69,8 @@ test('generate online order test data', async ({ page }) => { await page.waitForLoadState('networkidle'); // await page.getByText('English').nth(2).click(); - await generateExtractData(page, generateTestDataPath('online_order')); + await generateExtractData( + playwrightPage, + generateTestDataPath('online_order'), + ); }); diff --git a/packages/web-integration/tests/ai/playright/todo-app-midscene.spec.ts b/packages/web-integration/tests/ai/playright/todo-app-midscene.spec.ts new file mode 100644 index 00000000..4a966bac --- /dev/null +++ b/packages/web-integration/tests/ai/playright/todo-app-midscene.spec.ts @@ -0,0 +1,98 @@ +// import { test, expect, type Page } from '@playwright/test'; +// import Insight, { TextElement, query } from 'midscene'; +// import { retrieveElements, retrieveOneElement } from 'midscene/query'; + +// test.beforeEach(async ({ page }) => { +// await page.goto('https://todomvc.com/examples/react/dist/'); +// }); + +// const TODO_ITEMS = ['buy some cheese', 'feed the cat', 'book a doctors appointment']; + +// interface InputBoxSection { +// element: TextElement; +// toggleAllBtn: TextElement; +// placeholder: string; +// inputValue: string; +// } + +// interface TodoItem { +// name: string; +// finished: boolean; +// } + +// interface ControlLayerSection { +// numbersLeft: number; +// tipElement: TextElement; +// controlElements: TextElement[]; +// } + +// // A comprehensive parser for page content +// const parsePage = async (page: Page) => { +// const insight = await Insight.fromPlaywrightPage(page); +// const todoListPage = await insight.segment({ +// 'input-box': query('an input box to type item and a "toggle-all" button', { +// element: retrieveOneElement('input box'), +// toggleAllBtn: retrieveOneElement('toggle all button, if exists'), +// placeholder: 'placeholder string in the input box, string, if exists', +// inputValue: 'the value in the input box, string, if exists', +// }), +// 'todo-list': query<{ todoItems: TodoItem[] }>('a list with todo-data (if exists)', { +// todoItems: '{name: string, finished: boolean}[]', +// }), +// 'control-layer': query('status and control layer of todo (if exists)', { +// numbersLeft: 'number', +// tipElement: retrieveOneElement( +// 'the element indicates the number of remaining items, like ` items left`', +// ), +// controlElements: retrieveElements('control elements, used to filter items'), +// }), +// }); + +// return todoListPage; +// }; + +// test.describe('New Todo', () => { +// test('should allow me to add todo items', async ({ page }) => { +// // add a todo item +// const todoPage = await parsePage(page); +// const inputBox = todoPage['input-box']; +// expect(inputBox).toBeTruthy(); + +// await page.mouse.click(...inputBox!.element.center); +// await page.keyboard.type(TODO_ITEMS[0], { delay: 100 }); +// await page.keyboard.press('Enter'); + +// // update page parsing result, and check the interface +// const todoPage2 = await parsePage(page); +// expect(todoPage2['input-box'].inputValue).toBeFalsy(); +// expect(todoPage2['input-box'].placeholder).toBeTruthy(); +// expect(todoPage2['todo-list'].todoItems.length).toBe(1); +// expect(todoPage2['todo-list'].todoItems[0].name).toBe(TODO_ITEMS[0]); + +// // add another item +// await page.mouse.click(...todoPage2['input-box'].element.center); +// await page.keyboard.type(TODO_ITEMS[1], { delay: 100 }); +// await page.keyboard.press('Enter'); + +// // update page parsing result +// const todoPage3 = await parsePage(page); +// const items = todoPage3['todo-list'].todoItems; +// expect(items.length).toBe(2); +// expect(items[1].name).toEqual(TODO_ITEMS[1]); +// expect(items.some((item) => item.finished)).toBeFalsy(); +// expect(todoPage3['control-layer'].numbersLeft).toBe(2); + +// // will mark all as completed +// const toggleBtn = todoPage3['input-box'].toggleAllBtn; +// expect(toggleBtn).toBeTruthy(); +// expect(todoPage3['todo-list'].todoItems.filter((item) => item.finished).length).toBe(0); + +// await page.mouse.click(...toggleBtn!.center, { delay: 500 }); +// await page.waitForTimeout(3000); + +// const todoPage4 = await parsePage(page); +// const allItems = todoPage4['todo-list'].todoItems; +// expect(allItems.length).toBe(2); +// expect(allItems.filter((item) => item.finished).length).toBe(allItems.length); +// }); +// }); diff --git a/packages/web-integration/tests/ai/playright/tool.ts b/packages/web-integration/tests/ai/playright/tool.ts new file mode 100644 index 00000000..9ebb21eb --- /dev/null +++ b/packages/web-integration/tests/ai/playright/tool.ts @@ -0,0 +1,113 @@ +import { existsSync, mkdirSync, writeFileSync } from 'node:fs'; +import path from 'node:path'; +import type { WebPage } from '@/common/page'; +import { resizeImg, saveBase64Image } from '@midscene/core/image'; +import { processImageElementInfo } from '@midscene/shared/img'; +import { getElementInfos } from '../../../src/debug'; + +export async function generateExtractData( + page: WebPage, + targetDir: string, + saveImgType?: { + disableInputImage: boolean; + disableOutputImage: boolean; + disableOutputWithoutTextImg: boolean; + disableResizeOutputImg: boolean; + disableSnapshot: boolean; + }, +) { + const buffer = await page.screenshot({ + encoding: 'base64', + }); + const inputImgBase64 = buffer.toString('base64'); + + const { + elementsPositionInfo, + captureElementSnapshot, + elementsPositionInfoWithoutText, + } = await getElementInfos(page); + + const inputImagePath = path.join(targetDir, 'input.png'); + const outputImagePath = path.join(targetDir, 'output.png'); + const outputWithoutTextImgPath = path.join( + targetDir, + 'output_without_text.png', + ); + const resizeOutputImgPath = path.join(targetDir, 'resize-output.png'); + const snapshotJsonPath = path.join(targetDir, 'element-snapshot.json'); + + const { + compositeElementInfoImgBase64, + compositeElementInfoImgWithoutTextBase64, + } = await processImageElementInfo({ + elementsPositionInfo, + elementsPositionInfoWithoutText, + inputImgBase64, + }); + + const resizeImgBase64 = await resizeImg(inputImgBase64); + + if (!saveImgType?.disableSnapshot) { + writeFileSyncWithDir( + snapshotJsonPath, + JSON.stringify(captureElementSnapshot, null, 2), + ); + } + if (!saveImgType?.disableInputImage) { + await saveBase64Image({ + base64Data: inputImgBase64, + outputPath: inputImagePath, + }); + } + if (!saveImgType?.disableOutputImage) { + await saveBase64Image({ + base64Data: compositeElementInfoImgBase64, + outputPath: outputImagePath, + }); + } + if (!saveImgType?.disableOutputWithoutTextImg) { + await saveBase64Image({ + base64Data: compositeElementInfoImgWithoutTextBase64, + outputPath: outputWithoutTextImgPath, + }); + } + if (!saveImgType?.disableResizeOutputImg) { + await saveBase64Image({ + base64Data: resizeImgBase64, + outputPath: resizeOutputImgPath, + }); + } +} + +export function generateTestDataPath(testDataName: string) { + // `dist/lib/index.js` Is the default export path + const modulePath = require + .resolve('@midscene/core') + .replace('dist/lib/index.js', ''); + const midsceneTestDataPath = path.join( + modulePath, + `tests/ai/inspector/test-data/${testDataName}`, + ); + + return midsceneTestDataPath; +} + +function ensureDirectoryExistence(filePath: string) { + const dirname = path.dirname(filePath); + if (existsSync(dirname)) { + return; + } + ensureDirectoryExistence(dirname); + mkdirSync(dirname); +} + +type WriteFileSyncParams = Parameters; + +export function writeFileSyncWithDir( + filePath: string, + content: WriteFileSyncParams[1], + options: WriteFileSyncParams[2] = {}, +) { + ensureDirectoryExistence(filePath); + writeFileSync(filePath, content, options); +} diff --git a/packages/web-integration/tests/ai/e2e/util.ts b/packages/web-integration/tests/ai/playright/util.ts similarity index 100% rename from packages/web-integration/tests/ai/e2e/util.ts rename to packages/web-integration/tests/ai/playright/util.ts diff --git a/packages/web-integration/tests/ai/puppeteer/utils.ts b/packages/web-integration/tests/ai/puppeteer/utils.ts index 89702a54..75511538 100644 --- a/packages/web-integration/tests/ai/puppeteer/utils.ts +++ b/packages/web-integration/tests/ai/puppeteer/utils.ts @@ -1,4 +1,5 @@ import assert from 'node:assert'; +import { PuppeteerPage } from '@/puppeteer'; import puppeteer, { type Viewport } from 'puppeteer'; export async function launchPage( @@ -11,21 +12,21 @@ export async function launchPage( const browser = await puppeteer.launch({ headless: typeof opt?.headless === 'boolean' ? opt.headless : true, }); - - const page = (await browser.pages())[0]; + const originPage = (await browser.pages())[0]; + const page = new PuppeteerPage(originPage); const viewportConfig = { width: opt?.viewport?.width || 1920, height: opt?.viewport?.height || 1080, deviceScaleFactor: opt?.viewport?.deviceScaleFactor || 1, }; - await page.setViewport(viewportConfig); + await originPage.setViewport(viewportConfig); await Promise.all([ - page.waitForNavigation({ + originPage.waitForNavigation({ timeout: 20 * 1000, waitUntil: 'networkidle0', }), (async () => { - const response = await page.goto(url); + const response = await originPage.goto(url); if (response?.status) { assert( response.status() <= 399, diff --git a/packages/web-integration/tests/ai/report/todo-report.spec.ts b/packages/web-integration/tests/ai/report/todo-report.spec.ts index abde9dc0..f072fc45 100644 --- a/packages/web-integration/tests/ai/report/todo-report.spec.ts +++ b/packages/web-integration/tests/ai/report/todo-report.spec.ts @@ -1,7 +1,7 @@ import path from 'node:path'; import { expect } from 'playwright/test'; -import { test } from '../e2e/fixture'; -import { getLastModifiedReportHTMLFile } from '../e2e/util'; +import { test } from '../playright/fixture'; +import { getLastModifiedReportHTMLFile } from '../playright/util'; test('ai report', async ({ page, ai, aiAssert }, testInfo) => { testInfo.snapshotSuffix = ''; diff --git a/packages/web-integration/tests/unit-test/extractor.test.ts b/packages/web-integration/tests/unit-test/extractor.test.ts index 4fc78518..ff379ba3 100644 --- a/packages/web-integration/tests/unit-test/extractor.test.ts +++ b/packages/web-integration/tests/unit-test/extractor.test.ts @@ -42,9 +42,7 @@ describe( height: 200, }, }); - await page.evaluate(() => { - window.scrollTo(0, 400); - }); + await page.scrollDownOneScreen(); await new Promise((resolve) => setTimeout(resolve, 1000)); await generateExtractData( page, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 74d18937..42a315df 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -114,7 +114,7 @@ importers: version: 5.0.4 vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@18.19.41)(jsdom@20.0.3)(terser@5.31.3) + version: 1.6.0(@types/node@18.19.41)(jsdom@24.1.1)(terser@5.31.3) packages/midscene: dependencies: @@ -151,7 +151,7 @@ importers: version: 5.0.4 vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@18.19.41)(jsdom@20.0.3)(terser@5.31.3) + version: 1.6.0(@types/node@18.19.41)(jsdom@24.1.1)(terser@5.31.3) packages/playwright-demo: devDependencies: @@ -163,7 +163,7 @@ importers: version: 2.58.2(eslint@8.57.0)(typescript@5.0.4) '@modern-js/plugin-testing': specifier: 2.56.1 - version: 2.56.1(@jest/transform@29.7.0)(@modern-js/runtime@2.56.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@rsbuild/core@1.0.1-beta.14)(@types/node@18.19.41)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(ts-node@10.9.2(@types/node@18.19.41)(typescript@5.0.4))(tsconfig-paths@4.2.0)(typescript@5.0.4)(zod@3.23.8) + version: 2.56.1(@jest/transform@29.7.0)(@modern-js/runtime@2.56.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@rsbuild/core@1.0.1-beta.9)(@types/node@18.19.41)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(ts-node@10.9.2(@types/node@18.19.41)(typescript@5.0.4))(tsconfig-paths@4.2.0)(typescript@5.0.4)(zod@3.23.8) '@playwright/test': specifier: 1.44.1 version: 1.44.1 @@ -203,7 +203,7 @@ importers: version: 5.0.4 vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@18.19.41)(jsdom@20.0.3)(terser@5.31.3) + version: 1.6.0(@types/node@18.19.41)(jsdom@24.1.1)(terser@5.31.3) packages/visualizer: devDependencies: @@ -233,7 +233,7 @@ importers: version: 18.3.0 antd: specifier: 5.19.3 - version: 5.19.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 5.19.3(moment@2.30.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) dayjs: specifier: 1.11.11 version: 1.11.11 @@ -273,12 +273,18 @@ importers: '@midscene/shared': specifier: workspace:* version: link:../shared + '@xmldom/xmldom': + specifier: 0.8.10 + version: 0.8.10 inquirer: specifier: 10.1.5 version: 10.1.5 openai: specifier: 4.47.1 version: 4.47.1 + sharp: + specifier: 0.33.3 + version: 0.33.3 devDependencies: '@modern-js/module-tools': specifier: 2.58.2 @@ -292,6 +298,9 @@ importers: '@types/node': specifier: ^18.0.0 version: 18.19.41 + '@wdio/types': + specifier: 9.0.4 + version: 9.0.4 dotenv: specifier: 16.4.5 version: 16.4.5 @@ -312,7 +321,10 @@ importers: version: 5.0.4 vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@18.19.41)(jsdom@20.0.3)(terser@5.31.3) + version: 1.6.0(@types/node@18.19.41)(jsdom@24.1.1)(terser@5.31.3) + webdriverio: + specifier: 9.0.6 + version: 9.0.6 packages: @@ -413,10 +425,6 @@ packages: resolution: {integrity: sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==} engines: {node: '>=6.9.0'} - '@babel/core@7.25.2': - resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} - engines: {node: '>=6.9.0'} - '@babel/generator@7.24.10': resolution: {integrity: sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==} engines: {node: '>=6.9.0'} @@ -447,12 +455,24 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-create-class-features-plugin@7.25.4': + resolution: {integrity: sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-create-regexp-features-plugin@7.24.7': resolution: {integrity: sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-create-regexp-features-plugin@7.25.2': + resolution: {integrity: sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-define-polyfill-provider@0.6.2': resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} peerDependencies: @@ -504,12 +524,24 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-remap-async-to-generator@7.25.0': + resolution: {integrity: sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-replace-supers@7.24.7': resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-replace-supers@7.25.0': + resolution: {integrity: sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-simple-access@7.24.7': resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} @@ -538,12 +570,12 @@ packages: resolution: {integrity: sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.24.8': - resolution: {integrity: sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==} + '@babel/helper-wrap-function@7.25.0': + resolution: {integrity: sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.25.0': - resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==} + '@babel/helpers@7.24.8': + resolution: {integrity: sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==} engines: {node: '>=6.9.0'} '@babel/highlight@7.24.7': @@ -566,12 +598,30 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3': + resolution: {integrity: sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0': + resolution: {integrity: sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7': resolution: {integrity: sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0': + resolution: {integrity: sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7': resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==} engines: {node: '>=6.9.0'} @@ -584,6 +634,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0': + resolution: {integrity: sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/plugin-proposal-class-properties@7.18.6': resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} @@ -752,6 +808,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-typescript@7.25.4': + resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} @@ -770,6 +832,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-async-generator-functions@7.25.4': + resolution: {integrity: sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-async-to-generator@7.24.7': resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==} engines: {node: '>=6.9.0'} @@ -788,12 +856,24 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-block-scoping@7.25.0': + resolution: {integrity: sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-class-properties@7.24.7': resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-class-properties@7.25.4': + resolution: {integrity: sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-class-static-block@7.24.7': resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==} engines: {node: '>=6.9.0'} @@ -806,6 +886,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-classes@7.25.4': + resolution: {integrity: sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-computed-properties@7.24.7': resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==} engines: {node: '>=6.9.0'} @@ -830,6 +916,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0': + resolution: {integrity: sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/plugin-transform-dynamic-import@7.24.7': resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} engines: {node: '>=6.9.0'} @@ -860,6 +952,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-function-name@7.25.1': + resolution: {integrity: sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-json-strings@7.24.7': resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==} engines: {node: '>=6.9.0'} @@ -872,6 +970,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-literals@7.25.2': + resolution: {integrity: sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-logical-assignment-operators@7.24.7': resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} engines: {node: '>=6.9.0'} @@ -902,6 +1006,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-modules-systemjs@7.25.0': + resolution: {integrity: sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-modules-umd@7.24.7': resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==} engines: {node: '>=6.9.0'} @@ -968,6 +1078,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-private-methods@7.25.4': + resolution: {integrity: sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-private-property-in-object@7.24.7': resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} engines: {node: '>=6.9.0'} @@ -1028,6 +1144,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-runtime@7.25.4': + resolution: {integrity: sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-shorthand-properties@7.24.7': resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} engines: {node: '>=6.9.0'} @@ -1064,6 +1186,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-typescript@7.25.2': + resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-unicode-escapes@7.24.7': resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} engines: {node: '>=6.9.0'} @@ -1088,12 +1216,24 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/plugin-transform-unicode-sets-regex@7.25.4': + resolution: {integrity: sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/preset-env@7.24.8': resolution: {integrity: sha512-vObvMZB6hNWuDxhSaEPTKCwcqkAIuDtE+bQGn4XMXne1DSLzFVY8Vmj1bm+mUQXYNN8NmaQEO+r8MMbzPr1jBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/preset-env@7.25.4': + resolution: {integrity: sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/preset-modules@0.1.6-no-external-plugins': resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: @@ -1124,6 +1264,10 @@ packages: resolution: {integrity: sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==} engines: {node: '>=6.9.0'} + '@babel/runtime@7.25.4': + resolution: {integrity: sha512-DSgLeL/FNcpXuzav5wfYvHCGvynXkJbn3Zvc3823AEe9nPwW9IK4UoCSS5yGymmQzN0pCPvivtgS6/8U2kkm1w==} + engines: {node: '>=6.9.0'} + '@babel/template@7.24.7': resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} engines: {node: '>=6.9.0'} @@ -1903,6 +2047,119 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead + '@img/sharp-darwin-arm64@0.33.3': + resolution: {integrity: sha512-FaNiGX1MrOuJ3hxuNzWgsT/mg5OHG/Izh59WW2mk1UwYHUwtfbhk5QNKYZgxf0pLOhx9ctGiGa2OykD71vOnSw==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.3': + resolution: {integrity: sha512-2QeSl7QDK9ru//YBT4sQkoq7L0EAJZA3rtV+v9p8xTKl4U1bUqTIaCnoC7Ctx2kCjQgwFXDasOtPTCT8eCTXvw==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.2': + resolution: {integrity: sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==} + engines: {macos: '>=11', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.2': + resolution: {integrity: sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw==} + engines: {macos: '>=10.13', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.2': + resolution: {integrity: sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw==} + engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.0.2': + resolution: {integrity: sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw==} + engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.0.2': + resolution: {integrity: sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog==} + engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.0.2': + resolution: {integrity: sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==} + engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.2': + resolution: {integrity: sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ==} + engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.0.2': + resolution: {integrity: sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==} + engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.33.3': + resolution: {integrity: sha512-Zf+sF1jHZJKA6Gor9hoYG2ljr4wo9cY4twaxgFDvlG0Xz9V7sinsPp8pFd1XtlhTzYo0IhDbl3rK7P6MzHpnYA==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.33.3': + resolution: {integrity: sha512-Q7Ee3fFSC9P7vUSqVEF0zccJsZ8GiiCJYGWDdhEjdlOeS9/jdkyJ6sUSPj+bL8VuOYFSbofrW0t/86ceVhx32w==} + engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-s390x@0.33.3': + resolution: {integrity: sha512-vFk441DKRFepjhTEH20oBlFrHcLjPfI8B0pMIxGm3+yilKyYeHEVvrZhYFdqIseSclIqbQ3SnZMwEMWonY5XFA==} + engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.33.3': + resolution: {integrity: sha512-Q4I++herIJxJi+qmbySd072oDPRkCg/SClLEIDh5IL9h1zjhqjv82H0Seupd+q2m0yOfD+/fJnjSoDFtKiHu2g==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.33.3': + resolution: {integrity: sha512-qnDccehRDXadhM9PM5hLvcPRYqyFCBN31kq+ErBSZtZlsAc1U4Z85xf/RXv1qolkdu+ibw64fUDaRdktxTNP9A==} + engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.33.3': + resolution: {integrity: sha512-Jhchim8kHWIU/GZ+9poHMWRcefeaxFIs9EBqf9KtcC14Ojk6qua7ghKiPs0sbeLbLj/2IGBtDcxHyjCdYWkk2w==} + engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.33.3': + resolution: {integrity: sha512-68zivsdJ0koE96stdUfM+gmyaK/NcoSZK5dV5CAjES0FUXS9lchYt8LAB5rTbM7nlWtxaU/2GON0HVN6/ZYJAQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [wasm32] + + '@img/sharp-win32-ia32@0.33.3': + resolution: {integrity: sha512-CyimAduT2whQD8ER4Ux7exKrtfoaUiVr7HG0zZvO0XTFn2idUWljjxv58GxNTkFb8/J9Ub9AqITGkJD6ZginxQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.3': + resolution: {integrity: sha512-viT4fUIDKnli3IfOephGnolMzhz5VaTvDRkYqtZxOMIoMQ4MrAziO7pT1nVnOt2FAm7qW5aa+CCc13aEY6Le0g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [win32] + '@inquirer/checkbox@2.4.4': resolution: {integrity: sha512-2NWoY9NfFFfQZgNfisI4ttg5yfWB2NfxdQ6xC5prywPvyG1RWETKUNZlqzMnZv/HbNdE2CkhZPSK8hl6WBRiFA==} engines: {node: '>=18'} @@ -1959,6 +2216,10 @@ packages: resolution: {integrity: sha512-m3YgGQlKNS0BM+8AFiJkCsTqHEFCWn6s/Rqye3mYwvqY6LdfUv12eSwbsgNzrYyrLXiy7IrrjDLPysaSBwEfhw==} engines: {node: '>=18'} + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + '@istanbuljs/load-nyc-config@1.1.0': resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -2866,6 +3127,10 @@ packages: '@pixi/colord@2.9.6': resolution: {integrity: sha512-nezytU2pw587fQstUu1AsJZDVEynjskwOL+kibwcdxsMBFqPsFFNA7xl0ii/gXuDi6M0xj3mfRJj8pBSc2jCfA==} + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + '@playwright/test@1.44.1': resolution: {integrity: sha512-1hZ4TNvD5z9VuhNJ/walIjvMVvYkZKf71axoF/uiAqpntQJXpG64dlXhoDXE3OczPuTuvjf/M5KWFg5VAVUS3Q==} engines: {node: '>=16'} @@ -2903,6 +3168,9 @@ packages: '@polka/url@1.0.0-next.25': resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + '@promptbook/utils@0.66.0': + resolution: {integrity: sha512-L8CDhFE2p6lEGFW4sWSICljfXCQTeQ10hQrhVjULf8e2UDpqJ2C3nSTe3a890nGLwI5Rg8SStpIIndkQo/zpIw==} + '@puppeteer/browsers@2.3.0': resolution: {integrity: sha512-ioXoq9gPxkss4MYhD+SFaU9p1IHFUX0ILAWFPyjGaBdjLsYAlZw6j1iLA0N/m12uVHLFDfSYNF7EQccjinIMDA==} engines: {node: '>=18'} @@ -3069,8 +3337,8 @@ packages: engines: {node: '>=16.7.0'} hasBin: true - '@rsbuild/core@1.0.1-beta.14': - resolution: {integrity: sha512-dUeEao3/QClKUqUltPFNfBCyLKyK3v/GBu3CKii8IZi61Aky4Sua/lKGX+vz9OesBXFKvbSpWg2B+33Il4n/eA==} + '@rsbuild/core@1.0.1-beta.9': + resolution: {integrity: sha512-F9npL47TFmNVhPBqoE6jBvKGxXEKNszBA7skhbi3opskmX7Ako9vfXvtgi2W2jQjq837/WUL8gG/ua9zRqKFEQ==} engines: {node: '>=16.7.0'} hasBin: true @@ -3104,8 +3372,8 @@ packages: cpu: [arm64] os: [darwin] - '@rspack/binding-darwin-arm64@1.0.0-beta.5': - resolution: {integrity: sha512-lHiQ5cZrBQEpoh7Cd0AY3ggzlfBy9HiK4T0x2VdtsT2ZMc81hPBJ23hB8WIA+CTfOwbeLUBi0Ypfo26jls+dBw==} + '@rspack/binding-darwin-arm64@1.0.0-beta.1': + resolution: {integrity: sha512-KyC+xEMy9Y5JivO2e5rlKFGT74uwDhbwJjSCR5KOLQtZjDWeLwhf7aZhkoSQJUEsK5tAuuUoTP02RJFzK5llpA==} cpu: [arm64] os: [darwin] @@ -3119,8 +3387,8 @@ packages: cpu: [x64] os: [darwin] - '@rspack/binding-darwin-x64@1.0.0-beta.5': - resolution: {integrity: sha512-uEWJe2Egs0LawG/8pnfHIyZeJWLMCZkQjZM1PY8iH7jVLXh1rELQJbGlMHNFbYvM4cU8Xfk9si2Vi4mPRepzlQ==} + '@rspack/binding-darwin-x64@1.0.0-beta.1': + resolution: {integrity: sha512-Onc35+qQ7YwE6+aB66l/ZnRFXfhA1hXH5aNnNJmIFEAmqzkvOGREkWy3CdfsklF/l/xt33iUM7ccnNgdpk7yKw==} cpu: [x64] os: [darwin] @@ -3134,8 +3402,8 @@ packages: cpu: [arm64] os: [linux] - '@rspack/binding-linux-arm64-gnu@1.0.0-beta.5': - resolution: {integrity: sha512-DHyd2f+H5Y1F12fH5aN1Rx341E6cvH86pGnqcbdsVaOgM+8GM55LIr4p90XIdrjK2vH5PYROFM8g/d6CGzX3VQ==} + '@rspack/binding-linux-arm64-gnu@1.0.0-beta.1': + resolution: {integrity: sha512-NlXtRlKcoBzB6EQEiXegW0nMToEPXD+hExaev0j1+uzsFrMJ0uIY49k6+DapwWZ8A2jUdvH7xdWT+eAXD3l/EA==} cpu: [arm64] os: [linux] @@ -3149,8 +3417,8 @@ packages: cpu: [arm64] os: [linux] - '@rspack/binding-linux-arm64-musl@1.0.0-beta.5': - resolution: {integrity: sha512-QG9NYVcwpaDqkUT1Ny1yr+RAgSmdN8AswqLkLbtD42Q/P+DKlvKUa48BxU7irQgYe21AKEg4E7EnLCXaeSwRFw==} + '@rspack/binding-linux-arm64-musl@1.0.0-beta.1': + resolution: {integrity: sha512-fPS8ukoPgmBSUX4dt74flObcbYzO3uaP1bk4k/98Gr3Bw0ACDZ6h5nqlxoXoeVzhNcNMBcfv45un8H3i411AyA==} cpu: [arm64] os: [linux] @@ -3164,8 +3432,8 @@ packages: cpu: [x64] os: [linux] - '@rspack/binding-linux-x64-gnu@1.0.0-beta.5': - resolution: {integrity: sha512-r3KB58qDZvTh9zoAdZG0F6soh9f7MtCbhZzhLAiFb8E5J+QBK3dN+hn6LLtap8istZaU0nq9UdYiKDPOthhPiQ==} + '@rspack/binding-linux-x64-gnu@1.0.0-beta.1': + resolution: {integrity: sha512-9U78G7BtevPZ9GEJ2AhGHt03n+GEhKVvEZ/tgu+flFV0tYGjq75QQX345x4m+uercTqzRBTyuWITweIzppeWuQ==} cpu: [x64] os: [linux] @@ -3179,8 +3447,8 @@ packages: cpu: [x64] os: [linux] - '@rspack/binding-linux-x64-musl@1.0.0-beta.5': - resolution: {integrity: sha512-/IDw2JI273wQXCoQQvnX2sthNglChMhQDig8XxFU3fLQmaPB8zxGFCxowstOQPjN/McSddHGdISGlv6RKh8rCQ==} + '@rspack/binding-linux-x64-musl@1.0.0-beta.1': + resolution: {integrity: sha512-qqNPseWAOKmV33YL7tihY0N9xwY+N1G9na6lT7iqZnsrzPkIZmESI9Z24fXVJqLC/UhfxAth4RKhVBeKTsPk1w==} cpu: [x64] os: [linux] @@ -3194,8 +3462,8 @@ packages: cpu: [arm64] os: [win32] - '@rspack/binding-win32-arm64-msvc@1.0.0-beta.5': - resolution: {integrity: sha512-HhT79VMinXof1sI7SWBRNBamSUUcwgZwlfhcQlaRtm06YzmK0wieJAWi1Gunr6/tlDPa4UNM+y3le6K5kibwfQ==} + '@rspack/binding-win32-arm64-msvc@1.0.0-beta.1': + resolution: {integrity: sha512-VeBGYItHWqImYt23rBChXrk1o7fQxwTv6BEhtMpTnMJV10O6+Db9NckPEplcKLmNKAAA5anxH40GcpPc4nff8A==} cpu: [arm64] os: [win32] @@ -3209,8 +3477,8 @@ packages: cpu: [ia32] os: [win32] - '@rspack/binding-win32-ia32-msvc@1.0.0-beta.5': - resolution: {integrity: sha512-oYXpiXpoVBL7v3biBHeUlkrW0EVceG3PsBPcBg/AuVqbpogePu1xN6gRdaN9CYK/uRNcDyFC3QWDOq+Cn3KExg==} + '@rspack/binding-win32-ia32-msvc@1.0.0-beta.1': + resolution: {integrity: sha512-ZxLQ1zOpyCKefsKvDYGGIHM019avNPfesJKdw7wYqeC+EIvWZfs86lnhlSL5PlZzV5AfFZQyQJFRjAv4JPpe4Q==} cpu: [ia32] os: [win32] @@ -3224,8 +3492,8 @@ packages: cpu: [x64] os: [win32] - '@rspack/binding-win32-x64-msvc@1.0.0-beta.5': - resolution: {integrity: sha512-tXYOIThPgiIvKKoV91GN/+P405DGFcuhdZZ+i0AhrRrtbK7mpkIRdde8aVMXNbTA6NnKAcOSAvJ2bVUVq3F2rQ==} + '@rspack/binding-win32-x64-msvc@1.0.0-beta.1': + resolution: {integrity: sha512-tMrjEA/2SGMVLbh/zOQoZrr1Xx+oI6RZnkXH6l95ON4yZiD+8wM84w8Ernj1N8KwclTuvBzxM0r3DLHTNZcDhw==} cpu: [x64] os: [win32] @@ -3235,8 +3503,8 @@ packages: '@rspack/binding@1.0.0-alpha.3': resolution: {integrity: sha512-S/JjBWr8PE/l7+2xsk1m77CZnKwQNk+39uIsvHQhoRs+DL9SUDjjkUO4yqjCw6ZUGqEaTv4U/TL9TAmbrTth7g==} - '@rspack/binding@1.0.0-beta.5': - resolution: {integrity: sha512-GT0cxYzD4jrXaB4eaGu1N/l32InSWelDREvqg1MDjZAYZlYreN2yFiA8Ds5+RqPz53csup1WWHFMqYcNH9KipQ==} + '@rspack/binding@1.0.0-beta.1': + resolution: {integrity: sha512-p7XBvk1+fAmvrlmdeRr5J9wdXx5idVZjHFJu/3qPHWf5mHKRw2/tQVbqzExj+B1nwR6HXFgxCiiddaWauMS/YQ==} '@rspack/core@0.2.12': resolution: {integrity: sha512-SekS+6bdTSx16nWQD7rGdnLK6fr0PewV2KKDt6w3jwHkJxDQygdUqL+st3c/JBGm/dpIVVpWkAcoLpK3EjFUcA==} @@ -3250,8 +3518,8 @@ packages: '@swc/helpers': optional: true - '@rspack/core@1.0.0-beta.5': - resolution: {integrity: sha512-X8amU6N26FE4/3JPs+asTIeBZlESrfCC4jlfEOc6bsjLCiMK8NkF3r84xFG7qpGBe178c+yXwmBluyHUkMGHqg==} + '@rspack/core@1.0.0-beta.1': + resolution: {integrity: sha512-aUWR/FUUw7x0L/qEZ0qrXC+7YYOL0Ezwd95TqDIDIYkSODJ6ZPt3a8poPwWc7IBdONgb8sGDPTzAXXEjcsBMwQ==} engines: {node: '>=16.0.0'} peerDependencies: '@swc/helpers': '>=0.5.1' @@ -3267,14 +3535,14 @@ packages: react-refresh: optional: true - '@rspack/lite-tapable@1.0.0': - resolution: {integrity: sha512-7MZf4lburSUZoEenwazwUDKHhqyfnLCGnQ/tKcUtztfmVzfjZfRn/EaiT0AKkYGnL2U8AGsw89oUeVyvaOLVCw==} - engines: {node: '>=16.0.0'} - '@rspack/lite-tapable@1.0.0-alpha.3': resolution: {integrity: sha512-oQJ1iYxfBHcuutAva2HP1dqi9Aka/70PB3Vbq4nI+iAhHErtzaRslI/OcqhEbbmBgYf+Xu6g5vvN6Gxfq69gag==} engines: {node: '>=16.0.0'} + '@rspack/lite-tapable@1.0.0-beta.1': + resolution: {integrity: sha512-r4xtbJp6QhW6A1twkgTP0UQkPC9cOT3sFjjjlx22j/q669HJRz+CVTlVcNxPomK7Q3Kg6dVsyv16MjGRl/fl5g==} + engines: {node: '>=16.0.0'} + '@rspack/plugin-html@0.2.12': resolution: {integrity: sha512-zCpsFaTTq0isAghGZpvkaKuNZHKoxzf90X2G71mHQ4T8HUN7+yy4p7lJ8vy/YGEj7zpYGT1k/8kCNivzUljgDQ==} peerDependencies: @@ -3682,6 +3950,9 @@ packages: '@types/node@18.19.41': resolution: {integrity: sha512-LX84pRJ+evD2e2nrgYCHObGWkiQJ1mL+meAgbvnwk/US6vmMY7S2ygBTGV2Jw91s9vUsLSXeDEkUHZIJGLrhsg==} + '@types/node@20.16.1': + resolution: {integrity: sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==} + '@types/node@20.5.1': resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==} @@ -3733,6 +4004,9 @@ packages: '@types/serve-static@1.15.7': resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + '@types/sinonjs__fake-timers@8.1.5': + resolution: {integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==} + '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} @@ -3760,9 +4034,15 @@ packages: '@types/uuid@9.0.8': resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} + '@types/which@2.0.2': + resolution: {integrity: sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==} + '@types/wrap-ansi@3.0.0': resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} + '@types/ws@8.5.12': + resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} + '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -3805,6 +4085,33 @@ packages: '@vue/shared@3.4.33': resolution: {integrity: sha512-aoRY0jQk3A/cuvdkodTrM4NMfxco8n55eG4H7ML/CRy7OryHfiqvug4xrCBBMbbN+dvXAetDDwZW9DXWWjBntA==} + '@wdio/config@9.0.6': + resolution: {integrity: sha512-WsACM5QjT3ZsoPVqHroYt8pOkZx4/6PTdNKm45VL8NHhQe5w9IFbl1fKxFHQ7ZkPI3F+EFvFvubO8puJ0OcSmQ==} + engines: {node: '>=18'} + + '@wdio/logger@8.38.0': + resolution: {integrity: sha512-kcHL86RmNbcQP+Gq/vQUGlArfU6IIcbbnNp32rRIraitomZow+iEoc519rdQmSVusDozMS5DZthkgDdxK+vz6Q==} + engines: {node: ^16.13 || >=18} + + '@wdio/logger@9.0.4': + resolution: {integrity: sha512-b6gcu0PTVb3fgK4kyAH/k5UUWN5FOUdAfhA4PAY/IZvxZTMFYMqnrZb0WRWWWqL6nu9pcrOVtCOdPBvj0cb+Nw==} + engines: {node: '>=18'} + + '@wdio/protocols@9.0.4': + resolution: {integrity: sha512-T9v8Jkp94NxLLil5J7uJ/+YHk5/7fhOggzGcN+LvuCHS6jbJFZ/11c4SUEuXw27Yqk01fFXPBbF6TwcTTOuW/Q==} + + '@wdio/repl@9.0.4': + resolution: {integrity: sha512-5Bc5ARjWA7t6MZNnVJ9WvO1iDsy6iOsrSDWiP7APWAdaF/SJCP3SFE2c+PdQJpJWhr2Kk0fRGuyDM+GdsmZhwg==} + engines: {node: '>=18'} + + '@wdio/types@9.0.4': + resolution: {integrity: sha512-MN7O4Uk3zPWvkN8d6SNdIjd7qHUlTxS7j0QfRPu6TdlYbHu6BJJ8Rr84y7GcUzCnTAJ1nOIpvUyR8MY3hOaVKg==} + engines: {node: '>=18'} + + '@wdio/utils@9.0.6': + resolution: {integrity: sha512-cnPXeW/sfqyKFuRRmADRZDNvFwEBMr7j7wwWLO6q5opoW++dwOdJW4WV0wDZbPcXTtGFCSrGCDLLdGcTAWMb3A==} + engines: {node: '>=18'} + '@web-std/blob@3.0.5': resolution: {integrity: sha512-Lm03qr0eT3PoLBuhkvFBLf0EFkAsNz/G/AYCzpOdi483aFaVX86b4iQs0OHhzHJfN5C15q17UtDbyABjlzM96A==} @@ -3892,6 +4199,10 @@ packages: resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==} engines: {node: '>=14.15.0'} + '@zip.js/zip.js@2.7.48': + resolution: {integrity: sha512-J7cliimZ2snAbr0IhLx2U8BwfA1pKucahKzTpFtYq4hEgKxwvFJcIjCIVNPwQpfVab7iVP+AKmoH1gidBlyhiQ==} + engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=16.5.0'} + '@zkochan/js-yaml@0.0.7': resolution: {integrity: sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==} hasBin: true @@ -4022,6 +4333,10 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + antd@5.19.3: resolution: {integrity: sha512-rhGI6yyZ4dA2MWl9bfO0MZjtNwWdzITpp3u7pKLiQpTjJYFlpF5wDFgGaG1or3sqyBihvqcO/OF1hSggmWczbQ==} peerDependencies: @@ -4038,6 +4353,14 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} + archiver-utils@5.0.2: + resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} + engines: {node: '>= 14'} + + archiver@7.0.1: + resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} + engines: {node: '>= 14'} + arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} @@ -4173,6 +4496,11 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-corejs3@0.10.6: + resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-regenerator@0.6.2: resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} peerDependencies: @@ -4266,6 +4594,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} engines: {node: '>= 6'} @@ -4279,6 +4612,10 @@ packages: buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + buffer-crc32@1.0.0: + resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} + engines: {node: '>=8.0.0'} + buffer-equal@0.0.1: resolution: {integrity: sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==} engines: {node: '>=0.4.0'} @@ -4289,6 +4626,9 @@ packages: buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + bytes@3.0.0: resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} engines: {node: '>= 0.8'} @@ -4343,6 +4683,9 @@ packages: caniuse-lite@1.0.30001651: resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==} + caniuse-lite@1.0.30001653: + resolution: {integrity: sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==} + ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -4405,6 +4748,13 @@ packages: check-error@1.0.3: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + + cheerio@1.0.0: + resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==} + engines: {node: '>=18.17'} + chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -4498,6 +4848,13 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + colord@2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} @@ -4558,6 +4915,10 @@ packages: component-emitter@1.3.1: resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} + compress-commons@6.0.2: + resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} + engines: {node: '>= 14'} + compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} @@ -4614,6 +4975,9 @@ packages: core-js-compat@3.37.1: resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} + core-js-compat@3.38.1: + resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==} + core-js-pure@3.37.1: resolution: {integrity: sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA==} @@ -4623,8 +4987,8 @@ packages: core-js@3.37.1: resolution: {integrity: sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==} - core-js@3.38.1: - resolution: {integrity: sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==} + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} cosmiconfig-typescript-loader@4.4.0: resolution: {integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==} @@ -4665,6 +5029,15 @@ packages: typescript: optional: true + crc-32@1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} + hasBin: true + + crc32-stream@6.0.0: + resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} + engines: {node: '>= 14'} + create-jest@29.7.0: resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -4696,6 +5069,9 @@ packages: css-select@5.1.0: resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + css-shorthand-properties@1.1.1: + resolution: {integrity: sha512-Md+Juc7M3uOdbAFwOYlTrccIZ7oCFuzrhKYQjdeUEW/sE1hv17Jp/Bws+ReOPpGVBTYCBoYo+G17V5Qo8QQ75A==} + css-to-react-native@3.2.0: resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} @@ -4707,6 +5083,9 @@ packages: resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + css-value@0.0.1: + resolution: {integrity: sha512-FUV3xaJ63buRLgHrLQVlVgQnQdR4yqdLGaDu7g8CQcWjInDfM9plBTPI9FRfpahju1UBSaMckeb2/46ApS/V1Q==} + css-what@6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} @@ -4751,6 +5130,10 @@ packages: resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} engines: {node: '>=8'} + cssstyle@4.0.1: + resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==} + engines: {node: '>=18'} + csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -4791,6 +5174,10 @@ packages: resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} engines: {node: '>=12'} + data-urls@5.0.0: + resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} + engines: {node: '>=18'} + data-view-buffer@1.0.1: resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} engines: {node: '>= 0.4'} @@ -4838,6 +5225,10 @@ packages: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} + decamelize@6.0.0: + resolution: {integrity: sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} @@ -4866,6 +5257,10 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + deepmerge-ts@7.1.0: + resolution: {integrity: sha512-q6bNsfNBtgr8ZOQqmZbl94MmYWm+QcDNIkqCxVWiw1vKvf+y/N2dZQKdnDXn4c5Ygt/y63tDof6OCN+2YwWVEg==} + engines: {node: '>=16.0.0'} + deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} @@ -4916,6 +5311,10 @@ packages: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} @@ -5027,6 +5426,14 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + edge-paths@3.0.5: + resolution: {integrity: sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==} + engines: {node: '>=14.0.0'} + + edgedriver@5.6.1: + resolution: {integrity: sha512-3Ve9cd5ziLByUdigw6zovVeWJjVs8QHVmqOB0sJ0WNeVPcwf4p18GnxMmVvlFmYRloUwf5suNuorea4QzwBIOA==} + hasBin: true + edit-json-file@1.8.0: resolution: {integrity: sha512-IBOpbe2aQufNl5oZ4jsr2AmNVUy5bO7jS5hk0cCyWhOLdH59Xv41B3XQObE/JB89Ae5qDY9hVsq13/hgGhFBZg==} @@ -5041,6 +5448,9 @@ packages: electron-to-chromium@1.5.0: resolution: {integrity: sha512-Vb3xHHYnLseK8vlMJQKJYXJ++t4u1/qJ3vykuVrVjvdiOEhYyT1AuP4x03G8EnPmYvYOhe9T+dADTmthjRQMkA==} + electron-to-chromium@1.5.13: + resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==} + emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} @@ -5059,6 +5469,9 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} + encoding-sniffer@0.2.0: + resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} + end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} @@ -5317,6 +5730,9 @@ packages: engines: {node: '>= 10.17.0'} hasBin: true + fast-deep-equal@2.0.1: + resolution: {integrity: sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -5342,6 +5758,10 @@ packages: fast-uri@3.0.1: resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==} + fast-xml-parser@4.4.1: + resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} + hasBin: true + fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} @@ -5459,6 +5879,10 @@ packages: resolution: {integrity: sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==} engines: {node: '>=0.10.0'} + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + fork-ts-checker-webpack-plugin@8.0.0: resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==} engines: {node: '>=12.13.0', yarn: '>=1.0.0'} @@ -5547,6 +5971,11 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + geckodriver@4.4.3: + resolution: {integrity: sha512-79rvaq8pvKVUtuM9XBjQApb04kOVkl3TFRX+zTt1wlmL+wqpt85ocWCdqiENU/3zIzg2Me21eClUcnE7F1kL2w==} + engines: {node: ^16.13 || >=18 || >=20} + hasBin: true + generic-names@4.0.0: resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==} @@ -5569,6 +5998,10 @@ packages: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} + get-port@7.1.0: + resolution: {integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==} + engines: {node: '>=16'} + get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -5624,6 +6057,10 @@ packages: glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + glob@7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} deprecated: Glob versions prior to v9 are no longer supported @@ -5827,6 +6264,10 @@ packages: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} engines: {node: '>=12'} + html-encoding-sniffer@4.0.0: + resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} + engines: {node: '>=18'} + html-entities@2.5.2: resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==} @@ -5849,6 +6290,9 @@ packages: html-void-elements@2.0.1: resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} + htmlfy@0.2.1: + resolution: {integrity: sha512-HoomFHQ3av1uhq+7FxJTq4Ns0clAD+tGbQNrSd0WFY3UAjjUk6G3LaWEqdgmIXYkY4pexZiyZ3ykZJhQlM0J5A==} + htmlparser2@6.1.0: resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} @@ -5858,6 +6302,9 @@ packages: htmlparser2@9.0.0: resolution: {integrity: sha512-uxbSI98wmFT/G4P2zXx4OVx04qWUmyFPrD2/CNepa2Zo3GPNaCaaxElDgwUrwYWkK1nr9fft0Ya8dws8coDLLQ==} + htmlparser2@9.1.0: + resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} + htmr@1.0.2: resolution: {integrity: sha512-7T9babEHZwECQ2/ouxNPow1uGcKbj/BcbslPGPRxBKIOLNiIrFKq6ELzor7mc4HiexZzdb3izQQLl16bhPR9jw==} peerDependencies: @@ -5961,9 +6408,16 @@ packages: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + image-q@4.0.0: resolution: {integrity: sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==} + immediate@3.0.6: + resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} + immer@9.0.21: resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} @@ -6065,6 +6519,9 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} @@ -6290,6 +6747,9 @@ packages: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -6300,6 +6760,10 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isexe@3.1.1: + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} + ismobilejs@1.1.1: resolution: {integrity: sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==} @@ -6337,6 +6801,9 @@ packages: iterate-object@1.3.4: resolution: {integrity: sha512-4dG1D1x/7g8PwHS9aK6QV5V94+ZvyP4+d19qDv43EzImmrndysIl4prmJ1hWWIGCqrZHyaHBm6BSEWHOLnpoNw==} + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jake@10.9.2: resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} engines: {node: '>=10'} @@ -6523,6 +6990,15 @@ packages: canvas: optional: true + jsdom@24.1.1: + resolution: {integrity: sha512-5O1wWV99Jhq4DV7rCLIoZ/UIhyQeDR7wHVyZAHAshbrvZsLs+Xzz7gtwnlJTJDjleiTKh54F4dXrX70vJQTyJQ==} + engines: {node: '>=18'} + peerDependencies: + canvas: ^2.11.2 + peerDependenciesMeta: + canvas: + optional: true + jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true @@ -6568,6 +7044,9 @@ packages: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} + jszip@3.10.1: + resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -6619,6 +7098,10 @@ packages: resolution: {integrity: sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==} engines: {node: '>=0.10.0'} + lazystream@1.0.1: + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} + leac@0.6.0: resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==} @@ -6633,6 +7116,9 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lie@3.3.0: + resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} + lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} @@ -6670,6 +7156,9 @@ packages: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} + locate-app@2.4.28: + resolution: {integrity: sha512-+fcrSieGg19C7YS7MBrngAcaWmdeTpljyWneKof7X9NGe3F2xPodl3y9kx1MpyaXtRmzFnV1/frARI3O73agQg==} + locate-path@3.0.0: resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} engines: {node: '>=6'} @@ -6695,6 +7184,9 @@ packages: lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + lodash.clonedeep@4.5.0: + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} @@ -6740,6 +7232,9 @@ packages: lodash.upperfirst@4.3.1: resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} + lodash.zip@4.2.0: + resolution: {integrity: sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg==} + lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -6747,6 +7242,13 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} + loglevel-plugin-prefix@0.8.4: + resolution: {integrity: sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==} + + loglevel@1.9.1: + resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} + engines: {node: '>= 0.6.0'} + longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} @@ -6767,6 +7269,9 @@ packages: lowlight@1.20.0: resolution: {integrity: sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==} + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lru-cache@4.1.5: resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} @@ -7088,6 +7593,10 @@ packages: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} engines: {node: '>= 6'} @@ -7101,6 +7610,10 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} @@ -7115,6 +7628,9 @@ packages: mlly@1.7.1: resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} + moment@2.30.1: + resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} + mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -7197,6 +7713,10 @@ packages: resolution: {integrity: sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-html-parser@6.1.13: resolution: {integrity: sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==} @@ -7414,6 +7934,9 @@ packages: resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==} engines: {node: '>= 14'} + package-json-from-dist@1.0.0: + resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} @@ -7467,6 +7990,12 @@ packages: parse-url@8.1.0: resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} + parse5-htmlparser2-tree-adapter@7.0.0: + resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + + parse5-parser-stream@7.1.2: + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + parse5@6.0.1: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} @@ -7521,6 +8050,10 @@ packages: resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} engines: {node: '>=0.10.0'} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + path-to-regexp@6.2.2: resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} @@ -7919,6 +8452,9 @@ packages: resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} engines: {node: '>=6'} + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} @@ -7987,6 +8523,9 @@ packages: resolution: {integrity: sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==} engines: {node: '>=0.6'} + query-selector-shadow-dom@1.0.1: + resolution: {integrity: sha512-lT5yCqEBgfoMYpf3F2xQRK7zEr1rhIIZuceDK6+xRkJQ4NMbHTwXqk4NkwDwQMNqXgG9r9fyHnzwNVs6zV5KRw==} + querystring@0.2.1: resolution: {integrity: sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==} engines: {node: '>=0.4.x'} @@ -8394,14 +8933,24 @@ packages: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} + readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + readable-web-to-node-stream@3.0.2: resolution: {integrity: sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==} engines: {node: '>=8'} + readdir-glob@1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -8546,6 +9095,9 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true + resq@1.11.0: + resolution: {integrity: sha512-G10EBz+zAAy3zUd/CDoBbXRL6ia9kOo3xRHrMDsHljI0GDkhYlyjwoCx5+3eCC4swi1uCoZQhskuJkj7Gp57Bw==} + restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} @@ -8558,6 +9110,9 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + rgb2hex@0.2.5: + resolution: {integrity: sha512-22MOP1Rh7sAo1BZpDG6R5RFYzR2lYEgwq7HEmyW2qcsOqR2lQKmn+O//xV3YG/0rrhMC6KVX2hU+ZXuaw9a5bw==} + rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} deprecated: Rimraf versions prior to v4 are no longer supported @@ -8568,6 +9123,12 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rrweb-cssom@0.6.0: + resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} + + rrweb-cssom@0.7.1: + resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} + rslog@1.2.2: resolution: {integrity: sha512-tZP8KjrI1nz6qOYCrFxAV7cfmfS2GV94jotU2zOmF/6ByO1zNvGR6/+0inylpjqyBjAdnnutTUW0m4th06bSTw==} engines: {node: '>=14.17.6'} @@ -8610,6 +9171,9 @@ packages: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} + safaridriver@0.1.2: + resolution: {integrity: sha512-4R309+gWflJktzPXBQCobbWEHlzC4aK3a+Ov3tz2Ib2aBxiwd11phkdIBH1l0EO22x24CJMUQkpKFumRriCSRg==} + safe-array-concat@1.1.2: resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} @@ -8809,6 +9373,10 @@ packages: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} + serialize-error@11.0.3: + resolution: {integrity: sha512-2G2y++21dhj2R7iHAdd0FIzjGwuKZld+7Pl/bTU6YIkrC2ZMbVUjm+luj6A6V34Rv9XfKJDKpTWu9W4Gse1D9g==} + engines: {node: '>=14.16'} + serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} @@ -8831,6 +9399,9 @@ packages: resolution: {integrity: sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw==} engines: {node: '>=11.0'} + setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} @@ -8845,6 +9416,10 @@ packages: shallowequal@1.1.0: resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + sharp@0.33.3: + resolution: {integrity: sha512-vHUeXJU1UvlO/BNwTpT0x/r53WkLUVxrmb5JTgW92fdFCFk0ispLMAeu/jPO2vjkXM1fYUi3K7/qcLF47pwM1A==} + engines: {libvips: '>=8.15.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0} + shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -8879,6 +9454,9 @@ packages: resolution: {integrity: sha512-tgqwPUMDcNDhuf1Xf6KTUsyeqGdgKMhzaH4PAZZuzguOgTl5uuyeYe/8mWgAr6IBxB5V06uqEf6Dy37gIWDtDg==} hasBin: true + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + simple-update-notifier@2.0.0: resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} engines: {node: '>=10'} @@ -8949,6 +9527,9 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + spacetrim@0.11.39: + resolution: {integrity: sha512-S/baW29azJ7py5ausQRE2S6uEDQnlxgMHOEEq4V770ooBDD1/9kZnxRcco/tjZYuDuqYXblCk/r3N13ZmvHZ2g==} + spawndamnit@2.0.0: resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} @@ -8967,6 +9548,10 @@ packages: split2@3.2.2: resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -9038,6 +9623,9 @@ packages: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} engines: {node: '>= 0.4'} + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -9091,6 +9679,9 @@ packages: strip-literal@2.1.0: resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + strong-log-transformer@2.1.0: resolution: {integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==} engines: {node: '>=4'} @@ -9321,6 +9912,10 @@ packages: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} engines: {node: '>=12'} + tr46@5.0.0: + resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} + engines: {node: '>=18'} + trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} @@ -9431,6 +10026,10 @@ packages: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} + type-fest@2.13.0: + resolution: {integrity: sha512-lPfAm42MxE4/456+QyIaaVBAwgpJb6xZ8PRu09utnhPdWwcyj9vgy6Sq0Z5yNbJ21EdxB5dRU/Qg8bsyAMtlcw==} + engines: {node: '>=12.20'} + type-fest@2.15.0: resolution: {integrity: sha512-hpsXfQZrAiusX8KMY5HXSEV7xqGAGxFQoNDT+iW0yJE/bdYG0uMlRaUG0kNAUbF5p6Cq5Kuf69lm4M569QtRGw==} engines: {node: '>=12.20'} @@ -9495,6 +10094,13 @@ packages: undici-types@6.11.1: resolution: {integrity: sha512-mIDEX2ek50x0OlRgxryxsenE5XaQD4on5U2inY7RApK3SOJpofyw7uW2AyfMKkhAxXIceo2DeWGVGwyvng1GNQ==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + + undici@6.19.8: + resolution: {integrity: sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==} + engines: {node: '>=18.17'} + unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} @@ -9580,6 +10186,10 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 + userhome@1.0.0: + resolution: {integrity: sha512-ayFKY3H+Pwfy4W98yPdtH1VqH4psDeyW8lYYFzfecR9d6hqLpqhecktvYR3SEEXt7vG0S1JEpciI3g94pMErig==} + engines: {node: '>= 0.8.0'} + utif2@4.1.0: resolution: {integrity: sha512-+oknB9FHrJ7oW7A2WZYajOcv4FcDR4CfoGB0dPNfxbi4GO05RRnFmt5oa23+9w32EanrYcSJWspUiJkLMs+37w==} @@ -9701,6 +10311,15 @@ packages: resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} engines: {node: '>=14'} + w3c-xmlserializer@5.0.0: + resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} + engines: {node: '>=18'} + + wait-port@1.1.0: + resolution: {integrity: sha512-3e04qkoN3LxTMLakdqeWth8nih8usyg+sf1Bgdf9wwUkp05iuK1eSY/QpLvscT/+F/gA89+LpUmmgBtesbqI2Q==} + engines: {node: '>=10'} + hasBin: true + walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} @@ -9725,6 +10344,19 @@ packages: resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} engines: {node: '>= 14'} + webdriver@9.0.6: + resolution: {integrity: sha512-S9f1qkEuIN1RgDFF0KmfWUc2NiBUb9d1UpGI/Y9IkSy9wTnAJk+xTvCezSUGO2D9rtZYHLal7jU+yOf9ntBg5Q==} + engines: {node: '>=18'} + + webdriverio@9.0.6: + resolution: {integrity: sha512-STRjhpC18tUPFox1DSRPMhKfMXwsgr7ZqyWWbLXCPUeKpejVXlVigcXM4bXVWXpuAbLVo8PHGtX/zy28Jkwmow==} + engines: {node: '>=18'} + peerDependencies: + puppeteer-core: ^22.3.0 + peerDependenciesMeta: + puppeteer-core: + optional: true + webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -9754,6 +10386,10 @@ packages: resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} engines: {node: '>=12'} + whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + whatwg-fetch@3.6.20: resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} @@ -9761,10 +10397,18 @@ packages: resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} engines: {node: '>=12'} + whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + whatwg-url@11.0.0: resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} engines: {node: '>=12'} + whatwg-url@14.0.0: + resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==} + engines: {node: '>=18'} + whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -9795,6 +10439,11 @@ packages: engines: {node: '>= 8'} hasBin: true + which@4.0.0: + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} + hasBin: true + why-is-node-running@2.3.0: resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} engines: {node: '>=8'} @@ -9812,6 +10461,10 @@ packages: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -9838,6 +10491,10 @@ packages: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} engines: {node: '>=12'} + xml-name-validator@5.0.0: + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} + xml-parse-from-string@1.0.1: resolution: {integrity: sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==} @@ -9923,6 +10580,10 @@ packages: resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} engines: {node: '>=18'} + zip-stream@6.0.1: + resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} + engines: {node: '>= 14'} + zod-validation-error@1.2.0: resolution: {integrity: sha512-laJkD/ugwEh8CpuH+xXv5L9Z+RLz3lH8alNxolfaHZJck611OJj97R4Rb+ZqA7WNly2kNtTo4QwjdjXw9scpiw==} engines: {node: ^14.17 || >=16.0.0} @@ -10058,29 +10719,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/core@7.25.2': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.5 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helpers': 7.25.0 - '@babel/parser': 7.25.4 - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.4 - '@babel/types': 7.25.4 - convert-source-map: 2.0.0 - debug: 4.3.6 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - '@babel/generator@7.24.10': dependencies: - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 @@ -10094,12 +10735,12 @@ snapshots: '@babel/helper-annotate-as-pure@7.24.7': dependencies: - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': dependencies: '@babel/traverse': 7.24.8(supports-color@5.5.0) - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color @@ -10115,7 +10756,7 @@ snapshots: dependencies: '@babel/compat-data': 7.25.4 '@babel/helper-validator-option': 7.24.8 - browserslist: 4.23.2 + browserslist: 4.23.3 lru-cache: 5.1.1 semver: 6.3.1 @@ -10134,17 +10775,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-create-class-features-plugin@7.24.8(@babel/core@7.25.2)': + '@babel/helper-create-class-features-plugin@7.25.4(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.25.2) + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.24.9) '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 + '@babel/traverse': 7.25.4 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -10156,9 +10795,9 @@ snapshots: regexpu-core: 5.3.2 semver: 6.3.1 - '@babel/helper-create-regexp-features-plugin@7.24.7(@babel/core@7.25.2)': + '@babel/helper-create-regexp-features-plugin@7.25.2(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 regexpu-core: 5.3.2 semver: 6.3.1 @@ -10174,41 +10813,30 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.24.8 - '@babel/helper-plugin-utils': 7.24.8 - debug: 4.3.6 - lodash.debounce: 4.0.8 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - '@babel/helper-environment-visitor@7.24.7': dependencies: - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 '@babel/helper-function-name@7.24.7': dependencies: '@babel/template': 7.24.7 - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 '@babel/helper-hoist-variables@7.24.7': dependencies: - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 '@babel/helper-member-expression-to-functions@7.24.8': dependencies: '@babel/traverse': 7.24.8(supports-color@5.5.0) - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.24.7(supports-color@5.5.0)': dependencies: '@babel/traverse': 7.24.8(supports-color@5.5.0) - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color @@ -10223,20 +10851,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.24.9(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) - '@babel/helper-simple-access': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': + '@babel/helper-module-transforms@7.25.2(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/helper-simple-access': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 @@ -10246,7 +10863,7 @@ snapshots: '@babel/helper-optimise-call-expression@7.24.7': dependencies: - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 '@babel/helper-plugin-utils@7.24.8': {} @@ -10259,12 +10876,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-remap-async-to-generator@7.24.7(@babel/core@7.25.2)': + '@babel/helper-remap-async-to-generator@7.25.0(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-wrap-function': 7.24.7 + '@babel/helper-wrap-function': 7.25.0 + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color @@ -10277,32 +10894,32 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.24.7(@babel/core@7.25.2)': + '@babel/helper-replace-supers@7.25.0(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-environment-visitor': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color '@babel/helper-simple-access@7.24.7': dependencies: '@babel/traverse': 7.24.8(supports-color@5.5.0) - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.24.7': dependencies: '@babel/traverse': 7.24.8(supports-color@5.5.0) - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color '@babel/helper-split-export-declaration@7.24.7': dependencies: - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 '@babel/helper-string-parser@7.24.8': {} @@ -10315,19 +10932,22 @@ snapshots: '@babel/helper-function-name': 7.24.7 '@babel/template': 7.24.7 '@babel/traverse': 7.24.8(supports-color@5.5.0) - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color - '@babel/helpers@7.24.8': + '@babel/helper-wrap-function@7.25.0': dependencies: - '@babel/template': 7.24.7 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.4 '@babel/types': 7.25.4 + transitivePeerDependencies: + - supports-color - '@babel/helpers@7.25.0': + '@babel/helpers@7.24.8': dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.4 + '@babel/template': 7.24.7 + '@babel/types': 7.24.9 '@babel/highlight@7.24.7': dependencies: @@ -10348,37 +10968,35 @@ snapshots: '@babel/helper-environment-visitor': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-environment-visitor': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.4 + transitivePeerDependencies: + - supports-color - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.24.9)': + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.9)': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.24.9) - transitivePeerDependencies: - - supports-color - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.24.9) transitivePeerDependencies: - supports-color @@ -10388,35 +11006,28 @@ snapshots: '@babel/helper-environment-visitor': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.25.2)': + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.25.2) + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-decorators@7.24.7(@babel/core@7.24.9)': + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-decorators': 7.24.7(@babel/core@7.24.9) transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-decorators@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-proposal-decorators@7.24.7(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-decorators': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-decorators': 7.24.7(@babel/core@7.24.9) transitivePeerDependencies: - supports-color @@ -10442,70 +11053,36 @@ snapshots: dependencies: '@babel/core': 7.24.9 - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-decorators@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-decorators@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-export-default-from@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -10516,121 +11093,61 @@ snapshots: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-partial-application@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -10646,29 +11163,19 @@ snapshots: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.9)': @@ -10677,22 +11184,11 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-async-generator-functions@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -10703,13 +11199,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-generator-functions@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-async-generator-functions@7.25.4(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-environment-visitor': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.24.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.9) + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color @@ -10722,33 +11218,19 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.24.9)': @@ -10759,10 +11241,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-class-properties@7.25.4(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -10776,15 +11258,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-classes@7.24.8(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -10799,16 +11272,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-classes@7.24.8(@babel/core@7.25.2)': + '@babel/plugin-transform-classes@7.25.4(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-compilation-targets': 7.24.8 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 + '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.25.2) - '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.24.9) + '@babel/traverse': 7.25.4 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -10819,42 +11290,26 @@ snapshots: '@babel/helper-plugin-utils': 7.24.8 '@babel/template': 7.24.7 - '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/template': 7.24.7 - '@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.24.9)': @@ -10863,12 +11318,6 @@ snapshots: '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.9) - '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -10877,26 +11326,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.9) - '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -10905,14 +11340,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-function-name@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -10920,12 +11347,14 @@ snapshots: '@babel/helper-function-name': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-function-name@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-function-name@7.25.1(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.24.8 - '@babel/helper-function-name': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.4 + transitivePeerDependencies: + - supports-color '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.24.9)': dependencies: @@ -10933,20 +11362,14 @@ snapshots: '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.9) - '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-literals@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-literals@7.25.2(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.24.9)': @@ -10955,22 +11378,11 @@ snapshots: '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.9) - '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -10979,14 +11391,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.24.9(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -10996,15 +11400,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.24.9(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-simple-access': 7.24.7 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-modules-systemjs@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -11015,13 +11410,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-modules-systemjs@7.25.0(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-module-transforms': 7.24.9(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color @@ -11033,60 +11428,29 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.24.9(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9) - '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.9) - '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -11095,14 +11459,6 @@ snapshots: '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.9) '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.9) - '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.24.8 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -11111,26 +11467,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.9) - '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -11140,25 +11482,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -11167,10 +11495,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-private-methods@7.25.4(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -11185,29 +11513,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-react-constant-elements@7.24.7(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-react-constant-elements@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.24.9)': @@ -11215,11 +11528,6 @@ snapshots: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -11227,13 +11535,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -11241,18 +11542,7 @@ snapshots: '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.9) - '@babel/types': 7.25.4 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color @@ -11262,34 +11552,17 @@ snapshots: '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-react-pure-annotations@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 regenerator-transform: 0.15.2 - '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - regenerator-transform: 0.15.2 - '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-runtime@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -11302,14 +11575,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-runtime@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-runtime@7.25.4(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/helper-plugin-utils': 7.24.8 - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.25.2) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.9) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.24.9) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.9) semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -11319,11 +11592,6 @@ snapshots: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -11332,44 +11600,21 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-spread@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-typescript@7.24.8(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -11380,13 +11625,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-typescript@7.24.8(@babel/core@7.25.2)': + '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.25.2) + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.24.9) transitivePeerDependencies: - supports-color @@ -11395,45 +11641,28 @@ snapshots: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-unicode-sets-regex@7.25.4(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 '@babel/preset-env@7.24.8(@babel/core@7.24.9)': @@ -11523,89 +11752,91 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/preset-env@7.24.8(@babel/core@7.25.2)': + '@babel/preset-env@7.25.4(@babel/core@7.24.9)': dependencies: - '@babel/compat-data': 7.24.9 - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.24.8 + '@babel/compat-data': 7.25.4 + '@babel/core': 7.24.9 + '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.2) - '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-async-generator-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoping': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-classes': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-function-name': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-modules-systemjs': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.25.2) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.2) - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.25.2) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) - core-js-compat: 3.37.1 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.3(@babel/core@7.24.9) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.24.9) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.24.9) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.0(@babel/core@7.24.9) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.9) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.9) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.9) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.9) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.9) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.9) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-async-generator-functions': 7.25.4(@babel/core@7.24.9) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.24.9) + '@babel/plugin-transform-class-properties': 7.25.4(@babel/core@7.24.9) + '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-classes': 7.25.4(@babel/core@7.24.9) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.0(@babel/core@7.24.9) + '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.24.9) + '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.24.9) + '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-modules-systemjs': 7.25.0(@babel/core@7.24.9) + '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-private-methods': 7.25.4(@babel/core@7.24.9) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-unicode-sets-regex': 7.25.4(@babel/core@7.24.9) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.9) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.9) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.24.9) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.9) + core-js-compat: 3.38.1 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -11614,14 +11845,7 @@ snapshots: dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/types': 7.25.4 - esutils: 2.0.3 - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 esutils: 2.0.3 '@babel/preset-react@7.24.7(@babel/core@7.24.9)': @@ -11636,18 +11860,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/preset-react@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - '@babel/preset-typescript@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -11659,20 +11871,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-typescript': 7.24.8(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - - '@babel/register@7.24.6(@babel/core@7.25.2)': + '@babel/register@7.24.6(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 clone-deep: 4.0.1 find-cache-dir: 2.1.0 make-dir: 2.1.0 @@ -11685,11 +11886,15 @@ snapshots: dependencies: regenerator-runtime: 0.14.1 + '@babel/runtime@7.25.4': + dependencies: + regenerator-runtime: 0.14.1 + '@babel/template@7.24.7': dependencies: '@babel/code-frame': 7.24.7 '@babel/parser': 7.24.8 - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 '@babel/template@7.25.0': dependencies: @@ -11706,7 +11911,7 @@ snapshots: '@babel/helper-hoist-variables': 7.24.7 '@babel/helper-split-export-declaration': 7.24.7 '@babel/parser': 7.24.8 - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 debug: 4.3.5(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: @@ -11793,7 +11998,7 @@ snapshots: '@changesets/apply-release-plan@7.0.4': dependencies: - '@babel/runtime': 7.24.8 + '@babel/runtime': 7.25.4 '@changesets/config': 3.0.2 '@changesets/get-version-range-type': 0.4.0 '@changesets/git': 3.0.0 @@ -11819,7 +12024,7 @@ snapshots: '@changesets/assemble-release-plan@6.0.3': dependencies: - '@babel/runtime': 7.24.8 + '@babel/runtime': 7.25.4 '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.1 '@changesets/should-skip-package': 0.1.0 @@ -11873,7 +12078,7 @@ snapshots: '@changesets/cli@2.27.7': dependencies: - '@babel/runtime': 7.24.8 + '@babel/runtime': 7.25.4 '@changesets/apply-release-plan': 7.0.4 '@changesets/assemble-release-plan': 6.0.3 '@changesets/changelog-git': 0.2.0 @@ -11962,7 +12167,7 @@ snapshots: '@changesets/get-release-plan@4.0.3': dependencies: - '@babel/runtime': 7.24.8 + '@babel/runtime': 7.25.4 '@changesets/assemble-release-plan': 6.0.3 '@changesets/config': 3.0.2 '@changesets/pre': 2.0.0 @@ -11995,7 +12200,7 @@ snapshots: '@changesets/git@3.0.0': dependencies: - '@babel/runtime': 7.24.8 + '@babel/runtime': 7.25.4 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -12031,7 +12236,7 @@ snapshots: '@changesets/pre@2.0.0': dependencies: - '@babel/runtime': 7.24.8 + '@babel/runtime': 7.25.4 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -12050,7 +12255,7 @@ snapshots: '@changesets/read@0.6.0': dependencies: - '@babel/runtime': 7.24.8 + '@babel/runtime': 7.25.4 '@changesets/git': 3.0.0 '@changesets/logger': 0.1.0 '@changesets/parse': 0.4.0 @@ -12061,7 +12266,7 @@ snapshots: '@changesets/should-skip-package@0.1.0': dependencies: - '@babel/runtime': 7.24.8 + '@babel/runtime': 7.25.4 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -12081,7 +12286,7 @@ snapshots: '@changesets/write@0.3.1': dependencies: - '@babel/runtime': 7.24.8 + '@babel/runtime': 7.25.4 '@changesets/types': 6.0.0 fs-extra: 7.0.1 human-id: 1.0.2 @@ -12486,7 +12691,7 @@ snapshots: debug: 4.3.6 espree: 9.6.1 globals: 13.24.0 - ignore: 5.3.1 + ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -12552,6 +12757,81 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} + '@img/sharp-darwin-arm64@0.33.3': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.2 + optional: true + + '@img/sharp-darwin-x64@0.33.3': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.2 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.0.2': + optional: true + + '@img/sharp-libvips-darwin-x64@1.0.2': + optional: true + + '@img/sharp-libvips-linux-arm64@1.0.2': + optional: true + + '@img/sharp-libvips-linux-arm@1.0.2': + optional: true + + '@img/sharp-libvips-linux-s390x@1.0.2': + optional: true + + '@img/sharp-libvips-linux-x64@1.0.2': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.0.2': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.0.2': + optional: true + + '@img/sharp-linux-arm64@0.33.3': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.2 + optional: true + + '@img/sharp-linux-arm@0.33.3': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.2 + optional: true + + '@img/sharp-linux-s390x@0.33.3': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.2 + optional: true + + '@img/sharp-linux-x64@0.33.3': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.2 + optional: true + + '@img/sharp-linuxmusl-arm64@0.33.3': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.2 + optional: true + + '@img/sharp-linuxmusl-x64@0.33.3': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.2 + optional: true + + '@img/sharp-wasm32@0.33.3': + dependencies: + '@emnapi/runtime': 1.2.0 + optional: true + + '@img/sharp-win32-ia32@0.33.3': + optional: true + + '@img/sharp-win32-x64@0.33.3': + optional: true + '@inquirer/checkbox@2.4.4': dependencies: '@inquirer/core': 9.0.7 @@ -12649,6 +12929,15 @@ snapshots: dependencies: mute-stream: 1.0.0 + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + '@istanbuljs/load-nyc-config@1.1.0': dependencies: camelcase: 5.3.1 @@ -12794,7 +13083,7 @@ snapshots: '@jest/transform@29.7.0': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 @@ -13279,7 +13568,7 @@ snapshots: '@modern-js/babel-compiler@2.31.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@modern-js/utils': 2.31.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@swc/helpers': 0.5.1 transitivePeerDependencies: @@ -13289,7 +13578,7 @@ snapshots: '@modern-js/babel-compiler@2.32.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@modern-js/utils': 2.32.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@swc/helpers': 0.5.1 transitivePeerDependencies: @@ -13323,17 +13612,17 @@ snapshots: '@modern-js/babel-preset-base@2.31.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/core': 7.25.2 - '@babel/parser': 7.25.4 - '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-typescript': 7.24.8(@babel/core@7.25.2) - '@babel/preset-env': 7.24.8(@babel/core@7.25.2) - '@babel/preset-react': 7.24.7(@babel/core@7.25.2) - '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/parser': 7.24.8 + '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-typescript': 7.24.8(@babel/core@7.24.9) + '@babel/preset-env': 7.24.8(@babel/core@7.24.9) + '@babel/preset-react': 7.24.7(@babel/core@7.24.9) + '@babel/preset-typescript': 7.24.7(@babel/core@7.24.9) '@babel/runtime': 7.24.8 - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.4 - '@babel/types': 7.25.4 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.8(supports-color@5.5.0) + '@babel/types': 7.24.9 '@modern-js/utils': 2.31.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@swc/helpers': 0.5.1 '@types/babel__core': 7.20.5 @@ -13345,14 +13634,14 @@ snapshots: '@modern-js/babel-preset-base@2.32.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/parser': 7.25.4 - '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-typescript': 7.24.8(@babel/core@7.25.2) - '@babel/preset-env': 7.24.8(@babel/core@7.25.2) - '@babel/preset-react': 7.24.7(@babel/core@7.25.2) - '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) - '@babel/runtime': 7.24.8 + '@babel/plugin-transform-runtime': 7.25.4(@babel/core@7.24.9) + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.24.9) + '@babel/preset-env': 7.25.4(@babel/core@7.24.9) + '@babel/preset-react': 7.24.7(@babel/core@7.24.9) + '@babel/preset-typescript': 7.24.7(@babel/core@7.24.9) + '@babel/runtime': 7.25.4 '@babel/template': 7.25.0 '@babel/traverse': 7.25.4 '@babel/types': 7.25.4 @@ -13365,7 +13654,7 @@ snapshots: - react-dom - supports-color - '@modern-js/babel-preset@2.56.1(@rsbuild/core@1.0.1-beta.14)': + '@modern-js/babel-preset@2.56.1(@rsbuild/core@1.0.1-beta.9)': dependencies: '@babel/core': 7.24.9 '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.24.9) @@ -13377,7 +13666,7 @@ snapshots: '@babel/preset-typescript': 7.24.7(@babel/core@7.24.9) '@babel/runtime': 7.24.8 '@babel/types': 7.24.9 - '@rsbuild/plugin-babel': 1.0.1-beta.3(@rsbuild/core@1.0.1-beta.14) + '@rsbuild/plugin-babel': 1.0.1-beta.3(@rsbuild/core@1.0.1-beta.9) '@swc/helpers': 0.5.3 '@types/babel__core': 7.20.5 babel-plugin-dynamic-import-node: 2.3.3 @@ -13400,8 +13689,8 @@ snapshots: '@modern-js/builder-rspack-provider@2.31.2(@types/express@4.17.21)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(ts-node@10.9.2(@types/node@18.19.41)(typescript@5.0.4))(tsconfig-paths@4.2.0)(type-fest@3.13.1)(typescript@5.0.4)': dependencies: - '@babel/core': 7.25.2 - '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/preset-typescript': 7.24.7(@babel/core@7.24.9) '@modern-js/builder-shared': 2.31.2(@types/express@4.17.21)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(ts-node@10.9.2(@types/node@18.19.41)(typescript@5.0.4))(tsconfig-paths@4.2.0)(typescript@5.0.4) '@modern-js/server': 2.31.2(@types/express@4.17.21)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(ts-node@10.9.2(@types/node@18.19.41)(typescript@5.0.4))(tsconfig-paths@4.2.0) '@modern-js/types': 2.31.2 @@ -13442,8 +13731,8 @@ snapshots: '@modern-js/builder-rspack-provider@2.32.1(@types/express@4.17.21)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(ts-node@10.9.2(@types/node@18.19.41)(typescript@5.0.4))(tsconfig-paths@4.2.0)(type-fest@3.13.1)(typescript@5.0.4)': dependencies: - '@babel/core': 7.25.2 - '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/preset-typescript': 7.24.7(@babel/core@7.24.9) '@modern-js/builder-shared': 2.32.1(@types/express@4.17.21)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(ts-node@10.9.2(@types/node@18.19.41)(typescript@5.0.4))(tsconfig-paths@4.2.0)(typescript@5.0.4) '@modern-js/server': 2.32.1(@types/express@4.17.21)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(ts-node@10.9.2(@types/node@18.19.41)(typescript@5.0.4))(tsconfig-paths@4.2.0) '@modern-js/types': 2.32.1 @@ -13452,7 +13741,7 @@ snapshots: '@rspack/dev-client': 0.2.12(react-refresh@0.14.0)(type-fest@3.13.1)(webpack@5.93.0) '@rspack/plugin-html': 0.2.12(@rspack/core@0.2.12(type-fest@3.13.1)(webpack@5.93.0)) '@swc/helpers': 0.5.1 - caniuse-lite: 1.0.30001651 + caniuse-lite: 1.0.30001653 core-js: 3.30.2 react-refresh: 0.14.0 rspack-manifest-plugin: 5.0.0-alpha0(webpack@5.93.0) @@ -13484,9 +13773,9 @@ snapshots: '@modern-js/builder-shared@2.31.2(@types/express@4.17.21)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(ts-node@10.9.2(@types/node@18.19.41)(typescript@5.0.4))(tsconfig-paths@4.2.0)(typescript@5.0.4)': dependencies: - '@babel/core': 7.25.2 - '@babel/parser': 7.25.4 - '@babel/types': 7.25.4 + '@babel/core': 7.24.9 + '@babel/parser': 7.24.8 + '@babel/types': 7.24.9 '@modern-js/prod-server': 2.31.2(@types/express@4.17.21)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@modern-js/server': 2.31.2(@types/express@4.17.21)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(ts-node@10.9.2(@types/node@18.19.41)(typescript@5.0.4))(tsconfig-paths@4.2.0) '@modern-js/types': 2.31.2 @@ -13523,7 +13812,7 @@ snapshots: '@modern-js/builder-shared@2.32.1(@types/express@4.17.21)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(ts-node@10.9.2(@types/node@18.19.41)(typescript@5.0.4))(tsconfig-paths@4.2.0)(typescript@5.0.4)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/parser': 7.25.4 '@babel/types': 7.25.4 '@modern-js/prod-server': 2.32.1(@types/express@4.17.21)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) @@ -13532,7 +13821,7 @@ snapshots: '@modern-js/utils': 2.32.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@swc/helpers': 0.5.1 acorn: 8.12.1 - caniuse-lite: 1.0.30001651 + caniuse-lite: 1.0.30001653 cssnano: 6.0.1(postcss@8.4.27) fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.0.4)(webpack@5.93.0) htmlparser2: 9.0.0 @@ -13956,7 +14245,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@ast-grep/napi': 0.16.0 - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/types': 7.25.4 '@modern-js/core': 2.58.2 '@modern-js/plugin': 2.58.2 @@ -14109,7 +14398,7 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@modern-js/plugin-testing@2.56.1(@jest/transform@29.7.0)(@modern-js/runtime@2.56.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@rsbuild/core@1.0.1-beta.14)(@types/node@18.19.41)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(ts-node@10.9.2(@types/node@18.19.41)(typescript@5.0.4))(tsconfig-paths@4.2.0)(typescript@5.0.4)(zod@3.23.8)': + '@modern-js/plugin-testing@2.56.1(@jest/transform@29.7.0)(@modern-js/runtime@2.56.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@rsbuild/core@1.0.1-beta.9)(@types/node@18.19.41)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(ts-node@10.9.2(@types/node@18.19.41)(typescript@5.0.4))(tsconfig-paths@4.2.0)(typescript@5.0.4)(zod@3.23.8)': dependencies: '@babel/core': 7.24.9 '@babel/preset-env': 7.24.8(@babel/core@7.24.9) @@ -14120,7 +14409,7 @@ snapshots: '@modern-js-reduck/plugin-immutable': 1.1.11(@modern-js-reduck/store@1.1.11) '@modern-js-reduck/store': 1.1.11 '@modern-js/babel-compiler': 2.56.1 - '@modern-js/babel-preset': 2.56.1(@rsbuild/core@1.0.1-beta.14) + '@modern-js/babel-preset': 2.56.1(@rsbuild/core@1.0.1-beta.9) '@modern-js/bff-core': 2.56.1(ts-node@10.9.2(@types/node@18.19.41)(typescript@5.0.4))(tsconfig-paths@4.2.0)(zod@3.23.8) '@modern-js/plugin': 2.56.1 '@modern-js/prod-server': 2.56.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -14325,7 +14614,7 @@ snapshots: react-helmet: 6.1.0(react@18.2.0) react-is: 18.3.1 react-side-effect: 2.1.2(react@18.2.0) - styled-components: 5.3.11(@babel/core@7.25.2)(react-dom@18.2.0(react@18.2.0))(react-is@18.3.1)(react@18.2.0) + styled-components: 5.3.11(@babel/core@7.24.9)(react-dom@18.2.0(react@18.2.0))(react-is@18.3.1)(react@18.2.0) transitivePeerDependencies: - '@types/react' - '@types/react-dom' @@ -14405,11 +14694,11 @@ snapshots: '@modern-js/server-utils@2.31.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.2) - '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.25.2) - '@babel/preset-env': 7.24.8(@babel/core@7.25.2) - '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.9) + '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.24.9) + '@babel/preset-env': 7.24.8(@babel/core@7.24.9) + '@babel/preset-typescript': 7.24.7(@babel/core@7.24.9) '@modern-js/babel-compiler': 2.31.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@modern-js/babel-plugin-module-resolver': 2.31.2 '@modern-js/babel-preset-base': 2.31.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -14423,11 +14712,11 @@ snapshots: '@modern-js/server-utils@2.32.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.2) - '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.25.2) - '@babel/preset-env': 7.24.8(@babel/core@7.25.2) - '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.9) + '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.24.9) + '@babel/preset-env': 7.25.4(@babel/core@7.24.9) + '@babel/preset-typescript': 7.24.7(@babel/core@7.24.9) '@modern-js/babel-compiler': 2.32.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@modern-js/babel-plugin-module-resolver': 2.32.1 '@modern-js/babel-preset-base': 2.32.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0) @@ -14441,14 +14730,14 @@ snapshots: '@modern-js/server@2.31.2(@types/express@4.17.21)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(ts-node@10.9.2(@types/node@18.19.41)(typescript@5.0.4))(tsconfig-paths@4.2.0)': dependencies: - '@babel/core': 7.25.2 - '@babel/register': 7.24.6(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/register': 7.24.6(@babel/core@7.24.9) '@modern-js/prod-server': 2.31.2(@types/express@4.17.21)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@modern-js/server-utils': 2.31.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@modern-js/types': 2.31.2 '@modern-js/utils': 2.31.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@swc/helpers': 0.5.1 - axios: 1.7.5 + axios: 1.7.2 connect-history-api-fallback: 2.0.0 http-compression: 1.0.6 minimatch: 3.1.2 @@ -14468,8 +14757,8 @@ snapshots: '@modern-js/server@2.32.1(@types/express@4.17.21)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(ts-node@10.9.2(@types/node@18.19.41)(typescript@5.0.4))(tsconfig-paths@4.2.0)': dependencies: - '@babel/core': 7.25.2 - '@babel/register': 7.24.6(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/register': 7.24.6(@babel/core@7.24.9) '@modern-js/prod-server': 2.32.1(@types/express@4.17.21)(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@modern-js/server-utils': 2.32.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0) '@modern-js/types': 2.32.1 @@ -14558,7 +14847,7 @@ snapshots: dependencies: '@remix-run/router': 1.6.1 '@swc/helpers': 0.5.1 - caniuse-lite: 1.0.30001651 + caniuse-lite: 1.0.30001653 lodash: 4.17.21 react-router-dom: 6.11.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) serialize-javascript: 6.0.2 @@ -14570,7 +14859,7 @@ snapshots: dependencies: '@remix-run/router': 1.6.1 '@swc/helpers': 0.5.1 - caniuse-lite: 1.0.30001651 + caniuse-lite: 1.0.30001653 lodash: 4.17.21 react-router-dom: 6.11.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0) serialize-javascript: 6.0.2 @@ -14602,7 +14891,7 @@ snapshots: '@modern-js/utils@2.58.2': dependencies: '@swc/helpers': 0.5.3 - caniuse-lite: 1.0.30001651 + caniuse-lite: 1.0.30001653 lodash: 4.17.21 rslog: 1.2.2 @@ -14681,6 +14970,9 @@ snapshots: '@pixi/colord@2.9.6': {} + '@pkgjs/parseargs@0.11.0': + optional: true + '@playwright/test@1.44.1': dependencies: playwright: 1.44.1 @@ -14705,6 +14997,10 @@ snapshots: '@polka/url@1.0.0-next.25': {} + '@promptbook/utils@0.66.0': + dependencies: + spacetrim: 0.11.39 + '@puppeteer/browsers@2.3.0': dependencies: debug: 4.3.6 @@ -14863,23 +15159,23 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - '@rsbuild/core@1.0.1-beta.14': + '@rsbuild/core@1.0.1-beta.9': dependencies: - '@rspack/core': 1.0.0-beta.5(@swc/helpers@0.5.11) - '@rspack/lite-tapable': 1.0.0 + '@rspack/core': 1.0.0-beta.1(@swc/helpers@0.5.11) + '@rspack/lite-tapable': 1.0.0-beta.1 '@swc/helpers': 0.5.11 - caniuse-lite: 1.0.30001651 - core-js: 3.38.1 + caniuse-lite: 1.0.30001653 + core-js: 3.37.1 optionalDependencies: fsevents: 2.3.3 - '@rsbuild/plugin-babel@1.0.1-beta.3(@rsbuild/core@1.0.1-beta.14)': + '@rsbuild/plugin-babel@1.0.1-beta.3(@rsbuild/core@1.0.1-beta.9)': dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.25.2) - '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) - '@rsbuild/core': 1.0.1-beta.14 + '@babel/core': 7.24.9 + '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.9) + '@babel/preset-typescript': 7.24.7(@babel/core@7.24.9) + '@rsbuild/core': 1.0.1-beta.9 '@types/babel__core': 7.20.5 deepmerge: 4.3.1 reduce-configs: 1.0.0 @@ -14914,7 +15210,7 @@ snapshots: '@rspack/binding-darwin-arm64@1.0.0-alpha.3': optional: true - '@rspack/binding-darwin-arm64@1.0.0-beta.5': + '@rspack/binding-darwin-arm64@1.0.0-beta.1': optional: true '@rspack/binding-darwin-x64@0.2.12': @@ -14923,7 +15219,7 @@ snapshots: '@rspack/binding-darwin-x64@1.0.0-alpha.3': optional: true - '@rspack/binding-darwin-x64@1.0.0-beta.5': + '@rspack/binding-darwin-x64@1.0.0-beta.1': optional: true '@rspack/binding-linux-arm64-gnu@0.2.12': @@ -14932,7 +15228,7 @@ snapshots: '@rspack/binding-linux-arm64-gnu@1.0.0-alpha.3': optional: true - '@rspack/binding-linux-arm64-gnu@1.0.0-beta.5': + '@rspack/binding-linux-arm64-gnu@1.0.0-beta.1': optional: true '@rspack/binding-linux-arm64-musl@0.2.12': @@ -14941,7 +15237,7 @@ snapshots: '@rspack/binding-linux-arm64-musl@1.0.0-alpha.3': optional: true - '@rspack/binding-linux-arm64-musl@1.0.0-beta.5': + '@rspack/binding-linux-arm64-musl@1.0.0-beta.1': optional: true '@rspack/binding-linux-x64-gnu@0.2.12': @@ -14950,7 +15246,7 @@ snapshots: '@rspack/binding-linux-x64-gnu@1.0.0-alpha.3': optional: true - '@rspack/binding-linux-x64-gnu@1.0.0-beta.5': + '@rspack/binding-linux-x64-gnu@1.0.0-beta.1': optional: true '@rspack/binding-linux-x64-musl@0.2.12': @@ -14959,7 +15255,7 @@ snapshots: '@rspack/binding-linux-x64-musl@1.0.0-alpha.3': optional: true - '@rspack/binding-linux-x64-musl@1.0.0-beta.5': + '@rspack/binding-linux-x64-musl@1.0.0-beta.1': optional: true '@rspack/binding-win32-arm64-msvc@0.2.12': @@ -14968,7 +15264,7 @@ snapshots: '@rspack/binding-win32-arm64-msvc@1.0.0-alpha.3': optional: true - '@rspack/binding-win32-arm64-msvc@1.0.0-beta.5': + '@rspack/binding-win32-arm64-msvc@1.0.0-beta.1': optional: true '@rspack/binding-win32-ia32-msvc@0.2.12': @@ -14977,7 +15273,7 @@ snapshots: '@rspack/binding-win32-ia32-msvc@1.0.0-alpha.3': optional: true - '@rspack/binding-win32-ia32-msvc@1.0.0-beta.5': + '@rspack/binding-win32-ia32-msvc@1.0.0-beta.1': optional: true '@rspack/binding-win32-x64-msvc@0.2.12': @@ -14986,7 +15282,7 @@ snapshots: '@rspack/binding-win32-x64-msvc@1.0.0-alpha.3': optional: true - '@rspack/binding-win32-x64-msvc@1.0.0-beta.5': + '@rspack/binding-win32-x64-msvc@1.0.0-beta.1': optional: true '@rspack/binding@0.2.12': @@ -15013,17 +15309,17 @@ snapshots: '@rspack/binding-win32-ia32-msvc': 1.0.0-alpha.3 '@rspack/binding-win32-x64-msvc': 1.0.0-alpha.3 - '@rspack/binding@1.0.0-beta.5': + '@rspack/binding@1.0.0-beta.1': optionalDependencies: - '@rspack/binding-darwin-arm64': 1.0.0-beta.5 - '@rspack/binding-darwin-x64': 1.0.0-beta.5 - '@rspack/binding-linux-arm64-gnu': 1.0.0-beta.5 - '@rspack/binding-linux-arm64-musl': 1.0.0-beta.5 - '@rspack/binding-linux-x64-gnu': 1.0.0-beta.5 - '@rspack/binding-linux-x64-musl': 1.0.0-beta.5 - '@rspack/binding-win32-arm64-msvc': 1.0.0-beta.5 - '@rspack/binding-win32-ia32-msvc': 1.0.0-beta.5 - '@rspack/binding-win32-x64-msvc': 1.0.0-beta.5 + '@rspack/binding-darwin-arm64': 1.0.0-beta.1 + '@rspack/binding-darwin-x64': 1.0.0-beta.1 + '@rspack/binding-linux-arm64-gnu': 1.0.0-beta.1 + '@rspack/binding-linux-arm64-musl': 1.0.0-beta.1 + '@rspack/binding-linux-x64-gnu': 1.0.0-beta.1 + '@rspack/binding-linux-x64-musl': 1.0.0-beta.1 + '@rspack/binding-win32-arm64-msvc': 1.0.0-beta.1 + '@rspack/binding-win32-ia32-msvc': 1.0.0-beta.1 + '@rspack/binding-win32-x64-msvc': 1.0.0-beta.1 '@rspack/core@0.2.12(type-fest@3.13.1)(webpack@5.93.0)': dependencies: @@ -15061,12 +15357,12 @@ snapshots: optionalDependencies: '@swc/helpers': 0.5.11 - '@rspack/core@1.0.0-beta.5(@swc/helpers@0.5.11)': + '@rspack/core@1.0.0-beta.1(@swc/helpers@0.5.11)': dependencies: '@module-federation/runtime-tools': 0.2.3 - '@rspack/binding': 1.0.0-beta.5 - '@rspack/lite-tapable': 1.0.0 - caniuse-lite: 1.0.30001651 + '@rspack/binding': 1.0.0-beta.1 + '@rspack/lite-tapable': 1.0.0-beta.1 + caniuse-lite: 1.0.30001653 optionalDependencies: '@swc/helpers': 0.5.11 @@ -15084,10 +15380,10 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@rspack/lite-tapable@1.0.0': {} - '@rspack/lite-tapable@1.0.0-alpha.3': {} + '@rspack/lite-tapable@1.0.0-beta.1': {} + '@rspack/plugin-html@0.2.12(@rspack/core@0.2.12(type-fest@3.13.1)(webpack@5.93.0))': dependencies: '@types/html-minifier-terser': 7.0.0 @@ -15272,54 +15568,54 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 - '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.25.2)': + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 - '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.25.2)': + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 - '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.25.2)': + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 - '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.25.2)': + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 - '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.25.2)': + '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 - '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.25.2)': + '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 - '@svgr/babel-plugin-transform-react-native-svg@8.0.0(@babel/core@7.25.2)': + '@svgr/babel-plugin-transform-react-native-svg@8.0.0(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 - '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.25.2)': + '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 - '@svgr/babel-preset@8.0.0(@babel/core@7.25.2)': + '@svgr/babel-preset@8.0.0(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.25.2 - '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-transform-react-native-svg': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.24.9) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.24.9) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.24.9) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.24.9) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.24.9) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.24.9) + '@svgr/babel-plugin-transform-react-native-svg': 8.0.0(@babel/core@7.24.9) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.24.9) '@svgr/core@8.0.0(typescript@5.0.4)': dependencies: - '@babel/core': 7.25.2 - '@svgr/babel-preset': 8.0.0(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@svgr/babel-preset': 8.0.0(@babel/core@7.24.9) camelcase: 6.3.0 cosmiconfig: 8.3.6(typescript@5.0.4) snake-case: 3.0.4 @@ -15329,13 +15625,13 @@ snapshots: '@svgr/hast-util-to-babel-ast@8.0.0': dependencies: - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 entities: 4.5.0 '@svgr/plugin-jsx@8.0.1(@svgr/core@8.0.0(typescript@5.0.4))': dependencies: - '@babel/core': 7.25.2 - '@svgr/babel-preset': 8.0.0(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@svgr/babel-preset': 8.0.0(@babel/core@7.24.9) '@svgr/core': 8.0.0(typescript@5.0.4) '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.0.4 @@ -15353,11 +15649,11 @@ snapshots: '@svgr/webpack@8.0.1(typescript@5.0.4)': dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-transform-react-constant-elements': 7.24.7(@babel/core@7.25.2) - '@babel/preset-env': 7.24.8(@babel/core@7.25.2) - '@babel/preset-react': 7.24.7(@babel/core@7.25.2) - '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/plugin-transform-react-constant-elements': 7.24.7(@babel/core@7.24.9) + '@babel/preset-env': 7.24.8(@babel/core@7.24.9) + '@babel/preset-react': 7.24.7(@babel/core@7.24.9) + '@babel/preset-typescript': 7.24.7(@babel/core@7.24.9) '@svgr/core': 8.0.0(typescript@5.0.4) '@svgr/plugin-jsx': 8.0.1(@svgr/core@8.0.0(typescript@5.0.4)) '@svgr/plugin-svgo': 8.0.1(@svgr/core@8.0.0(typescript@5.0.4))(typescript@5.0.4) @@ -15451,23 +15747,23 @@ snapshots: '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.24.8 - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 '@types/babel__template@7.4.4': dependencies: '@babel/parser': 7.24.8 - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 '@types/body-parser@1.19.5': dependencies: @@ -15625,6 +15921,10 @@ snapshots: dependencies: undici-types: 5.26.5 + '@types/node@20.16.1': + dependencies: + undici-types: 6.19.8 + '@types/node@20.5.1': {} '@types/node@22.0.0': @@ -15680,6 +15980,8 @@ snapshots: '@types/node': 18.19.41 '@types/send': 0.17.4 + '@types/sinonjs__fake-timers@8.1.5': {} + '@types/stack-utils@2.0.3': {} '@types/styled-components@5.1.34': @@ -15704,8 +16006,14 @@ snapshots: '@types/uuid@9.0.8': {} + '@types/which@2.0.2': {} + '@types/wrap-ansi@3.0.0': {} + '@types/ws@8.5.12': + dependencies: + '@types/node': 18.19.41 + '@types/yargs-parser@21.0.3': {} '@types/yargs@17.0.32': @@ -15750,7 +16058,7 @@ snapshots: '@vue/compiler-core@3.4.33': dependencies: - '@babel/parser': 7.25.4 + '@babel/parser': 7.24.8 '@vue/shared': 3.4.33 entities: 4.5.0 estree-walker: 2.0.2 @@ -15772,7 +16080,7 @@ snapshots: '@vue/shared': 3.4.33 estree-walker: 2.0.2 magic-string: 0.30.10 - postcss: 8.4.41 + postcss: 8.4.39 source-map-js: 1.2.0 optional: true @@ -15785,6 +16093,60 @@ snapshots: '@vue/shared@3.4.33': optional: true + '@wdio/config@9.0.6': + dependencies: + '@wdio/logger': 9.0.4 + '@wdio/types': 9.0.4 + '@wdio/utils': 9.0.6 + decamelize: 6.0.0 + deepmerge-ts: 7.1.0 + glob: 10.4.5 + import-meta-resolve: 4.1.0 + transitivePeerDependencies: + - supports-color + + '@wdio/logger@8.38.0': + dependencies: + chalk: 5.3.0 + loglevel: 1.9.1 + loglevel-plugin-prefix: 0.8.4 + strip-ansi: 7.1.0 + + '@wdio/logger@9.0.4': + dependencies: + chalk: 5.3.0 + loglevel: 1.9.1 + loglevel-plugin-prefix: 0.8.4 + strip-ansi: 7.1.0 + + '@wdio/protocols@9.0.4': {} + + '@wdio/repl@9.0.4': + dependencies: + '@types/node': 20.16.1 + + '@wdio/types@9.0.4': + dependencies: + '@types/node': 20.16.1 + + '@wdio/utils@9.0.6': + dependencies: + '@puppeteer/browsers': 2.3.0 + '@wdio/logger': 9.0.4 + '@wdio/types': 9.0.4 + decamelize: 6.0.0 + deepmerge-ts: 7.1.0 + edgedriver: 5.6.1 + geckodriver: 4.4.3 + get-port: 7.1.0 + import-meta-resolve: 4.1.0 + locate-app: 2.4.28 + safaridriver: 0.1.2 + split2: 4.2.0 + wait-port: 1.1.0 + transitivePeerDependencies: + - supports-color + '@web-std/blob@3.0.5': dependencies: '@web-std/stream': 1.0.0 @@ -15910,6 +16272,8 @@ snapshots: js-yaml: 3.14.1 tslib: 2.6.3 + '@zip.js/zip.js@2.7.48': {} + '@zkochan/js-yaml@0.0.7': dependencies: argparse: 2.0.1 @@ -16032,7 +16396,9 @@ snapshots: ansi-styles@5.2.0: {} - antd@5.19.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + ansi-styles@6.2.1: {} + + antd@5.19.3(moment@2.30.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@ant-design/colors': 7.1.0 '@ant-design/cssinjs': 1.21.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -16063,7 +16429,7 @@ snapshots: rc-motion: 2.9.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) rc-notification: 5.6.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) rc-pagination: 4.2.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - rc-picker: 4.6.9(dayjs@1.11.11)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + rc-picker: 4.6.9(dayjs@1.11.11)(moment@2.30.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) rc-progress: 4.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) rc-rate: 2.13.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) rc-resize-observer: 1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -16098,6 +16464,26 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 + archiver-utils@5.0.2: + dependencies: + glob: 10.4.5 + graceful-fs: 4.2.11 + is-stream: 2.0.1 + lazystream: 1.0.1 + lodash: 4.17.21 + normalize-path: 3.0.0 + readable-stream: 4.5.2 + + archiver@7.0.1: + dependencies: + archiver-utils: 5.0.2 + async: 3.2.5 + buffer-crc32: 1.0.0 + readable-stream: 4.5.2 + readdir-glob: 1.1.3 + tar-stream: 3.1.7 + zip-stream: 6.0.1 + arg@4.1.3: {} arg@5.0.2: {} @@ -16218,19 +16604,6 @@ snapshots: transitivePeerDependencies: - supports-color - babel-jest@29.7.0(@babel/core@7.25.2): - dependencies: - '@babel/core': 7.25.2 - '@jest/transform': 29.7.0 - '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.25.2) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - babel-plugin-dynamic-import-node@2.3.3: dependencies: object.assign: 4.1.5 @@ -16248,7 +16621,7 @@ snapshots: babel-plugin-jest-hoist@29.6.3: dependencies: '@babel/template': 7.24.7 - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 @@ -16261,15 +16634,6 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.25.2): - dependencies: - '@babel/compat-data': 7.24.9 - '@babel/core': 7.25.2 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.9): dependencies: '@babel/core': 7.24.9 @@ -16278,11 +16642,11 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.25.2): + babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.24.9): dependencies: - '@babel/core': 7.25.2 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) - core-js-compat: 3.37.1 + '@babel/core': 7.24.9 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.9) + core-js-compat: 3.38.1 transitivePeerDependencies: - supports-color @@ -16293,37 +16657,30 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.2): - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - - babel-plugin-styled-components@2.1.4(@babel/core@7.24.9)(styled-components@5.3.11(@babel/core@7.24.9)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1))(supports-color@5.5.0): + babel-plugin-styled-components@2.1.4(@babel/core@7.24.9)(styled-components@5.3.11(@babel/core@7.24.9)(react-dom@18.2.0(react@18.2.0))(react-is@18.3.1)(react@18.2.0))(supports-color@5.5.0): dependencies: '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.9) lodash: 4.17.21 picomatch: 2.3.1 - styled-components: 5.3.11(@babel/core@7.24.9)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) + styled-components: 5.3.11(@babel/core@7.24.9)(react-dom@18.2.0(react@18.2.0))(react-is@18.3.1)(react@18.2.0) transitivePeerDependencies: - '@babel/core' - supports-color - optional: true - babel-plugin-styled-components@2.1.4(@babel/core@7.25.2)(styled-components@5.3.11(@babel/core@7.24.9)(react-dom@18.2.0(react@18.2.0))(react-is@18.3.1)(react@18.2.0))(supports-color@5.5.0): + babel-plugin-styled-components@2.1.4(@babel/core@7.24.9)(styled-components@5.3.11(@babel/core@7.24.9)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1))(supports-color@5.5.0): dependencies: '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.9) lodash: 4.17.21 picomatch: 2.3.1 - styled-components: 5.3.11(@babel/core@7.25.2)(react-dom@18.2.0(react@18.2.0))(react-is@18.3.1)(react@18.2.0) + styled-components: 5.3.11(@babel/core@7.24.9)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) transitivePeerDependencies: - '@babel/core' - supports-color + optional: true babel-plugin-transform-typescript-metadata@0.3.2: dependencies: @@ -16345,34 +16702,12 @@ snapshots: '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.9) - babel-preset-current-node-syntax@1.0.1(@babel/core@7.25.2): - dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) - babel-preset-jest@29.6.3(@babel/core@7.24.9): dependencies: '@babel/core': 7.24.9 babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.9) - babel-preset-jest@29.6.3(@babel/core@7.25.2): - dependencies: - '@babel/core': 7.25.2 - babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.25.2) - bail@2.0.2: {} balanced-match@1.0.2: {} @@ -16448,6 +16783,13 @@ snapshots: node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.2) + browserslist@4.23.3: + dependencies: + caniuse-lite: 1.0.30001653 + electron-to-chromium: 1.5.13 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.3) + bs-logger@0.2.6: dependencies: fast-json-stable-stringify: 2.1.0 @@ -16460,6 +16802,8 @@ snapshots: buffer-crc32@0.2.13: {} + buffer-crc32@1.0.0: {} + buffer-equal@0.0.1: {} buffer-from@1.1.2: {} @@ -16469,6 +16813,11 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + bytes@3.0.0: {} cac@6.7.14: {} @@ -16509,7 +16858,7 @@ snapshots: caniuse-api@3.0.0: dependencies: browserslist: 4.23.2 - caniuse-lite: 1.0.30001651 + caniuse-lite: 1.0.30001643 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 @@ -16517,6 +16866,8 @@ snapshots: caniuse-lite@1.0.30001651: {} + caniuse-lite@1.0.30001653: {} + ccount@2.0.1: {} centra@2.7.0: @@ -16587,6 +16938,29 @@ snapshots: dependencies: get-func-name: 2.0.2 + cheerio-select@2.1.0: + dependencies: + boolbase: 1.0.0 + css-select: 5.1.0 + css-what: 6.1.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + + cheerio@1.0.0: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.1.0 + encoding-sniffer: 0.2.0 + htmlparser2: 9.1.0 + parse5: 7.1.2 + parse5-htmlparser2-tree-adapter: 7.0.0 + parse5-parser-stream: 7.1.2 + undici: 6.19.8 + whatwg-mimetype: 4.0.0 + chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -16678,6 +17052,16 @@ snapshots: color-name@1.1.4: {} + color-string@1.9.1: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + colord@2.9.3: {} combined-stream@1.0.8: @@ -16740,6 +17124,14 @@ snapshots: component-emitter@1.3.1: {} + compress-commons@6.0.2: + dependencies: + crc-32: 1.2.2 + crc32-stream: 6.0.0 + is-stream: 2.0.1 + normalize-path: 3.0.0 + readable-stream: 4.5.2 + compressible@2.0.18: dependencies: mime-db: 1.53.0 @@ -16795,13 +17187,17 @@ snapshots: dependencies: browserslist: 4.23.2 + core-js-compat@3.38.1: + dependencies: + browserslist: 4.23.3 + core-js-pure@3.37.1: {} core-js@3.30.2: {} core-js@3.37.1: {} - core-js@3.38.1: {} + core-util-is@1.0.3: {} cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.5.4))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4))(typescript@5.5.4): dependencies: @@ -16863,6 +17259,13 @@ snapshots: typescript: 5.5.4 optional: true + crc-32@1.2.2: {} + + crc32-stream@6.0.0: + dependencies: + crc-32: 1.2.2 + readable-stream: 4.5.2 + create-jest@29.7.0(@types/node@18.19.41)(ts-node@10.9.2(@types/node@18.19.41)(typescript@5.0.4)): dependencies: '@jest/types': 29.6.3 @@ -16908,6 +17311,8 @@ snapshots: domutils: 3.1.0 nth-check: 2.1.1 + css-shorthand-properties@1.1.1: {} + css-to-react-native@3.2.0: dependencies: camelize: 1.0.1 @@ -16924,6 +17329,8 @@ snapshots: mdn-data: 2.0.30 source-map-js: 1.2.0 + css-value@0.0.1: {} + css-what@6.1.0: {} css.escape@1.5.1: {} @@ -16986,6 +17393,11 @@ snapshots: dependencies: cssom: 0.3.8 + cssstyle@4.0.1: + dependencies: + rrweb-cssom: 0.6.0 + optional: true + csstype@3.1.3: {} csv-generate@3.4.3: {} @@ -17029,6 +17441,12 @@ snapshots: whatwg-mimetype: 3.0.0 whatwg-url: 11.0.0 + data-urls@5.0.0: + dependencies: + whatwg-mimetype: 4.0.0 + whatwg-url: 14.0.0 + optional: true + data-view-buffer@1.0.1: dependencies: call-bind: 1.0.7 @@ -17073,6 +17491,8 @@ snapshots: decamelize@1.2.0: {} + decamelize@6.0.0: {} + decimal.js@10.4.3: {} decode-named-character-reference@1.0.2: @@ -17110,6 +17530,8 @@ snapshots: deep-is@0.1.4: {} + deepmerge-ts@7.1.0: {} + deepmerge@4.3.1: {} defaults@1.0.4: @@ -17150,6 +17572,8 @@ snapshots: detect-indent@6.1.0: {} + detect-libc@2.0.3: {} + detect-newline@3.1.0: {} detective@5.2.1: @@ -17189,11 +17613,11 @@ snapshots: documentation@14.0.3: dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/generator': 7.24.10 '@babel/parser': 7.24.8 '@babel/traverse': 7.24.8(supports-color@5.5.0) - '@babel/types': 7.25.4 + '@babel/types': 7.24.9 chalk: 5.3.0 chokidar: 3.6.0 diff: 5.2.0 @@ -17300,6 +17724,21 @@ snapshots: eastasianwidth@0.2.0: {} + edge-paths@3.0.5: + dependencies: + '@types/which': 2.0.2 + which: 2.0.2 + + edgedriver@5.6.1: + dependencies: + '@wdio/logger': 8.38.0 + '@zip.js/zip.js': 2.7.48 + decamelize: 6.0.0 + edge-paths: 3.0.5 + fast-xml-parser: 4.4.1 + node-fetch: 3.3.2 + which: 4.0.0 + edit-json-file@1.8.0: dependencies: find-value: 1.0.12 @@ -17316,6 +17755,8 @@ snapshots: electron-to-chromium@1.5.0: {} + electron-to-chromium@1.5.13: {} + emittery@0.13.1: {} emoji-regex@8.0.0: {} @@ -17326,6 +17767,11 @@ snapshots: encodeurl@1.0.2: {} + encoding-sniffer@0.2.0: + dependencies: + iconv-lite: 0.6.3 + whatwg-encoding: 3.1.1 + end-of-stream@1.4.4: dependencies: once: 1.4.0 @@ -17593,7 +18039,7 @@ snapshots: glob-parent: 6.0.2 globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -17761,6 +18207,8 @@ snapshots: transitivePeerDependencies: - supports-color + fast-deep-equal@2.0.1: {} + fast-deep-equal@3.1.3: {} fast-diff@1.3.0: {} @@ -17783,6 +18231,10 @@ snapshots: fast-uri@3.0.1: {} + fast-xml-parser@4.4.1: + dependencies: + strnum: 1.0.5 + fastq@1.17.1: dependencies: reusify: 1.0.4 @@ -17906,6 +18358,11 @@ snapshots: dependencies: for-in: 1.0.2 + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.0.4)(webpack@5.93.0): dependencies: '@babel/code-frame': 7.24.7 @@ -18011,6 +18468,19 @@ snapshots: functions-have-names@1.2.3: {} + geckodriver@4.4.3: + dependencies: + '@wdio/logger': 9.0.4 + '@zip.js/zip.js': 2.7.48 + decamelize: 6.0.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.5 + node-fetch: 3.3.2 + tar-fs: 3.0.6 + which: 4.0.0 + transitivePeerDependencies: + - supports-color + generic-names@4.0.0: dependencies: loader-utils: 3.3.1 @@ -18031,6 +18501,8 @@ snapshots: get-package-type@0.1.0: {} + get-port@7.1.0: {} + get-stream@5.2.0: dependencies: pump: 3.0.0 @@ -18095,6 +18567,15 @@ snapshots: glob-to-regexp@0.4.1: {} + glob@10.4.5: + dependencies: + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.0 + path-scurry: 1.11.1 + glob@7.1.6: dependencies: fs.realpath: 1.0.0 @@ -18376,6 +18857,11 @@ snapshots: dependencies: whatwg-encoding: 2.0.0 + html-encoding-sniffer@4.0.0: + dependencies: + whatwg-encoding: 3.1.1 + optional: true + html-entities@2.5.2: {} html-escaper@2.0.2: {} @@ -18402,6 +18888,8 @@ snapshots: html-void-elements@2.0.1: {} + htmlfy@0.2.1: {} + htmlparser2@6.1.0: dependencies: domelementtype: 2.3.0 @@ -18423,6 +18911,13 @@ snapshots: domutils: 3.1.0 entities: 4.5.0 + htmlparser2@9.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + htmr@1.0.2(react@18.3.1): dependencies: html-entities: 2.5.2 @@ -18530,10 +19025,14 @@ snapshots: ignore@5.3.1: {} + ignore@5.3.2: {} + image-q@4.0.0: dependencies: '@types/node': 16.9.1 + immediate@3.0.6: {} + immer@9.0.21: {} immutable@4.3.7: {} @@ -18548,8 +19047,7 @@ snapshots: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 - import-meta-resolve@4.1.0: - optional: true + import-meta-resolve@4.1.0: {} imurmurhash@0.1.4: {} @@ -18663,6 +19161,8 @@ snapshots: is-arrayish@0.2.1: {} + is-arrayish@0.3.2: {} + is-bigint@1.0.4: dependencies: has-bigints: 1.0.2 @@ -18836,12 +19336,16 @@ snapshots: dependencies: is-docker: 2.2.1 + isarray@1.0.0: {} + isarray@2.0.5: {} isbot@3.7.1: {} isexe@2.0.0: {} + isexe@3.1.1: {} + ismobilejs@1.1.1: {} isobject@3.0.1: {} @@ -18857,7 +19361,7 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/parser': 7.24.8 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 @@ -18867,8 +19371,8 @@ snapshots: istanbul-lib-instrument@6.0.3: dependencies: - '@babel/core': 7.25.2 - '@babel/parser': 7.25.4 + '@babel/core': 7.24.9 + '@babel/parser': 7.24.8 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 7.6.3 @@ -18896,6 +19400,12 @@ snapshots: iterate-object@1.3.4: {} + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + jake@10.9.2: dependencies: async: 3.2.5 @@ -18956,10 +19466,10 @@ snapshots: jest-config@29.7.0(@types/node@18.19.41)(ts-node@10.9.2(@types/node@18.19.41)(typescript@5.0.4)): dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.25.2) + babel-jest: 29.7.0(@babel/core@7.24.9) chalk: 4.1.2 ci-info: 3.9.0 deepmerge: 4.3.1 @@ -19156,15 +19666,15 @@ snapshots: jest-snapshot@29.7.0: dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/generator': 7.24.10 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.25.2) - '@babel/types': 7.25.4 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.9) + '@babel/types': 7.24.9 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.25.2) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.9) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -19298,6 +19808,35 @@ snapshots: - supports-color - utf-8-validate + jsdom@24.1.1: + dependencies: + cssstyle: 4.0.1 + data-urls: 5.0.0 + decimal.js: 10.4.3 + form-data: 4.0.0 + html-encoding-sniffer: 4.0.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.5 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.12 + parse5: 7.1.2 + rrweb-cssom: 0.7.1 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.1.4 + w3c-xmlserializer: 5.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 3.1.1 + whatwg-mimetype: 4.0.0 + whatwg-url: 14.0.0 + ws: 8.18.0 + xml-name-validator: 5.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + optional: true + jsesc@0.5.0: {} jsesc@2.5.2: {} @@ -19332,6 +19871,13 @@ snapshots: jsonparse@1.3.1: {} + jszip@3.10.1: + dependencies: + lie: 3.3.0 + pako: 1.0.11 + readable-stream: 2.3.8 + setimmediate: 1.0.5 + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -19373,6 +19919,10 @@ snapshots: lazy-cache@1.0.4: {} + lazystream@1.0.1: + dependencies: + readable-stream: 2.3.8 + leac@0.6.0: {} levdist@1.0.0: {} @@ -19384,6 +19934,10 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lie@3.3.0: + dependencies: + immediate: 3.0.6 + lilconfig@2.1.0: {} line-diff@2.1.1: @@ -19429,6 +19983,12 @@ snapshots: mlly: 1.7.1 pkg-types: 1.1.3 + locate-app@2.4.28: + dependencies: + '@promptbook/utils': 0.66.0 + type-fest: 2.13.0 + userhome: 1.0.0 + locate-path@3.0.0: dependencies: p-locate: 3.0.0 @@ -19452,6 +20012,8 @@ snapshots: lodash.camelcase@4.3.0: {} + lodash.clonedeep@4.5.0: {} + lodash.debounce@4.0.8: {} lodash.isfunction@3.0.9: {} @@ -19487,6 +20049,8 @@ snapshots: lodash.upperfirst@4.3.1: {} + lodash.zip@4.2.0: {} + lodash@4.17.21: {} log-symbols@4.1.0: @@ -19494,6 +20058,10 @@ snapshots: chalk: 4.1.2 is-unicode-supported: 0.1.0 + loglevel-plugin-prefix@0.8.4: {} + + loglevel@1.9.1: {} + longest-streak@3.1.0: {} longest@2.0.1: {} @@ -19515,6 +20083,8 @@ snapshots: fault: 1.0.4 highlight.js: 10.7.3 + lru-cache@10.4.3: {} + lru-cache@4.1.5: dependencies: pseudomap: 1.0.2 @@ -20094,6 +20664,10 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + minimist-options@4.1.0: dependencies: arrify: 1.0.1 @@ -20106,6 +20680,8 @@ snapshots: minimist@1.2.8: {} + minipass@7.1.2: {} + mitt@3.0.1: {} mixin-object@2.0.1: @@ -20122,6 +20698,9 @@ snapshots: pkg-types: 1.1.3 ufo: 1.5.4 + moment@2.30.1: + optional: true + mri@1.2.0: {} mrmime@1.0.1: {} @@ -20185,6 +20764,12 @@ snapshots: fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 + node-fetch@3.3.2: + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + node-html-parser@6.1.13: dependencies: css-select: 5.1.0 @@ -20486,6 +21071,8 @@ snapshots: degenerator: 5.0.1 netmask: 2.0.2 + package-json-from-dist@1.0.0: {} + pako@1.0.11: {} param-case@3.0.4: @@ -20555,6 +21142,15 @@ snapshots: dependencies: parse-path: 7.0.0 + parse5-htmlparser2-tree-adapter@7.0.0: + dependencies: + domhandler: 5.0.3 + parse5: 7.1.2 + + parse5-parser-stream@7.1.2: + dependencies: + parse5: 7.1.2 + parse5@6.0.1: {} parse5@7.1.1: @@ -20597,6 +21193,11 @@ snapshots: dependencies: path-root-regex: 0.1.2 + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + path-to-regexp@6.2.2: {} path-type@4.0.0: {} @@ -20973,6 +21574,8 @@ snapshots: prismjs@1.29.0: {} + process-nextick-args@2.0.1: {} + process@0.11.10: {} progress@2.0.3: {} @@ -21059,6 +21662,8 @@ snapshots: dependencies: side-channel: 1.0.6 + query-selector-shadow-dom@1.0.1: {} + querystring@0.2.1: {} querystringify@2.2.0: {} @@ -21232,7 +21837,7 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - rc-picker@4.6.9(dayjs@1.11.11)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + rc-picker@4.6.9(dayjs@1.11.11)(moment@2.30.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@babel/runtime': 7.24.8 '@rc-component/trigger': 2.2.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -21244,6 +21849,7 @@ snapshots: react-dom: 18.2.0(react@18.2.0) optionalDependencies: dayjs: 1.11.11 + moment: 2.30.1 rc-progress@4.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: @@ -21665,16 +22271,38 @@ snapshots: pify: 4.0.1 strip-bom: 3.0.0 + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 + readable-stream@4.5.2: + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + readable-web-to-node-stream@3.0.2: dependencies: readable-stream: 3.6.2 + readdir-glob@1.1.3: + dependencies: + minimatch: 5.1.6 + readdirp@3.6.0: dependencies: picomatch: 2.3.1 @@ -21879,6 +22507,10 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + resq@1.11.0: + dependencies: + fast-deep-equal: 2.0.1 + restore-cursor@3.1.0: dependencies: onetime: 5.1.2 @@ -21888,6 +22520,8 @@ snapshots: reusify@1.0.4: {} + rgb2hex@0.2.5: {} + rimraf@3.0.2: dependencies: glob: 7.2.3 @@ -21914,6 +22548,12 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.19.0 fsevents: 2.3.3 + rrweb-cssom@0.6.0: + optional: true + + rrweb-cssom@0.7.1: + optional: true + rslog@1.2.2: {} rspack-manifest-plugin@5.0.0-alpha0(webpack@5.93.0): @@ -21962,6 +22602,8 @@ snapshots: dependencies: mri: 1.2.0 + safaridriver@0.1.2: {} + safe-array-concat@1.1.2: dependencies: call-bind: 1.0.7 @@ -22131,6 +22773,10 @@ snapshots: range-parser: 1.2.1 statuses: 2.0.1 + serialize-error@11.0.3: + dependencies: + type-fest: 2.19.0 + serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 @@ -22165,6 +22811,8 @@ snapshots: is-plain-object: 2.0.4 is-primitive: 3.0.1 + setimmediate@1.0.5: {} + setprototypeof@1.2.0: {} shallow-clone@0.1.2: @@ -22180,6 +22828,32 @@ snapshots: shallowequal@1.1.0: {} + sharp@0.33.3: + dependencies: + color: 4.2.3 + detect-libc: 2.0.3 + semver: 7.6.3 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.3 + '@img/sharp-darwin-x64': 0.33.3 + '@img/sharp-libvips-darwin-arm64': 1.0.2 + '@img/sharp-libvips-darwin-x64': 1.0.2 + '@img/sharp-libvips-linux-arm': 1.0.2 + '@img/sharp-libvips-linux-arm64': 1.0.2 + '@img/sharp-libvips-linux-s390x': 1.0.2 + '@img/sharp-libvips-linux-x64': 1.0.2 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.2 + '@img/sharp-libvips-linuxmusl-x64': 1.0.2 + '@img/sharp-linux-arm': 0.33.3 + '@img/sharp-linux-arm64': 0.33.3 + '@img/sharp-linux-s390x': 0.33.3 + '@img/sharp-linux-x64': 0.33.3 + '@img/sharp-linuxmusl-arm64': 0.33.3 + '@img/sharp-linuxmusl-x64': 0.33.3 + '@img/sharp-wasm32': 0.33.3 + '@img/sharp-win32-ia32': 0.33.3 + '@img/sharp-win32-x64': 0.33.3 + shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 @@ -22207,6 +22881,10 @@ snapshots: simple-git-hooks@2.11.1: {} + simple-swizzle@0.2.2: + dependencies: + is-arrayish: 0.3.2 + simple-update-notifier@2.0.0: dependencies: semver: 7.6.3 @@ -22280,6 +22958,8 @@ snapshots: space-separated-tokens@2.0.2: {} + spacetrim@0.11.39: {} + spawndamnit@2.0.0: dependencies: cross-spawn: 5.1.0 @@ -22303,6 +22983,8 @@ snapshots: dependencies: readable-stream: 3.6.2 + split2@4.2.0: {} + sprintf-js@1.0.3: {} sprintf-js@1.1.3: {} @@ -22383,6 +23065,10 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.0.0 + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 @@ -22424,6 +23110,8 @@ snapshots: dependencies: js-tokens: 9.0.0 + strnum@1.0.5: {} + strong-log-transformer@2.1.0: dependencies: duplexer: 0.1.2 @@ -22445,42 +23133,42 @@ snapshots: dependencies: inline-style-parser: 0.1.1 - styled-components@5.3.11(@babel/core@7.24.9)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1): + styled-components@5.3.11(@babel/core@7.24.9)(react-dom@18.2.0(react@18.2.0))(react-is@18.3.1)(react@18.2.0): dependencies: '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/traverse': 7.24.8(supports-color@5.5.0) '@emotion/is-prop-valid': 1.3.0 '@emotion/stylis': 0.8.5 '@emotion/unitless': 0.7.5 - babel-plugin-styled-components: 2.1.4(@babel/core@7.24.9)(styled-components@5.3.11(@babel/core@7.24.9)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1))(supports-color@5.5.0) + babel-plugin-styled-components: 2.1.4(@babel/core@7.24.9)(styled-components@5.3.11(@babel/core@7.24.9)(react-dom@18.2.0(react@18.2.0))(react-is@18.3.1)(react@18.2.0))(supports-color@5.5.0) css-to-react-native: 3.2.0 hoist-non-react-statics: 3.3.2 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) react-is: 18.3.1 shallowequal: 1.1.0 supports-color: 5.5.0 transitivePeerDependencies: - '@babel/core' - optional: true - styled-components@5.3.11(@babel/core@7.25.2)(react-dom@18.2.0(react@18.2.0))(react-is@18.3.1)(react@18.2.0): + styled-components@5.3.11(@babel/core@7.24.9)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1): dependencies: '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/traverse': 7.24.8(supports-color@5.5.0) '@emotion/is-prop-valid': 1.3.0 '@emotion/stylis': 0.8.5 '@emotion/unitless': 0.7.5 - babel-plugin-styled-components: 2.1.4(@babel/core@7.25.2)(styled-components@5.3.11(@babel/core@7.24.9)(react-dom@18.2.0(react@18.2.0))(react-is@18.3.1)(react@18.2.0))(supports-color@5.5.0) + babel-plugin-styled-components: 2.1.4(@babel/core@7.24.9)(styled-components@5.3.11(@babel/core@7.24.9)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1))(supports-color@5.5.0) css-to-react-native: 3.2.0 hoist-non-react-statics: 3.3.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) react-is: 18.3.1 shallowequal: 1.1.0 supports-color: 5.5.0 transitivePeerDependencies: - '@babel/core' + optional: true stylehacks@6.1.1(postcss@8.4.27): dependencies: @@ -22709,6 +23397,11 @@ snapshots: dependencies: punycode: 2.3.1 + tr46@5.0.0: + dependencies: + punycode: 2.3.1 + optional: true + trim-lines@3.0.1: {} trim-newlines@3.0.1: {} @@ -22822,6 +23515,8 @@ snapshots: type-fest@0.8.1: {} + type-fest@2.13.0: {} + type-fest@2.15.0: {} type-fest@2.19.0: {} @@ -22888,6 +23583,10 @@ snapshots: undici-types@6.11.1: {} + undici-types@6.19.8: {} + + undici@6.19.8: {} + unicode-canonical-property-names-ecmascript@2.0.0: {} unicode-match-property-ecmascript@2.0.0: @@ -22965,6 +23664,12 @@ snapshots: escalade: 3.1.2 picocolors: 1.0.1 + update-browserslist-db@1.1.0(browserslist@4.23.3): + dependencies: + browserslist: 4.23.3 + escalade: 3.1.2 + picocolors: 1.0.1 + uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -22980,6 +23685,8 @@ snapshots: dependencies: react: 18.2.0 + userhome@1.0.0: {} + utif2@4.1.0: dependencies: pako: 1.0.11 @@ -23085,7 +23792,7 @@ snapshots: fsevents: 2.3.3 terser: 5.31.3 - vitest@1.6.0(@types/node@18.19.41)(jsdom@20.0.3)(terser@5.31.3): + vitest@1.6.0(@types/node@18.19.41)(jsdom@24.1.1)(terser@5.31.3): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -23109,7 +23816,7 @@ snapshots: why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 18.19.41 - jsdom: 20.0.3 + jsdom: 24.1.1 transitivePeerDependencies: - less - lightningcss @@ -23131,6 +23838,19 @@ snapshots: dependencies: xml-name-validator: 4.0.0 + w3c-xmlserializer@5.0.0: + dependencies: + xml-name-validator: 5.0.0 + optional: true + + wait-port@1.1.0: + dependencies: + chalk: 4.1.2 + commander: 9.5.0 + debug: 4.3.6 + transitivePeerDependencies: + - supports-color + walker@1.0.8: dependencies: makeerror: 1.0.12 @@ -23156,6 +23876,56 @@ snapshots: web-streams-polyfill@4.0.0-beta.3: {} + webdriver@9.0.6: + dependencies: + '@types/node': 20.16.1 + '@types/ws': 8.5.12 + '@wdio/config': 9.0.6 + '@wdio/logger': 9.0.4 + '@wdio/protocols': 9.0.4 + '@wdio/types': 9.0.4 + '@wdio/utils': 9.0.6 + deepmerge-ts: 7.1.0 + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + webdriverio@9.0.6: + dependencies: + '@types/node': 20.16.1 + '@types/sinonjs__fake-timers': 8.1.5 + '@wdio/config': 9.0.6 + '@wdio/logger': 9.0.4 + '@wdio/protocols': 9.0.4 + '@wdio/repl': 9.0.4 + '@wdio/types': 9.0.4 + '@wdio/utils': 9.0.6 + archiver: 7.0.1 + aria-query: 5.3.0 + cheerio: 1.0.0 + css-shorthand-properties: 1.1.1 + css-value: 0.0.1 + grapheme-splitter: 1.0.4 + htmlfy: 0.2.1 + import-meta-resolve: 4.1.0 + is-plain-obj: 4.1.0 + jszip: 3.10.1 + lodash.clonedeep: 4.5.0 + lodash.zip: 4.2.0 + minimatch: 9.0.3 + query-selector-shadow-dom: 1.0.1 + resq: 1.11.0 + rgb2hex: 0.2.5 + serialize-error: 11.0.3 + urlpattern-polyfill: 10.0.0 + webdriver: 9.0.6 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + webidl-conversions@3.0.1: {} webidl-conversions@7.0.0: {} @@ -23202,15 +23972,27 @@ snapshots: dependencies: iconv-lite: 0.6.3 + whatwg-encoding@3.1.1: + dependencies: + iconv-lite: 0.6.3 + whatwg-fetch@3.6.20: {} whatwg-mimetype@3.0.0: {} + whatwg-mimetype@4.0.0: {} + whatwg-url@11.0.0: dependencies: tr46: 3.0.0 webidl-conversions: 7.0.0 + whatwg-url@14.0.0: + dependencies: + tr46: 5.0.0 + webidl-conversions: 7.0.0 + optional: true + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 @@ -23254,6 +24036,10 @@ snapshots: dependencies: isexe: 2.0.0 + which@4.0.0: + dependencies: + isexe: 3.1.1 + why-is-node-running@2.3.0: dependencies: siginfo: 2.0.0 @@ -23273,6 +24059,12 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + wrappy@1.0.2: {} write-file-atomic@4.0.2: @@ -23291,6 +24083,9 @@ snapshots: xml-name-validator@4.0.0: {} + xml-name-validator@5.0.0: + optional: true + xml-parse-from-string@1.0.1: {} xml2js@0.5.0: @@ -23369,6 +24164,12 @@ snapshots: yoctocolors@2.1.1: {} + zip-stream@6.0.1: + dependencies: + archiver-utils: 5.0.2 + compress-commons: 6.0.2 + readable-stream: 4.5.2 + zod-validation-error@1.2.0(zod@3.23.8): dependencies: zod: 3.23.8