diff --git a/packages/common/package.json b/packages/common/package.json index d7bf9978..907db52c 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -12,19 +12,21 @@ "build": "tsc && vite build" }, "devDependencies": { - "@types/uuid": "^9.0.2", "@types/lodash.clonedeep": "^4.5.7", "@types/lodash.debounce": "^4.0.7", "@types/lodash.isequal": "^4.5.6", "@types/lodash.omit": "^4.5.7", "@types/lodash.throttle": "^4.1.7", + "@types/uuid": "^9.0.2", "vite": "^4.2.0" }, "dependencies": { + "@types/lodash.pick": "^4.4.9", "lodash.clonedeep": "^4.5.0", "lodash.debounce": "^4.0.8", "lodash.isequal": "^4.5.0", "lodash.omit": "^4.5.0", + "lodash.pick": "^4.4.0", "lodash.throttle": "^4.1.1", "uuid": "^9.0.0" } diff --git a/packages/common/src/lodash.ts b/packages/common/src/lodash.ts index 63f54fed..c0986ab2 100644 --- a/packages/common/src/lodash.ts +++ b/packages/common/src/lodash.ts @@ -2,6 +2,7 @@ import cloneDeep from 'lodash.clonedeep'; import debounce from 'lodash.debounce'; import isEqual from 'lodash.isequal'; import omit from 'lodash.omit'; +import pick from 'lodash.pick'; import throttle from 'lodash.throttle'; -export { cloneDeep, debounce, isEqual, omit, throttle }; +export { cloneDeep, debounce, isEqual, omit, pick, throttle }; diff --git a/packages/core/src/commands/add_graphs.ts b/packages/core/src/commands/add_graphs.ts index 2dfeb254..2c214707 100644 --- a/packages/core/src/commands/add_graphs.ts +++ b/packages/core/src/commands/add_graphs.ts @@ -9,9 +9,8 @@ export class AddGraphCmd implements ICommand { private elements: SuikaGraphics[], ) {} redo() { - // TODO: 放回原来的 parent 下 - this.editor.sceneGraph.addItems(this.elements); for (const el of this.elements) { + el.setDeleted(false); const parent = el.getParent(); if (parent) { parent.insertChild(el, el.attrs.parentIndex?.position); @@ -21,12 +20,9 @@ export class AddGraphCmd implements ICommand { this.editor.selectedElements.setItems(this.elements); } undo() { - this.editor.sceneGraph.removeItems(this.elements); this.elements.forEach((el) => { - const parent = el.getParent(); - if (parent) { - parent.removeChild(el); - } + el.setDeleted(true); + el.removeFromParent(); }); this.editor.selectedElements.clear(); diff --git a/packages/core/src/control_handle_manager/control_handle.ts b/packages/core/src/control_handle_manager/control_handle.ts index b81c35c2..da499675 100644 --- a/packages/core/src/control_handle_manager/control_handle.ts +++ b/packages/core/src/control_handle_manager/control_handle.ts @@ -21,7 +21,7 @@ export class ControlHandle { rotation?: number; transform?: IMatrixArr; type: string; - graph: SuikaGraphics; + graphics: SuikaGraphics; padding: number; /** rotation will follow rotated bbox */ isTransformHandle: boolean; @@ -35,7 +35,7 @@ export class ControlHandle { rotation?: number; transform?: IMatrixArr; padding?: number; - graph: SuikaGraphics; + graphics: SuikaGraphics; hitTest?: HitTest; getCursor: GetCursorFn; isTransformHandle?: boolean; @@ -50,11 +50,13 @@ export class ControlHandle { } this.type = attrs.type; this.padding = attrs.padding ?? 0; - this.graph = attrs.graph; + this.graphics = attrs.graphics; this.getCursor = attrs.getCursor; if (attrs.hitTest) { this.hitTest = attrs.hitTest; } this.isTransformHandle = attrs.isTransformHandle ?? false; + + this.graphics.cancelCollectUpdate(); } } diff --git a/packages/core/src/control_handle_manager/control_handle_manager.ts b/packages/core/src/control_handle_manager/control_handle_manager.ts index 708228c5..6335a128 100644 --- a/packages/core/src/control_handle_manager/control_handle_manager.ts +++ b/packages/core/src/control_handle_manager/control_handle_manager.ts @@ -166,14 +166,14 @@ export class ControlHandleManager { const s = this.transformHandles.get('s')!; const w = this.transformHandles.get('w')!; const e = this.transformHandles.get('e')!; - n.graph.attrs.width = s.graph.attrs.width = + n.graphics.attrs.width = s.graphics.attrs.width = rect.width * zoom - handleSize - handleStrokeWidth; - w.graph.attrs.height = e.graph.attrs.height = + w.graphics.attrs.height = e.graphics.attrs.height = rect.height * zoom - handleSize - handleStrokeWidth; - n.graph.attrs.height = - s.graph.attrs.height = - w.graph.attrs.width = - e.graph.attrs.width = + n.graphics.attrs.height = + s.graphics.attrs.height = + w.graphics.attrs.width = + e.graphics.attrs.width = neswHandleWidth; const heightTransform = new Matrix() @@ -208,7 +208,7 @@ export class ControlHandleManager { const ctx = this.editor.ctx; const rotate = rect ? getTransformAngle(rect.transform) : 0; handles.forEach((handle) => { - const graph = handle.graph; + const graph = handle.graphics; if (graph.type === GraphicsType.Path) { // TODO: } else { @@ -281,7 +281,7 @@ export class ControlHandleManager { handle.padding, selectedBox, ) - : handle.graph.hitTest(hitPointVW.x, hitPointVW.y, handle.padding); + : handle.graphics.hitTest(hitPointVW.x, hitPointVW.y, handle.padding); if (isHit) { return { @@ -315,7 +315,7 @@ export class ControlHandleManager { maxY: bottomRight.y, }; return this.customHandles.filter((handle) => - handle.graph.intersectWithBox(box), + handle.graphics.intersectWithBox(box), ); } diff --git a/packages/core/src/control_handle_manager/util.ts b/packages/core/src/control_handle_manager/util.ts index 33897de0..5290a299 100644 --- a/packages/core/src/control_handle_manager/util.ts +++ b/packages/core/src/control_handle_manager/util.ts @@ -142,12 +142,13 @@ export const createTransformHandles = ( const opts = { doc, + noCollectChange: true, }; /********************** resize handle *******************/ // north-west const nw = new ControlHandle({ - graph: new SuikaRect( + graphics: new SuikaRect( { objectName: 'nw', ...getDefaultAttrs(), @@ -161,7 +162,7 @@ export const createTransformHandles = ( }); const ne = new ControlHandle({ - graph: new SuikaRect( + graphics: new SuikaRect( { objectName: 'ne', ...getDefaultAttrs(), @@ -175,7 +176,7 @@ export const createTransformHandles = ( }); const se = new ControlHandle({ - graph: new SuikaRect( + graphics: new SuikaRect( { objectName: 'se', ...getDefaultAttrs(), @@ -189,7 +190,7 @@ export const createTransformHandles = ( }); const sw = new ControlHandle({ - graph: new SuikaRect( + graphics: new SuikaRect( { objectName: 'sw', ...getDefaultAttrs(), @@ -205,7 +206,7 @@ export const createTransformHandles = ( /************************* rotation handle **********************/ const rotationHandleSize = params.size * 2.5; const nwRotation = new ControlHandle({ - graph: new SuikaRect( + graphics: new SuikaRect( { objectName: 'nwRotation', ...getDefaultAttrs(), @@ -221,7 +222,7 @@ export const createTransformHandles = ( }); const neRotation = new ControlHandle({ - graph: new SuikaRect( + graphics: new SuikaRect( { objectName: 'neRotation', ...getDefaultAttrs(), @@ -237,7 +238,7 @@ export const createTransformHandles = ( }); const seRotation = new ControlHandle({ - graph: new SuikaRect( + graphics: new SuikaRect( { objectName: 'seRotation', ...getDefaultAttrs(), @@ -253,7 +254,7 @@ export const createTransformHandles = ( }); const swRotation = new ControlHandle({ - graph: new SuikaRect( + graphics: new SuikaRect( { objectName: 'swRotation', ...getDefaultAttrs(), @@ -279,11 +280,11 @@ export const createTransformHandles = ( if (!rect || rect.width === 0 || rect.height === 0) { return false; } - return this.graph.hitTest(x, y, tol); + return this.graphics.hitTest(x, y, tol); }; const n = new ControlHandle({ - graph: new SuikaRect( + graphics: new SuikaRect( { objectName: 'n', ...getDefaultAttrs(), @@ -297,7 +298,7 @@ export const createTransformHandles = ( isTransformHandle: true, }); const e = new ControlHandle({ - graph: new SuikaRect( + graphics: new SuikaRect( { objectName: 'e', ...getDefaultAttrs(), @@ -312,7 +313,7 @@ export const createTransformHandles = ( }); const s = new ControlHandle({ - graph: new SuikaRect( + graphics: new SuikaRect( { objectName: 's', ...getDefaultAttrs(), @@ -327,7 +328,7 @@ export const createTransformHandles = ( }); const w = new ControlHandle({ - graph: new SuikaRect( + graphics: new SuikaRect( { objectName: 'w', ...getDefaultAttrs(), diff --git a/packages/core/src/editor.ts b/packages/core/src/editor.ts index ec20f319..48174da3 100644 --- a/packages/core/src/editor.ts +++ b/packages/core/src/editor.ts @@ -1,4 +1,5 @@ import { + EventEmitter, genUuid, sceneCoordsToViewportUtil, viewportCoordsToSceneUtil, @@ -10,6 +11,7 @@ import { ClipboardManager } from './clipboard'; import { CommandManager } from './commands/command_manager'; import { ControlHandleManager } from './control_handle_manager'; import { CursorManger, type ICursor } from './cursor_manager'; +import { type GraphicsAttrs } from './graphs'; import { SuikaCanvas } from './graphs/canvas'; import { SuikaDocument } from './graphs/document'; import { HostEventManager } from './host_event_manager'; @@ -23,10 +25,9 @@ import { SceneGraph } from './scene/scene_graph'; import { SelectedBox } from './selected_box'; import { SelectedElements } from './selected_elements'; import { Setting } from './setting'; -import { AutoSaveGraphs } from './store/auto-save-graphs'; import { TextEditor } from './text/text_editor'; import { ToolManager } from './tools'; -import { type IEditorPaperData } from './type'; +import { type IChanges, type IEditorPaperData } from './type'; import { ViewportManager } from './viewport_manager'; import { ZoomManager } from './zoom_manager'; @@ -39,6 +40,10 @@ interface IEditorOptions { showPerfMonitor?: boolean; } +interface Events { + destroy(): void; +} + export class Editor { containerElement: HTMLDivElement; canvasElement: HTMLCanvasElement; @@ -47,6 +52,8 @@ export class Editor { appVersion = 'suika-editor_0.0.2'; paperId: string; + private emitter = new EventEmitter(); + doc: SuikaDocument; sceneGraph: SceneGraph; controlHandleManager: ControlHandleManager; @@ -73,7 +80,6 @@ export class Editor { textEditor: TextEditor; pathEditor: PathEditor; - autoSaveGraphs: AutoSaveGraphs; perfMonitor: PerfMonitor; constructor(options: IEditorOptions) { @@ -126,39 +132,24 @@ export class Editor { this.clipboard = new ClipboardManager(this); this.clipboard.bindEvents(); - this.autoSaveGraphs = new AutoSaveGraphs(this); - this.imgManager.on('added', () => { this.render(); }); - const data = this.autoSaveGraphs.load(); - if (data) { - if (data.appVersion !== this.appVersion) { - if (confirm('编辑器版本和图纸版本不兼容,将清空本地缓存')) { - this.autoSaveGraphs.clear(); - } - } else { - this.loadData(data); - } - } - if (this.sceneGraph.children.length === 0) { - const canvas = new SuikaCanvas( - { - objectName: 'Canvas', - width: 0, - height: 0, - }, - { - doc: this.doc, - }, - ); - this.sceneGraph.addItems([canvas]); - } - this.paperId ??= genUuid(); - this.autoSaveGraphs.autoSave(); + this.paperId = genUuid(); + + const canvas = new SuikaCanvas( + { + objectName: 'Canvas', + width: 0, + height: 0, + }, + { + doc: this.doc, + }, + ); + this.sceneGraph.addItems([canvas]); - // 设置初始视口 this.viewportManager.setViewport({ x: -options.width / 2, y: -options.height / 2, @@ -166,8 +157,6 @@ export class Editor { height: options.height, }); - this.zoomManager.zoomToFit(1); - this.perfMonitor = new PerfMonitor(); if (options.showPerfMonitor) { this.perfMonitor.start(this.containerElement); @@ -182,12 +171,28 @@ export class Editor { }); } - loadData(data: IEditorPaperData) { + setContents(data: IEditorPaperData) { this.sceneGraph.load(data.data); this.commandManager.clearRecords(); - this.paperId = data.paperId; - this.paperId ??= genUuid(); + this.paperId = data.paperId ?? genUuid(); + + if (!this.doc.getCurrCanvas()) { + const canvas = new SuikaCanvas( + { + objectName: 'Canvas', + width: 0, + height: 0, + }, + { + doc: this.doc, + }, + ); + this.sceneGraph.addItems([canvas]); + } + + this.zoomManager.zoomToFit(1); } + destroy() { this.containerElement.removeChild(this.canvasElement); this.textEditor.destroy(); @@ -199,6 +204,7 @@ export class Editor { this.toolManager.destroy(); this.perfMonitor.destroy(); this.controlHandleManager.unbindEvents(); + this.emitter.emit('destroy'); } setCursor(cursor: ICursor) { this.cursorManager.setCursor(cursor); @@ -253,4 +259,38 @@ export class Editor { if (children.length === 0) return null; return mergeBoxes(children.map((item) => item.getBbox())); } + + applyChanges(changes: IChanges) { + const addedGraphicsArr: GraphicsAttrs[] = []; + for (const [, attrs] of changes.added) { + addedGraphicsArr.push(attrs); + } + this.sceneGraph.load(addedGraphicsArr, true); + + for (const [id, partialAttrs] of changes.update) { + const graphics = this.doc.getGraphicsById(id); + if (!graphics) { + console.warn(`graphics ${id} is not exist`); + continue; + } + graphics.updateAttrs(partialAttrs); + } + + for (const id of changes.deleted) { + const graphics = this.doc.getGraphicsById(id); + if (!graphics) { + console.warn(`graphics ${id} is not exist`); + continue; + } + graphics.setDeleted(true); + graphics.removeFromParent(); + } + } + + on(eventName: T, listener: Events[T]) { + this.emitter.on(eventName, listener); + } + off(eventName: T, listener: Events[T]) { + this.emitter.off(eventName, listener); + } } diff --git a/packages/core/src/graphics_manger.ts b/packages/core/src/graphics_manger.ts index 92e78e0e..8a2d1904 100644 --- a/packages/core/src/graphics_manger.ts +++ b/packages/core/src/graphics_manger.ts @@ -27,8 +27,24 @@ export class GraphicsStore { return this.graphicsStore.get(id); } + getAll() { + const graphicsArr: SuikaGraphics[] = []; + for (const [, graphics] of this.graphicsStore) { + if (!graphics.isDeleted()) { + graphicsArr.push(graphics); + } + } + return graphicsArr; + } + getCanvas() { const canvas = Array.from(this.canvasStore.values()); return canvas[0]; } + + clear() { + // TODO: modify this.changes + this.graphicsStore.clear(); + this.canvasStore.clear(); + } } diff --git a/packages/core/src/graphs/document.ts b/packages/core/src/graphs/document.ts index e214a6ad..79193aff 100644 --- a/packages/core/src/graphs/document.ts +++ b/packages/core/src/graphs/document.ts @@ -1,3 +1,5 @@ +import { EventEmitter, throttle } from '@suika/common'; + import { GraphicsStore } from '../graphics_manger'; import { GraphicsType, type Optional } from '../type'; import { @@ -8,21 +10,131 @@ import { type SuikaCanvasAttrs = GraphicsAttrs; +interface Events { + sceneChange( + ops: { + added: Map; + deleted: Set; + update: Map>; + }, + source: string, + ): void; +} + export class SuikaDocument extends SuikaGraphics { override type = GraphicsType.Document; protected override isContainer = true; - graphicsStore = new GraphicsStore(); + private graphicsStore = new GraphicsStore(); + private emitter = new EventEmitter(); + + private changes = { + added: new Map(), + deleted: new Set(), + updatedIds: new Set(), + }; constructor(attrs: Optional) { super({ ...attrs, type: GraphicsType.Document }, {} as IGraphicsOpts); } + clear() { + // TODO: update doc.updateInfo + this.graphicsStore.clear(); + } + + getCanvas() { + return this.graphicsStore.getCanvas(); + } + getGraphicsById(id: string) { return this.graphicsStore.get(id); } + getGraphicsArrByIds(ids: Set) { + const graphicsArr: SuikaGraphics[] = []; + for (const id of ids) { + const graphics = this.getGraphicsById(id); + if (!graphics) { + console.warn(`id ${id} is no exist in graphics array`); + continue; + } + graphicsArr.push(graphics); + } + return graphicsArr; + } + + getAllGraphicsArr() { + return this.graphicsStore.getAll(); + } + getCurrCanvas() { return this.graphicsStore.getCanvas(); } + + addGraphics(graphics: SuikaGraphics) { + this.graphicsStore.add(graphics); + this.changes.added.set(graphics.attrs.id, graphics.getAttrs()); + this.emitSceneChangeThrottle(); + } + + collectDeletedGraphics(graphics: SuikaGraphics) { + const id = graphics.attrs.id; + if (graphics.isDeleted()) { + this.changes.deleted.add(id); + this.changes.added.delete(id); + } else { + this.changes.deleted.delete(id); + this.changes.added.set(id, graphics.getAttrs()); + } + this.emitSceneChangeThrottle(); + } + + collectUpdatedGraphics(id: string) { + this.changes.updatedIds.add(id); + this.emitSceneChangeThrottle(); + } + + flushChanges() { + const updates = new Map>(); + for (const id of this.changes.updatedIds) { + const graphics = this.getGraphicsById(id); + if (!graphics) { + console.warn(`graphics ${id} is lost!`); + continue; + } + updates.set(id, graphics.getUpdatedAttrs()); + } + const changes = { + added: this.changes.added, + deleted: this.changes.deleted, + update: updates, + }; + this.clearChanges(); + return changes; + } + + private clearChanges() { + this.changes = { + added: new Map(), + deleted: new Set(), + updatedIds: new Set(), + }; + } + + private emitSceneChangeThrottle = throttle( + () => { + const changes = this.flushChanges(); + this.emitter.emit('sceneChange', changes, 'unknown'); + }, + 100, + // { leading: false }, + ); + + on(eventName: T, listener: Events[T]) { + this.emitter.on(eventName, listener); + } + off(eventName: T, listener: Events[T]) { + this.emitter.off(eventName, listener); + } } diff --git a/packages/core/src/graphs/graphics/graphics.ts b/packages/core/src/graphs/graphics/graphics.ts index 63f59209..b5312141 100644 --- a/packages/core/src/graphs/graphics/graphics.ts +++ b/packages/core/src/graphs/graphics/graphics.ts @@ -2,9 +2,11 @@ import { calcCoverScale, cloneDeep, genUuid, + isEqual, objectNameGenerator, omit, parseRGBToHex, + pick, } from '@suika/common'; import { boxToRect, @@ -63,6 +65,8 @@ export class SuikaGraphics { private _deleted = false; private _sortDirty = false; + private noCollectUpdate: boolean; + constructor( attrs: Omit, 'id'>, opts: IGraphicsOpts, @@ -83,12 +87,15 @@ export class SuikaGraphics { this.attrs = { ...attrs } as ATTRS; this.attrs.id ??= genUuid(); this.attrs.transform = transform; + this.attrs.strokeWidth ??= 1; if (this.attrs.objectName) { objectNameGenerator.setMaxIdx(attrs.objectName); } else { this.attrs.objectName = objectNameGenerator.gen(this.attrs.type ?? ''); } + + this.noCollectUpdate = Boolean(opts?.noCollectUpdate); } getAttrs(): ATTRS { @@ -114,6 +121,14 @@ export class SuikaGraphics { this._cacheMinBbox = null; } + private updatedKeys = new Set(); + + getUpdatedAttrs() { + const attrs = pick(this.attrs, [...this.updatedKeys]); + this.updatedKeys.clear(); + return attrs; + } + updateAttrs( partialAttrs: Partial & IAdvancedAttrs, // eslint-disable-next-line @typescript-eslint/no-unused-vars @@ -129,15 +144,20 @@ export class SuikaGraphics { 'strokeWidth' in partialAttrs && partialAttrs.strokeWidth === undefined ) { - delete this.attrs.strokeWidth; + partialAttrs.strokeWidth = 1; } if (!partialAttrs.transform) { - if (partialAttrs.x !== undefined) { - this.attrs.transform[4] = partialAttrs.x; - } - if (partialAttrs.y !== undefined) { - this.attrs.transform[5] = partialAttrs.y; + if (partialAttrs.x !== undefined || partialAttrs.y !== undefined) { + const tf = cloneDeep(this.attrs.transform); + if (partialAttrs.x) { + tf[4] = partialAttrs.x; + } + if (partialAttrs.y) { + tf[5] = partialAttrs.y; + } + this.attrs.transform = tf; + this.updatedKeys.add('transform'); } } @@ -146,9 +166,18 @@ export class SuikaGraphics { } partialAttrs = omit(partialAttrs, 'x', 'y', 'rotate'); for (const key in partialAttrs) { + this.updatedKeys.add(key); // eslint-disable-next-line @typescript-eslint/no-this-alias, @typescript-eslint/no-explicit-any (this.attrs as any)[key] = partialAttrs[key as keyof typeof partialAttrs]; } + + if (!this.noCollectUpdate || this.attrs.parentIndex) { + this.doc.collectUpdatedGraphics(this.attrs.id); + } + } + + cancelCollectUpdate() { + this.noCollectUpdate = true; } getStrokeWidth() { @@ -532,6 +561,7 @@ export class SuikaGraphics { setDeleted(val: boolean) { this._deleted = val; + this.doc.collectDeletedGraphics(this); } /** @@ -807,12 +837,16 @@ export class SuikaGraphics { } graphics.removeFromParent(); // 这个应该要删除? - graphics.updateAttrs({ - parentIndex: { - guid: this.attrs.id, - position: sortIdx, - }, - }); + const newParentIndex = { + guid: this.attrs.id, + position: sortIdx, + }; + if (!isEqual(graphics.attrs.parentIndex, newParentIndex)) { + graphics.updateAttrs({ + parentIndex: newParentIndex, + }); + } + this.children.push(graphics); if (sortIdx) { // TODO: 考虑 this._sortDirty 标记为 true,然后找个合适的时机再排序,减少图形重复地调用 sortChildren diff --git a/packages/core/src/graphs/graphics/graphics_attrs.ts b/packages/core/src/graphs/graphics/graphics_attrs.ts index e7a53616..6c47e293 100644 --- a/packages/core/src/graphs/graphics/graphics_attrs.ts +++ b/packages/core/src/graphs/graphics/graphics_attrs.ts @@ -42,4 +42,5 @@ export interface IGraphicsOpts { // advance attribute, will convert to 'attrs.transform' advancedAttrs?: IAdvancedAttrs; doc: SuikaDocument; + noCollectUpdate?: boolean; } diff --git a/packages/core/src/graphs/rect.ts b/packages/core/src/graphs/rect.ts index edf95b02..7d35aba6 100644 --- a/packages/core/src/graphs/rect.ts +++ b/packages/core/src/graphs/rect.ts @@ -262,7 +262,7 @@ export class SuikaRect extends SuikaGraphics { cx: x, cy: y, type: info.type, - graph: this.createCornerRadiusHandleGraph(), + graphics: this.createCornerRadiusHandleGraph(), getCursor: () => 'default', }); handles.push(handle); diff --git a/packages/core/src/path_editor/selected_control.ts b/packages/core/src/path_editor/selected_control.ts index 72c941ae..2227a214 100644 --- a/packages/core/src/path_editor/selected_control.ts +++ b/packages/core/src/path_editor/selected_control.ts @@ -145,7 +145,7 @@ export class SelectedControl { cx: anchor.x, cy: anchor.y, type: ['anchor', i, j].join('-'), - graph: new SuikaEllipse( + graphics: new SuikaEllipse( { objectName: 'anchor', width: anchorSize, @@ -206,7 +206,7 @@ export class SelectedControl { cy: rect.y + rect.height / 2, type: 'handleLine', rotation: rect.rotation, - graph: new SuikaLine( + graphics: new SuikaLine( { objectName: 'handleLine', height: rect.height, @@ -235,7 +235,7 @@ export class SelectedControl { cx: handle.x, cy: handle.y, type: [handleIdx === 0 ? 'in' : 'out', i, j].join('-'), - graph: new SuikaRegularPolygon( + graphics: new SuikaRegularPolygon( { objectName: 'pathHandle', width: size, diff --git a/packages/core/src/scene/scene_graph.ts b/packages/core/src/scene/scene_graph.ts index 517e1297..c93d24ad 100644 --- a/packages/core/src/scene/scene_graph.ts +++ b/packages/core/src/scene/scene_graph.ts @@ -1,5 +1,5 @@ -import { EventEmitter, forEach, getDevicePixelRatio } from '@suika/common'; -import { type IPoint, type IRect, rectToBox } from '@suika/geo'; +import { EventEmitter, getDevicePixelRatio } from '@suika/common'; +import { type IRect } from '@suika/geo'; import { type Editor } from '../editor'; import { @@ -39,7 +39,6 @@ interface Events { } export class SceneGraph { - children: SuikaGraphics[] = []; selection: { x: number; y: number; @@ -57,44 +56,11 @@ export class SceneGraph { } addItems(graphicsArr: SuikaGraphics[]) { - this.children.push(...graphicsArr); - for (const graph of graphicsArr) { - this.editor.doc.graphicsStore.add(graph); + this.editor.doc.addGraphics(graph); } } - getItems() { - return this.children; - } - - /** @deprecated */ - getVisibleItems() { - // TODO: cache if items are not changed - return this.children.filter((item) => item.isVisible()); - } - - getElementById(id: string): SuikaGraphics | undefined { - return this.getElementsByIds(new Set([id]))[0]; - } - - getElementsByIds(ids: Set) { - return this.children.filter((item) => ids.has(item.attrs.id)); - } - - removeItems(elements: SuikaGraphics[]) { - if (elements.length > 1) { - forEach(elements, (element) => { - this.removeItems([element]); - }); - } else { - const element = elements[0]; - const idx = this.children.indexOf(element); - if (idx !== -1) { - this.children.splice(idx, 1); - } - } - } // 全局重渲染 render = rafThrottle(() => { // 获取视口区域 @@ -129,7 +95,7 @@ export class SceneGraph { const imgManager = this.editor.imgManager; - const canvasGraphics = this.editor.doc.graphicsStore.getCanvas(); + const canvasGraphics = this.editor.doc.getCanvas(); if (canvasGraphics) { const smooth = zoom <= 1; ctx.save(); @@ -254,76 +220,15 @@ export class SceneGraph { ctx.restore(); } - /** - * @deprecated - */ - getTopHitElement(point: IPoint): SuikaGraphics | null { - const padding = - this.editor.setting.get('selectionHitPadding') / - this.editor.zoomManager.getZoom(); - - let topHitElement: SuikaGraphics | null = null; - const parentIdSet = this.editor.selectedElements.getParentIdSet(); - - // TODO: optimize, use r-tree to reduce time complexity - for (let i = this.children.length - 1; i >= 0; i--) { - const el = this.children[i]; - if ( - el.isVisible() && - !el.isLock() && - el.hitTest(point.x, point.y, padding) && - // parent of select graphics can't be hovered - !parentIdSet.has(el.attrs.id) - ) { - topHitElement = el; - break; - } - } - return topHitElement; - } setSelection(partialRect: Partial) { this.selection = Object.assign({}, this.selection, partialRect); } - /** - * get elements in selection - * - * reference: https://mp.weixin.qq.com/s/u0PUOeTryZ11eM2P2Kxwsg - */ - getElementsInSelection() { - const selection = this.selection; - if (selection === null) { - console.warn('selection 为 null,请确认在正确的时机调用当前方法'); - return []; - } - - const selectionMode = this.editor.setting.get('selectionMode'); - const elements = this.getVisibleItems(); - const containedElements: SuikaGraphics[] = []; - // TODO: to optimize, use r-tree to reduce time complexity - const selectionBox = rectToBox(selection); - for (const el of elements) { - if (el.isLock() || el instanceof SuikaCanvas) { - continue; - } - let isSelected = false; - if (selectionMode === 'contain') { - isSelected = el.containWithBox(selectionBox); - } else { - isSelected = el.intersectWithBox(selectionBox); - } - if (isSelected) { - containedElements.push(el); - } - } - return containedElements; - } - /** * get tree data with simple info (for layer panel) */ toObjects() { - const canvasGraphics = this.editor.doc.graphicsStore.getCanvas(); + const canvasGraphics = this.editor.doc.getCanvas(); if (!canvasGraphics) { return []; } @@ -331,7 +236,8 @@ export class SceneGraph { } toJSON() { - const data = this.children + const data = this.editor.doc + .getAllGraphicsArr() .filter((graphics) => !graphics.isDeleted()) .map((item) => item.toJSON()); const paperData: IEditorPaperData = { @@ -357,8 +263,11 @@ export class SceneGraph { } initGraphicsTree(graphicsArr: SuikaGraphics[]) { - const canvasGraphics = this.editor.doc.graphicsStore.getCanvas(); + const canvasGraphics = this.editor.doc.getCanvas(); for (const graphics of graphicsArr) { + if (graphics instanceof SuikaCanvas) { + continue; + } const parent = graphics.getParent() ?? canvasGraphics; if (parent && parent !== graphics) { parent.insertChild(graphics, graphics.attrs.parentIndex?.position); @@ -366,9 +275,11 @@ export class SceneGraph { } } - load(info: GraphicsAttrs[]) { - this.children = []; + load(info: GraphicsAttrs[], isApplyChanges?: boolean) { const graphicsArr = this.createGraphicsArr(info); + if (!isApplyChanges) { + this.editor.doc.clear(); + } this.addItems(graphicsArr); this.initGraphicsTree(graphicsArr); } diff --git a/packages/core/src/selected_elements.ts b/packages/core/src/selected_elements.ts index 27c8e6c5..8b435d69 100644 --- a/packages/core/src/selected_elements.ts +++ b/packages/core/src/selected_elements.ts @@ -41,7 +41,7 @@ export class SelectedElements { return new Set(this.items.map((item) => item.attrs.id)); } setItemsById(ids: Set) { - const items = this.editor.sceneGraph.getElementsByIds(ids); + const items = this.editor.doc.getGraphicsArrByIds(ids); if (items.length === 0) { console.warn('can not find element by id'); @@ -94,7 +94,7 @@ export class SelectedElements { } } toggleItemById(id: string, opts?: { disableParentAndChildCoexist: boolean }) { - const toggledElement = this.editor.sceneGraph.getElementById(id); + const toggledElement = this.editor.doc.getGraphicsById(id); if (!toggledElement) { console.warn('can not find element by id'); return; diff --git a/packages/core/src/service/import_service.ts b/packages/core/src/service/import_service.ts index 870ba8d2..894ca683 100644 --- a/packages/core/src/service/import_service.ts +++ b/packages/core/src/service/import_service.ts @@ -3,7 +3,7 @@ import { type Editor } from '../editor'; export const importService = { importOriginFile: (editor: Editor) => { readTextFile('.suika', (content) => { - editor.loadData(JSON.parse(content)); + editor.setContents(JSON.parse(content)); }); }, }; diff --git a/packages/core/src/service/mutate_graphs_and_record.ts b/packages/core/src/service/mutate_graphs_and_record.ts index 90107d13..decc3671 100644 --- a/packages/core/src/service/mutate_graphs_and_record.ts +++ b/packages/core/src/service/mutate_graphs_and_record.ts @@ -229,21 +229,23 @@ export const MutateGraphsAndRecord = { /** * lock / unlock */ - toggleLock(editor: Editor, graphs: SuikaGraphics[]) { - if (graphs.length === 0) { + toggleLock(editor: Editor, graphicsArr: SuikaGraphics[]) { + if (graphicsArr.length === 0) { return; } // if at least one graph is unlocked, lock all graphs; otherwise, unlock all graphs - const newLock = graphs.some((item) => !item.isLock()); - const prevAttrs = graphs.map((el) => ({ lock: el.attrs.lock })); - graphs.forEach((el) => { - el.attrs.lock = newLock; + const newLock = graphicsArr.some((item) => !item.isLock()); + const prevAttrs = graphicsArr.map((el) => ({ lock: el.attrs.lock })); + graphicsArr.forEach((el) => { + el.updateAttrs({ + lock: newLock, + }); }); editor.commandManager.pushCommand( new SetGraphsAttrsCmd( 'update lock of graphs', - graphs, + graphicsArr, { lock: newLock }, prevAttrs, ), @@ -251,13 +253,15 @@ export const MutateGraphsAndRecord = { }, /** set name of graph */ - setGraphName(editor: Editor, graph: SuikaGraphics, objectName: string) { - const prevAttrs = [{ objectName: graph.attrs.objectName }]; - graph.attrs.objectName = objectName; + setGraphName(editor: Editor, graphics: SuikaGraphics, objectName: string) { + const prevAttrs = [{ objectName: graphics.attrs.objectName }]; + graphics.updateAttrs({ + objectName, + }); editor.commandManager.pushCommand( new SetGraphsAttrsCmd( 'update name of graph', - [graph], + [graphics], { objectName }, prevAttrs, ), diff --git a/packages/core/src/store/auto-save-graphs.ts b/packages/core/src/store/auto-save-graphs.ts deleted file mode 100644 index cf635499..00000000 --- a/packages/core/src/store/auto-save-graphs.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { debounce } from '@suika/common'; - -import { type Editor } from '../editor'; -import { type IEditorPaperData } from '../type'; - -const STORE_KEY = 'suika-paper'; - -export class AutoSaveGraphs { - listener: () => void; - constructor(private editor: Editor) { - this.listener = debounce(() => { - this.save(); - }, 10); - } - - autoSave() { - this.editor.commandManager.on('change', this.listener); - } - stopAutoSave() { - this.editor.commandManager.off('change', this.listener); - } - save() { - localStorage.setItem(STORE_KEY, this.editor.sceneGraph.toJSON()); - } - clear() { - localStorage.removeItem(STORE_KEY); - } - load() { - const dataStr = localStorage.getItem(STORE_KEY); - if (!dataStr) return null; - const data = JSON.parse(dataStr) as IEditorPaperData; - return data; - } -} diff --git a/packages/core/src/tools/tool_draw_graph.ts b/packages/core/src/tools/tool_draw_graph.ts index 151ea70b..bb06f278 100644 --- a/packages/core/src/tools/tool_draw_graph.ts +++ b/packages/core/src/tools/tool_draw_graph.ts @@ -226,9 +226,8 @@ export abstract class DrawGraphTool implements ITool { this.updateGraph(rect); } else { const element = this.createGraph(rect)!; - this.editor.doc.getCurrCanvas().insertChild(element); sceneGraph.addItems([element]); - + this.editor.doc.getCurrCanvas().insertChild(element); this.drawingGraph = element; } this.editor.selectedElements.setItems([this.drawingGraph]); diff --git a/packages/core/src/tools/tool_draw_path.ts b/packages/core/src/tools/tool_draw_path.ts index f17434b3..ad7e5e70 100644 --- a/packages/core/src/tools/tool_draw_path.ts +++ b/packages/core/src/tools/tool_draw_path.ts @@ -113,8 +113,8 @@ export class DrawPathTool implements ITool { ); this.path = path; - this.editor.doc.getCurrCanvas().insertChild(path); this.editor.sceneGraph.addItems([path]); + this.editor.doc.getCurrCanvas().insertChild(path); this.editor.commandManager.batchCommandStart(); this.editor.commandManager.pushCommand( new AddGraphCmd('Add Path', this.editor, [path]), @@ -322,7 +322,7 @@ export class DrawPathTool implements ITool { cy: point.y, type: 'path-preview-curve', getCursor: () => 'default', - graph: new SuikaPath( + graphics: new SuikaPath( { objectName: 'path-preview-curve', width: 0, @@ -380,7 +380,7 @@ export class DrawPathTool implements ITool { cy: point.y, type: 'path-preview-anchor', getCursor: () => 'default', - graph: new SuikaEllipse( + graphics: new SuikaEllipse( { objectName: 'path-preview-anchor', width: 6, diff --git a/packages/core/src/tools/tool_pencil.ts b/packages/core/src/tools/tool_pencil.ts index 13c00cfe..1d9f3f91 100644 --- a/packages/core/src/tools/tool_pencil.ts +++ b/packages/core/src/tools/tool_pencil.ts @@ -91,7 +91,7 @@ export class PencilTool implements ITool { new AddGraphCmd('Add Path by pencil', this.editor, [path]), ); } else { - this.editor.sceneGraph.removeItems([path]); + path.setDeleted(true); } } diff --git a/packages/core/src/tools/tool_select/tool_select_move.ts b/packages/core/src/tools/tool_select/tool_select_move.ts index 3eb8a3bf..edb4bbec 100644 --- a/packages/core/src/tools/tool_select/tool_select_move.ts +++ b/packages/core/src/tools/tool_select/tool_select_move.ts @@ -5,6 +5,7 @@ import { type Editor } from '../../editor'; import { type SuikaGraphics } from '../../graphs'; import { Transaction } from '../../transaction'; import { type IBaseTool } from '../type'; +import { getTopHitElement } from './utils'; /** * select tool @@ -164,7 +165,7 @@ export class SelectMoveTool implements IBaseTool { if (!isDragHappened) { // clear selected elements if click on blank area and not dragging const point = this.editor.getSceneCursorXY(e); - const topHitElement = this.editor.sceneGraph.getTopHitElement(point); + const topHitElement = getTopHitElement(this.editor, point); if (!topHitElement && !this.editor.hostEventManager.isShiftPressing) { this.editor.selectedElements.clear(); } diff --git a/packages/core/src/type.ts b/packages/core/src/type.ts index 2dfb8ec4..71fe79f9 100644 --- a/packages/core/src/type.ts +++ b/packages/core/src/type.ts @@ -86,3 +86,9 @@ export enum ArrangeType { Forward = 'Forward', Backward = 'Backward', } + +export interface IChanges { + added: Map; + deleted: Set; + update: Map>; +} diff --git a/packages/suika/package.json b/packages/suika/package.json index 8571be94..428d5b8d 100644 --- a/packages/suika/package.json +++ b/packages/suika/package.json @@ -25,7 +25,9 @@ "react-intl": "^6.3.2", "react-scripts": "5.0.1", "sass": "^1.57.1", - "stats.js": "^0.17.0" + "stats.js": "^0.17.0", + "y-websocket": "^2.0.3", + "yjs": "^13.6.17" }, "devDependencies": { "@types/react": "^18.2.25", diff --git a/packages/suika/src/components/Cards/FillCard/FillCard.tsx b/packages/suika/src/components/Cards/FillCard/FillCard.tsx index 9f14acfb..cceb4d9b 100644 --- a/packages/suika/src/components/Cards/FillCard/FillCard.tsx +++ b/packages/suika/src/components/Cards/FillCard/FillCard.tsx @@ -31,7 +31,9 @@ export const FillCard: FC = () => { const selectItems = editor.selectedElements.getItems(); selectItems.forEach((item) => { - item.attrs.fill = cloneDeep(newFills); + item.updateAttrs({ + fill: cloneDeep(newFills), + }); }); return newFills; @@ -48,7 +50,9 @@ export const FillCard: FC = () => { const selectItems = editor.selectedElements.getItems(); selectItems.forEach((item) => { - item.attrs.fill = cloneDeep(newFills); + item.updateAttrs({ + fill: cloneDeep(newFills), + }); }); pushToHistory('Add Fill', selectItems, newFills); editor?.render(); @@ -62,7 +66,9 @@ export const FillCard: FC = () => { const selectItems = editor.selectedElements.getItems(); selectItems.forEach((item) => { - item.attrs.fill = cloneDeep(newFills); + item.updateAttrs({ + fill: cloneDeep(newFills), + }); }); pushToHistory('Update Fill', selectItems, newFills); editor.render(); diff --git a/packages/suika/src/components/Cards/StrokeCard/StrokeCard.tsx b/packages/suika/src/components/Cards/StrokeCard/StrokeCard.tsx index 20247de5..2ed48f4d 100644 --- a/packages/suika/src/components/Cards/StrokeCard/StrokeCard.tsx +++ b/packages/suika/src/components/Cards/StrokeCard/StrokeCard.tsx @@ -86,7 +86,9 @@ export const StrokeCard: FC = () => { const selectItems = editor.selectedElements.getItems(); selectItems.forEach((item) => { - item.attrs.stroke = cloneDeep(newStrokes); + item.updateAttrs({ + stroke: cloneDeep(newStrokes), + }); }); return newStrokes; @@ -108,7 +110,7 @@ export const StrokeCard: FC = () => { }); }); pushToHistory('Add Stroke', selectItems, newStrokes, true); - editor?.render(); + editor.render(); }; const deleteStroke = (index: number) => { @@ -118,9 +120,11 @@ export const StrokeCard: FC = () => { setStrokes(newStrokes); const selectItems = editor.selectedElements.getItems(); - selectItems.forEach((item) => { - item.attrs.stroke = cloneDeep(newStrokes); - }); + for (const item of selectItems) { + item.updateAttrs({ + stroke: cloneDeep(newStrokes), + }); + } pushToHistory('Update Stroke', selectItems, newStrokes); editor.render(); }; @@ -154,18 +158,6 @@ export const StrokeCard: FC = () => { attrs[i].strokeWidth = defaultStrokeWidth; }); } - // case 2: delete all stroke,change strokeWidth to 0 - else if (newStroke.length === 0) { - selectedElements.forEach((el, i) => { - prevAttrs[i].strokeWidth = el.attrs.strokeWidth; - }); - - forEach(selectedElements, (el) => { - el.updateAttrs({ - strokeWidth: undefined, - }); - }); - } editor.commandManager.pushCommand( new SetGraphsAttrsCmd(cmdDesc, selectedElements, attrs, prevAttrs), diff --git a/packages/suika/src/components/Editor.tsx b/packages/suika/src/components/Editor.tsx index fefc9829..b9e709ca 100644 --- a/packages/suika/src/components/Editor.tsx +++ b/packages/suika/src/components/Editor.tsx @@ -1,10 +1,12 @@ import './Editor.scss'; import { throttle } from '@suika/common'; -import { Editor as GraphEditor } from '@suika/core'; +import { Editor as GraphicsEditor } from '@suika/core'; import { type FC, useEffect, useRef, useState } from 'react'; import { EditorContext } from '../context'; +import { AutoSaveGraphics } from '../store/auto-save-graphs'; +// import { joinRoom } from '../store/join-room'; import { ContextMenu } from './ContextMenu'; import { Header } from './Header'; import { InfoPanel } from './InfoPanel'; @@ -16,11 +18,11 @@ const leftRightMargin = 240 * 2; const Editor: FC = () => { const containerRef = useRef(null); - const [editor, setEditor] = useState(null); + const [editor, setEditor] = useState(null); useEffect(() => { if (containerRef.current) { - const editor = new GraphEditor({ + const editor = new GraphicsEditor({ containerElement: containerRef.current, width: document.body.clientWidth - leftRightMargin, height: document.body.clientHeight - topMargin, @@ -30,6 +32,9 @@ const Editor: FC = () => { }); (window as any).editor = editor; + new AutoSaveGraphics(editor); + // joinRoom(editor); + const changeViewport = throttle( () => { editor.viewportManager.setViewport({ diff --git a/packages/suika/src/components/LayerPanel/LayerPanel.tsx b/packages/suika/src/components/LayerPanel/LayerPanel.tsx index cd60cac5..2c85f091 100644 --- a/packages/suika/src/components/LayerPanel/LayerPanel.tsx +++ b/packages/suika/src/components/LayerPanel/LayerPanel.tsx @@ -46,7 +46,7 @@ export const LayerPanel: FC = () => { const setEditorHlId = (id: string) => { if (editor) { - const graph = editor.sceneGraph.getElementById(id) ?? null; + const graph = editor.doc.getGraphicsById(id) ?? null; editor.selectedElements.setHighlightedItem(graph); editor.render(); @@ -55,7 +55,7 @@ export const LayerPanel: FC = () => { const setName = (id: string, newName: string) => { if (editor) { - const graph = editor.sceneGraph.getElementById(id); + const graph = editor.doc.getGraphicsById(id); if (graph && graph.attrs.objectName !== newName) { MutateGraphsAndRecord.setGraphName(editor, graph, newName); editor.render(); @@ -65,7 +65,7 @@ export const LayerPanel: FC = () => { const toggleVisible = (id: string) => { if (editor) { - const graph = editor.sceneGraph.getElementById(id); + const graph = editor.doc.getGraphicsById(id); if (graph) { MutateGraphsAndRecord.toggleVisible(editor, [graph]); editor.render(); @@ -75,7 +75,7 @@ export const LayerPanel: FC = () => { const toggleLock = (id: string) => { if (editor) { - const graph = editor.sceneGraph.getElementById(id); + const graph = editor.doc.getGraphicsById(id); if (graph) { MutateGraphsAndRecord.toggleLock(editor, [graph]); editor.render(); diff --git a/packages/suika/src/store/auto-save-graphs.ts b/packages/suika/src/store/auto-save-graphs.ts new file mode 100644 index 00000000..27bffe1e --- /dev/null +++ b/packages/suika/src/store/auto-save-graphs.ts @@ -0,0 +1,49 @@ +import { debounce } from '@suika/common'; +import { type Editor, type IEditorPaperData } from '@suika/core'; + +const STORE_KEY = 'suika-paper'; + +export class AutoSaveGraphics { + constructor(private editor: Editor) { + const data = this.load(); + if (data) { + if (data.appVersion !== editor.appVersion) { + if ( + confirm( + '编辑器版本和图纸版本不兼容,将清空本地缓存 (version not match, to clear data)', + ) + ) { + this.clear(); + } + } else { + editor.setContents(data); + } + } + + this.autoSave(); + this.editor.on('destroy', () => this.stopAutoSave()); + } + + private listener = debounce(() => { + this.save(); + }, 10); + + autoSave() { + this.editor.commandManager.on('change', this.listener); + } + stopAutoSave() { + this.editor.commandManager.off('change', this.listener); + } + save() { + localStorage.setItem(STORE_KEY, this.editor.sceneGraph.toJSON()); + } + clear() { + localStorage.removeItem(STORE_KEY); + } + load() { + const dataStr = localStorage.getItem(STORE_KEY); + if (!dataStr) return null; + const data = JSON.parse(dataStr) as IEditorPaperData; + return data; + } +} diff --git a/packages/suika/src/store/join-room.ts b/packages/suika/src/store/join-room.ts new file mode 100644 index 00000000..40561644 --- /dev/null +++ b/packages/suika/src/store/join-room.ts @@ -0,0 +1,12 @@ +import { type Editor } from '@suika/core'; +import { WebsocketProvider } from 'y-websocket'; +import * as Y from 'yjs'; + +import { SuikaBinding } from './y-suika'; + +export const joinRoom = (editor: Editor) => { + const yDoc = new Y.Doc(); + const yMap = yDoc.getMap>('suika-3456'); + new WebsocketProvider('ws://localhost:8912', 'suika-demo-room', yDoc); + new SuikaBinding(yMap, editor); +}; diff --git a/packages/suika/src/store/y-suika.ts b/packages/suika/src/store/y-suika.ts new file mode 100644 index 00000000..bed3dd14 --- /dev/null +++ b/packages/suika/src/store/y-suika.ts @@ -0,0 +1,77 @@ +import { isEqual, pick } from '@suika/common'; +import { type Editor, type GraphicsAttrs, type IChanges } from '@suika/core'; +import type * as Y from 'yjs'; +import { type YMap, type YMapEvent } from 'yjs/dist/src/internals'; + +export class SuikaBinding { + private doc: Y.Doc; + private dataInitialed = false; + + constructor(private yMap: YMap>, private suika: Editor) { + this.doc = yMap.doc!; + suika.doc.on('sceneChange', this.suikaObserve); + yMap.observe(this.yMapObserve); + } + + // editor --> remote + private suikaObserve = (ops: IChanges) => { + const yMap = this.yMap; + this.doc.transact(() => { + for (const [id, attrs] of ops.added) { + yMap.set(id, attrs); + } + for (const id of ops.deleted) { + yMap.delete(id); + } + for (const [id, attrs] of ops.update) { + const oldAttrs = yMap.get(id); + const keys = Object.keys(attrs); + if (!isEqual(pick(oldAttrs, keys), attrs)) { + yMap.set(id, { ...yMap.get(id), ...attrs }); + } + } + }, this); + console.log('editor --> remote', ops); + }; + + // remote --> editor + private yMapObserve = (event: YMapEvent) => { + const yMap = this.yMap; + if (event.transaction.origin == this) { + return; + } + console.log('remote --> editor'); + console.log('------ y.js event.changes ------'); + console.log(event.changes); + const changes: IChanges = { + added: new Map(), + deleted: new Set(), + update: new Map(), + }; + for (const [id, { action }] of event.changes.keys) { + if (action === 'add') { + const attrs = yMap.get(id); + changes.added.set(id, attrs as GraphicsAttrs); + } else if (action === 'update') { + changes.update.set(id, yMap.get(id) as GraphicsAttrs); + } else if (action === 'delete') { + changes.deleted.add(id); + } + } + + console.log('------ parse to suika changes ------'); + console.log(changes); + + this.suika.applyChanges(changes); + if (!this.dataInitialed) { + this.suika.zoomManager.zoomToFit(1); + } + this.dataInitialed = true; + this.suika.render(); + }; + + destroy() { + this.yMap.unobserve(this.yMapObserve); + this.suika.doc.off('sceneChange', this.suikaObserve); + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e64b21db..62fdd174 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -56,7 +56,7 @@ importers: version: 8.0.3 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@18.15.13)(typescript@5.2.2)) + version: 29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2)) lint-staged: specifier: ^13.2.1 version: 13.2.1 @@ -74,13 +74,16 @@ importers: version: 2.8.7 ts-jest: specifier: ^29.1.2 - version: 29.1.2(@babel/core@7.23.7)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.7))(esbuild@0.17.18)(jest@29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@18.15.13)(typescript@5.2.2)))(typescript@5.2.2) + version: 29.1.2(@babel/core@7.23.7)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.7))(esbuild@0.17.18)(jest@29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2)))(typescript@5.2.2) typescript: specifier: ^5.2.2 version: 5.2.2 packages/common: dependencies: + '@types/lodash.pick': + specifier: ^4.4.9 + version: 4.4.9 lodash.clonedeep: specifier: ^4.5.0 version: 4.5.0 @@ -93,6 +96,9 @@ importers: lodash.omit: specifier: ^4.5.0 version: 4.5.0 + lodash.pick: + specifier: ^4.4.0 + version: 4.4.0 lodash.throttle: specifier: ^4.1.1 version: 4.1.1 @@ -313,13 +319,19 @@ importers: version: 6.4.1(react@18.2.0)(typescript@5.3.3) react-scripts: specifier: 5.0.1 - version: 5.0.1(@babel/plugin-syntax-flow@7.21.4(@babel/core@7.23.7))(@babel/plugin-transform-react-jsx@7.21.0(@babel/core@7.23.7))(@swc/core@1.3.53)(@types/babel__core@7.20.5)(esbuild@0.17.18)(eslint@8.55.0)(react@18.2.0)(sass@1.62.0)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3))(type-fest@2.19.0)(typescript@5.3.3) + version: 5.0.1(@babel/plugin-syntax-flow@7.21.4(@babel/core@7.23.7))(@babel/plugin-transform-react-jsx@7.21.0(@babel/core@7.23.7))(@swc/core@1.3.53)(@types/babel__core@7.20.5)(esbuild@0.17.18)(eslint@8.55.0)(react@18.2.0)(sass@1.62.0)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3))(type-fest@2.19.0)(typescript@5.3.3) sass: specifier: ^1.57.1 version: 1.62.0 stats.js: specifier: ^0.17.0 version: 0.17.0 + y-websocket: + specifier: ^2.0.3 + version: 2.0.3(yjs@13.6.17) + yjs: + specifier: ^13.6.17 + version: 13.6.17 devDependencies: '@types/react': specifier: ^18.2.25 @@ -386,10 +398,6 @@ packages: resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.21.4': - resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==} - engines: {node: '>=6.9.0'} - '@babel/compat-data@7.23.5': resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} @@ -433,12 +441,6 @@ packages: resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.21.4': - resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-compilation-targets@7.23.6': resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} @@ -460,10 +462,6 @@ packages: peerDependencies: '@babel/core': ^7.4.0-0 - '@babel/helper-environment-visitor@7.18.9': - resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} - engines: {node: '>=6.9.0'} - '@babel/helper-environment-visitor@7.22.20': resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} @@ -472,18 +470,10 @@ packages: resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} engines: {node: '>=6.9.0'} - '@babel/helper-function-name@7.21.0': - resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} - engines: {node: '>=6.9.0'} - '@babel/helper-function-name@7.23.0': resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} - '@babel/helper-hoist-variables@7.18.6': - resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} - engines: {node: '>=6.9.0'} - '@babel/helper-hoist-variables@7.22.5': resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} @@ -492,10 +482,6 @@ packages: resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.21.4': - resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} - engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.22.15': resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} @@ -504,10 +490,6 @@ packages: resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.21.2': - resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.23.3': resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} @@ -524,10 +506,6 @@ packages: resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.20.2': - resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.22.5': resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} @@ -542,10 +520,6 @@ packages: resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} engines: {node: '>=6.9.0'} - '@babel/helper-simple-access@7.20.2': - resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} - engines: {node: '>=6.9.0'} - '@babel/helper-simple-access@7.22.5': resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} @@ -558,10 +532,6 @@ packages: resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.18.6': - resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} - engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.22.6': resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} @@ -570,10 +540,6 @@ packages: resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.19.4': - resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} - engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.23.4': resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} engines: {node: '>=6.9.0'} @@ -590,10 +556,6 @@ packages: resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.21.0': - resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.23.5': resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} @@ -602,10 +564,6 @@ packages: resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.21.0': - resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} - engines: {node: '>=6.9.0'} - '@babel/helpers@7.23.8': resolution: {integrity: sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==} engines: {node: '>=6.9.0'} @@ -1164,10 +1122,6 @@ packages: resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} engines: {node: '>=6.9.0'} - '@babel/template@7.20.7': - resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} - engines: {node: '>=6.9.0'} - '@babel/template@7.22.15': resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} @@ -1941,10 +1895,6 @@ packages: resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} - '@jridgewell/resolve-uri@3.1.0': - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} - engines: {node: '>=6.0.0'} - '@jridgewell/resolve-uri@3.1.1': resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} @@ -1960,15 +1910,9 @@ packages: '@jridgewell/source-map@0.3.3': resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} - '@jridgewell/sourcemap-codec@1.4.14': - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - '@jridgewell/trace-mapping@0.3.18': - resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} - '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} @@ -2735,6 +2679,9 @@ packages: '@types/lodash.omit@4.5.7': resolution: {integrity: sha512-6q6cNg0tQ6oTWjSM+BcYMBhan54P/gLqBldG4AuXd3nKr0oeVekWNS4VrNEu3BhCSDXtGapi7zjhnna0s03KpA==} + '@types/lodash.pick@4.4.9': + resolution: {integrity: sha512-hDpr96x9xHClwy1KX4/RXRejqjDFTEGbEMT3t6wYSYeFDzxmMnSKB/xHIbktRlPj8Nii2g8L5dtFDRaNFBEzUQ==} + '@types/lodash.throttle@4.1.7': resolution: {integrity: sha512-znwGDpjCHQ4FpLLx19w4OXDqq8+OvREa05H89obtSyXyOFKL3dDjCslsmfBz0T2FU8dmf5Wx1QvogbINiGIu9g==} @@ -2762,9 +2709,6 @@ packages: '@types/node@16.18.24': resolution: {integrity: sha512-zvSN2Esek1aeLdKDYuntKAYjti9Z2oT4I8bfkLLhIxHlv3dwZ5vvATxOc31820iYm4hQRCwjUgDpwSMFjfTUnw==} - '@types/node@18.15.13': - resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} - '@types/node@20.11.5': resolution: {integrity: sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==} @@ -3064,6 +3008,14 @@ packages: abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + abstract-leveldown@6.2.3: + resolution: {integrity: sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==} + engines: {node: '>=6'} + + abstract-leveldown@6.3.0: + resolution: {integrity: sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==} + engines: {node: '>=6'} + accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} @@ -3099,11 +3051,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} - engines: {node: '>=0.4.0'} - hasBin: true - address@1.2.2: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} engines: {node: '>= 10.0.0'} @@ -3481,11 +3428,6 @@ packages: browserify-zlib@0.1.4: resolution: {integrity: sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==} - browserslist@4.21.5: - resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - browserslist@4.22.2: resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -3553,9 +3495,6 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001481: - resolution: {integrity: sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==} - caniuse-lite@1.0.30001579: resolution: {integrity: sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==} @@ -4035,6 +3974,10 @@ packages: resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} engines: {node: '>= 10'} + deferred-leveldown@5.3.0: + resolution: {integrity: sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==} + engines: {node: '>=6'} + define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} @@ -4205,9 +4148,6 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.4.369: - resolution: {integrity: sha512-LfxbHXdA/S+qyoTEA4EbhxGjrxx7WK2h6yb5K2v0UCOufUKX+VZaHbl3svlzZfv9sGseym/g3Ne4DpsgRULmqg==} - electron-to-chromium@1.4.640: resolution: {integrity: sha512-z/6oZ/Muqk4BaE7P69bXhUhpJbUM9ZJeka43ZwxsDshKtePns4mhBlh8bU5+yrnOnz3fhG82XLzGUXazOmsWnA==} @@ -4237,6 +4177,10 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} + encoding-down@6.3.0: + resolution: {integrity: sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==} + engines: {node: '>=6'} + end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} @@ -4252,6 +4196,10 @@ packages: engines: {node: '>=4'} hasBin: true + errno@0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -5065,6 +5013,9 @@ packages: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} + immediate@3.3.0: + resolution: {integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==} + immer@9.0.21: resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} @@ -5328,6 +5279,9 @@ packages: isomorphic-unfetch@3.1.0: resolution: {integrity: sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==} + isomorphic.js@0.2.5: + resolution: {integrity: sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==} + istanbul-lib-coverage@3.2.0: resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} engines: {node: '>=8'} @@ -5773,6 +5727,45 @@ packages: resolution: {integrity: sha512-aXpZJRnTkpK6gQ/z4nk+ZBLd/Qdp118cvPruLSIQzQNRhKwEcdXCOzXuF55VDqIiuAaY3UGZ10DJtvZzDcvsxg==} engines: {node: '>=14.0.0'} + level-codec@9.0.2: + resolution: {integrity: sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==} + engines: {node: '>=6'} + + level-concat-iterator@2.0.1: + resolution: {integrity: sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==} + engines: {node: '>=6'} + + level-errors@2.0.1: + resolution: {integrity: sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==} + engines: {node: '>=6'} + + level-iterator-stream@4.0.2: + resolution: {integrity: sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==} + engines: {node: '>=6'} + + level-js@5.0.2: + resolution: {integrity: sha512-SnBIDo2pdO5VXh02ZmtAyPP6/+6YTJg2ibLtl9C34pWvmtMEmRTWpra+qO/hifkUtBTOtfx6S9vLDjBsBK4gRg==} + + level-packager@5.1.1: + resolution: {integrity: sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==} + engines: {node: '>=6'} + + level-supports@1.0.1: + resolution: {integrity: sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==} + engines: {node: '>=6'} + + level@6.0.1: + resolution: {integrity: sha512-psRSqJZCsC/irNhfHzrVZbmPYXDcEYhA5TVNwr+V92jF44rbf86hqGp8fiT702FyiArScYIlPSBTDUASCVNSpw==} + engines: {node: '>=8.6.0'} + + leveldown@5.6.0: + resolution: {integrity: sha512-iB8O/7Db9lPaITU1aA2txU/cBEXAt4vWwKQRrrWuS6XDgbP4QZGj9BL2aNbwb002atoQ/lIotJkfyzz+ygQnUQ==} + engines: {node: '>=8.6.0'} + + levelup@4.4.0: + resolution: {integrity: sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==} + engines: {node: '>=6'} + leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -5785,6 +5778,11 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lib0@0.2.94: + resolution: {integrity: sha512-hZ3p54jL4Wpu7IOg26uC7dnEWiMyNlUrb9KoG7+xYs45WkQwpVvKFndVq2+pqLYKe1u8Fp3+zAfZHVvTK34PvQ==} + engines: {node: '>=16'} + hasBin: true + lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} @@ -5870,6 +5868,9 @@ packages: lodash.omit@4.5.0: resolution: {integrity: sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==} + lodash.pick@4.4.0: + resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==} + lodash.snakecase@4.1.1: resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} @@ -5909,6 +5910,9 @@ packages: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} + ltgt@2.2.1: + resolution: {integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==} + lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true @@ -6103,16 +6107,14 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + napi-macros@2.0.0: + resolution: {integrity: sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==} + natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} @@ -6152,12 +6154,13 @@ packages: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} + node-gyp-build@4.1.1: + resolution: {integrity: sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==} + hasBin: true + node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - node-releases@2.0.10: - resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} - node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} @@ -6945,6 +6948,9 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + prr@1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} @@ -7951,8 +7957,8 @@ packages: esbuild: optional: true - ts-node@10.9.1: - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -8112,12 +8118,6 @@ packages: resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} engines: {node: '>=4'} - update-browserslist-db@1.0.11: - resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - update-browserslist-db@1.0.13: resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true @@ -8529,8 +8529,8 @@ packages: utf-8-validate: optional: true - ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + ws@8.17.1: + resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -8551,6 +8551,24 @@ packages: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} + y-leveldb@0.1.2: + resolution: {integrity: sha512-6ulEn5AXfXJYi89rXPEg2mMHAyyw8+ZfeMMdOtBbV8FJpQ1NOrcgi6DTAcXof0dap84NjHPT2+9d0rb6cFsjEg==} + peerDependencies: + yjs: ^13.0.0 + + y-protocols@1.0.6: + resolution: {integrity: sha512-vHRF2L6iT3rwj1jub/K5tYcTT/mEYDUppgNPXwp8fmLpui9f7Yeq3OEtTLVF012j39QnV+KEQpNqoN7CWU7Y9Q==} + engines: {node: '>=16.0.0', npm: '>=8.0.0'} + peerDependencies: + yjs: ^13.0.0 + + y-websocket@2.0.3: + resolution: {integrity: sha512-fWmz2EhmocEx5U8IzVV3rVcsbhRuZIwg9hsOVNfAtflii8BX68s1KNwop+h+vcJSjh+mvLeYMic7XIolVZ5mzQ==} + engines: {node: '>=16.0.0', npm: '>=8.0.0'} + hasBin: true + peerDependencies: + yjs: ^13.5.6 + y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -8588,6 +8606,10 @@ packages: yauzl@2.10.0: resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + yjs@13.6.17: + resolution: {integrity: sha512-ERnKXYZrZqgGO81Yqt3D69detaRUwaqhsQTZRKi9CDMgteDMund+KcLChfwpjQbva9YwfRgh7S914Pa6qPVVCA==} + engines: {node: '>=16.0.0', npm: '>=8.0.0'} + yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} @@ -8603,7 +8625,7 @@ snapshots: '@ampproject/remapping@2.2.1': dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.25 '@apideck/better-ajv-errors@0.3.6(ajv@8.12.0)': dependencies: @@ -8626,22 +8648,20 @@ snapshots: '@babel/highlight': 7.24.5 picocolors: 1.0.0 - '@babel/compat-data@7.21.4': {} - '@babel/compat-data@7.23.5': {} '@babel/core@7.21.4': dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.23.5 - '@babel/generator': 7.21.4 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) - '@babel/helper-module-transforms': 7.21.2 - '@babel/helpers': 7.21.0 - '@babel/parser': 7.21.4 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 + '@babel/generator': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.21.4) + '@babel/helpers': 7.23.8 + '@babel/parser': 7.23.6 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -8700,16 +8720,16 @@ snapshots: '@babel/generator@7.21.4': dependencies: - '@babel/types': 7.21.4 + '@babel/types': 7.23.6 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 '@babel/generator@7.23.6': dependencies: '@babel/types': 7.23.6 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 '@babel/generator@7.24.5': @@ -8721,30 +8741,12 @@ snapshots: '@babel/helper-annotate-as-pure@7.18.6': dependencies: - '@babel/types': 7.21.4 + '@babel/types': 7.23.6 '@babel/helper-builder-binary-assignment-operator-visitor@7.18.9': dependencies: '@babel/helper-explode-assignable-expression': 7.18.6 - '@babel/types': 7.21.4 - - '@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.4)': - dependencies: - '@babel/compat-data': 7.21.4 - '@babel/core': 7.21.4 - '@babel/helper-validator-option': 7.21.0 - browserslist: 4.21.5 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-compilation-targets@7.21.4(@babel/core@7.23.7)': - dependencies: - '@babel/compat-data': 7.21.4 - '@babel/core': 7.23.7 - '@babel/helper-validator-option': 7.21.0 - browserslist: 4.21.5 - lru-cache: 5.1.1 - semver: 6.3.1 + '@babel/types': 7.23.6 '@babel/helper-compilation-targets@7.23.6': dependencies: @@ -8758,13 +8760,13 @@ snapshots: dependencies: '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.21.0 '@babel/helper-optimise-call-expression': 7.18.6 '@babel/helper-replace-supers': 7.20.7 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-split-export-declaration': 7.22.6 transitivePeerDependencies: - supports-color @@ -8772,13 +8774,13 @@ snapshots: dependencies: '@babel/core': 7.23.7 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.21.0 '@babel/helper-optimise-call-expression': 7.18.6 '@babel/helper-replace-supers': 7.20.7 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-split-export-declaration': 7.22.6 transitivePeerDependencies: - supports-color @@ -8797,8 +8799,8 @@ snapshots: '@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 lodash.debounce: 4.0.8 resolve: 1.22.2 @@ -8809,8 +8811,8 @@ snapshots: '@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.23.7) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 lodash.debounce: 4.0.8 resolve: 1.22.2 @@ -8818,39 +8820,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-environment-visitor@7.18.9': {} - '@babel/helper-environment-visitor@7.22.20': {} '@babel/helper-explode-assignable-expression@7.18.6': dependencies: - '@babel/types': 7.21.4 - - '@babel/helper-function-name@7.21.0': - dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.21.4 + '@babel/types': 7.23.6 '@babel/helper-function-name@7.23.0': dependencies: '@babel/template': 7.22.15 '@babel/types': 7.23.6 - '@babel/helper-hoist-variables@7.18.6': - dependencies: - '@babel/types': 7.21.4 - '@babel/helper-hoist-variables@7.22.5': dependencies: '@babel/types': 7.23.6 '@babel/helper-member-expression-to-functions@7.21.0': dependencies: - '@babel/types': 7.21.4 - - '@babel/helper-module-imports@7.21.4': - dependencies: - '@babel/types': 7.21.4 + '@babel/types': 7.23.6 '@babel/helper-module-imports@7.22.15': dependencies: @@ -8860,18 +8847,14 @@ snapshots: dependencies: '@babel/types': 7.24.5 - '@babel/helper-module-transforms@7.21.2': + '@babel/helper-module-transforms@7.23.3(@babel/core@7.21.4)': dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-simple-access': 7.20.2 - '@babel/helper-split-export-declaration': 7.18.6 + '@babel/core': 7.21.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.20 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 - transitivePeerDependencies: - - supports-color '@babel/helper-module-transforms@7.23.3(@babel/core@7.23.7)': dependencies: @@ -8893,9 +8876,7 @@ snapshots: '@babel/helper-optimise-call-expression@7.18.6': dependencies: - '@babel/types': 7.21.4 - - '@babel/helper-plugin-utils@7.20.2': {} + '@babel/types': 7.23.6 '@babel/helper-plugin-utils@7.22.5': {} @@ -8903,9 +8884,9 @@ snapshots: dependencies: '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.20.5 - '@babel/types': 7.21.4 + '@babel/types': 7.23.6 transitivePeerDependencies: - supports-color @@ -8913,27 +8894,23 @@ snapshots: dependencies: '@babel/core': 7.23.7 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.20.5 - '@babel/types': 7.21.4 + '@babel/types': 7.23.6 transitivePeerDependencies: - supports-color '@babel/helper-replace-supers@7.20.7': dependencies: - '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.21.0 '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 transitivePeerDependencies: - supports-color - '@babel/helper-simple-access@7.20.2': - dependencies: - '@babel/types': 7.21.4 - '@babel/helper-simple-access@7.22.5': dependencies: '@babel/types': 7.23.6 @@ -8944,11 +8921,7 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers@7.20.0': dependencies: - '@babel/types': 7.21.4 - - '@babel/helper-split-export-declaration@7.18.6': - dependencies: - '@babel/types': 7.21.4 + '@babel/types': 7.23.6 '@babel/helper-split-export-declaration@7.22.6': dependencies: @@ -8958,8 +8931,6 @@ snapshots: dependencies: '@babel/types': 7.24.5 - '@babel/helper-string-parser@7.19.4': {} - '@babel/helper-string-parser@7.23.4': {} '@babel/helper-string-parser@7.24.1': {} @@ -8968,24 +8939,14 @@ snapshots: '@babel/helper-validator-identifier@7.24.5': {} - '@babel/helper-validator-option@7.21.0': {} - '@babel/helper-validator-option@7.23.5': {} '@babel/helper-wrap-function@7.20.5': dependencies: - '@babel/helper-function-name': 7.21.0 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.21.0': - dependencies: - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 + '@babel/helper-function-name': 7.23.0 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 transitivePeerDependencies: - supports-color @@ -9020,7 +8981,7 @@ snapshots: '@babel/parser@7.21.4': dependencies: - '@babel/types': 7.21.4 + '@babel/types': 7.23.6 '@babel/parser@7.23.6': dependencies: @@ -9033,32 +8994,32 @@ snapshots: '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.4) '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.23.7) '@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.4) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) transitivePeerDependencies: @@ -9067,8 +9028,8 @@ snapshots: '@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.23.7) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7) transitivePeerDependencies: @@ -9078,7 +9039,7 @@ snapshots: dependencies: '@babel/core': 7.21.4 '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 transitivePeerDependencies: - supports-color @@ -9086,7 +9047,7 @@ snapshots: dependencies: '@babel/core': 7.23.7 '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.23.7) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 transitivePeerDependencies: - supports-color @@ -9094,7 +9055,7 @@ snapshots: dependencies: '@babel/core': 7.21.4 '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.4) transitivePeerDependencies: - supports-color @@ -9103,7 +9064,7 @@ snapshots: dependencies: '@babel/core': 7.23.7 '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.23.7) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.7) transitivePeerDependencies: - supports-color @@ -9112,9 +9073,9 @@ snapshots: dependencies: '@babel/core': 7.23.7 '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.23.7) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-replace-supers': 7.20.7 - '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-split-export-declaration': 7.22.6 '@babel/plugin-syntax-decorators': 7.21.0(@babel/core@7.23.7) transitivePeerDependencies: - supports-color @@ -9122,116 +9083,116 @@ snapshots: '@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.4) '@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7) '@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.4) '@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.7) '@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4) '@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7) '@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4) '@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7) '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7) '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4) '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7) '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.21.4)': dependencies: - '@babel/compat-data': 7.21.4 + '@babel/compat-data': 7.23.5 '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.4) '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.23.7)': dependencies: - '@babel/compat-data': 7.21.4 + '@babel/compat-data': 7.23.5 '@babel/core': 7.23.7 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.23.7) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7) '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.23.7) '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7) '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) @@ -9239,7 +9200,7 @@ snapshots: dependencies: '@babel/core': 7.21.4 '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 transitivePeerDependencies: - supports-color @@ -9247,7 +9208,7 @@ snapshots: dependencies: '@babel/core': 7.23.7 '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.23.7) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 transitivePeerDependencies: - supports-color @@ -9256,7 +9217,7 @@ snapshots: '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.4) transitivePeerDependencies: - supports-color @@ -9266,7 +9227,7 @@ snapshots: '@babel/core': 7.23.7 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.23.7) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.7) transitivePeerDependencies: - supports-color @@ -9275,234 +9236,214 @@ snapshots: dependencies: '@babel/core': 7.21.4 '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.23.7) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-decorators@7.21.0(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-flow@7.21.4(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-flow@7.21.4(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-jsx@7.21.4(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-jsx@7.21.4(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-typescript@7.21.4(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-typescript@7.21.4(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-arrow-functions@7.20.7(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-arrow-functions@7.20.7(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.4) transitivePeerDependencies: - supports-color @@ -9510,8 +9451,8 @@ snapshots: '@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.23.7) transitivePeerDependencies: - supports-color @@ -9519,34 +9460,34 @@ snapshots: '@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-classes@7.21.0(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-replace-supers': 7.20.7 - '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -9555,13 +9496,13 @@ snapshots: dependencies: '@babel/core': 7.23.7 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.23.7) - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-replace-supers': 7.20.7 - '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -9569,211 +9510,189 @@ snapshots: '@babel/plugin-transform-computed-properties@7.20.7(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/template': 7.20.7 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/template': 7.22.15 '@babel/plugin-transform-computed-properties@7.20.7(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/template': 7.20.7 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/template': 7.22.15 '@babel/plugin-transform-destructuring@7.21.3(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-destructuring@7.21.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.23.7) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-flow-strip-types@7.21.0(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-flow': 7.21.4(@babel/core@7.21.4) + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-flow-strip-types@7.21.0(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-flow': 7.21.4(@babel/core@7.23.7) '@babel/plugin-transform-for-of@7.21.0(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-for-of@7.21.0(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-function-name@7.18.9(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) - '@babel/helper-function-name': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-function-name@7.18.9(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.23.7) - '@babel/helper-function-name': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-literals@7.18.9(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-literals@7.18.9(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.21.4) + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-modules-commonjs@7.21.2(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-simple-access': 7.20.2 - transitivePeerDependencies: - - supports-color + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.21.4) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 '@babel/plugin-transform-modules-commonjs@7.21.2(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-simple-access': 7.20.2 - transitivePeerDependencies: - - supports-color + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 '@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.21.4) + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-identifier': 7.22.20 - transitivePeerDependencies: - - supports-color '@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-identifier': 7.22.20 - transitivePeerDependencies: - - supports-color '@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.21.4) + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.23.7) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-new-target@7.18.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-new-target@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-object-super@7.18.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-replace-supers': 7.20.7 transitivePeerDependencies: - supports-color @@ -9781,7 +9700,7 @@ snapshots: '@babel/plugin-transform-object-super@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-replace-supers': 7.20.7 transitivePeerDependencies: - supports-color @@ -9789,52 +9708,52 @@ snapshots: '@babel/plugin-transform-parameters@7.21.3(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-parameters@7.21.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-react-constant-elements@7.21.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-react-display-name@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-react-jsx-development@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.23.7) - '@babel/plugin-transform-react-jsx-self@7.21.0(@babel/core@7.21.4)': + '@babel/plugin-transform-react-jsx-self@7.21.0(@babel/core@7.23.7)': dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-react-jsx-source@7.19.6(@babel/core@7.21.4)': + '@babel/plugin-transform-react-jsx-source@7.19.6(@babel/core@7.23.7)': dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.7)': dependencies: @@ -9845,53 +9764,53 @@ snapshots: dependencies: '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.4) - '@babel/types': 7.21.4 + '@babel/types': 7.23.6 '@babel/plugin-transform-react-jsx@7.21.0(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.23.7) - '@babel/types': 7.21.4 + '@babel/types': 7.23.6 '@babel/plugin-transform-react-pure-annotations@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.1 '@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.1 '@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-runtime@7.21.4(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.23.7) babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.23.7) babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.23.7) @@ -9902,71 +9821,61 @@ snapshots: '@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-spread@7.20.7(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 '@babel/plugin-transform-spread@7.20.7(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 '@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-typescript@7.21.3(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.21.4) - transitivePeerDependencies: - - supports-color + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-typescript@7.21.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.23.7) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.23.7) transitivePeerDependencies: - supports-color @@ -9974,32 +9883,32 @@ snapshots: '@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.23.7) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/preset-env@7.21.4(@babel/core@7.21.4)': dependencies: - '@babel/compat-data': 7.21.4 + '@babel/compat-data': 7.23.5 '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-option': 7.21.0 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.23.5 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.21.4) '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.21.4) '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.21.4) @@ -10065,7 +9974,7 @@ snapshots: '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.21.4) '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.21.4) '@babel/preset-modules': 0.1.5(@babel/core@7.21.4) - '@babel/types': 7.21.4 + '@babel/types': 7.23.6 babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.4) babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.4) babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.4) @@ -10076,11 +9985,11 @@ snapshots: '@babel/preset-env@7.21.4(@babel/core@7.23.7)': dependencies: - '@babel/compat-data': 7.21.4 + '@babel/compat-data': 7.23.5 '@babel/core': 7.23.7 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.23.7) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-option': 7.21.0 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.23.5 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.23.7) '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.23.7) '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.23.7) @@ -10146,7 +10055,7 @@ snapshots: '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.23.7) '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.23.7) '@babel/preset-modules': 0.1.5(@babel/core@7.23.7) - '@babel/types': 7.21.4 + '@babel/types': 7.23.6 babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.23.7) babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.23.7) babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.23.7) @@ -10155,66 +10064,55 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/preset-flow@7.21.4(@babel/core@7.21.4)': + '@babel/preset-flow@7.21.4(@babel/core@7.23.7)': dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-transform-flow-strip-types': 7.21.0(@babel/core@7.21.4) + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-transform-flow-strip-types': 7.21.0(@babel/core@7.23.7) '@babel/preset-modules@0.1.5(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.4) '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.4) - '@babel/types': 7.21.4 + '@babel/types': 7.23.6 esutils: 2.0.3 '@babel/preset-modules@0.1.5(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.23.7) '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.23.7) - '@babel/types': 7.21.4 + '@babel/types': 7.23.6 esutils: 2.0.3 '@babel/preset-react@7.18.6(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-option': 7.21.0 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.23.5 '@babel/plugin-transform-react-display-name': 7.18.6(@babel/core@7.23.7) '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.23.7) '@babel/plugin-transform-react-jsx-development': 7.18.6(@babel/core@7.23.7) '@babel/plugin-transform-react-pure-annotations': 7.18.6(@babel/core@7.23.7) - '@babel/preset-typescript@7.21.4(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.4) - '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.21.4) - '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.21.4) - transitivePeerDependencies: - - supports-color - '@babel/preset-typescript@7.21.4(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-option': 7.21.0 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.23.5 '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.23.7) '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.23.7) '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.23.7) transitivePeerDependencies: - supports-color - '@babel/register@7.21.0(@babel/core@7.21.4)': + '@babel/register@7.21.0(@babel/core@7.23.7)': dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.23.7 clone-deep: 4.0.1 find-cache-dir: 2.1.0 make-dir: 2.1.0 @@ -10227,12 +10125,6 @@ snapshots: dependencies: regenerator-runtime: 0.13.11 - '@babel/template@7.20.7': - dependencies: - '@babel/code-frame': 7.23.5 - '@babel/parser': 7.21.4 - '@babel/types': 7.21.4 - '@babel/template@7.22.15': dependencies: '@babel/code-frame': 7.23.5 @@ -10248,13 +10140,13 @@ snapshots: '@babel/traverse@7.21.4': dependencies: '@babel/code-frame': 7.23.5 - '@babel/generator': 7.21.4 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.21.4 - '@babel/types': 7.21.4 + '@babel/generator': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: @@ -10292,7 +10184,7 @@ snapshots: '@babel/types@7.21.4': dependencies: - '@babel/helper-string-parser': 7.19.4 + '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 @@ -10374,15 +10266,15 @@ snapshots: '@commitlint/execute-rule': 17.4.0 '@commitlint/resolve-extends': 17.4.4 '@commitlint/types': 17.4.4 - '@types/node': 18.15.13 + '@types/node': 20.11.5 chalk: 4.1.2 cosmiconfig: 8.1.3 - cosmiconfig-typescript-loader: 4.3.0(@types/node@18.15.13)(cosmiconfig@8.1.3)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@18.15.13)(typescript@5.2.2))(typescript@5.2.2) + cosmiconfig-typescript-loader: 4.3.0(@types/node@20.11.5)(cosmiconfig@8.1.3)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2))(typescript@5.2.2) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 resolve-from: 5.0.0 - ts-node: 10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2) + ts-node: 10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - '@swc/core' @@ -10835,7 +10727,7 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@27.5.1(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3))': + '@jest/core@27.5.1(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3))': dependencies: '@jest/console': 27.5.1 '@jest/reporters': 27.5.1 @@ -10849,7 +10741,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 27.5.1 - jest-config: 27.5.1(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) + jest-config: 27.5.1(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) jest-haste-map: 27.5.1 jest-message-util: 27.5.1 jest-regex-util: 27.5.1 @@ -10872,7 +10764,7 @@ snapshots: - ts-node - utf-8-validate - '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@18.15.13)(typescript@5.2.2))': + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -10886,7 +10778,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@18.15.13)(typescript@5.2.2)) + jest-config: 29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -11002,7 +10894,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.25 '@types/node': 20.11.5 chalk: 4.1.2 collect-v8-coverage: 1.0.1 @@ -11044,7 +10936,7 @@ snapshots: '@jest/source-map@29.6.3': dependencies: - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.25 callsites: 3.1.0 graceful-fs: 4.2.11 @@ -11087,7 +10979,7 @@ snapshots: '@jest/transform@27.5.1': dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.23.7 '@jest/types': 27.5.1 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 @@ -11107,9 +10999,9 @@ snapshots: '@jest/transform@29.5.0': dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.23.7 '@jest/types': 29.5.0 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 2.0.0 @@ -11129,7 +11021,7 @@ snapshots: dependencies: '@babel/core': 7.23.7 '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 2.0.0 @@ -11199,7 +11091,7 @@ snapshots: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/gen-mapping@0.3.5': dependencies: @@ -11207,8 +11099,6 @@ snapshots: '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 - '@jridgewell/resolve-uri@3.1.0': {} - '@jridgewell/resolve-uri@3.1.1': {} '@jridgewell/set-array@1.1.2': {} @@ -11218,17 +11108,10 @@ snapshots: '@jridgewell/source-map@0.3.3': dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 - - '@jridgewell/sourcemap-codec@1.4.14': {} + '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/sourcemap-codec@1.4.15': {} - '@jridgewell/trace-mapping@0.3.18': - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.1 @@ -11288,10 +11171,10 @@ snapshots: type-fest: 2.19.0 webpack-dev-server: 4.13.3(webpack@5.80.0(@swc/core@1.3.53)(esbuild@0.17.18)) - '@rollup/plugin-babel@5.3.1(@babel/core@7.21.4)(@types/babel__core@7.20.5)(rollup@2.79.1)': + '@rollup/plugin-babel@5.3.1(@babel/core@7.23.7)(@types/babel__core@7.20.5)(rollup@2.79.1)': dependencies: - '@babel/core': 7.21.4 - '@babel/helper-module-imports': 7.21.4 + '@babel/core': 7.23.7 + '@babel/helper-module-imports': 7.22.15 '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 optionalDependencies: @@ -11705,8 +11588,8 @@ snapshots: '@storybook/cli@7.0.6': dependencies: - '@babel/core': 7.21.4 - '@babel/preset-env': 7.21.4(@babel/core@7.21.4) + '@babel/core': 7.23.7 + '@babel/preset-env': 7.21.4(@babel/core@7.23.7) '@ndelangen/get-tarball': 3.0.7 '@storybook/codemod': 7.0.6 '@storybook/core-common': 7.0.6 @@ -11730,7 +11613,7 @@ snapshots: get-port: 5.1.1 giget: 1.1.2 globby: 11.1.0 - jscodeshift: 0.14.0(@babel/preset-env@7.21.4(@babel/core@7.21.4)) + jscodeshift: 0.14.0(@babel/preset-env@7.21.4(@babel/core@7.23.7)) leven: 3.1.0 prettier: 2.8.7 prompts: 2.4.2 @@ -11858,7 +11741,7 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 watchpack: 2.4.0 - ws: 8.13.0 + ws: 8.17.1 transitivePeerDependencies: - bufferutil - encoding @@ -11898,7 +11781,7 @@ snapshots: '@storybook/docs-tools@7.0.6': dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.23.7 '@storybook/core-common': 7.0.6 '@storybook/preview-api': 7.0.6 '@storybook/types': 7.0.6 @@ -12042,7 +11925,7 @@ snapshots: fetch-retry: 5.0.4 fs-extra: 11.1.1 isomorphic-unfetch: 3.1.0 - nanoid: 3.3.6 + nanoid: 3.3.7 read-pkg-up: 7.0.1 transitivePeerDependencies: - encoding @@ -12116,11 +11999,11 @@ snapshots: '@svgr/hast-util-to-babel-ast@5.5.0': dependencies: - '@babel/types': 7.21.4 + '@babel/types': 7.23.6 '@svgr/plugin-jsx@5.5.0': dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.23.7 '@svgr/babel-preset': 5.5.0 '@svgr/hast-util-to-babel-ast': 5.5.0 svg-parser: 2.0.4 @@ -12221,32 +12104,32 @@ snapshots: '@types/babel__core@7.20.0': dependencies: - '@babel/parser': 7.21.4 - '@babel/types': 7.21.4 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.18.3 '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.21.4 - '@babel/types': 7.21.4 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.18.3 '@types/babel__generator@7.6.4': dependencies: - '@babel/types': 7.21.4 + '@babel/types': 7.23.6 '@types/babel__template@7.4.1': dependencies: - '@babel/parser': 7.21.4 - '@babel/types': 7.21.4 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 '@types/babel__traverse@7.18.3': dependencies: - '@babel/types': 7.21.4 + '@babel/types': 7.23.6 '@types/bezier-js@4.1.3': {} @@ -12312,12 +12195,12 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.15.13 + '@types/node': 20.11.5 '@types/glob@8.1.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.15.13 + '@types/node': 20.11.5 '@types/graceful-fs@4.1.6': dependencies: @@ -12373,6 +12256,10 @@ snapshots: dependencies: '@types/lodash': 4.14.194 + '@types/lodash.pick@4.4.9': + dependencies: + '@types/lodash': 4.14.194 + '@types/lodash.throttle@4.1.7': dependencies: '@types/lodash': 4.14.194 @@ -12396,8 +12283,6 @@ snapshots: '@types/node@16.18.24': {} - '@types/node@18.15.13': {} - '@types/node@20.11.5': dependencies: undici-types: 5.26.5 @@ -12760,9 +12645,9 @@ snapshots: '@vitejs/plugin-react@3.1.0(vite@4.3.1(@types/node@20.11.5)(sass@1.62.0)(terser@5.17.1))': dependencies: - '@babel/core': 7.21.4 - '@babel/plugin-transform-react-jsx-self': 7.21.0(@babel/core@7.21.4) - '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.21.4) + '@babel/core': 7.23.7 + '@babel/plugin-transform-react-jsx-self': 7.21.0(@babel/core@7.23.7) + '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.23.7) magic-string: 0.27.0 react-refresh: 0.14.0 vite: 4.3.1(@types/node@20.11.5)(sass@1.62.0)(terser@5.17.1) @@ -12872,6 +12757,24 @@ snapshots: abab@2.0.6: {} + abstract-leveldown@6.2.3: + dependencies: + buffer: 5.7.1 + immediate: 3.3.0 + level-concat-iterator: 2.0.1 + level-supports: 1.0.1 + xtend: 4.0.2 + optional: true + + abstract-leveldown@6.3.0: + dependencies: + buffer: 5.7.1 + immediate: 3.3.0 + level-concat-iterator: 2.0.1 + level-supports: 1.0.1 + xtend: 4.0.2 + optional: true + accepts@1.3.8: dependencies: mime-types: 2.1.35 @@ -12894,10 +12797,6 @@ snapshots: dependencies: acorn: 8.11.3 - acorn-jsx@5.3.2(acorn@8.8.2): - dependencies: - acorn: 8.8.2 - acorn-walk@7.2.0: {} acorn-walk@8.2.0: {} @@ -12906,8 +12805,6 @@ snapshots: acorn@8.11.3: {} - acorn@8.8.2: {} - address@1.2.2: {} adjust-sourcemap-loader@4.0.0: @@ -13119,8 +13016,8 @@ snapshots: autoprefixer@10.4.14(postcss@8.4.33): dependencies: - browserslist: 4.21.5 - caniuse-lite: 1.0.30001481 + browserslist: 4.22.2 + caniuse-lite: 1.0.30001579 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -13135,23 +13032,9 @@ snapshots: dependencies: deep-equal: 2.2.0 - babel-core@7.0.0-bridge.0(@babel/core@7.21.4): - dependencies: - '@babel/core': 7.21.4 - - babel-jest@27.5.1(@babel/core@7.21.4): + babel-core@7.0.0-bridge.0(@babel/core@7.23.7): dependencies: - '@babel/core': 7.21.4 - '@jest/transform': 27.5.1 - '@jest/types': 27.5.1 - '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 27.5.1(@babel/core@7.21.4) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.23.7 babel-jest@27.5.1(@babel/core@7.23.7): dependencies: @@ -13191,7 +13074,7 @@ snapshots: babel-plugin-istanbul@6.1.1: dependencies: - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -13201,9 +13084,9 @@ snapshots: babel-plugin-jest-hoist@27.5.1: dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.21.4 - '@types/babel__core': 7.20.0 + '@babel/template': 7.22.15 + '@babel/types': 7.23.6 + '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.18.3 babel-plugin-jest-hoist@29.6.3: @@ -13225,7 +13108,7 @@ snapshots: babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.4): dependencies: - '@babel/compat-data': 7.21.4 + '@babel/compat-data': 7.23.5 '@babel/core': 7.21.4 '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) semver: 6.3.1 @@ -13234,7 +13117,7 @@ snapshots: babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.23.7): dependencies: - '@babel/compat-data': 7.21.4 + '@babel/compat-data': 7.23.5 '@babel/core': 7.23.7 '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.23.7) semver: 6.3.1 @@ -13273,22 +13156,6 @@ snapshots: babel-plugin-transform-react-remove-prop-types@0.4.24: {} - babel-preset-current-node-syntax@1.0.1(@babel/core@7.21.4): - dependencies: - '@babel/core': 7.21.4 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.4) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.4) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.4) - babel-preset-current-node-syntax@1.0.1(@babel/core@7.23.7): dependencies: '@babel/core': 7.23.7 @@ -13305,12 +13172,6 @@ snapshots: '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.7) - babel-preset-jest@27.5.1(@babel/core@7.21.4): - dependencies: - '@babel/core': 7.21.4 - babel-plugin-jest-hoist: 27.5.1 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.4) - babel-preset-jest@27.5.1(@babel/core@7.23.7): dependencies: '@babel/core': 7.23.7 @@ -13440,13 +13301,6 @@ snapshots: dependencies: pako: 0.2.9 - browserslist@4.21.5: - dependencies: - caniuse-lite: 1.0.30001481 - electron-to-chromium: 1.4.369 - node-releases: 2.0.10 - update-browserslist-db: 1.0.11(browserslist@4.21.5) - browserslist@4.22.2: dependencies: caniuse-lite: 1.0.30001579 @@ -13518,13 +13372,11 @@ snapshots: caniuse-api@3.0.0: dependencies: - browserslist: 4.21.5 - caniuse-lite: 1.0.30001481 + browserslist: 4.22.2 + caniuse-lite: 1.0.30001579 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001481: {} - caniuse-lite@1.0.30001579: {} case-sensitive-paths-webpack-plugin@2.4.0: {} @@ -13740,7 +13592,7 @@ snapshots: core-js-compat@3.30.1: dependencies: - browserslist: 4.21.5 + browserslist: 4.22.2 core-js-pure@3.30.1: {} @@ -13748,11 +13600,11 @@ snapshots: core-util-is@1.0.3: {} - cosmiconfig-typescript-loader@4.3.0(@types/node@18.15.13)(cosmiconfig@8.1.3)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@18.15.13)(typescript@5.2.2))(typescript@5.2.2): + cosmiconfig-typescript-loader@4.3.0(@types/node@20.11.5)(cosmiconfig@8.1.3)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2))(typescript@5.2.2): dependencies: - '@types/node': 18.15.13 + '@types/node': 20.11.5 cosmiconfig: 8.1.3 - ts-node: 10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2) + ts-node: 10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2) typescript: 5.2.2 cosmiconfig@6.0.0: @@ -13778,13 +13630,13 @@ snapshots: parse-json: 5.2.0 path-type: 4.0.0 - create-jest@29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@18.15.13)(typescript@5.2.2)): + create-jest@29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@18.15.13)(typescript@5.2.2)) + jest-config: 29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -14018,6 +13870,12 @@ snapshots: dependencies: execa: 5.1.1 + deferred-leveldown@5.3.0: + dependencies: + abstract-leveldown: 6.2.3 + inherits: 2.0.4 + optional: true + define-lazy-prop@2.0.0: {} define-properties@1.2.0: @@ -14176,8 +14034,6 @@ snapshots: dependencies: jake: 10.8.5 - electron-to-chromium@1.4.369: {} - electron-to-chromium@1.4.640: {} emittery@0.10.2: {} @@ -14194,6 +14050,14 @@ snapshots: encodeurl@1.0.2: {} + encoding-down@6.3.0: + dependencies: + abstract-leveldown: 6.3.0 + inherits: 2.0.4 + level-codec: 9.0.2 + level-errors: 2.0.1 + optional: true + end-of-stream@1.4.4: dependencies: once: 1.4.0 @@ -14207,6 +14071,11 @@ snapshots: envinfo@7.8.1: {} + errno@0.1.8: + dependencies: + prr: 1.0.1 + optional: true + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -14377,7 +14246,7 @@ snapshots: dependencies: eslint: 8.39.0 - eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.21.4(@babel/core@7.23.7))(@babel/plugin-transform-react-jsx@7.21.0(@babel/core@7.23.7))(eslint@8.55.0)(jest@27.5.1(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)))(typescript@5.3.3): + eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.21.4(@babel/core@7.23.7))(@babel/plugin-transform-react-jsx@7.21.0(@babel/core@7.23.7))(eslint@8.55.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)))(typescript@5.3.3): dependencies: '@babel/core': 7.23.7 '@babel/eslint-parser': 7.21.3(@babel/core@7.23.7)(eslint@8.55.0) @@ -14389,7 +14258,7 @@ snapshots: eslint: 8.55.0 eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.21.4(@babel/core@7.23.7))(@babel/plugin-transform-react-jsx@7.21.0(@babel/core@7.23.7))(eslint@8.55.0) eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.0(eslint@8.55.0)(typescript@5.3.3))(eslint@8.55.0) - eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@8.55.0)(typescript@5.3.3))(eslint@8.55.0)(typescript@5.3.3))(eslint@8.55.0)(jest@27.5.1(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)))(typescript@5.3.3) + eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@8.55.0)(typescript@5.3.3))(eslint@8.55.0)(typescript@5.3.3))(eslint@8.55.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)))(typescript@5.3.3) eslint-plugin-jsx-a11y: 6.7.1(eslint@8.55.0) eslint-plugin-react: 7.32.2(eslint@8.55.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.55.0) @@ -14455,13 +14324,13 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@8.55.0)(typescript@5.3.3))(eslint@8.55.0)(typescript@5.3.3))(eslint@8.55.0)(jest@27.5.1(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)))(typescript@5.3.3): + eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@8.55.0)(typescript@5.3.3))(eslint@8.55.0)(typescript@5.3.3))(eslint@8.55.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)))(typescript@5.3.3): dependencies: '@typescript-eslint/experimental-utils': 5.59.0(eslint@8.55.0)(typescript@5.3.3) eslint: 8.55.0 optionalDependencies: '@typescript-eslint/eslint-plugin': 5.59.0(@typescript-eslint/parser@5.59.0(eslint@8.55.0)(typescript@5.3.3))(eslint@8.55.0)(typescript@5.3.3) - jest: 27.5.1(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) + jest: 27.5.1(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) transitivePeerDependencies: - supports-color - typescript @@ -14684,8 +14553,8 @@ snapshots: espree@9.5.1: dependencies: - acorn: 8.8.2 - acorn-jsx: 5.3.2(acorn@8.8.2) + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.0 espree@9.6.1: @@ -14710,8 +14579,8 @@ snapshots: estree-to-babel@3.2.1: dependencies: - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 c8: 7.13.0 transitivePeerDependencies: - supports-color @@ -15356,6 +15225,9 @@ snapshots: ignore@5.2.4: {} + immediate@3.3.0: + optional: true + immer@9.0.21: {} immutable@4.3.0: {} @@ -15576,12 +15448,14 @@ snapshots: transitivePeerDependencies: - encoding + isomorphic.js@0.2.5: {} + istanbul-lib-coverage@3.2.0: {} istanbul-lib-instrument@5.2.1: dependencies: - '@babel/core': 7.21.4 - '@babel/parser': 7.21.4 + '@babel/core': 7.23.7 + '@babel/parser': 7.23.6 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.1 @@ -15686,16 +15560,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@27.5.1(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)): + jest-cli@27.5.1(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)): dependencies: - '@jest/core': 27.5.1(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) + '@jest/core': 27.5.1(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 import-local: 3.1.0 - jest-config: 27.5.1(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) + jest-config: 27.5.1(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) jest-util: 27.5.1 jest-validate: 27.5.1 prompts: 2.4.2 @@ -15707,16 +15581,16 @@ snapshots: - ts-node - utf-8-validate - jest-cli@29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@18.15.13)(typescript@5.2.2)): + jest-cli@29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@18.15.13)(typescript@5.2.2)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@18.15.13)(typescript@5.2.2)) + create-jest: 29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@18.15.13)(typescript@5.2.2)) + jest-config: 29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.1 @@ -15726,12 +15600,12 @@ snapshots: - supports-color - ts-node - jest-config@27.5.1(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)): + jest-config@27.5.1(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)): dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.23.7 '@jest/test-sequencer': 27.5.1 '@jest/types': 27.5.1 - babel-jest: 27.5.1(@babel/core@7.21.4) + babel-jest: 27.5.1(@babel/core@7.23.7) chalk: 4.1.2 ci-info: 3.8.0 deepmerge: 4.3.1 @@ -15753,14 +15627,14 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - ts-node: 10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3) + ts-node: 10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3) transitivePeerDependencies: - bufferutil - canvas - supports-color - utf-8-validate - jest-config@29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@18.15.13)(typescript@5.2.2)): + jest-config@29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2)): dependencies: '@babel/core': 7.23.7 '@jest/test-sequencer': 29.7.0 @@ -15786,7 +15660,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.11.5 - ts-node: 10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2) + ts-node: 10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -16000,7 +15874,7 @@ snapshots: jest-mock@27.5.1: dependencies: '@jest/types': 27.5.1 - '@types/node': 18.15.13 + '@types/node': 20.11.5 jest-mock@29.7.0: dependencies: @@ -16180,16 +16054,16 @@ snapshots: jest-snapshot@27.5.1: dependencies: - '@babel/core': 7.21.4 - '@babel/generator': 7.21.4 - '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.21.4) - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 + '@babel/core': 7.23.7 + '@babel/generator': 7.23.6 + '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.23.7) + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 '@types/babel__traverse': 7.18.3 '@types/prettier': 2.7.2 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.4) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.7) chalk: 4.1.2 expect: 27.5.1 graceful-fs: 4.2.11 @@ -16284,11 +16158,11 @@ snapshots: leven: 3.1.0 pretty-format: 29.7.0 - jest-watch-typeahead@1.1.0(jest@27.5.1(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3))): + jest-watch-typeahead@1.1.0(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3))): dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 - jest: 27.5.1(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) + jest: 27.5.1(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) jest-regex-util: 28.0.2 jest-watcher: 28.1.3 slash: 4.0.0 @@ -16359,11 +16233,11 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@27.5.1(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)): + jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)): dependencies: - '@jest/core': 27.5.1(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) + '@jest/core': 27.5.1(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) import-local: 3.1.0 - jest-cli: 27.5.1(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) + jest-cli: 27.5.1(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) transitivePeerDependencies: - bufferutil - canvas @@ -16371,12 +16245,12 @@ snapshots: - ts-node - utf-8-validate - jest@29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@18.15.13)(typescript@5.2.2)): + jest@29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@18.15.13)(typescript@5.2.2)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@18.15.13)(typescript@5.2.2)) + jest-cli: 29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -16402,17 +16276,42 @@ snapshots: jscodeshift@0.14.0(@babel/preset-env@7.21.4(@babel/core@7.21.4)): dependencies: - '@babel/core': 7.21.4 - '@babel/parser': 7.21.4 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.4) - '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.21.4) + '@babel/core': 7.23.7 + '@babel/parser': 7.23.6 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.23.7) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.23.7) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.23.7) + '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.23.7) '@babel/preset-env': 7.21.4(@babel/core@7.21.4) - '@babel/preset-flow': 7.21.4(@babel/core@7.21.4) - '@babel/preset-typescript': 7.21.4(@babel/core@7.21.4) - '@babel/register': 7.21.0(@babel/core@7.21.4) - babel-core: 7.0.0-bridge.0(@babel/core@7.21.4) + '@babel/preset-flow': 7.21.4(@babel/core@7.23.7) + '@babel/preset-typescript': 7.21.4(@babel/core@7.23.7) + '@babel/register': 7.21.0(@babel/core@7.23.7) + babel-core: 7.0.0-bridge.0(@babel/core@7.23.7) + chalk: 4.1.2 + flow-parser: 0.204.0 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + neo-async: 2.6.2 + node-dir: 0.1.17 + recast: 0.21.5 + temp: 0.8.4 + write-file-atomic: 2.4.3 + transitivePeerDependencies: + - supports-color + + jscodeshift@0.14.0(@babel/preset-env@7.21.4(@babel/core@7.23.7)): + dependencies: + '@babel/core': 7.23.7 + '@babel/parser': 7.23.6 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.23.7) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.23.7) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.23.7) + '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.23.7) + '@babel/preset-env': 7.21.4(@babel/core@7.23.7) + '@babel/preset-flow': 7.21.4(@babel/core@7.23.7) + '@babel/preset-typescript': 7.21.4(@babel/core@7.23.7) + '@babel/register': 7.21.0(@babel/core@7.23.7) + babel-core: 7.0.0-bridge.0(@babel/core@7.23.7) chalk: 4.1.2 flow-parser: 0.204.0 graceful-fs: 4.2.11 @@ -16428,7 +16327,7 @@ snapshots: jsdom@16.7.0: dependencies: abab: 2.0.6 - acorn: 8.8.2 + acorn: 8.11.3 acorn-globals: 6.0.0 cssom: 0.4.4 cssstyle: 2.3.0 @@ -16519,6 +16418,68 @@ snapshots: dotenv: 16.0.3 dotenv-expand: 10.0.0 + level-codec@9.0.2: + dependencies: + buffer: 5.7.1 + optional: true + + level-concat-iterator@2.0.1: + optional: true + + level-errors@2.0.1: + dependencies: + errno: 0.1.8 + optional: true + + level-iterator-stream@4.0.2: + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + xtend: 4.0.2 + optional: true + + level-js@5.0.2: + dependencies: + abstract-leveldown: 6.2.3 + buffer: 5.7.1 + inherits: 2.0.4 + ltgt: 2.2.1 + optional: true + + level-packager@5.1.1: + dependencies: + encoding-down: 6.3.0 + levelup: 4.4.0 + optional: true + + level-supports@1.0.1: + dependencies: + xtend: 4.0.2 + optional: true + + level@6.0.1: + dependencies: + level-js: 5.0.2 + level-packager: 5.1.1 + leveldown: 5.6.0 + optional: true + + leveldown@5.6.0: + dependencies: + abstract-leveldown: 6.2.3 + napi-macros: 2.0.0 + node-gyp-build: 4.1.1 + optional: true + + levelup@4.4.0: + dependencies: + deferred-leveldown: 5.3.0 + level-errors: 2.0.1 + level-iterator-stream: 4.0.2 + level-supports: 1.0.1 + xtend: 4.0.2 + optional: true + leven@3.1.0: {} levn@0.3.0: @@ -16531,6 +16492,10 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lib0@0.2.94: + dependencies: + isomorphic.js: 0.2.5 + lilconfig@2.1.0: {} lines-and-columns@1.2.4: {} @@ -16619,6 +16584,8 @@ snapshots: lodash.omit@4.5.0: {} + lodash.pick@4.4.0: {} + lodash.snakecase@4.1.1: {} lodash.sortby@4.7.0: {} @@ -16656,6 +16623,9 @@ snapshots: dependencies: yallist: 4.0.0 + ltgt@2.2.1: + optional: true + lz-string@1.5.0: {} magic-string@0.25.9: @@ -16821,10 +16791,11 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nanoid@3.3.6: {} - nanoid@3.3.7: {} + napi-macros@2.0.0: + optional: true + natural-compare-lite@1.4.0: {} natural-compare@1.4.0: {} @@ -16852,9 +16823,10 @@ snapshots: node-forge@1.3.1: {} - node-int64@0.4.0: {} + node-gyp-build@4.1.1: + optional: true - node-releases@2.0.10: {} + node-int64@0.4.0: {} node-releases@2.0.14: {} @@ -17197,7 +17169,7 @@ snapshots: postcss-colormin@5.3.1(postcss@8.4.33): dependencies: - browserslist: 4.21.5 + browserslist: 4.22.2 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.4.33 @@ -17205,7 +17177,7 @@ snapshots: postcss-convert-values@5.1.3(postcss@8.4.33): dependencies: - browserslist: 4.21.5 + browserslist: 4.22.2 postcss: 8.4.33 postcss-value-parser: 4.2.0 @@ -17305,13 +17277,13 @@ snapshots: postcss: 8.4.33 postcss-value-parser: 4.2.0 - postcss-load-config@3.1.4(postcss@8.4.33)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)): + postcss-load-config@3.1.4(postcss@8.4.33)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)): dependencies: lilconfig: 2.1.0 yaml: 1.10.2 optionalDependencies: postcss: 8.4.33 - ts-node: 10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3) + ts-node: 10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3) postcss-loader@6.2.1(postcss@8.4.33)(webpack@5.80.0(@swc/core@1.3.53)(esbuild@0.17.18)): dependencies: @@ -17337,7 +17309,7 @@ snapshots: postcss-merge-rules@5.1.4(postcss@8.4.33): dependencies: - browserslist: 4.21.5 + browserslist: 4.22.2 caniuse-api: 3.0.0 cssnano-utils: 3.1.0(postcss@8.4.33) postcss: 8.4.33 @@ -17357,7 +17329,7 @@ snapshots: postcss-minify-params@5.1.4(postcss@8.4.33): dependencies: - browserslist: 4.21.5 + browserslist: 4.22.2 cssnano-utils: 3.1.0(postcss@8.4.33) postcss: 8.4.33 postcss-value-parser: 4.2.0 @@ -17430,7 +17402,7 @@ snapshots: postcss-normalize-unicode@5.1.1(postcss@8.4.33): dependencies: - browserslist: 4.21.5 + browserslist: 4.22.2 postcss: 8.4.33 postcss-value-parser: 4.2.0 @@ -17537,7 +17509,7 @@ snapshots: postcss-reduce-initial@5.1.2(postcss@8.4.33): dependencies: - browserslist: 4.21.5 + browserslist: 4.22.2 caniuse-api: 3.0.0 postcss: 8.4.33 @@ -17646,6 +17618,9 @@ snapshots: proxy-from-env@1.1.0: {} + prr@1.0.1: + optional: true + psl@1.9.0: {} pump@2.0.1: @@ -17787,8 +17762,8 @@ snapshots: react-docgen@6.0.0-alpha.3: dependencies: - '@babel/core': 7.21.4 - '@babel/generator': 7.21.4 + '@babel/core': 7.23.7 + '@babel/generator': 7.23.6 ast-types: 0.14.2 commander: 2.20.3 doctrine: 3.0.0 @@ -17848,7 +17823,7 @@ snapshots: react-refresh@0.14.0: {} - react-scripts@5.0.1(@babel/plugin-syntax-flow@7.21.4(@babel/core@7.23.7))(@babel/plugin-transform-react-jsx@7.21.0(@babel/core@7.23.7))(@swc/core@1.3.53)(@types/babel__core@7.20.5)(esbuild@0.17.18)(eslint@8.55.0)(react@18.2.0)(sass@1.62.0)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3))(type-fest@2.19.0)(typescript@5.3.3): + react-scripts@5.0.1(@babel/plugin-syntax-flow@7.21.4(@babel/core@7.23.7))(@babel/plugin-transform-react-jsx@7.21.0(@babel/core@7.23.7))(@swc/core@1.3.53)(@types/babel__core@7.20.5)(esbuild@0.17.18)(eslint@8.55.0)(react@18.2.0)(sass@1.62.0)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3))(type-fest@2.19.0)(typescript@5.3.3): dependencies: '@babel/core': 7.23.7 '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.11.0)(type-fest@2.19.0)(webpack-dev-server@4.13.3(webpack@5.80.0(@swc/core@1.3.53)(esbuild@0.17.18)))(webpack@5.80.0(@swc/core@1.3.53)(esbuild@0.17.18)) @@ -17866,15 +17841,15 @@ snapshots: dotenv: 10.0.0 dotenv-expand: 5.1.0 eslint: 8.55.0 - eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.21.4(@babel/core@7.23.7))(@babel/plugin-transform-react-jsx@7.21.0(@babel/core@7.23.7))(eslint@8.55.0)(jest@27.5.1(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)))(typescript@5.3.3) + eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.21.4(@babel/core@7.23.7))(@babel/plugin-transform-react-jsx@7.21.0(@babel/core@7.23.7))(eslint@8.55.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)))(typescript@5.3.3) eslint-webpack-plugin: 3.2.0(eslint@8.55.0)(webpack@5.80.0(@swc/core@1.3.53)(esbuild@0.17.18)) file-loader: 6.2.0(webpack@5.80.0(@swc/core@1.3.53)(esbuild@0.17.18)) fs-extra: 10.1.0 html-webpack-plugin: 5.5.1(webpack@5.80.0(@swc/core@1.3.53)(esbuild@0.17.18)) identity-obj-proxy: 3.0.0 - jest: 27.5.1(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) + jest: 27.5.1(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) jest-resolve: 27.5.1 - jest-watch-typeahead: 1.1.0(jest@27.5.1(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3))) + jest-watch-typeahead: 1.1.0(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3))) mini-css-extract-plugin: 2.7.5(webpack@5.80.0(@swc/core@1.3.53)(esbuild@0.17.18)) postcss: 8.4.33 postcss-flexbugs-fixes: 5.0.2(postcss@8.4.33) @@ -17892,7 +17867,7 @@ snapshots: semver: 7.5.4 source-map-loader: 3.0.2(webpack@5.80.0(@swc/core@1.3.53)(esbuild@0.17.18)) style-loader: 3.3.2(webpack@5.80.0(@swc/core@1.3.53)(esbuild@0.17.18)) - tailwindcss: 3.3.1(postcss@8.4.33)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) + tailwindcss: 3.3.1(postcss@8.4.33)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) terser-webpack-plugin: 5.3.7(@swc/core@1.3.53)(esbuild@0.17.18)(webpack@5.80.0(@swc/core@1.3.53)(esbuild@0.17.18)) webpack: 5.80.0(@swc/core@1.3.53)(esbuild@0.17.18) webpack-dev-server: 4.13.3(webpack@5.80.0(@swc/core@1.3.53)(esbuild@0.17.18)) @@ -18619,7 +18594,7 @@ snapshots: stylehacks@5.1.1(postcss@8.4.33): dependencies: - browserslist: 4.21.5 + browserslist: 4.22.2 postcss: 8.4.33 postcss-selector-parser: 6.0.11 @@ -18686,7 +18661,7 @@ snapshots: tabbable@6.1.1: {} - tailwindcss@3.3.1(postcss@8.4.33)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)): + tailwindcss@3.3.1(postcss@8.4.33)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)): dependencies: arg: 5.0.2 chokidar: 3.5.3 @@ -18705,7 +18680,7 @@ snapshots: postcss: 8.4.33 postcss-import: 14.1.0(postcss@8.4.33) postcss-js: 4.0.1(postcss@8.4.33) - postcss-load-config: 3.1.4(postcss@8.4.33)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) + postcss-load-config: 3.1.4(postcss@8.4.33)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3)) postcss-nested: 6.0.0(postcss@8.4.33) postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 @@ -18775,7 +18750,7 @@ snapshots: terser-webpack-plugin@5.3.7(@swc/core@1.3.53)(esbuild@0.17.18)(webpack@5.80.0(@swc/core@1.3.53)(esbuild@0.17.18)): dependencies: - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.1.2 serialize-javascript: 6.0.1 @@ -18788,7 +18763,7 @@ snapshots: terser@5.17.1: dependencies: '@jridgewell/source-map': 0.3.3 - acorn: 8.8.2 + acorn: 8.11.3 commander: 2.20.3 source-map-support: 0.5.21 @@ -18868,11 +18843,11 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@29.1.2(@babel/core@7.23.7)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.7))(esbuild@0.17.18)(jest@29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@18.15.13)(typescript@5.2.2)))(typescript@5.2.2): + ts-jest@29.1.2(@babel/core@7.23.7)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.7))(esbuild@0.17.18)(jest@29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2)))(typescript@5.2.2): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.53)(@types/node@18.15.13)(typescript@5.2.2)) + jest: 29.7.0(@types/node@20.11.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2)) jest-util: 29.5.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -18886,7 +18861,7 @@ snapshots: babel-jest: 29.7.0(@babel/core@7.23.7) esbuild: 0.17.18 - ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2): + ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.2.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.9 @@ -18894,7 +18869,7 @@ snapshots: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 '@types/node': 20.11.5 - acorn: 8.8.2 + acorn: 8.11.3 acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 @@ -18906,7 +18881,7 @@ snapshots: optionalDependencies: '@swc/core': 1.3.53 - ts-node@10.9.1(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3): + ts-node@10.9.2(@swc/core@1.3.53)(@types/node@20.11.5)(typescript@5.3.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.9 @@ -18914,7 +18889,7 @@ snapshots: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 '@types/node': 20.11.5 - acorn: 8.8.2 + acorn: 8.11.3 acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 @@ -19043,7 +19018,7 @@ snapshots: unplugin@0.10.2: dependencies: - acorn: 8.8.2 + acorn: 8.11.3 chokidar: 3.5.3 webpack-sources: 3.2.3 webpack-virtual-modules: 0.4.6 @@ -19054,12 +19029,6 @@ snapshots: upath@1.2.0: {} - update-browserslist-db@1.0.11(browserslist@4.21.5): - dependencies: - browserslist: 4.21.5 - escalade: 3.1.1 - picocolors: 1.0.0 - update-browserslist-db@1.0.13(browserslist@4.22.2): dependencies: browserslist: 4.22.2 @@ -19118,7 +19087,7 @@ snapshots: v8-to-istanbul@9.1.0: dependencies: - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.25 '@types/istanbul-lib-coverage': 2.0.4 convert-source-map: 1.9.0 @@ -19267,7 +19236,7 @@ snapshots: sockjs: 0.3.24 spdy: 4.0.2 webpack-dev-middleware: 5.3.3(webpack@5.80.0(@swc/core@1.3.53)(esbuild@0.17.18)) - ws: 8.13.0 + ws: 8.17.1 optionalDependencies: webpack: 5.80.0(@swc/core@1.3.53)(esbuild@0.17.18) transitivePeerDependencies: @@ -19416,10 +19385,10 @@ snapshots: workbox-build@6.5.4(@types/babel__core@7.20.5): dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) - '@babel/core': 7.21.4 - '@babel/preset-env': 7.21.4(@babel/core@7.21.4) + '@babel/core': 7.23.7 + '@babel/preset-env': 7.21.4(@babel/core@7.23.7) '@babel/runtime': 7.21.0 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.21.4)(@types/babel__core@7.20.5)(rollup@2.79.1) + '@rollup/plugin-babel': 5.3.1(@babel/core@7.23.7)(@types/babel__core@7.20.5)(rollup@2.79.1) '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 @@ -19567,7 +19536,7 @@ snapshots: ws@7.5.9: {} - ws@8.13.0: {} + ws@8.17.1: {} xml-name-validator@3.0.0: {} @@ -19575,6 +19544,31 @@ snapshots: xtend@4.0.2: {} + y-leveldb@0.1.2(yjs@13.6.17): + dependencies: + level: 6.0.1 + lib0: 0.2.94 + yjs: 13.6.17 + optional: true + + y-protocols@1.0.6(yjs@13.6.17): + dependencies: + lib0: 0.2.94 + yjs: 13.6.17 + + y-websocket@2.0.3(yjs@13.6.17): + dependencies: + lib0: 0.2.94 + lodash.debounce: 4.0.8 + y-protocols: 1.0.6(yjs@13.6.17) + yjs: 13.6.17 + optionalDependencies: + ws: 6.2.2 + y-leveldb: 0.1.2(yjs@13.6.17) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + y18n@5.0.8: {} yallist@3.1.1: {} @@ -19614,6 +19608,10 @@ snapshots: buffer-crc32: 0.2.13 fd-slicer: 1.1.0 + yjs@13.6.17: + dependencies: + lib0: 0.2.94 + yn@3.1.1: {} yocto-queue@0.1.0: {}