From 3e41996b13c6e06bb8915e133ea4a8254450aace Mon Sep 17 00:00:00 2001 From: Will Crichton Date: Thu, 29 Aug 2024 17:04:48 -0700 Subject: [PATCH] Add React component for library use (#135) * Add React component for library use * Rename JS packages to @aquascope scope * Remove bug reporter for now * Fix frontend path --- README.md | 2 +- crates/mdbook-aquascope/src/main.rs | 2 +- crates/mdbook-aquascope/src/preprocessor.rs | 3 + frontend/biome.json | 5 - .../packages/aquascope-editor/package.json | 13 +- .../src/editor-utils/boundaries.tsx | 4 +- .../src/editor-utils/interpreter.tsx | 4 +- .../src/editor-utils/misc.tsx | 4 +- .../src/editor-utils/permissions.tsx | 6 +- .../src/editor-utils/stepper.tsx | 6 +- .../packages/aquascope-editor/src/lib.tsx | 55 ++- .../packages/aquascope-embed/package.json | 4 +- .../packages/aquascope-embed/src/main.tsx | 7 +- .../packages/aquascope-embed/src/styles.scss | 2 +- .../aquascope-standalone/package.json | 4 +- .../aquascope-standalone/src/index.tsx | 4 +- .../packages/aquascope-standalone/styles.scss | 2 +- frontend/pnpm-lock.yaml | 381 +++++++++++++++++- frontend/typedoc.json | 3 +- 19 files changed, 454 insertions(+), 57 deletions(-) diff --git a/README.md b/README.md index 649e86bb0..8acc7be47 100644 --- a/README.md +++ b/README.md @@ -194,7 +194,7 @@ Visualizing permission steps can be quite intrusive but oftentimes you may want ## Having trouble? -If you want to use Aquascope but are having trouble finding the relevant information, please leave an issue or email us at and . +If you want to use Aquascope but are having trouble finding the relevant information, please leave an issue or email us at and . ## Citation diff --git a/crates/mdbook-aquascope/src/main.rs b/crates/mdbook-aquascope/src/main.rs index c665916e9..10bb5b2c0 100644 --- a/crates/mdbook-aquascope/src/main.rs +++ b/crates/mdbook-aquascope/src/main.rs @@ -11,7 +11,7 @@ use mdbook_preprocessor_utils::{ mdbook_preprocessor_utils::asset_generator!("../js/"); const FRONTEND_ASSETS: [Asset; 2] = [ - make_asset!("aquascope-embed.iife.js"), + make_asset!("embed.iife.js"), make_asset!("style.css"), ]; diff --git a/crates/mdbook-aquascope/src/preprocessor.rs b/crates/mdbook-aquascope/src/preprocessor.rs index 98d46f96d..cda901b8c 100644 --- a/crates/mdbook-aquascope/src/preprocessor.rs +++ b/crates/mdbook-aquascope/src/preprocessor.rs @@ -186,6 +186,9 @@ impl AquascopePreprocessor { // TODO: make this configurable add_data("no-interact", "true")?; + // TODO: add a code path to enable this from config + // add_data("show-bug-reporter", true)?; + write!(html, ">")?; Ok(html) diff --git a/frontend/biome.json b/frontend/biome.json index 4c11b2bc2..3d712727d 100644 --- a/frontend/biome.json +++ b/frontend/biome.json @@ -1,8 +1,5 @@ { "$schema": "https://biomejs.dev/schemas/1.8.2/schema.json", - "organizeImports": { - "enabled": true - }, "javascript": { "formatter": { "arrowParentheses": "asNeeded", @@ -11,11 +8,9 @@ "jsxRuntime": "reactClassic" }, "formatter": { - "enabled": true, "indentStyle": "space" }, "linter": { - "enabled": true, "rules": { "recommended": true, "correctness": { diff --git a/frontend/packages/aquascope-editor/package.json b/frontend/packages/aquascope-editor/package.json index b1cfd39a2..48f180ebf 100644 --- a/frontend/packages/aquascope-editor/package.json +++ b/frontend/packages/aquascope-editor/package.json @@ -1,5 +1,5 @@ { - "name": "aquascope-editor", + "name": "@aquascope/editor", "version": "0.1.0", "files": [ "dist" @@ -9,8 +9,11 @@ ".": { "default": "./dist/lib.js" }, - "./*": { + "./*.js": { "default": "./dist/*.js" + }, + "./*.scss": { + "default": "./dist/*.scss" } }, "type": "module", @@ -26,14 +29,14 @@ "@codemirror/state": "^6.1.2", "@codemirror/view": "^6.4.0", "leader-line-new": "^1.1.9", - "lodash": "^4.17.21" + "lodash": "^4.17.21", + "classnames": "^2.3.2" }, "devDependencies": { "@types/lodash": "^4.14.191", "@types/react": "^18.0.26", "@types/react-dom": "^18.0.9", - "@vitejs/plugin-react": "^4.0.3", - "classnames": "^2.3.2", + "@vitejs/plugin-react": "^4.0.3", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/frontend/packages/aquascope-editor/src/editor-utils/boundaries.tsx b/frontend/packages/aquascope-editor/src/editor-utils/boundaries.tsx index 76247b255..b4e11448d 100644 --- a/frontend/packages/aquascope-editor/src/editor-utils/boundaries.tsx +++ b/frontend/packages/aquascope-editor/src/editor-utils/boundaries.tsx @@ -8,7 +8,7 @@ import type { AnalysisFacts, BoundariesAnnotations, PermissionsBoundary -} from "../types"; +} from "../types.js"; import { type PermLetter, flowChar, @@ -22,7 +22,7 @@ import { showLoanRegion, showMoveRegion, writeChar -} from "./misc"; +} from "./misc.js"; // FIXME: the tooltips are not currently being used. The tooltips // provided by CM6 aren't expressive enough for what we want. diff --git a/frontend/packages/aquascope-editor/src/editor-utils/interpreter.tsx b/frontend/packages/aquascope-editor/src/editor-utils/interpreter.tsx index 2144355f9..678dda482 100644 --- a/frontend/packages/aquascope-editor/src/editor-utils/interpreter.tsx +++ b/frontend/packages/aquascope-editor/src/editor-utils/interpreter.tsx @@ -23,12 +23,12 @@ import type { MTrace, MUndefinedBehavior, MValue -} from "../types"; +} from "../types.js"; import { evenlySpaceAround, linecolToPosition, makeDecorationField -} from "./misc"; +} from "./misc.js"; const DEBUG: boolean = false; diff --git a/frontend/packages/aquascope-editor/src/editor-utils/misc.tsx b/frontend/packages/aquascope-editor/src/editor-utils/misc.tsx index 415833f63..d0014e80c 100644 --- a/frontend/packages/aquascope-editor/src/editor-utils/misc.tsx +++ b/frontend/packages/aquascope-editor/src/editor-utils/misc.tsx @@ -9,7 +9,7 @@ import { import { Decoration, type DecorationSet, EditorView } from "@codemirror/view"; import _ from "lodash"; -import type { CharPos } from "../bindings/CharPos"; +import type { CharPos } from "../bindings/CharPos.js"; import type { AnalysisFacts, AnalysisOutput, @@ -17,7 +17,7 @@ import type { LoanKey, MoveKey, RefinementRegion -} from "../types"; +} from "../types.js"; // --------- // Constants diff --git a/frontend/packages/aquascope-editor/src/editor-utils/permissions.tsx b/frontend/packages/aquascope-editor/src/editor-utils/permissions.tsx index a00f4dee2..f736aeb04 100644 --- a/frontend/packages/aquascope-editor/src/editor-utils/permissions.tsx +++ b/frontend/packages/aquascope-editor/src/editor-utils/permissions.tsx @@ -2,14 +2,14 @@ import type { Range } from "@codemirror/state"; import type { Decoration, EditorView } from "@codemirror/view"; import _ from "lodash"; -import type { AnalysisOutput, AquascopeAnnotations } from "../types"; -import { boundariesField, makeBoundaryDecorations } from "./boundaries"; +import type { AnalysisOutput, AquascopeAnnotations } from "../types.js"; +import { boundariesField, makeBoundaryDecorations } from "./boundaries.js"; import { type ActionFacts, generateAnalysisDecorationFacts, loanFactsStateType } from "./misc"; -import { makeStepDecorations, stepField } from "./stepper"; +import { makeStepDecorations, stepField } from "./stepper.js"; export interface PermissionsCfg { stepper?: any; diff --git a/frontend/packages/aquascope-editor/src/editor-utils/stepper.tsx b/frontend/packages/aquascope-editor/src/editor-utils/stepper.tsx index 067f3aeb9..c686eb149 100644 --- a/frontend/packages/aquascope-editor/src/editor-utils/stepper.tsx +++ b/frontend/packages/aquascope-editor/src/editor-utils/stepper.tsx @@ -5,7 +5,7 @@ import _ from "lodash"; import React, { useState } from "react"; import ReactDOM from "react-dom/client"; -import type { CharPos } from "../bindings/CharPos"; +import type { CharPos } from "../bindings/CharPos.js"; import type { AnalysisFacts, LoanKey, @@ -15,7 +15,7 @@ import type { PermissionsStepTable, StepperAnnotations, ValueStep -} from "../types"; +} from "../types.js"; import { hideLoanRegion, hideMoveRegion, @@ -27,7 +27,7 @@ import { showLoanRegion, showMoveRegion, writeChar -} from "./misc"; +} from "./misc.js"; interface PermInStep { step: ValueStep; diff --git a/frontend/packages/aquascope-editor/src/lib.tsx b/frontend/packages/aquascope-editor/src/lib.tsx index bc6e3c25e..94f05f143 100644 --- a/frontend/packages/aquascope-editor/src/lib.tsx +++ b/frontend/packages/aquascope-editor/src/lib.tsx @@ -2,28 +2,28 @@ import { rust } from "@codemirror/lang-rust"; import { indentUnit } from "@codemirror/language"; import { Compartment, EditorState, type Extension } from "@codemirror/state"; import { EditorView, type ViewUpdate } from "@codemirror/view"; -import React, { useEffect, useState } from "react"; +import React, { useEffect, useRef, useState } from "react"; import ReactDOM from "react-dom/client"; -import { boundariesField } from "./editor-utils/boundaries"; +import { boundariesField } from "./editor-utils/boundaries.js"; import { type InterpreterConfig, markerField, renderInterpreter -} from "./editor-utils/interpreter"; +} from "./editor-utils/interpreter.js"; import { type IconField, hiddenLines, hideLine, loanFactsField -} from "./editor-utils/misc"; +} from "./editor-utils/misc.js"; import { type PermissionsCfg, type PermissionsDecorations, makePermissionsDecorations, renderPermissions -} from "./editor-utils/permissions"; -import { stepField } from "./editor-utils/stepper"; +} from "./editor-utils/permissions.js"; +import { stepField } from "./editor-utils/stepper.js"; import "./styles.scss"; import type { AnalysisFacts, @@ -33,9 +33,9 @@ import type { CharRange, InterpAnnotations, MTrace -} from "./types"; +} from "./types.js"; -export * as types from "./types"; +export * as types from "./types.js"; const DEFAULT_SERVER_URL = new URL("http://127.0.0.1:8008"); @@ -124,11 +124,11 @@ export class Editor { public constructor( dom: HTMLDivElement, readonly setup: Extension, + code: string = defaultCodeExample, readonly reportStdErr: (err: BackendError) => void = err => { console.error("An error occurred: "); console.error(err); }, - code: string = defaultCodeExample, readonly serverUrl: URL = DEFAULT_SERVER_URL, readonly noInteract: boolean = false, readonly shouldFailHtml: string = "This code does not compile!", @@ -233,6 +233,10 @@ export class Editor { renderPermissions(this.view, this.permissionsDecos, cfg); } + public destroy() { + this.view.destroy(); + } + // Actions to communicate with the aquascope server async callBackendWithCode( endpoint: string, @@ -281,7 +285,7 @@ export class Editor { annotations }: { response?: Result; - config?: CommonConfig & object; + config?: CommonConfig & any; annotations?: AquascopeAnnotations; } = {} ) { @@ -356,3 +360,34 @@ export class Editor { } } } + +export interface EditorComponentProps { + code: string; + setup?: Extension; + permissions?: any; + steps?: any; +} + +export let EditorComponent = (props: EditorComponentProps) => { + let ref = useRef(null); + useEffect(() => { + let editor = new Editor(ref.current!, props.setup ?? [], props.code); + if (props.steps) + editor.renderOperation("interpreter", { + response: props.steps, + config: { + horizontal: "true" + } + }); + if (props.permissions) + editor.renderOperation("permissions", { + response: props.permissions, + config: { + stepper: "true", + boundaries: "true" + } + }); + return () => editor.destroy(); + }, []); + return
; +}; diff --git a/frontend/packages/aquascope-embed/package.json b/frontend/packages/aquascope-embed/package.json index e4417bce6..afcfd5388 100644 --- a/frontend/packages/aquascope-embed/package.json +++ b/frontend/packages/aquascope-embed/package.json @@ -1,5 +1,5 @@ { - "name": "aquascope-embed", + "name": "@aquascope/embed", "version": "0.1.0", "depot": { "platform": "browser" @@ -14,7 +14,7 @@ "@types/react": "^18.0.26", "@types/react-dom": "^18.2.0", "@vitejs/plugin-react": "^4.0.3", - "aquascope-editor": "workspace:*", + "@aquascope/editor": "workspace:*", "puppeteer": "^19.6.0", "react": "^18.2.0", "react-dom": "^18.2.0" diff --git a/frontend/packages/aquascope-embed/src/main.tsx b/frontend/packages/aquascope-embed/src/main.tsx index c5cc1c34e..9ea68ac39 100644 --- a/frontend/packages/aquascope-embed/src/main.tsx +++ b/frontend/packages/aquascope-embed/src/main.tsx @@ -1,5 +1,5 @@ +import { Editor, type Result, type types } from "@aquascope/editor"; import { useFloating } from "@floating-ui/react-dom"; -import { Editor, type Result, type types } from "aquascope-editor"; import React, { useContext, useLayoutEffect, useState } from "react"; import ReactDOM from "react-dom/client"; @@ -179,6 +179,7 @@ window.initAquascopeBlocks = (root: HTMLElement) => { elem.classList.add(AQUASCOPE_NAME); let readOnly = elem.dataset.noInteract! === "true"; + let showBugReporter = elem.dataset.showBugReporter! === "true"; let computePermBtn: HTMLButtonElement | undefined; if (!readOnly) { @@ -200,7 +201,7 @@ window.initAquascopeBlocks = (root: HTMLElement) => { let initialCode = maybeParseJson(elem.dataset.code); if (!initialCode) throw new Error("Missing data-code attribute"); - if (window.telemetry) { + if (window.telemetry && showBugReporter) { let extraInfo = document.createElement("div"); elem.appendChild(extraInfo); ReactDOM.createRoot(extraInfo).render( @@ -229,10 +230,10 @@ window.initAquascopeBlocks = (root: HTMLElement) => { let ed = new Editor( elem, setup, + initialCode, err => { console.error(err); }, - initialCode, serverUrl, readOnly, shouldFailHtml, diff --git a/frontend/packages/aquascope-embed/src/styles.scss b/frontend/packages/aquascope-embed/src/styles.scss index cb5561264..d03f4e260 100644 --- a/frontend/packages/aquascope-embed/src/styles.scss +++ b/frontend/packages/aquascope-embed/src/styles.scss @@ -1,4 +1,4 @@ -@use "aquascope-editor/dist/styles.scss"; +@use "@aquascope/editor/dist/styles.scss"; .light, .rust { --code-bg: #f6f7f6; diff --git a/frontend/packages/aquascope-standalone/package.json b/frontend/packages/aquascope-standalone/package.json index c7a35b7b6..cecbb6f31 100644 --- a/frontend/packages/aquascope-standalone/package.json +++ b/frontend/packages/aquascope-standalone/package.json @@ -1,5 +1,5 @@ { - "name": "aquascope-standalone", + "name": "@aquascope/standalone", "version": "0.1.0", "depot": { "platform": "browser" @@ -14,7 +14,7 @@ "@codemirror/view": "^6.4.0", "@replit/codemirror-vim": "^6.0.3", "@vitejs/plugin-react": "^4.0.3", - "aquascope-editor": "workspace:*", + "@aquascope/editor": "workspace:*", "font-awesome": "^4.7.0", "jest-puppeteer": "^6.2.0", "normalize.css": "^8.0.1", diff --git a/frontend/packages/aquascope-standalone/src/index.tsx b/frontend/packages/aquascope-standalone/src/index.tsx index e34d0e92b..b363da662 100644 --- a/frontend/packages/aquascope-standalone/src/index.tsx +++ b/frontend/packages/aquascope-standalone/src/index.tsx @@ -1,5 +1,5 @@ // import { vim } from "@replit/codemirror-vim"; -import * as Ed from "aquascope-editor"; +import * as Ed from "@aquascope/editor"; import { basicSetup } from "./setup"; @@ -67,6 +67,7 @@ window.addEventListener("load", () => { editor: new Ed.Editor( editorElement, basicSetup, + Ed.defaultCodeExample, (err: Ed.types.BackendError) => { if (err.type === "FileNotFound") { alert("A backend problem occurred!"); @@ -88,7 +89,6 @@ window.addEventListener("load", () => { console.error("an unknown error occurred:", err); } }, - Ed.defaultCodeExample, new URL(SERVER_URL) ) }; diff --git a/frontend/packages/aquascope-standalone/styles.scss b/frontend/packages/aquascope-standalone/styles.scss index 310f19fd3..e6d4a7104 100644 --- a/frontend/packages/aquascope-standalone/styles.scss +++ b/frontend/packages/aquascope-standalone/styles.scss @@ -1,4 +1,4 @@ -@use "aquascope-editor/dist/styles.scss"; +@use "@aquascope/editor/dist/styles.scss"; @import "normalize.css/normalize.css"; @import "font-awesome/css/font-awesome.css"; diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 352dfe1a9..70cf27ac6 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -46,7 +46,7 @@ importers: version: 4.4.4(@types/node@20.4.2)(sass@1.63.6) vitest: specifier: ^0.33.0 - version: 0.33.0(sass@1.63.6) + version: 0.33.0(jsdom@24.1.0)(sass@1.63.6) packages/aquascope-editor: dependencies: @@ -62,6 +62,9 @@ importers: '@codemirror/view': specifier: ^6.4.0 version: 6.14.1 + classnames: + specifier: ^2.3.2 + version: 2.3.2 leader-line-new: specifier: ^1.1.9 version: 1.1.9 @@ -81,9 +84,6 @@ importers: '@vitejs/plugin-react': specifier: ^4.0.3 version: 4.0.3(vite@4.4.4(@types/node@20.4.2)(sass@1.63.6)) - classnames: - specifier: ^2.3.2 - version: 2.3.2 react: specifier: ^18.2.0 version: 18.2.0 @@ -93,6 +93,9 @@ importers: packages/aquascope-embed: devDependencies: + '@aquascope/editor': + specifier: workspace:* + version: link:../aquascope-editor '@codemirror/commands': specifier: ^6.1.2 version: 6.1.2 @@ -120,9 +123,6 @@ importers: '@vitejs/plugin-react': specifier: ^4.0.3 version: 4.0.3(vite@4.4.4(@types/node@20.4.2)(sass@1.63.6)) - aquascope-editor: - specifier: workspace:* - version: link:../aquascope-editor puppeteer: specifier: ^19.6.0 version: 19.6.0 @@ -135,6 +135,9 @@ importers: packages/aquascope-standalone: devDependencies: + '@aquascope/editor': + specifier: workspace:* + version: link:../aquascope-editor '@codemirror/autocomplete': specifier: ^6.3.0 version: 6.3.0(@codemirror/language@6.8.0)(@codemirror/state@6.2.1)(@codemirror/view@6.14.1)(@lezer/common@1.0.3) @@ -162,9 +165,6 @@ importers: '@vitejs/plugin-react': specifier: ^4.0.3 version: 4.0.3(vite@4.4.4(@types/node@20.4.2)(sass@1.63.6)) - aquascope-editor: - specifier: workspace:* - version: link:../aquascope-editor font-awesome: specifier: ^4.7.0 version: 4.7.0 @@ -831,6 +831,10 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} + agent-base@7.1.1: + resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} + engines: {node: '>= 14'} + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -893,6 +897,9 @@ packages: assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} @@ -994,6 +1001,10 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + commander@5.1.0: resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} engines: {node: '>= 6'} @@ -1018,6 +1029,10 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + cssstyle@4.0.1: + resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==} + engines: {node: '>=18'} + csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} @@ -1025,6 +1040,10 @@ packages: resolution: {integrity: sha512-YGZxdTTL9lmLkCUTpg4j0zQ7IhRB5ZmqNBbGCl3Tg6MP/d5/6sY7L5mmTjzbc6JKgVZYiqTQTNhPFsbXNGlRaA==} engines: {node: '>=0.8'} + data-urls@5.0.0: + resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} + engines: {node: '>=18'} + debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -1034,6 +1053,9 @@ packages: supports-color: optional: true + decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + deep-eql@4.1.3: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} @@ -1045,6 +1067,10 @@ packages: resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} engines: {node: '>= 0.4'} + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + devtools-protocol@0.0.1082910: resolution: {integrity: sha512-RqoZ2GmqaNxyx+99L/RemY5CkwG9D0WEfOKxekwCRXOGrDCep62ngezEJUVMq6rISYQ+085fJnWDQqGHlxVNww==} @@ -1070,6 +1096,10 @@ packages: end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -1264,6 +1294,10 @@ packages: resolution: {integrity: sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==} engines: {node: '>=0.10.0'} + form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} @@ -1388,10 +1422,26 @@ packages: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} + html-encoding-sniffer@4.0.0: + resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} + engines: {node: '>=18'} + + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} + https-proxy-agent@7.0.5: + resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} + engines: {node: '>= 14'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -1486,6 +1536,9 @@ packages: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} engines: {node: '>=0.10.0'} + is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -1562,6 +1615,15 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + jsdom@24.1.0: + resolution: {integrity: sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==} + engines: {node: '>=18'} + peerDependencies: + canvas: ^2.11.2 + peerDependenciesMeta: + canvas: + optional: true + jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} @@ -1670,6 +1732,14 @@ packages: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -1723,6 +1793,9 @@ packages: normalize.css@8.0.1: resolution: {integrity: sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==} + nwsapi@2.2.10: + resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==} + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -1788,6 +1861,9 @@ packages: resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} engines: {node: '>=0.10.0'} + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -1865,6 +1941,9 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} @@ -1872,6 +1951,10 @@ packages: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + puppeteer-core@19.6.0: resolution: {integrity: sha512-GvqWdHr9eY/MFR5pXf9o0apnrTmG0hhS7/TtCPfeAvCbaUS1bsLMZWxNGvI/QbviRu4xxi6HrR7VW4x/4esq1Q==} engines: {node: '>=14.1.0'} @@ -1880,6 +1963,9 @@ packages: resolution: {integrity: sha512-KpRjn/bosTWe8xOQ/F5J1UmQ4inR77ADddn8G6MqMPp/y9Tl+7EycXgrjO0/3i/OQfHi5bsvkTKXRkm0ieo/ew==} engines: {node: '>=14.1.0'} + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -1917,6 +2003,9 @@ packages: resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} engines: {node: '>= 0.4'} + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + resolve-dir@0.1.1: resolution: {integrity: sha512-QxMPqI6le2u0dCLyiGzgy92kjkkL6zO0XyvHzjdTNH3zM6e5Hz3BwG6+aEyNgiQ5Xz6PwTwgQEj3U50dByPKIA==} engines: {node: '>=0.10.0'} @@ -1942,6 +2031,12 @@ packages: engines: {node: '>=14.18.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==} + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -1958,11 +2053,18 @@ packages: safe-regex-test@1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + sass@1.63.6: resolution: {integrity: sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw==} engines: {node: '>=14.0.0'} hasBin: true + saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + scheduler@0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} @@ -2069,6 +2171,9 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + tar-fs@2.1.1: resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} @@ -2101,9 +2206,17 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} + tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@5.0.0: + resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} + engines: {node: '>=18'} + tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -2165,6 +2278,10 @@ packages: unbzip2-stream@1.4.3: resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} + universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + update-browserslist-db@1.0.11: resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} hasBin: true @@ -2174,6 +2291,9 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -2250,6 +2370,10 @@ packages: w3c-keyname@2.2.8: resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} + w3c-xmlserializer@5.0.0: + resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} + engines: {node: '>=18'} + wait-on@6.0.1: resolution: {integrity: sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==} engines: {node: '>=10.0.0'} @@ -2258,6 +2382,22 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + + whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + + whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + + 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==} @@ -2297,6 +2437,25 @@ packages: utf-8-validate: optional: true + ws@8.17.1: + resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xml-name-validator@5.0.0: + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} + + xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} @@ -3001,6 +3160,13 @@ snapshots: transitivePeerDependencies: - supports-color + agent-base@7.1.1: + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + optional: true + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -3079,6 +3245,9 @@ snapshots: assertion-error@1.1.0: {} + asynckit@0.4.0: + optional: true + available-typed-arrays@1.0.5: {} axios@0.25.0: @@ -3198,6 +3367,11 @@ snapshots: color-name@1.1.4: {} + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + optional: true + commander@5.1.0: {} concat-map@0.0.1: {} @@ -3225,6 +3399,11 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + cssstyle@4.0.1: + dependencies: + rrweb-cssom: 0.6.0 + optional: true + csstype@3.1.2: {} cwd@0.10.0: @@ -3232,10 +3411,19 @@ snapshots: find-pkg: 0.1.2 fs-exists-sync: 0.1.0 + data-urls@5.0.0: + dependencies: + whatwg-mimetype: 4.0.0 + whatwg-url: 14.0.0 + optional: true + debug@4.3.4: dependencies: ms: 2.1.2 + decimal.js@10.4.3: + optional: true + deep-eql@4.1.3: dependencies: type-detect: 4.0.8 @@ -3247,6 +3435,9 @@ snapshots: has-property-descriptors: 1.0.0 object-keys: 1.1.1 + delayed-stream@1.0.0: + optional: true + devtools-protocol@0.0.1082910: {} diff-sequences@29.4.3: {} @@ -3269,6 +3460,9 @@ snapshots: dependencies: once: 1.4.0 + entities@4.5.0: + optional: true + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -3558,6 +3752,13 @@ snapshots: dependencies: for-in: 1.0.2 + form-data@4.0.0: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + optional: true + fs-constants@1.0.0: {} fs-exists-sync@0.1.0: {} @@ -3682,6 +3883,19 @@ snapshots: dependencies: parse-passwd: 1.0.0 + html-encoding-sniffer@4.0.0: + dependencies: + whatwg-encoding: 3.1.1 + optional: true + + http-proxy-agent@7.0.2: + dependencies: + agent-base: 7.1.1 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + optional: true + https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 @@ -3689,6 +3903,19 @@ snapshots: transitivePeerDependencies: - supports-color + https-proxy-agent@7.0.5: + dependencies: + agent-base: 7.1.1 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + optional: true + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + optional: true + ieee754@1.2.1: {} ignore@5.2.4: {} @@ -3772,6 +3999,9 @@ snapshots: dependencies: isobject: 3.0.1 + is-potential-custom-element-name@1.0.1: + optional: true + is-regex@1.1.4: dependencies: call-bind: 1.0.2 @@ -3893,6 +4123,35 @@ snapshots: dependencies: argparse: 2.0.1 + jsdom@24.1.0: + 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.10 + 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.17.1 + xml-name-validator: 5.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + optional: true + jsesc@2.5.2: {} json-parse-even-better-errors@2.3.1: {} @@ -3982,6 +4241,14 @@ snapshots: braces: 3.0.2 picomatch: 2.3.1 + mime-db@1.52.0: + optional: true + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + optional: true + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -4024,6 +4291,9 @@ snapshots: normalize.css@8.0.1: {} + nwsapi@2.2.10: + optional: true + object-assign@4.1.1: {} object-inspect@1.12.3: {} @@ -4100,6 +4370,11 @@ snapshots: parse-passwd@1.0.0: {} + parse5@7.1.2: + dependencies: + entities: 4.5.0 + optional: true + path-exists@4.0.0: {} path-is-absolute@1.0.1: {} @@ -4167,6 +4442,9 @@ snapshots: proxy-from-env@1.1.0: {} + psl@1.9.0: + optional: true + pump@3.0.0: dependencies: end-of-stream: 1.4.4 @@ -4174,6 +4452,9 @@ snapshots: punycode@2.3.0: {} + punycode@2.3.1: + optional: true + puppeteer-core@19.6.0: dependencies: cross-fetch: 3.1.5 @@ -4205,6 +4486,9 @@ snapshots: - supports-color - utf-8-validate + querystringify@2.2.0: + optional: true + queue-microtask@1.2.3: {} react-dom@18.2.0(react@18.2.0): @@ -4241,6 +4525,9 @@ snapshots: define-properties: 1.2.0 functions-have-names: 1.2.3 + requires-port@1.0.0: + optional: true + resolve-dir@0.1.1: dependencies: expand-tilde: 1.2.2 @@ -4264,6 +4551,12 @@ snapshots: optionalDependencies: fsevents: 2.3.2 + rrweb-cssom@0.6.0: + optional: true + + rrweb-cssom@0.7.1: + optional: true + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -4287,12 +4580,20 @@ snapshots: get-intrinsic: 1.2.1 is-regex: 1.1.4 + safer-buffer@2.1.2: + optional: true + sass@1.63.6: dependencies: chokidar: 3.5.3 immutable: 4.3.1 source-map-js: 1.0.2 + saxes@6.0.0: + dependencies: + xmlchars: 2.2.0 + optional: true + scheduler@0.23.0: dependencies: loose-envify: 1.4.0 @@ -4410,6 +4711,9 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + symbol-tree@3.2.4: + optional: true + tar-fs@2.1.1: dependencies: chownr: 1.1.4 @@ -4441,8 +4745,21 @@ snapshots: dependencies: is-number: 7.0.0 + tough-cookie@4.1.4: + dependencies: + psl: 1.9.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + optional: true + tr46@0.0.3: {} + tr46@5.0.0: + dependencies: + punycode: 2.3.1 + optional: true + tree-kill@1.2.2: {} ts-api-utils@1.0.1(typescript@5.1.6): @@ -4510,6 +4827,9 @@ snapshots: buffer: 5.7.1 through: 2.3.8 + universalify@0.2.0: + optional: true + update-browserslist-db@1.0.11(browserslist@4.21.9): dependencies: browserslist: 4.21.9 @@ -4520,6 +4840,12 @@ snapshots: dependencies: punycode: 2.3.0 + url-parse@1.5.10: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + optional: true + util-deprecate@1.0.2: {} vite-node@0.33.0(@types/node@20.4.2)(sass@1.63.6): @@ -4550,7 +4876,7 @@ snapshots: fsevents: 2.3.2 sass: 1.63.6 - vitest@0.33.0(sass@1.63.6): + vitest@0.33.0(jsdom@24.1.0)(sass@1.63.6): dependencies: '@types/chai': 4.3.5 '@types/chai-subset': 1.3.3 @@ -4576,6 +4902,8 @@ snapshots: vite: 4.4.4(@types/node@20.4.2)(sass@1.63.6) vite-node: 0.33.0(@types/node@20.4.2)(sass@1.63.6) why-is-node-running: 2.2.2 + optionalDependencies: + jsdom: 24.1.0 transitivePeerDependencies: - less - lightningcss @@ -4591,6 +4919,11 @@ snapshots: w3c-keyname@2.2.8: {} + w3c-xmlserializer@5.0.0: + dependencies: + xml-name-validator: 5.0.0 + optional: true + wait-on@6.0.1: dependencies: axios: 0.25.0 @@ -4603,6 +4936,23 @@ snapshots: webidl-conversions@3.0.1: {} + webidl-conversions@7.0.0: + optional: true + + whatwg-encoding@3.1.1: + dependencies: + iconv-lite: 0.6.3 + optional: true + + whatwg-mimetype@4.0.0: + optional: true + + 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 @@ -4641,6 +4991,15 @@ snapshots: ws@8.11.0: {} + ws@8.17.1: + optional: true + + xml-name-validator@5.0.0: + optional: true + + xmlchars@2.2.0: + optional: true + yallist@3.1.1: {} yallist@4.0.0: {} diff --git a/frontend/typedoc.json b/frontend/typedoc.json index be5132ff5..2612a307c 100644 --- a/frontend/typedoc.json +++ b/frontend/typedoc.json @@ -6,6 +6,7 @@ }, "entryPointStrategy": "packages", "entryPoints": [ - "packages/aquascope-editor" + "packages/aquascope-editor", + "packages/aquascope-react" ] } \ No newline at end of file